MQTT ist ein offenes Nachrichtenprotokoll für Machine-to-Machine-Kommunikation (M2M).
IP-Symcon agiert in diesem Zusammenhang als Server (Broker).
Folgende Geräte werden von IP-Symcon unterstützt:
Um eine einfache und komfortable Einbindung zu ermöglichen, wird empfohlen den Konfigurator für MQTT zu nutzen. Dieser kann im Objektbaum über "+"->"Instanz" via Schnellfilter "MQTT" hinzugefügt werden.
IP-Symcon agiert als MQTT-Server (Broker) und benötigt dafür eine geöffnete Server Socket Schnittstelle. In der Instanzkonfiguration des dazughörigen Server Sockets kann der Port definiert und die Verbindung aktiv gesetzt werden. Die MQTT Clients müssen dann auf den eingerichteten Port senden.
Nach der Einrichtung des MQTT Konfigurators ist der nächste Schritt das Hinzufügen und Erstellen von Geräteinstanzen.
Der Server (Broker) empfängt die Werte und Eigenschaften der MQTT-Geräte. Der Konfigurator kann diese Daten lesen und zeigt alle Geräte, welche sich gemeldet haben an.
Sollte ein Gerät nicht angezeigt werden, muss sichergestellt werden, dass dieses Gerät eine Nachricht an den Server geschickt hat.
Über "Aktualisieren" wird die Anzeige aller empfangenen Themen und deren zuletzt empfangenen Nutzdaten aktualisiert.
Über "Erstellen" kann die ausgewählte Instanz erstellt werden.
Der Konfigurator erstellt den Pfad des Themas mit den passenden Kategorien und die Nutzdatenvariable vom Datentyp "String". Sofern ein anderer Datentyp gewünscht wird, kann dieser in der Instanz umgestellt werden.
Geräte, welche selbst nur Empfangen ("Subscriben") und nicht senden ("Publishen") können, können nicht über den Konfigurator erstellt werden, da dieser niemals etwas von den Geräten empfängt. Für diese Geräte muss ein MQTT-Device erstellt, ein Thema eingetragen und Datentyp festgelegt werden. (Siehe auch: Instanz erstellen)
Skriptbeispiel für das Publishen eines Wertes auf ein Thema. Das Thema ist durch die MQTT Device Instanz definiert.
//Publishen von "EinTollerWertZumPublishen" auf die Variable mit der ID 12345 RequestAction(12345, "EinTollerWertZumPublishen");