[Gelöst] ZigBee2MQTT Befehle senden funktioniert nicht

Begonnen von Wernieman, 26 Juli 2025, 18:21:38

Vorheriges Thema - Nächstes Thema

Wernieman

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
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Beta-User

devicetopic scheint ein Problem zu haben.

"friendly namens" zum Einstieg vermeiden.

Sonst: IODev paßt?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Wernieman

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?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Beta-User

Zitat von: Wernieman am 26 Juli 2025, 18:31:44
Zitat"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...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Wernieman

#4
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?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Wernieman

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!
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Beta-User

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.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Wernieman

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
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

TomLee

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.

Wernieman

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 ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

TomLee

Präventiv, am Rande...

Wir reden hier von der Anwendung der Templates, tun kann jeder was er will. ;D