FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: Lorenz am 05 März 2016, 18:46:06

Titel: MQTT Bridge als Ersatz für fhem2fhem
Beitrag von: Lorenz am 05 März 2016, 18:46:06
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