(FHEM) 10 MQTT BRIDGE.pm
Inhaltsverzeichnis
Steckbrief
Das Modul ist seit der Version 6.1 veraltet (deprecated) und wurde in das Verzeichnis ./contrib/deprecated/ verschoben. Um es zu benutzen kann es in das Verzeichnis ./FHEM/ kopiert werden und mit einem Neustart von fhem aktiviert werden.
MQTT_BRIDGE verwendet man, wenn man bestehende fhem-devices (Aktoren und Sensoren) über mqtt steuern bzw. sichtbar machen will.
Fuer ein bestehendes FHEM-device wird eine Verbindung zum mqtt angelegt. Es wird die im IODev-attribute angegebne MQTT-verbindung verwendet. Die Verbindung funktioniert bidirektioinal.
Define
define <name> MQTT_BRIDGE <fhem-device-name>
Set
Get
Readings
Durch Attribute anzulegen
Attributes
subscribeSet [{Perl-expression}] [qos:?] [retain:?] <topic> subscribeSet_<reading> [{Perl-expression}] [qos:?] [retain:?] <topic> publishState <topic> publishReading_<reading> <topic> publish-topic-base <topic> retain <flag> or retain <topic> <flag> <topic> <flag> ... qos <flag> or qos <topic> <flag> <topic> <flag> ...
Erlaeuterugen
Aus dem Forumsbeitrag:
Mit den Attributen 'publishState' und 'publishReading_<readingname> man kann Änderungen am State bzw. Readings nach mqtt publizieren. Der Attribut-wert ist immer das Topic an das die Message geschickt werden soll. Message-inhalt ist jeweils der neue Wert des Readings bzw. states.
Mit den Attributen 'subscribeSet' bzw. 'subscribeSet_<setcommand>' kann man mqtt-topics abonnieren. Immer wenn eine Nachricht auf dem abonnierten Topic eintrifft für das betreffende Device 'set <devicename> <setcommand> <messageinhalt> ausgeführt.
Beispiele
#1
define mqtt MQTT 127.0.0.1:1883 define mqtt_licht_wohnzimmer MQTT_BRIDGE lichtwohnzimmer attr mqtt_licht_wohnzimmer subscribeSet fhem/wohnzimmer/licht/set attr mqtt_licht_wohnzimmer publishState fhem/wohnzimmer/licht
Man kann z.B. mit 'mosquitto_pub -t fhem/wohnzimmer/licht/set -m on' ein 'set lichtwohnzimmer on' ausloesen, oder mit einem 'mosquitto_sub -t fhem/wohnzimmer/licht' erfahren, wenn sich der state von 'lichtwohnzimmer' veraendert.
#2
define mqtt_heizung_wohnzimmer MQTT_BRIDGE heizungwohnzimmer attr mqtt_heizung_wohnzimmer publishReading_mesured-temp fhem/wohnzimmer/temperature attr mqtt_heizung_wohnzimmer subscribeReading_desired-temp fhem/wohnzimmer/temperature/set
Fuer Readings werden die Namen der betreffenden Readings als Teil des AttributeNames gesetzt. Damit erfaehrt man auf dem topic fhem/wohnzimmer/temperature, wenn sich das Reading 'mesured-temp' des fhem-Devices 'heizungwohnzimmer' aendert. Die Temperatur kann man einstellen, indem man messages mit dem gewünschten Temperaturwert an das Topic 'fhem/wohnzimmer/temperature/set' schickt.