Host:mqtt.intern.k4cg.org

Aus 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.