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
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.
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"}
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.