Liebe Leute,
ich habe mich auch mal dem Thema MQTT gewidmet, um ggf. langfristig fhem2fhem bei meinen mehreren fhem-Instanzen abzulösen. Trotz einiger Stunden des Studierens diverser Quellen brauche ich mal von Euch einen Anschub.
Ich habe mir zum Testen eine fhem-Instanz A mit FS20 Aktoren gewählt und eine Bridge auf ein Device eingerichtet. Hier das list dazu:
Internals:
DEF FS20_lamp_buero_eg_Schreibtisch
IODev Mosquitto
NAME mqtt_FS20_lamp_buero_eg_Schreibtisch
NOTIFYDEV FS20_lamp_buero_eg_Schreibtisch
NR 249
NTFY_ORDER 50-mqtt_FS20_lamp_buero_eg_Schreibtisch
STATE state
TYPE MQTT_BRIDGE
publishState fhem/EG/Buero/Licht/Tisch
qos 0
retain 0
Readings:
2016-03-05 18:08:21 transmission-state outgoing publish sent
Message_ids:
Publishreadings:
state state
subscribe:
fhem/EG/Buero/Licht/Tisch/set
subscribeExpr:
^fhem\/EG\/Buero\/Licht\/Tisch\/set$
Subscribesets:
fhem/EG/Buero/Licht/Tisch/set
Attributes:
IODev Mosquitto
publishReading_state state
publishState fhem/EG/Buero/Licht/Tisch
room MQTT
stateFormat state
subscribeSet fhem/EG/Buero/Licht/Tisch/set
Auf einer weiteren Instanz fhem B habe ich dazu ein MQTT Device eingebaut. Hier das list dazu:
Internals:
CHANGED
IODev Mosquitto
NAME licht_buero_eg_tisch
NR 603
STATE off
TYPE MQTT_DEVICE
qos 0
retain 0
Readings:
2016-03-05 18:08:21 state off
2016-03-05 18:18:00 transmission-state incoming publish received
Message_ids:
Publishsets:
:
topic fhem/EG/Buero/Licht/Tisch/set
values:
on
off
Sets:
off
on
subscribe:
fhem/EG/Buero/Licht/Tisch
fhem/EG/Buero/Licht/Tisch/set
subscribeExpr:
^fhem\/EG\/Buero\/Licht\/Tisch$
^fhem\/EG\/Buero\/Licht\/Tisch\/set$
Subscribereadings:
fhem/EG/Buero/Licht/Tisch .*
fhem/EG/Buero/Licht/Tisch/set state
Attributes:
IODev Mosquitto
publishSet on off fhem/EG/Buero/Licht/Tisch/set
room MQTT
stateFormat state
subscribeReading_.* fhem/EG/Buero/Licht/Tisch
subscribeReading_state fhem/EG/Buero/Licht/Tisch/set
Broker ist eingerichtet und funktioniert. Schalte ich nun von fhem B das Device funktioniert alles prächtig. State auf fhem B und A wechselt passend. Schalte ich aber auf fhem A das Ursprungs-Device, also das FS20 Device direkt, so ändert sich state des dazu passenden MQTT-Device auf fhem B nicht. Was mache ich falsch ? Wenn diese Hürde übersprungen ist, dann wäre das ein idealer Ansatz die gesamte Topologie mehrerer fhem-Instanzen auf unterschiedlichen Systemen zu überarbeiten und zukunftsträchtig zu gestalten, bzw. zu erweitern.
Ich hoffe, Ihr habt einen Tipp für mich.
P.S.: Wenn ich das FS20 Device direkt schalte, so bekommt der Broker das auch mit, siehe Bildschirm-Snapshot.
LG