Skip to content

MQTT-Broker und Topics ​

Schaltli bringt keinen eigenen Broker mit. Es benutzt den Mosquitto, der auf jedem Pekaway-System schon läuft.

Zwei Zugänge zum selben Broker ​

  • Port 1883, normales MQTT: Hier sprechen die Geräte, die VanPi-Brücke und alles andere auf dem Pekaway-System.
  • Port 9001, MQTT über WebSocket: Hier spricht der Browser, also der Designer. Ein Browser kann nicht direkt über 1883 sprechen. Das Installationsskript richtet diesen Zugang mit der Datei /etc/mosquitto/conf.d/schaltli-websockets.conf ein.

Beide Zugänge verlangen keine Anmeldung, genau wie der Broker auf Pekaway ohnehin. Wer im WLAN des Vans ist, kann also Werte lesen und Befehle schicken. Das WLAN mit einem Passwort zu schützen, ist deshalb Pflicht.

Topics ​

Alle Topics von Schaltli beginnen mit schaltli/.

Werte und Befehle der Anlage

TopicBedeutung
schaltli/state/…Zustand der Anlage, bleibt auf dem Broker liegen («retained»)
schaltli/cmnd/…Befehle, bleiben nicht liegen

Ob die Screens hell oder dunkel sind, sagt schaltli/state/theme mit light oder dark. Umschalten kannst du mit einem Befehl an schaltli/cmnd/theme: light, dark oder toggle. Fehlt der Wert, gilt hell. Mehr dazu unter Themes.

Welche es gibt, steht unter VanPi-Brücke. Warum Zustände liegen bleiben und Befehle nicht, zeigt MQTT an drei Beispielen.

Pro Gerät, unter schaltli/<Kennung>/, wobei die Kennung etwa waveshare-touch-lcd-4v3b-0a1b2c3d4e5f lautet:

TopicBedeutung
…/hellower das Gerät ist: Gerätetyp, Firmware, Adresse seiner Beschreibung. Bleibt liegen.
…/statusonline oder offline. Geht ein Gerät unerwartet vom Netz, setzt der Broker offline.
…/deployein neues Projekt für das Gerät, vom Designer. Bleibt liegen, bis das Gerät es abholt.
…/deploy-statusFortschritt einer Übertragung
…/firmwareeine neue Firmware für das Gerät, vom Designer

Mithören ​

Auf dem Pekaway-System zeigt dieser Befehl alles, was bei Schaltli passiert:

bash
mosquitto_sub -h localhost -t 'schaltli/#' -v

So siehst du, ob die VanPi-Brücke Werte liefert, ob sich ein Gerät meldet und was ein Schalter schickt.

Ein anderer Broker ​

Du kannst Schaltli auch mit einem anderen Broker betreiben, siehe Ohne Pekaway. Er braucht dann ebenfalls einen WebSocket-Zugang auf Port 9001, auf demselben Rechner wie der Designer. Die Geräte trägst du in ihrer Einrichtung auf diesen Broker um.