Autor Thema: Silvercrest Lidl Mehrfachsteckdose und zigbee2mqtt_3channel_split  (Gelesen 270 mal)

Offline onkel-tobi

  • Full Member
  • ***
  • Beiträge: 351
Hallo zusammen,

irgendwie scheine ich noch was falsch zu machen im Hinblick auf das 3channel split template.
Und zwar ist es so, dass die readinglist teilweise so angepasst wird (automatisch), dass die Geräte einen falschen Status erhalten.
Da ich nicht ausschließen konnte, da was kaputt konfiguriert zu haben, habe ich sowohl im zigbee2mqtt als auch im fhem erst mal alle devices gelöscht und entsprechend mit dem template neu angelegt.
Nun sieht channel 1 inzwischen wieder so aus und die readinglist ist ja wieder falsch?!

Internals:
   CID        zigbee_0xec1bbdfffeab9944
   DEF        zigbee_0xec1bbdfffeab9944
   DEVICETOPIC zigbee2mqtt/0xec1bbdfffeab9944
   FUUID      617b8c4e-f33f-daf3-4799-628a01a9304fc69e
   IODev      m2c
   LASTInputDev m2c
   MSGCNT     9
   NAME       eg_wz_zb2
   NR         6101
   STATE      off
   TYPE       MQTT2_DEVICE
   m2c_MSGCNT 9
   m2c_TIME   2021-10-29 17:07:51
   JSONMAP:
     state      availability
     state_l1   state
     state_l2   0
     state_l3   0
   OLDREADINGS:
   READINGS:
     2021-10-29 07:53:18   IODev           m2c
     2021-10-29 17:02:25   associatedWith  MQTT2_zigbee_pi
     2021-10-29 07:54:45   attrTemplateVersion 20201213
     2021-10-29 17:07:34   linkquality     5
     2021-10-29 17:07:51   state           OFF
Attributes:
   alias      Sky
   comment    Channel 1 for MQTT2_zigbee_0xec1bbdfffeab9944, see also MQTT2_zigbee_0xec1bbdfffeab9944_CH2 and MQTT2_zigbee_0xec1bbdfffeab9944_CH3
   devicetopic zigbee2mqtt/0xec1bbdfffeab9944
   eventMap   { dev=>{ON=>'on',OFF=>'off'} }
   genericDeviceType switch
   homebridgeMapping On=state,cmdOnOn=state,valueOn=ON,valueOff=OFF
   icon       message_socket
   jsonMap    state:availability state_l1:state state_l2:0 state_l3:0
   model      zigbee2mqtt_3channel_split
   readingList $DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }
zigbee2mqtt/0xec1bbdfffeab9944/1/set:.* { json2nameValue($EVENT) }
zigbee2mqtt/0xec1bbdfffeab9944/3/set:.* { json2nameValue($EVENT) }
   room       Homekit,MQTT2_DEVICE,Wohnzimmer
   setList    on:noArg $DEVICETOPIC/1/set {"state":"ON"}
  off:noArg $DEVICETOPIC/1/set {"state":"OFF"}
  toggle:noArg $DEVICETOPIC/1/set {"state":"TOGGLE"}
   setStateList on off toggle

Vielleicht hat ja noch wer einen Tipp für mich?

Gruß,
Tobi

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16783
Antw:Silvercrest Lidl Mehrfachsteckdose und zigbee2mqtt_3channel_split
« Antwort #1 am: 29 Oktober 2021, 17:31:19 »
Glaskugel meint, du hast einen externen Server am Start und setzt Befehle auch von anderer Seite ab?

Dann solltest du mal nach ignoreRegexp am MQTT2_CLIENT schauen und die set-Befehle abfangen. Falls das nicht hilft, schauen wir weiter, aber bitte die angepinnten "was sollte man liefern"-Hinweise beachten.
Server: HP-T620@Debian 11, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

Offline onkel-tobi

  • Full Member
  • ***
  • Beiträge: 351
Antw:Silvercrest Lidl Mehrfachsteckdose und zigbee2mqtt_3channel_split
« Antwort #2 am: 29 Oktober 2021, 18:15:16 »
Sorry, mqtt config sollte stimmen, hatten wir schon mal gecheckt. Hätte ich aber liefern müssen…
Ich habe aber eben noch folgendes festgestellt:
Laut https://www.zigbee2mqtt.io/devices/HG06338.html#lidl-hg06338
müssen die channels mit state_l1, state_l2 und state_l3 gesetzt werden.
Habe nun mal testweise die setlist angepasst:
on:noArg $DEVICETOPIC/set {"state_l1":"ON"}
  off:noArg $DEVICETOPIC/set {"state_l1":"OFF"}
  toggle:noArg $DEVICETOPIC/set {"state_l1":"TOGGLE"}
Und so wird auch korrekt geschaltet und ich sehe es im zigbee2mqtt frontend entsprechend.
Vielleicht ist das jetzt ein anderes Modell als das für das das Template gemacht wurde.
Ich werde das am WE entsprechend weiter testen und beobachten.

Gruß,
Tobi

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16783
Antw:Silvercrest Lidl Mehrfachsteckdose und zigbee2mqtt_3channel_split
« Antwort #3 am: 30 Oktober 2021, 06:19:38 »
Das mit state_lx habe ich jetzt bei dem 3-kanaligen reingebastelt, ich vermute, es gab entsprechende Änderungen bei zigbee2mqtt. Da könnte auch noch mehr kommen, es gab im "contribute"-Thread neulich auch einen Hinweis in diese Richtung.

Aber nochmal zu
zigbee2mqtt/0xec1bbdfffeab9944/3/set:.* { json2nameValue($EVENT) }Imo ist das ein Befehl _an_ das Device und keine Info _vom_ Device. Diese Topics haben imo in FHEM nichts verloren und sollten direkt am IO abgefangen werden. Leider erfasst der in https://wiki.fhem.de/wiki/MQTT2_CLIENT#ignoreRegexp dargestellte default diesen Fall hier nicht, vermutlich würde es reichen, wenn du den mittleren Teil ("[^/]+") mit ".+" ersetzt.
Server: HP-T620@Debian 11, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}