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.
Requirements
- mindestens IPS Version 5.0
Included Modules
- MQTTClient
Installation
Installation via the IP-Symcon module store.
Configuration in IP-Symcon
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.
This module is free for non-commercial use. Gifts as support for the author are accepted here:
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 Comments