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.
Deze pagina gaat over de implementatiedetails. Voor hoe je dit als deelnemer gebruikt kan je het beste het stukje hier over in de handleiding lezen.
Spacestate Switch
De gele schakelaar is de tweede revisie inmiddels. In de behuizing zit een ESP32 die simpelweg het contact meet. De firmware is Esphome.
Versie 1
De eerste daadwerkelijke schakelaar was een oude 3-fase contactor verbonden aan een ESP8266. Hier aan was ook een 2e schakelaar verbonden voor een aparte spacestate van DJO.
-
Eerste Bitlair en DJO schakelaars in Space1.0
-
Naast de deur in Space2.0
-
Update van het raampje in 2018
Versie 0
Het schakelen van apparatuur en de spacestate is ouder dan de aanwezigheid van een fysieke knop. De eerste implementatie van dit concept was schakelen op de aanwezigheid van bekende MAC-adressen, welke werden ingesteld via de Portal, op de WiFi. Dit werkte, maar had wat vervelende edge-cases wanneer je met weinig mensen aanwezig was laptops in slaapstand gingen.
TODO & Issues
Problemen graag melden aan Polyfloyd.
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.
- Code (siahsd): https://github.com/bitlair/siahsd
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