Hallo Freunde,
habe jetzt einen ZigBee2MQTT Container und einer Teststeckdose installiert.
Die Steckdose ist mit dem ZigBee2MQTT Container verbunden (also im ZigBee-Netzwerk vorhanden) und ich kann sie per Oberfläche des ZigBee2MQTT schalten.
Dann habe ich den MQTT Server in FHEM eingetragen.
-> ZigBee2MQTT wurde in FHEM angelegt.
-> Template zigbee2mqtt_bridge ausgewählt
Sieht erstmal gut aus
Steckdose wurde auch automatisch angelegt
-> Werte zeigen die Richtigen Werte
-> Template zigbee2mqtt_plug ausgewählt
Alle Werte kommen gut rein. Auch wenn ich sie Schalte (Manuell oder per ZigBee2MQTT-Oberfläche) wird alles richtig aktualisiert
ABER .. ich kann nicht per FHEM schalten. Es steht als status nur set-on, aber sonst ändert sich nichts. Ich vermute, der Kanal FHEM->ZigBee2MQTT funktioniert nicht, aber ich weiß nicht wieso und kriege es nicht raus.
Hinweis: Beide Container sind im Gleichen docker-compose definiert, und zigbee->fhem funktioniert ja.
Hat jemand eine Idee, wo ich suchen kann? Config in FHEM habe ich beigelegt, andere kann ich gerne nachliefern.
Bridge Config:
define zigbee2mqtt MQTT2_DEVICE mqttjs_b1d3a38d
attr zigbee2mqtt bridgeRegexp zigbee2mqtt/((?!bridge)[A-Za-z0-9._]+)/?.*:.* "zigbee_$1"
attr zigbee2mqtt comment To check for new updates of the deamon software, you might want to use a separate HTTPMOD device. See HTTPMOD template zigbee2mqtt_daemon_updates for further details.
attr zigbee2mqtt devicetopic zigbee2mqtt
attr zigbee2mqtt getList networkmap_raw:noArg raw $DEVICETOPIC/bridge/request/networkmap raw\
networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/request/networkmap graphviz
attr zigbee2mqtt model zigbee2mqtt_bridge
attr zigbee2mqtt readingList $DEVICETOPIC/bridge/state:.* state\
$DEVICETOPIC/bridge/config/devices:.* {}\
$DEVICETOPIC/bridge/config/log_level:.* log_level\
$DEVICETOPIC/bridge/config/permit_join:.* permit_join\
$DEVICETOPIC/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }\
$DEVICETOPIC/bridge/config:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/bridge/log:.*\"type\".\"devices\".\"message\".* devices\
$DEVICETOPIC/bridge/log:.* log\
$DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT,'log_') }\
$DEVICETOPIC/bridge/response/networkmap:.* { my $type = $EVENT =~ m/.*,"type":"(raw|graphviz)",.*/ ? $1 : 'networkmap';; $EVENT =~ m/{"data":\{.*"value":"?(.*[^"])"?\},"status":"ok"\}/ ? { $type=>$1 } : {} }\
$DEVICETOPIC/bridge/devices:.* devices\
$DEVICETOPIC/bridge/info:.* info\
$DEVICETOPIC/bridge/groups:.* groups\
$DEVICETOPIC/bridge/event:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/bridge/extensions:.* extensions\
$DEVICETOPIC/bridge/response/permit_join:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/bridge/definitions:.* {}\
mqttjs_b1d3a38d:zigbee2mqtt/bridge/health:.* { json2nameValue($EVENT) }
attr zigbee2mqtt room IO,Log
attr zigbee2mqtt setList log_level:debug,info,warn,error $DEVICETOPIC/bridge/config/log_level $EVTPART1\
permit_join:true,false $DEVICETOPIC/bridge/request/permit_join $EVTPART1\
remove:textField $DEVICETOPIC/bridge/config/remove $EVTPART1\
ota_update:textField $DEVICETOPIC/bridge/ota_update/update $EVTPART1\
ota_update_check:textField $DEVICETOPIC/bridge/ota_update/check $EVTPART1\
y_device_setting:textField $DEVICETOPIC/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}\
x_bind:textField $DEVICETOPIC/bridge/bind/$EVTPART1 $EVTPART2\
x_bind_unbind:textField $DEVICETOPIC/bridge/unbind/$EVTPART1 $EVTPART2\
x_device_options:textField $DEVICETOPIC/bridge/config/device_options {"friendly_name":"$EVTPART1","options": {"$EVTPART2": "$EVTPART3"}}\
x_group_add_to:textField $DEVICETOPIC/bridge/group/$EVTPART1/add $EVTPART2\
x_group_rm_from:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove $EVTPART2\
x_group_rm_from_all:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove_all $EVTPART2\
x_group_add_group:textField $DEVICETOPIC/bridge/config/add_group $EVTPART1\
x_group_rm_group:textField $DEVICETOPIC/bridge/config/remove_group $EVTPART1\
z_elapsed:textField $DEVICETOPIC/bridge/config/elapsed $EVTPART1\
z_last_seen:disable,ISO_8601,epoch,ISO_8601_local $DEVICETOPIC/bridge/config/last_seen $EVTPART1\
z_ban:textField $DEVICETOPIC/bridge/config/ban $EVTPART1\
z_rename:textField $DEVICETOPIC/bridge/config/rename {"old":"$EVTPART1","new":"$EVTPART2"}\
z_reset_CC:noArg $DEVICETOPIC/bridge/config/reset
attr zigbee2mqtt setStateList on off
# CFGFN
# CID mqttjs_b1d3a38d
# DEF mqttjs_b1d3a38d
# FUUID 6884faf0-f33f-a76c-31bd-2a81ded2b2e76a03
# IODev mqtt2s
# LASTInputDev mqtt2s
# MSGCNT 18
# NAME zigbee2mqtt
# NR 762
# STATE ON
# TYPE MQTT2_DEVICE
# eventCount 32
# mqtt2s_CONN mqtt2s_172.28.5.1_53866
# mqtt2s_MSGCNT 18
# mqtt2s_TIME 2025-07-26 18:18:03
# .DT:
# DEVICETOPIC zigbee2mqtt
# .attraggr:
# .attrminint:
# OLDREADINGS:
# READINGS:
# 2025-07-26 17:58:12 attrTemplateVersion 20240628
# 2025-07-26 18:17:36 devices_0x70b3d52b6014f121_leave_count 0
# 2025-07-26 18:17:36 devices_0x70b3d52b6014f121_messages 40
# 2025-07-26 18:17:36 devices_0x70b3d52b6014f121_messages_per_sec 0.046
# 2025-07-26 18:17:36 devices_0x70b3d52b6014f121_network_address_changes 0
# 2025-07-26 18:18:03 log_level info
# 2025-07-26 18:18:03 log_message z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/ZigBee Steckdose 1', payload '{"current":0,"energy":0,"linkquality":255,"power":0,"state":"ON","voltage":228}'
# 2025-07-26 18:17:36 mqtt_connected true
# 2025-07-26 18:17:36 mqtt_published 64
# 2025-07-26 18:17:36 mqtt_queued 0
# 2025-07-26 18:17:36 mqtt_received 8
# 2025-07-26 18:17:36 os_load_average_1 1.13
# 2025-07-26 18:17:36 os_load_average_2 0.96
# 2025-07-26 18:17:36 os_load_average_3 0.83
# 2025-07-26 18:17:36 os_memory_percent 53.75
# 2025-07-26 18:17:36 os_memory_used_mb 7323.98
# 2025-07-26 18:17:36 process_memory_percent 0.7282
# 2025-07-26 18:17:36 process_memory_used_mb 115.31
# 2025-07-26 18:17:36 process_uptime_sec 1207
# 2025-07-26 18:17:36 response_time 1753546656944
# 2025-07-26 18:03:06 subscriptions zigbee2mqtt/#
# hmccu:
#
setstate zigbee2mqtt ON
setstate zigbee2mqtt 2025-07-26 17:58:12 attrTemplateVersion 20240628
setstate zigbee2mqtt 2025-07-26 18:17:36 devices_0x70b3d52b6014f121_leave_count 0
setstate zigbee2mqtt 2025-07-26 18:17:36 devices_0x70b3d52b6014f121_messages 40
setstate zigbee2mqtt 2025-07-26 18:17:36 devices_0x70b3d52b6014f121_messages_per_sec 0.046
setstate zigbee2mqtt 2025-07-26 18:17:36 devices_0x70b3d52b6014f121_network_address_changes 0
setstate zigbee2mqtt 2025-07-26 18:18:03 log_level info
setstate zigbee2mqtt 2025-07-26 18:18:03 log_message z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/ZigBee Steckdose 1', payload '{"current":0,"energy":0,"linkquality":255,"power":0,"state":"ON","voltage":228}'
setstate zigbee2mqtt 2025-07-26 18:17:36 mqtt_connected true
setstate zigbee2mqtt 2025-07-26 18:17:36 mqtt_published 64
setstate zigbee2mqtt 2025-07-26 18:17:36 mqtt_queued 0
setstate zigbee2mqtt 2025-07-26 18:17:36 mqtt_received 8
setstate zigbee2mqtt 2025-07-26 18:17:36 os_load_average_1 1.13
setstate zigbee2mqtt 2025-07-26 18:17:36 os_load_average_2 0.96
setstate zigbee2mqtt 2025-07-26 18:17:36 os_load_average_3 0.83
setstate zigbee2mqtt 2025-07-26 18:17:36 os_memory_percent 53.75
setstate zigbee2mqtt 2025-07-26 18:17:36 os_memory_used_mb 7323.98
setstate zigbee2mqtt 2025-07-26 18:17:36 process_memory_percent 0.7282
setstate zigbee2mqtt 2025-07-26 18:17:36 process_memory_used_mb 115.31
setstate zigbee2mqtt 2025-07-26 18:17:36 process_uptime_sec 1207
setstate zigbee2mqtt 2025-07-26 18:17:36 response_time 1753546656944
setstate zigbee2mqtt 2025-07-26 18:03:06 subscriptions zigbee2mqtt/#
Steckdose Config:
define zigbee_1 MQTT2_DEVICE zigbee_ZigBee
attr zigbee_1 devicetopic zigbee2mqtt/ZigBee\x20Steckdose\x201
attr zigbee_1 icon hue_filled_outlet
attr zigbee_1 model zigbee2mqtt_plug
attr zigbee_1 readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT);; $ret->{state}=lc($ret->{state}) if defined $ret->{state};; return $ret }
attr zigbee_1 room Strom
attr zigbee_1 setList on:noArg $DEVICETOPIC/set {"state":"ON"}\
off:noArg $DEVICETOPIC/set {"state":"OFF"}\
toggle:noArg $DEVICETOPIC/set {"state":"TOGGLE"}
attr zigbee_1 setStateList on off toggle
# CFGFN
# CID zigbee_ZigBee
# DEF zigbee_ZigBee
# FUUID 6884fc3a-f33f-a76c-bc28-ded139360d5a08a7
# IODev mqtt2s
# LASTInputDev mqtt2s
# MSGCNT 38
# NAME zigbee_1
# NR 764
# STATE on
# TYPE MQTT2_DEVICE
# eventCount 45
# mqtt2s_CONN mqtt2s_172.28.5.1_53866
# mqtt2s_MSGCNT 38
# mqtt2s_TIME 2025-07-26 18:18:03
# .DT:
# DEVICETOPIC zigbee2mqtt/ZigBee\x20Steckdose\x201
# .attraggr:
# .attrminint:
# READINGS:
# 2025-07-26 18:03:06 IODev mqtt2s
# 2025-07-26 18:03:06 associatedWith zigbee2mqtt
# 2025-07-26 18:06:01 attrTemplateVersion 20220909
# 2025-07-26 18:18:03 current 0
# 2025-07-26 18:18:03 energy 0
# 2025-07-26 18:18:03 linkquality 255
# 2025-07-26 18:18:03 power 0
# 2025-07-26 18:18:03 state on
# 2025-07-26 18:18:03 voltage 228
# hmccu:
#
setstate zigbee_1 on
setstate zigbee_1 2025-07-26 18:03:06 IODev mqtt2s
setstate zigbee_1 2025-07-26 18:03:06 associatedWith zigbee2mqtt
setstate zigbee_1 2025-07-26 18:06:01 attrTemplateVersion 20220909
setstate zigbee_1 2025-07-26 18:18:03 current 0
setstate zigbee_1 2025-07-26 18:18:03 energy 0
setstate zigbee_1 2025-07-26 18:18:03 linkquality 255
setstate zigbee_1 2025-07-26 18:18:03 power 0
setstate zigbee_1 2025-07-26 18:18:03 state on
setstate zigbee_1 2025-07-26 18:18:03 voltage 228
devicetopic scheint ein Problem zu haben.
"friendly namens" zum Einstieg vermeiden.
Sonst: IODev paßt?
IODev ist der interne MQTT-Server. Habe andere MQTT-Device die Funktionieren. Also sollte Grundsätzlich MQTT O.K. sein.
Zitat"friendly namens" zum Einstieg vermeiden.
Wie meinst Du das?
Zitat von: Wernieman am 26 Juli 2025, 18:31:44Zitat"friendly namens" zum Einstieg vermeiden.
Wie meinst Du das?
Du scheinst das Ding in z2m umbenannt zu haben, vermutlich was mit Leerzeichen.
MAn keine gute Idee...
Nein, das z2m hat er selber gemacht. Ich habe nur den Anzeigename in FHEM geändert.
Edit:
Meinst Du jetzt in FHEM oder in ZigBee2MQTT?
Edit2:
Wenn in FHEM, die zigbee2mqtt Bridge oder die Steckdose?
O.K. jetzt habe ich es Verstanden:
Ich habe den Namen der Steckdose bei zigbe2mqtt geändert. Dort gelöscht, neu angelernt und es funzt. Abgesehen vom Template auswählen sogar automatisch.
Also merken: Keine Leerzeichen im ZigBee-Namen
Danke für die Denkanstöße!
Zitat von: Wernieman am 26 Juli 2025, 18:52:49O.K. jetzt habe ich es Verstanden:
Ich habe den Namen der Steckdose bei zigbe2mqtt geändert. Dort gelöscht, neu angelernt und es funzt. Abgesehen vom Template auswählen sogar automatisch.
Also merken: Keine Leerzeichen im ZigBee-Namen
Danke für die Denkanstöße!
Gar keine Umbenennung in z2m ist mAn besser....
Der technische Name ist und bleibt eindeutig.
Also ob eine "Wilde Nummer" so eundeutig für den Menschen zuordbar ist .. das ist die gute Frage ;o)
Auf jedem Fall habe ich heute einiges über ZigBee, ZigBee2MQTT, MQTT und FHEM dazugelernt ... man lernt nicht aus
Zitat von: Wernieman am 26 Juli 2025, 18:59:06Also ob eine "Wilde Nummer" so eundeutig für den Menschen zuordbar ist .. das ist die gute Frage ;o)
...
In FHEM kannst Du nach dem Anlegen das Device ja nennen, wie Du magst. Und im Frontend kann man zur Unterscheidung einen Beschreibungstext angeben.
Stimmt ... bauf jedem falle funktioniert es jetzt und ich kann weiter "Testen". Nur habe ich aktuell eine Batterie fürs 2. Gerät vergessen zu kaufen ...
Präventiv, am Rande...
Wir reden hier von der Anwendung der Templates, tun kann jeder was er will. ;D