Nach MQTT2_CLIENT update MQTT_GENERIC_BRIDGE ohne Funktion

Begonnen von nuccleon, 07 März 2019, 20:15:00

Vorheriges Thema - Nächstes Thema

nuccleon

Hallo zusammen,

Die heutige Änderung (Changeset 18794) in MQTT2_CLIENT führt dazu, dass MQTT_GENERIC_BRIDGE nicht mehr funktioniert. Konkret: Bei allen Devices, die sich über MQTT_GENERIC_BRIDGE auf bestimmte Topics subscribed haben, kommt nichts mehr an.

Nimmt man in MQTT2_CLIENT die Änderung in Zeile 349 zurück, funktionieren auch wieder die Subscriptions über die bridge.

Von

Dispatch($hash, "autocreate=$ac\0$cid\0$tp\0$val", undef, $ac eq "no");

Nach

Dispatch($hash, "$ac$cid\0$tp\0$val", undef, !$ac);


Vermutlich hat man mit MQTT2_SERVER das identische Verhalten.

Mein Test Setup:
mosquitto + MQTT2_CLIENT + MQTT_GENERIC_BRIDGE + DUMMY

MQTT2_CLIENT

Internals:
   BUF       
   DEF        raspberrypi:1883
   DeviceName raspberrypi:1883
   FD         15
   FUUID      5c7ebfd2-f33f-88d3-3595-6f35017b695721d3
   NAME       mqtt2
   NR         31
   PARTIAL   
   STATE      opened
   TYPE       MQTT2_CLIENT
   WBCallback
   clientId   sandboxpiMQTT2client
   lastMsgTime 1551985642.17885
   nextOpenDelay 5
   READINGS:
     2019-03-07 19:57:21   state           opened
Attributes:
   autocreate 0
   clientId   sandboxpi_MQTT2_client
   disable    0
   group      MQTT
   room       MQTT2_DEVICE
   subscriptions fhem/#
   verbose    5


MQTT_GENERIC_BRIDGE

Internals:
   DEF        mqtt ftk.*,HM_Sirene.*
   FUUID      5c7ec206-f33f-88d3-f5c0-a17eb58864159c90
   IODev      mqtt2
   NAME       MQTT2_bridge
   NR         32
   NTFY_ORDER 50-MQTT2_bridge
   STATE      dev: 1 in: 20 out: 0
   TYPE       MQTT_GENERIC_BRIDGE
   devspec    ftk.*,HM_Sirene.*
   prefix     mqtt
   CHANGED:
     incoming-count: 1
     incoming-count: 2
     incoming-count: 3
     incoming-count: 4
     incoming-count: 5
     incoming-count: 6
     incoming-count: 7
     incoming-count: 8
     incoming-count: 9
     incoming-count: 10
     incoming-count: 11
     incoming-count: 12
     incoming-count: 13
     incoming-count: 14
     incoming-count: 15
     incoming-count: 16
     incoming-count: 17
     incoming-count: 18
     incoming-count: 19
     updated-reading-count: 1
     incoming-count: 20
     updated-reading-count: 2
   READINGS:
     2019-03-07 19:57:21   device-count    1
     2019-03-07 20:01:48   incoming-count  20
     2019-03-07 19:57:21   outgoing-count  0
     2019-03-07 19:57:21   transmission-state IO device initialized (mqtt2)
     2019-03-07 20:01:48   updated-reading-count 2
     2019-03-07 19:57:21   updated-set-count 0
   devices:
     :global:
       :defaults:
         pub:base   {"fhem/$device"}
         pub:retain 0
         sub:base   {"fhem/$device"}
         sub:retain 0
     ftk_dummy:
       :publish:
         state:
           mode       R
           retain     0
           topic      {"$base/$name"}
       :subscribe:
         HASH(0x2de7648)
   globalDeviceExcludes:
   globalReadingExcludes:
   globalTypeExcludes:
     pub:
       FHEMWEB    *
       Global     *
       MQTT       transmission-state
       MQTT2_CLIENT *
       MQTT2_DEVICE *
       MQTT_BRIDGE transmission-state
       MQTT_DEVICE transmission-state
       MQTT_GENERIC_BRIDGE *
       telnet     *
     sub:
       FHEMWEB    *
       Global     *
       MQTT       transmission-state
       MQTT2_CLIENT *
       MQTT2_DEVICE *
       MQTT_BRIDGE transmission-state
       MQTT_DEVICE transmission-state
       MQTT_GENERIC_BRIDGE *
       telnet     *
   subscribe:
Attributes:
   IODev      mqtt2
   globalDefaults base={"fhem/$device"} retain=0
   globalTypeExclude MQTT2_CLIENT MQTT2_DEVICE:*
   group      MQTT
   room       MQTT2_DEVICE
   stateFormat dev: device-count in: incoming-count out: outgoing-count
   verbose    5


DUMMY

Internals:
   FUUID      5c7ec610-f33f-88d3-2750-0e2e92492160b941
   LASTInputDev mqtt2
   MSGCNT     2
   NAME       ftk_dummy
   NR         33
   STATE      baf
   TYPE       dummy
   mqtt2_MSGCNT 2
   mqtt2_TIME 2019-03-07 20:01:48
   READINGS:
     2019-03-07 20:01:48   state           baf
Attributes:
   group      MQTT
   mqttPublish state:topic={"$base/$name"} state:retain=0
   mqttSubscribe state:topic={"$base/$name/set"}
   room       MQTT2_DEVICE
   userattr   mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long



2019.03.07 20:13:15 5: mqtt2: received PUBLISH (0)(24)fhem/ftk_dummy/state/setfoobar
2019.03.07 20:13:15 5: mqtt2: dispatch autocreate=no\000sandboxpiMQTT2client\000fhem/ftk_dummy/state/set\000foobar
2019.03.07 20:13:15 5: MQTT_GENERIC_BRIDGE: [MQTT2_bridge] Parse (MQTT2_CLIENT : 'mqtt2'): Msg: sandboxpiMQTT2client => fhem/ftk_dummy/state/setfoobar

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

nuccleon