Hallo zusammen,
ich habe ein Problem mit dieser Mehrfachsteckdose von Lidl (Silvercrest HG06338) und dem zugehörigen Template (zigbee2mqtt_3channel_split).
Um Fremdquellen auszuschließen habe ich Node Red runtergefahren.
Die Steckerleiste ließ sich problemlos in zigbee2mqtt einbinden und funktioniert von dort aus fehlerfrei.
Folgendes passiert in fhem:
- Nach Schalten eines beliebigen Kanals in zigbee2mqtt, erkennt fhem automatisch ein device MQTT2_zigbee_wz_Mehrfachsteckdose_TV. (Iin zigbee2mqtt heißt es wz_Mehrfachsteckdose_TV).
- Wenn ich dem fhem device das attrTemplate zigbee2mqtt_3channel_split zuweise legt fhem zwei weitere devices an.
- MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2
- MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3
soweit, so gut.

Aber...
Mit den Parametern stimmt etwas nicht. Ich habe mir den Teil des attrTemplates angeschaut, bin damit aber etwas überfordert.
Das passiert, wenn ich in zigbee2mqtt die Channels schalte:
zigbee2mqtt -> fhem:
Ch1 an -> ch1 und ch3 an
Ch2 an -> nichts passiert
Ch3 an -> ch2 an
Beim Ausschalten verhält sich das Ganze entsprechend.
Hier die raw definition der drei devices, wie von fhem angelegt:
Channel 1:
defmod MQTT2_zigbee_wz_Mehrfachsteckdose_TV MQTT2_DEVICE zigbee_wz_Mehrfachsteckdose_TV
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV alias MQTT2_zigbee_wz_Mehrfachsteckdose_TV
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV comment Channel 1 for MQTT2_zigbee_wz_Mehrfachsteckdose_TV, see also MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 and MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV devicetopic zigbee2mqtt/wz_Mehrfachsteckdose_TV
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV genericDeviceType switch
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV icon message_socket
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV jsonMap state:availability state_l1:state state_l2:0 state_l3:0
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV model zigbee2mqtt_3channel_split
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP);; $ret->{state}=lc($ret->{state});; return $ret }
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV room MQTT2_DEVICE
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV setList on:noArg $DEVICETOPIC/1/set {"state_l1":"ON"}\
off:noArg $DEVICETOPIC/1/set {"state_l1":"OFF"}\
toggle:noArg $DEVICETOPIC/1/set {"state_l1":"TOGGLE"}
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV setStateList on off toggle
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV 2022-08-05 14:57:59 IODev mosquittoATnucgulp
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV 2022-08-05 14:59:05 associatedWith MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2,MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV 2022-08-05 14:59:05 attrTemplateVersion 20220622
Channel 2:
defmod MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 MQTT2_DEVICE zigbee_wz_Mehrfachsteckdose_TV
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 alias MQTT2_zigbee_wz_Mehrfachsteckdose_TV
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 comment Channel 2 for MQTT2_zigbee_wz_Mehrfachsteckdose_TV, see also MQTT2_zigbee_wz_Mehrfachsteckdose_TV and MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 devicetopic zigbee2mqtt/wz_Mehrfachsteckdose_TV
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 genericDeviceType switch
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 icon message_socket
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 jsonMap state_l3:state state_l1:0 state_l2:0 state:0 consumption:0 linkquality:0 power:0 temperature:0
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 model zigbee2mqtt_3channel_split
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP);; $ret->{state}=lc($ret->{state});; return $ret }
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 room MQTT2_DEVICE
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 setList on:noArg $DEVICETOPIC/l2/set {"state_l2":"ON"}\
off:noArg $DEVICETOPIC/l2/set {"state_l2":"OFF"}\
toggle:noArg $DEVICETOPIC/l2/set {"state_l2":"TOGGLE"}
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 setStateList on off toggle
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 on
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 14:59:04 IODev mosquittoATnucgulp
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 14:59:05 associatedWith MQTT2_zigbee_wz_Mehrfachsteckdose_TV,MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 14:59:05 attrTemplateVersion 20220622
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_applicationVersion 69
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_dateCode
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_friendlyName wz_Mehrfachsteckdose_TV
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_hardwareVersion 1
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_ieeeAddr 0xec1bbdfffeaedd43
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_manufacturerID 4098
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_manufacturerName _TZ3000_1obwwnmq
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_model HG06338
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_networkAddress 1108
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_powerSource Mains (single phase)
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_stackVersion 0
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_type Router
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 device_zclVersion 3
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 last_seen 1659704409487
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2 2022-08-05 15:00:09 state on
Chanel 3:
defmod MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 MQTT2_DEVICE zigbee_wz_Mehrfachsteckdose_TV
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 alias MQTT2_zigbee_wz_Mehrfachsteckdose_TV
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 comment Channel 3 for MQTT2_zigbee_wz_Mehrfachsteckdose_TV, see also MQTT2_zigbee_wz_Mehrfachsteckdose_TV and MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 devicetopic zigbee2mqtt/wz_Mehrfachsteckdose_TV
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 genericDeviceType switch
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 icon message_socket
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 jsonMap state:availability state_l1:state state_l2:0 state_l3:0
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 model zigbee2mqtt_3channel_split
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP);; $ret->{state}=lc($ret->{state});; return $ret }
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 room MQTT2_DEVICE
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 setList on:noArg $DEVICETOPIC/l3/set {"state_l3":"ON"}\
off:noArg $DEVICETOPIC/l3/set {"state_l3":"OFF"}\
toggle:noArg $DEVICETOPIC/l3/set {"state_l3":"TOGGLE"}
attr MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 setStateList on off toggle
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 on
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 14:59:05 IODev mosquittoATnucgulp
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 14:59:05 associatedWith MQTT2_zigbee_wz_Mehrfachsteckdose_TV,MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH2
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 14:59:05 attrTemplateVersion 20220622
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_applicationVersion 69
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_dateCode
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_friendlyName wz_Mehrfachsteckdose_TV
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_hardwareVersion 1
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_ieeeAddr 0xec1bbdfffeaedd43
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_manufacturerID 4098
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_manufacturerName _TZ3000_1obwwnmq
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_model HG06338
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_networkAddress 1108
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_powerSource Mains (single phase)
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_stackVersion 0
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_type Router
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 device_zclVersion 3
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 last_seen 1659704409487
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 linkquality 80
setstate MQTT2_zigbee_wz_Mehrfachsteckdose_TV_CH3 2022-08-05 15:00:09 state on
Ich habe mittels eines mqtt-clients abgefangen, was von zigbee2mqtt gesendet wird, wenn man von dort aus der GUI schaltet:
topic:
zigbee2mqtt/wz_Mehrfachsteckdose_TV
payload:
{"device":{"applicationVersion":69,"dateCode":"","friendlyName":"wz_Mehrfachsteckdose_TV","hardwareVersion":1,"ieeeAddr":"0xec1bbdfffeaedd43","manufacturerID":4098,"manufacturerName":"_TZ3000_1obwwnmq","model":"HG06338","networkAddress":1108,"powerSource":"Mains (single phase)","stackVersion":0,"type":"Router","zclVersion":3},"last_seen":1659712990266,"linkquality":76,"state_l1":"ON","state_l2":"OFF","state_l3":"OFF"}
Möchte ich die Steckdose über einen MQTT-Client steuern, muss ich noch ein set an das topic hängen, ohne set geht es nicht:
topic:
zigbee2mqtt/wz_Mehrfachsteckdose_TV/set
payload: { "state_l1": "OFF", "state_l2": "OFF", "state_l3": "OFF" }
Mir ist aber nicht ganz klar, was ich im attrTemplate ändern muss, damit die Schaltungen korrekt angezeigt werden.
Vermutlich wird die readingList dafür verwendet auf die Ereignisse aus zigbee2mqtt zu reagieren? Hier komme ich mit der RegEx aber leider nicht klar, weshalb ich hier nicht weiter auf Ursachensuche gehen konnte.
Die setList der Channels funktioniert genauso, wie erwartet, wobei der Pfad /l[n] (zumindest bei meiner Mehrfachsteckdose) nicht nötig wäre um zu schalten.
zigbee2mqtt/wz_Mehrfachsteckdose_TV/set und
zigbee2mqtt/wz_Mehrfachsteckdose_TV/set/l2 (oder l1 oder l3) machen dasselbe.
Kann mir hier vielleicht jemand weiterhelfen?
P.S.: Ich habe gerade noch herausgefunden, dass es wohl mehrere Versionen der Mehrfachsteckerleiste gibt:
https://github.com/Koenkk/zigbee2mqtt/issues/9564 eventuell liegt mein Problem ja auch genau daran?
Viele Grüße
Sascha