Um mit MQTT arbeiten zu können, braucht man ein Tool zum Subsribing und Publishing. Es gibt auf der Kommandozeile zwar 'mosquitto_sub' und 'mosquitto_pub', aber das ist nicht komfortabel genug. Ein Windows basierter Client ist das Chrome-Plugin 'MQTTLens', das sich bei mir hervorragend bewährt hat.

Installation MQTTLens

Auf dem Windows-Rechner muß der Browser Google Chrome installiert sein. Nach dem Aufruf von Chrome lädt man den Webstore:

https://chrome.google.com/webstore/category/apps

Im Suchfeld gibt man 'MQTTLens' ein:

Suche nach MQTTLens

Durch Klicken auf die Überschrift erhält man detaillierte Infos:

Details MQTTlens

Rechts oben ist bei euch ein Button 'Installieren' vorhanden, auf den Ihr klickt. Bei mir ist 'APP STARTEN' zu sehen, weil ich MQTTlens bereits installiert habe. Ihr klickt auf 'Installieren' und die Erweiterung wird dem Browser hinzugefügt. Bei der Installation taucht ein neues Icon in der Taskleiste auf:

Browsererweiterungen Chrome

Das ist ein Schnellstartsymbol für die Chrome-Erweiterungen. Beim Klick darauf werden die Erweiterungen angezeigt:

Chrome Erweiterungen

Jetzt klickt man auf 'MQTTLens' und der Browser öffnet sich:

Start von MQTTLens

Der Bildschirm ist noch ziemlich leer, weil noch nichts definiert wurde.

 

MQTT-Connection hinzufügen

Jetzt ist eine Verbindung zu einem MQTT-Broker einzurichten. Man klickt links oben auf 'Connections +' und es öffnet sich ein neues Fenster:

Connection definieren

Jetzt gebe wir die Daten des MQTT-Brokers ein. Bei mir ist es ein Raspberry Pi auf IP-Adresse 10.0.0.10. Der Connection Name ist beliebig, ich habe Mosquitto eingeben. Bei Hostname ist die IP-Adresse des Brokers einzugeben, also 10.0.0.10. Der Port sollte auf 1883 stehen, das ist der Standard. Die Client-ID ist bei einem eigenen Broker nicht so wichtig, deshalb habe ich OpenHAB gewählt. Wenn Ihr einen Broker im Internet wählt, dann ist die ID sehr wichtig, weil sie Euch von allen anderen Nutzern auf diesem Server unterscheidet. Dann sollte man sich eine lange Client-ID aus Buchstaben und Zahlen ausdenken. Am Schluß klickt man auf 'CREATE CONNECTION' und erhält dann Folgendes:

Erfolgreiche Verbindung zum Broker

Die Verbindung zum Broker ist erfolgreich, man sieht links oben die Meldung. Im rechten Teil des Fensters kann man jetzt Nachrichten senden und bestimmte Topics abonnieren.

 

Subscribe

Setzt man ein Subscribe auf einen Topic-Pfad, erhält man von Mosquitto immer dann eine Nachricht, wenn eine neue Nachricht eintrifft.

Subscription anlegen

die Subscription wird jetzt rechts unten angezeigt und enthält aktuell noch keine Messages:

Angelegte Subscription

 

Publish

Messages werden mit 'Publish' erzeugt:

Publishing

Man gibt das Topic ein (vergleichbar einem Verzeichnispfad) und unter Message einen Messwert oder Text. Sobald man auf den Button Publish klickt, wird die Nachricht veröffentlicht. Das ist unterhalb bei den Subscriptions zu sehen:

Angezeigte Messages

Es werden der Zeitstempel, der Topic, die Message und der Quality of Service angezeigt. Dieser ist bei MQTTLens immer '0'. Die jeweils aktuellsten Messages werden für ein paar Sekunden in dunklerem Grün unterlegt.

 

Topics

Am einfachsten kann man sich Topics wie einen Verzeichnispfad vorstellen. Am Anfang darf aber niemals ein '/' (Slash) stehen!

  • Falsch: /OPENHAB/Wohnzimmer/Thermostat/Temperatur
  • Richtig: OPENHAB/Wohnzimmer/Thermostat/Temperatur

Des weiteren wird Groß-/Kleinschreibung unterschieden: 'OpenHAB' ist ein anderer Topic als 'OPENHAB'.

 

Wildcards verwenden

Wenn man bei der Hausautomation alle Nachrichten beobachten möchte  (Schalter, Heizung, PIR-Sensor etc.) kann man bei der Subscription mit der Wildcard '#' arbeiten:

Wildcards verwenden

MQTTLens wird in diesem Fall alle Nachrichten aus dem Baum unterhalb von OPENHAB anzeigen.