MQTTClient
Ein MQTT Client für IP-Symcon, der auf zwei Arten genutzt werden kann. Der Client kann entweder per Datenfluss mit einem eigenen Modul verbunden werden oder er kann ein vorgegebenes Script aufrufen.
Vorraussetzungen
- mindestens IPS Version 5.0
Enthaltene Module
- MQTTClient
Installation
Über den IP-Symcon Module Store.
Konfiguration und Nutzung
Modul Typ: Script
Wenn der Modul Typ auf „Script“ steht, dann muss dem Modul ein Handle Script zugeordnet werden, welches die eingehenden Nachrichten verarbeitet.
Beispiel:
if($_IPS['SENDER']=='MQTT_CONNECT') { MQTT_Subscribe(12345 /*[MQTTClient]*/, '#', 0); //InstanzID muss angepasst werden. } if($_IPS['SENDER']=='MQTT_GET_PAYLOAD') { IPS_LogMessage('MQTT Topic', print_r($_IPS['Topic'],true)); IPS_LogMessage('MQTT Payload', print_r($_IPS['Payload'],true)); }
Mit diesem Handle Script würde beim Connect alles abonniert werden, was der MQTT Broker versendet. Es werden alle Nachrichten in das Log von IP-Symcon geschrieben.
Modul Typ: Forward
GUIDs:
Bezeichnung | GUID |
---|---|
GUID vom MQTTClient (Splitter) | {EE0D345A-CF31-428A-A613-33CE98E752DD} |
TX | {97475B04-67C3-A74D-C970-E9409B0EFA1D} |
RX | {DBDA9DF7-5D04-F49D-370A-2B9153D00D9B} |
$topic = 'Licht1'; $payload = 'ON'; MQTTC_Publish(12345 /*[MQTTClient]*/, $topic, $payload, 0, 0); //InstanzID muss angepasst werden.Mit diesem Beispiel wird an das Topic Licht1 das Paylaod ON gesendet.
$topic = '#'; $qos = 0; MQTT_Subscribe(12345 /*[MQTTClient]*/, '#', 0); //InstanzID muss angepasst werden.Mit diesem Beispiel würde alles abonniert werden, was der MQTT Broker versendet.
Dieses Modul ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:
Dieses Modul ist ursprünglich von thomasf68 (https://github.com/thomasf68/IPS_MQTT) entwickelt worden. Ich habe dieses Modul verändert, damit es mit der aktuellen IP-Symcon Version läuft. Überflüssigen Code, der nicht verwendet wurde, habe ich entfernt.
0 Kommentare