Hallo zusammen,
ich hänge bei der Einbindung von zwei ZGRC-KEY-013 Sunricher (Zigbee remote control - 12 button) VES-ZB-REM-013 Fernsteuerungen in FHEM über MQTT. In Zigbee2MQTT werden sie erkannt und in der MQTT2_DEVICE Liste sind mehrere Einträge (Device Announce, Interview, Status, und ein Eintrag, wo die Inputs eingehen).
In zigbee2mqtt gehen die Nachrichten korrekt ein. z.B.
2026-01-02_15:55:51 zigbee2mqtt log_message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"on_4","action_group":53332,"battery":200,"linkquality":134}'
2026-01-02_15:55:51 zigbee2mqtt log_level: info
2026-01-02_15:55:52 zigbee2mqtt log_message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"off_1","battery":200,"linkquality":149}'
2026-01-02_15:55:52 zigbee2mqtt log_level: info
2026-01-02_15:55:52 zigbee2mqtt log_message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"off_2","battery":200,"linkquality":149}'
2026-01-02_15:55:52 zigbee2mqtt log_level: info
2026-01-02_15:55:52 zigbee2mqtt log_message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"off_3","battery":200,"linkquality":153}'
2026-01-02_15:55:52 zigbee2mqtt log_level: info
2026-01-02_15:55:52 zigbee2mqtt log_message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"off_4","battery":200,"linkquality":153}'
2026-01-02_15:55:52 zigbee2mqtt log_level: info
2026-01-02_15:55:52 zigbee2mqtt log_message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"off_1","action_group":53329,"battery":200,"linkquality":153}'
2026-01-02_15:55:52 zigbee2mqtt log_level: info
2026-01-02_15:55:52 zigbee2mqtt log_message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"off_2","action_group":53330,"battery":200,"linkquality":153}'
2026-01-02_15:55:52 zigbee2mqtt log_level: info
2026-01-02_15:55:52 zigbee2mqtt log_level: info
2026-01-02_15:55:52 zigbee2mqtt log_message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"off_3","action_group":53331,"battery":200,"linkquality":153}'
2026-01-02_15:55:52 zigbee2mqtt log_level: info
2026-01-02_15:55:52 zigbee2mqtt log_message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"off_4","action_group":53332,"battery":200,"linkquality":153}'
2026-01-02_15:55:53 zigbee2mqtt log_message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"on_4","battery":200,"linkquality":134}'
2026-01-02_15:55:53 zigbee2mqtt log_level: info
2026-01-02_15:55:54 zigbee2mqtt log_level: info
2026-01-02_15:55:54 zigbee2mqtt log_message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"off_4","battery":200,"linkquality":131}'
Wie bekomme ich sie im entsprechenden MQTT2_DEVICE eingebunden?
define Fernbedienung_1_und_2 MQTT2_DEVICE mqttjs_5bf73015
attr Fernbedienung_1_und_2 autocreate 1
attr Fernbedienung_1_und_2 devicetopic zigbee2mqtt
attr Fernbedienung_1_und_2 room Rolladensteuerung
# CID mqttjs_5bf73015
# DEF mqttjs_5bf73015
# FUUID 690730ca-f33f-4a16-8dad-0c7cea50b2ca6c35
# IODev MQTT2_FHEM_Server
# NAME Fernbedienung_1_und_2
# NR 85
# STATE ???
# TYPE MQTT2_DEVICE
# OLDREADINGS:
# READINGS:
#
In alten Logfiles kommen die Befehle noch korrekt an.
2025-11-02_11:51:10 Fernbedienung_1_und_2 message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"on_1","battery":200,"linkquality":163}'
2025-11-02_11:51:10 Fernbedienung_1_und_2 level: info
2025-11-02_11:51:10 Fernbedienung_1_und_2 action: on_1
2025-11-02_11:51:10 Fernbedienung_1_und_2 linkquality: 163
2025-11-02_11:51:10 Fernbedienung_1_und_2 battery: 200
2025-11-02_11:51:10 Fernbedienung_1_und_2 level: info
2025-11-02_11:51:10 Fernbedienung_1_und_2 message: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload '{"action":"on_1","action_group":53329,"battery":200,"linkquality":163}'
2025-11-02_11:51:10 Fernbedienung_1_und_2 action_group: 53329
2025-11-02_11:51:10 Fernbedienung_1_und_2 battery: 200
2025-11-02_11:51:10 Fernbedienung_1_und_2 action: on_1
2025-11-02_11:51:10 Fernbedienung_1_und_2 linkquality: 163
Neue Logfiles sind leer.
Seitdem habe ich unter anderem die zigbee2mqtt Bridge von einem generischen MQTT2_DEVICE Device zu zigbee2mqtt_bridge geändert.
Habt ihr eine Idee, an was es liegen könnte?
Danke vorab und viele Grüße
Dieser Krampf mit der zigbee2mqtt Bridge ist einfach unfassbar.
Eigentlich brauchst Du doch nur das reading 'action' für die Auswertung, wenn ich das richtig verstehe?
Schalte das autocreate ab und leg das reading selbst an.
...und vor allem: Vergib eine feste ClientID. Das schaut noch sehr nach "random" vergeben aus:
define Fernbedienung_1_und_2 MQTT2_DEVICE mqttjs_5bf73015
Und: "friendly names" sind MIST!
ich wollte das gerade nachbauen, um ein mögliches MQTT2_DEVICE aufzuzeigen.
Aber topics mit Leerzeichen sind gruslig...
MQTT publish: topic 'zigbee2mqtt/Fernbedienung 1', payload ...
Da hat doch jemand im Frontend von zigbee2mqtt rumgepfuscht und die ID "bearbeitet"?
attr Fernbedienung_1_und_2 devicetopic zigbee2mqttPasst auch nicht.
Mit Unterstrich statt Leerzeichen funktioniert folgendes:
defmod fb MQTT2_DEVICE
attr fb readingList zigbee2mqtt/Fernbedienung_1:.* {json2nameValue($EVENT)}
Danke für die schnellen Rückmeldungen! Ohne das Leerzeichen habe ich jetzt zwei neue MQTT2_Devices Fernbedienung_1 und Fernbedienung_2 in FHEM.
Ich bekomme hier jetzt Readings, aber noch keine Events
define Fernbedienung1Schalter2off notify zigbee_Fernbedienung_1 {json2nameValue("action: off_2")} set Rolladen_SchlafZimmer "OFF"
# CFGFN
# DEF zigbee_Fernbedienung_1 {json2nameValue("action: off_2")} set Rolladen_SchlafZimmer "OFF"
# FUUID 6957fc58-f33f-4a16-e3c6-2405d7ee2720ad10
# NAME Fernbedienung1Schalter2off
# NOTIFYDEV zigbee_Fernbedienung_1
# NR 140
# NTFY_ORDER 50-Fernbedienung1Schalter2off
# REGEXP zigbee_Fernbedienung_1
# STATE 2026-01-02 18:12:10
# TRIGGERTIME 1767373930.0685
# TYPE notify
# eventCount 1
# READINGS:
# 2026-01-02 18:11:52 state active
# 2026-01-02 18:12:10 triggeredByDev zigbee_Fernbedienung_1
# 2026-01-02 18:12:10 triggeredByEvent battery: 200
#
setstate Fernbedienung1Schalter2off 2026-01-02 18:12:10
setstate Fernbedienung1Schalter2off 2026-01-02 18:11:52 state active
setstate Fernbedienung1Schalter2off 2026-01-02 18:12:10 triggeredByDev zigbee_Fernbedienung_1
setstate Fernbedienung1Schalter2off 2026-01-02 18:12:10 triggeredByEvent battery: 200
Das hier ist die Gegenseite:
define Rolladen_SchlafZimmer ShellSwitch /opt/fhem/scripts/fernotron-control/FernotronRemote.sh 2 u d
attr Rolladen_SchlafZimmer cmdIcon on:black_up off:black_down
attr Rolladen_SchlafZimmer room Rolladensteuerung
# CMD /opt/fhem/scripts/fernotron-control/FernotronRemote.sh 2
# DEF /opt/fhem/scripts/fernotron-control/FernotronRemote.sh 2 u d
# FUUID 694d16e9-f33f-4a16-3284-3ab2edadf7cb3eda
# NAME Rolladen_SchlafZimmer
# NR 111
# OFF d
# ON u
# STATE on
# TYPE ShellSwitch
# READINGS:
# 2025-12-25 11:50:35 state on
#
setstate Rolladen_SchlafZimmer on
setstate Rolladen_SchlafZimmer 2025-12-25 11:50:35 state on
Was ist hier noch falsch?
...du wirfst da ziemlich viel durcheinander...
Zeige doch erst mal ein sauberes MQTT2_DEVICE, und nimm den Eventmonitor zu Hilfe, um notify zu erstellen.
Mit den Namen ohne Leerzeichen hat autocreate passende MQTT2_DEVICEs erzeugt
define zigbee_Fernbedienung_1 MQTT2_DEVICE zigbee_Fernbedienung_1
attr zigbee_Fernbedienung_1 readingList zigbee2mqtt/Fernbedienung_1:.* { json2nameValue($EVENT) }
attr zigbee_Fernbedienung_1 room Rolladensteuerung
# CFGFN
# CID zigbee_Fernbedienung_1
# DEF zigbee_Fernbedienung_1
# FUUID 6957f3b7-f33f-4a16-1ece-c74deb0f5c403fab
# IODev MQTT2_FHEM_Server
# LASTInputDev MQTT2_FHEM_Server
# MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_127.0.0.1_42098
# MQTT2_FHEM_Server_MSGCNT 103
# MQTT2_FHEM_Server_TIME 2026-01-02 18:37:04
# MSGCNT 103
# NAME zigbee_Fernbedienung_1
# NR 127
# STATE ???
# TYPE MQTT2_DEVICE
# eventCount 104
# READINGS:
# 2026-01-02 17:35:03 IODev MQTT2_FHEM_Server
# 2026-01-02 18:12:10 action off_2
# 2026-01-02 18:12:10 action_group 53330
# 2026-01-02 17:35:03 associatedWith zigbee2mqtt
# 2026-01-02 18:37:04 battery 200
# 2026-01-02 18:37:04 linkquality 109
#
setstate zigbee_Fernbedienung_1 2026-01-02 17:35:03 IODev MQTT2_FHEM_Server
setstate zigbee_Fernbedienung_1 2026-01-02 18:12:10 action off_2
setstate zigbee_Fernbedienung_1 2026-01-02 18:12:10 action_group 53330
setstate zigbee_Fernbedienung_1 2026-01-02 17:35:03 associatedWith zigbee2mqtt
setstate zigbee_Fernbedienung_1 2026-01-02 18:37:04 battery 200
setstate zigbee_Fernbedienung_1 2026-01-02 18:37:04 linkquality 109
Nimm den Eventmonitor zu Hilfe, um das/ein erstes notify zu erstellen.
Dazu auf Events von diesem Device filtern (dazu halt die Tasten hin und wieder drücken...).