Spacestate

Uit Hackerspace Bitlair

Versie door Polyfloyd (overleg | bijdragen) op 17 jan 2026 om 09:29 (Polyfloyd heeft pagina Projects/Spacestate hernoemd tot Spacestate)


Project: Spacestate
Beschrijving Opvolger van SpaceNotifier
Start 2016-09-19
Contact Polyfloyd, AK47
Status Production

De Spacestate is het concept van open/gesloten van de space. Bitlair heeft een state, DJO heeft ook een. Beiden met een eigen schakelaar.

TODO & Issues

Problemen graag melden via https://git.bitlair.nl/bitlair/ansible/issues

Systeem

Spacestate

root@service:/opt/spacestate# tree
.
|-- bitlair_closed.d
|   |-- 10_log
|   |-- 10_mqtt
|   |-- 20_music_poweroff
|   |-- 21_bitpanel_poweroff
|   |-- 21_lounge_leds_poweroff
|   |-- 22_bank_off
|   |-- 22_phone_off
|   |-- 23_ledbanner_off
|   |-- 24_statsbank_off
|   |-- 80_irc
|   `-- 80_twitter
|-- bitlair_open.d
|   |-- 10_log
|   |-- 10_mqtt
|   |-- 20_bank_on
|   |-- 20_bitpanel_poweron
|   |-- 20_lounge_leds_poweron
|   |-- 20_music_poweron
|   |-- 21_ledbanner_on
|   |-- 22_phone_on
|   |-- 22_statsbak_on
|   |-- 80_irc
|   `-- 80_twitter
|-- djo_closed.d
|   |-- 10_mqtt
|   |-- 20_music_poweroff -> ../bitlair_closed.d/20_music_poweroff
|   |-- 21_bitpanel_poweroff -> ../bitlair_closed.d/21_bitpanel_poweroff
|   |-- 21_lounge_leds_poweroff -> /opt/spacestate/bitlair_closed.d/21_lounge_leds_poweroff
|   |-- 22_bank_off -> /opt/spacestate/bitlair_closed.d/22_bank_off
|   |-- 22_phone_off -> /opt/spacestate/bitlair_closed.d/22_phone_off
|   |-- 23_ledbanner_off -> /opt/spacestate/bitlair_closed.d/23_ledbanner_off
|   |-- 24_statsbak_off -> /opt/spacestate/bitlair_closed.d/24_statsbank_off
|   `-- 80_irc
|-- djo_open.d
|   |-- 10_mqtt
|   |-- 20_bank_on -> /opt/spacestate/bitlair_open.d/20_bank_on
|   |-- 20_bitpanel_poweron -> ../bitlair_open.d/20_bitpanel_poweron
|   |-- 20_lounge_leds_poweron -> /opt/spacestate/bitlair_open.d/20_lounge_leds_poweron
|   |-- 20_music_poweron -> ../bitlair_open.d/20_music_poweron
|   |-- 21_ledbanner_on -> /opt/spacestate/bitlair_open.d/21_ledbanner_on
|   |-- 22_phone_on -> /opt/spacestate/bitlair_open.d/22_phone_on
|   |-- 22_statsbak_on -> /opt/spacestate/bitlair_open.d/22_statsbak_on
|   `-- 80_irc
|-- README.md
|-- spacestated
`-- spacestated.service

POE, APC en POWERBAR

  • POE = HP ProCurve 3500 switch --> schakel PoE aan/uit op specifieke poorten
  • APC = APC powerbar in het serverrack --> schakel specifieke outlets
  • POWERBAR = Powerbar in de space (boven systeemplafon), via Moxa serial to ethernet --> schakele specifieke outlets

Gebruik apc-switch, poe-switch of powerbar-switch in /usr/local/bin om POE, APC en POWERBAR switches te bedienen vanuit scripts.

IRC en Discord bots

Statusmeldingen komen via MQTT in IRC en Discord via de bot. Code hier: https://git.bitlair.nl/bitlair/bot

SpaceAPI

Onze implementatie van SpaceAPI haalt de status uit MQTT en serveert het op spaceapi.json. Code hier: https://git.bitlair.nl/bitlair/spaceapi

Alarm

NOTE: op Bitlair3 is het alarm nog niet actief; onderstaande informatie is van Bitlair2

De spacestate en jsonbot hook zijn uit siahsd verwijderd en vervangen door een hook die een script uit voert voor ieder binnenkomend event ipv alleen open en close. Het script gooit een melding op IRC en voert run-parts uit.

root@service:/opt/alarm# tree
.
โ”œโ”€โ”€ armed.d
โ”‚   โ”œโ”€โ”€ 10_log
โ”‚   โ”œโ”€โ”€ 10_mqtt
โ”‚   โ”œโ”€โ”€ 20_48switch
โ”‚   โ””โ”€โ”€ 20_statefile
โ”œโ”€โ”€ disarmed.d
โ”‚   โ”œโ”€โ”€ 10_log
โ”‚   โ”œโ”€โ”€ 10_mqtt
โ”‚   โ”œโ”€โ”€ 20_48switch
โ”‚   โ””โ”€โ”€ 20_statefile
โ””โ”€โ”€ siahsd_handler.sh