Host:mqtt.intern.k4cg.org
Host:mqtt.intern.k4cg.org | |
Hostname | mqtt.intern.k4cg.org |
IPv4 | 192.168.178.20 |
Network | 255.255.255.0 |
Gateway | 192.168.178.1 |
DNS | 192.168.178.1 |
OS | NixOS |
Location | Host:beehive.intern.k4cg.org |
Generelles
Dieser Host stellt einen zur Verfügung
- MQTT Daemon
- HTTPD, welcher die status.json hostet
- mqtt2spacestatus, Daemon der MQTT Sensoren in die status.json schreibt
- wifi2mqtt, Script welches alle Wifi Hosts zählt und in MQTT pushed
Alle Konfiguration wird unter /etc/nixos/configuration.nix
gepflegt und gewartet.
Mosquitto MQTT
Der Mosquitto Daemon läuft auf Port 1883 (default) und ist nur mit Authorisierung benutzbar.
Topic Organisation
Im Endeffekt nutzen wir momentan nur
- sensors/#
Als Topic im alle Daten zu gruppieren
- sensors/wifi
- sensors/tischtennis/temp
- sensors/spacestatus/door
usw..
MQTT2Spacestatus
Ein Daemon der alle gewählten Sensoren von MQTT in den Spacestatus schreibt
/usr/local/wifi2mqtt/wifi2mqtt.py
Daemon Neustart
systemctl restart wifi2mqtt
Sollte es mal Debuggin Probleme geben kann mit
source /usr/local/wifi2mqtt/.venv/bin/activate /usr/local/wifi2mqtt/wifi2mqtt.py --debug
debuggt werden
wifi2mqtt
Holt momentan connectete Hosts vom AP ab und pushlished die Anzahl in MQTT
Dieses Script ist näher hier beschrieben Projekt:wifi2mqtt
Apache
Ist im Endeffekt ein ganz normaler Apache der nur auf Port 80 hört und da folgende Datei ausliefert:
/var/www/spacestatus/status.json
Von extern ist dieses File dann über http://k4cgrouter.duckdns.org:59468/status.json erreichbar.