MQTT Generic Bridge funktioniert nicht (STATE ???)

Begonnen von steven11, 25 April 2024, 17:12:29

Vorheriges Thema - Nächstes Thema

steven11

Hallo,

mein Home Assistant ist der MQTT Broker und ich möchte fhem anbinden. Dazu habe ich den MQTT2_CLIENT eingerichtet und der hat auch den Status "opened".

Dann habe ich nach Anleitung die MQTT_GENERIC_BRIDGE eingerichtet, um meine Rolläden zu publishen. Leider sehe ich aber keine MQTT-Nachrichten, wenn ich die Rolläden bediene.

Ich vermute, dass es an der Bridge liegt, denn hier sehe ich als Status einfach nur drei Fragezeichen. Was könnte das Problem sein?

Danke + Gruß


define mqttRollos MQTT_GENERIC_BRIDGE mqtt TYPE=ROLLO,TYPE=SD_Keeloq
attr mqttRollos IODev MqttHomeAssistant
attr mqttRollos globalDefaults sub:base=mqttRollos/set pub:base=mqttRollos
attr mqttRollos room MQTT
attr mqttRollos verbose 5
#   DEF        mqtt TYPE=ROLLO,TYPE=SD_Keeloq
#   FUUID      650c553d-f33f-fef7-53da-18af3cd59397c7b6
#   FVERSION   10_MQTT_GENERIC_BRIDGE.pm:v1.4.4-s25117/2021-10-25
#   IODev      MqttHomeAssistant
#   NAME       mqttRollos
#   NR         90
#   NTFY_ORDER 70-mqttRollos
#   STATE      ???
#   TYPE       MQTT_GENERIC_BRIDGE
#   devspec    TYPE=ROLLO,TYPE=SD_Keeloq
#   eventCount 6
#   prefix     mqtt
#   READINGS:
#     2024-04-25 15:55:24   IODev           MqttHomeAssistant
#     2024-04-25 17:02:20   attrTemplateVersion 20211208_MGB_M2D
#     2024-04-25 17:02:20   device-count    13
#     2024-04-25 15:55:22   incoming-count  0
#     2024-04-25 15:55:22   outgoing-count  0
#     2024-04-25 15:55:24   transmission-state IO device initialized (mqtt2)
#     2024-04-25 15:55:22   updated-reading-count 0
#     2024-04-25 15:55:22   updated-set-count 0
#   devices:
#     :global:
#       :alias:
#       :defaults:
#         pub:base   mqttRollos
#         sub:base   mqttRollos/set
#     ROLLO_balkon:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x556872ab36f8)
#         HASH(0x556872a86e48)
#     ROLLO_buero:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x556872a86e18)
#         HASH(0x556872a60800)
#     ROLLO_chillraum_fenster:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x556872a87520)
#         HASH(0x556872a86cf8)
#     ROLLO_chillraum_tuer:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x5568727b8ff8)
#         HASH(0x556872a88cb0)
#     ROLLO_elternschlafzimmer:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x5568727b9340)
#         HASH(0x5568727b9100)
#     ROLLO_esszimmer:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x5568727b9448)
#         HASH(0x5568727b9688)
#     ROLLO_kueche:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x5568727b9790)
#         HASH(0x5568727b99d0)
#     ROLLO_louis_fenster:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x5568727b9ad8)
#         HASH(0x556872aadfa0)
#     ROLLO_louis_tuer:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x556872aae0a8)
#         HASH(0x556872aae2e8)
#     ROLLO_toilette:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x556872aae630)
#         HASH(0x556872aae3f0)
#     ROLLO_tom_fenster:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x556872aae978)
#         HASH(0x556872aae738)
#     ROLLO_tom_tuer:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x556872aaea80)
#         HASH(0x556872aaecc0)
#     ROLLO_wohnzimmer:
#       :alias:
#       :publish:
#         pct:
#           mode       R
#           topic      {"$base/$device/$name"}
#         state:
#           expression {$value=~m/^(pct-\d+|half)$/?'stopped':$value}
#           mode       R
#           topic      {"$base/$device/$name"}
#       :subscribe:
#         HASH(0x556872aaf030)
#         HASH(0x556872aaedc8)
#   globalDeviceExcludes:
#   globalReadingExcludes:
#   globalTypeExcludes:
#     pub:
#       FHEMWEB    *
#       Global     *
#       MQTT       transmission-state
#       MQTT_BRIDGE transmission-state
#       MQTT_DEVICE transmission-state
#       MQTT_GENERIC_BRIDGE *
#       telnet     *
#     sub:
#       FHEMWEB    *
#       Global     *
#       MQTT       transmission-state
#       MQTT_BRIDGE transmission-state
#       MQTT_DEVICE transmission-state
#       MQTT_GENERIC_BRIDGE *
#       telnet     *
#   subscribe:
#
setstate mqttRollos 2024-04-25 15:55:24 IODev MqttHomeAssistant
setstate mqttRollos 2024-04-25 17:02:20 attrTemplateVersion 20211208_MGB_M2D
setstate mqttRollos 2024-04-25 17:02:20 device-count 13
setstate mqttRollos 2024-04-25 15:55:22 incoming-count 0
setstate mqttRollos 2024-04-25 15:55:22 outgoing-count 0
setstate mqttRollos 2024-04-25 15:55:24 transmission-state IO device initialized (mqtt2)
setstate mqttRollos 2024-04-25 15:55:22 updated-reading-count 0
setstate mqttRollos 2024-04-25 15:55:22 updated-set-count 0


frober

Die Bridge ist dazu da, Devices MQTT-fähig zu machen, d.h. die einzelnen Devices müssen auch wissen, dass sie MQTT sprechen sollen.

Sollte in der Comref, Wiki etc. beschrieben sein.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

steven11

Das habe ich gemacht. Ich nutze das ROLLO-Modul und die Rolläden habe ich dort wie folgt eingestellt:

attr ROLLO_esszimmer mqttPublish pct|state:topic={"$base/$device/$name"} state:expression={$value=~m/^(pct-\d+|half)$/?'stopped':$value}
attr ROLLO_esszimmer mqttSubscribe pct|state:stopic={"$base/$device/$name"}

Beta-User

Hmmm, eigentlich sieht das list der MGB OK aus.

Würde mal einen der ROLLOs nehmen und da die Events ansehen. Wenn du von FHEM aus steuerst, sollten - passende Events vorausgesetzt - auch publishes erfolgen. Wenn das klappt, sieht man weiter. Wenn nicht, bitte mal lists (bzw. copy for forum) vom IODev und einem der ROLLO-Devices zeigen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files