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:

BezeichnungGUID
GUID vom MQTTClient (Splitter){EE0D345A-CF31-428A-A613-33CE98E752DD}
TX{97475B04-67C3-A74D-C970-E9409B0EFA1D}
RX{DBDA9DF7-5D04-F49D-370A-2B9153D00D9B}
MQTTC_Publish(string $Topic, string $payload, $qos, $retain)
$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.  
MQTTC_Subscribe(string $Topic, $qos)
$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.

CC BY-NC-SA 4.0


0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

de_DEGerman
en_USEnglish de_DEGerman