FHEM Forum

FHEM - Hausautomations-Systeme => ZWave => Thema gestartet von: Phiolin am 30 Oktober 2018, 17:53:59

Titel: Devolo Schalt- und Messsteckdose: ReportedState reading?
Beitrag von: Phiolin am 30 Oktober 2018, 17:53:59
Beim Einrichten einer Devolo Schaltsteckdose ist mir aufgefallen, dass hier im Vergleich zu meinem Fibaro GEN5 Wall-Plug das "reportedState" reading nicht immer aktualisiert wird, wenn die Steckdose ein oder ausgeschaltet wird. Beim Fibaro Plug lässt sich reportedState zuverlässig benutzen um herauszufinden, ob die Steckdose an oder aus is. Da "state" ja bei set config Änderungen auch einen anderen Zustand als on/off annehmen kann, ist das nicht immer zu gebrauchen. Stattdessen hat sich hier "reportedState" als zuverlässig erwiesen.
Bei der Devolo Steckdose wird reportedState jedoch nicht immer aktualisiert, wenn sich der Zustand ändert. "reportedState" und "state" können hier also unterschiedlich sein und im Zweifel hat reportedState dann den falschen Wert. Ist das Absicht? Soll das so sein? Schöner wäre es ja wie bei der Fibaro. :)

Internals:
   CFGFN     
   DEF        fbc617ef 3
   IODev      zw.Gateway
   LASTInputDev zw.Gateway
   MSGCNT     35
   NAME       OG.hw.SW.Waschmaschine
   NR         39314
   STATE      off
   TYPE       ZWave
   ZWaveSubDevice no
   cmdsPending 0
   homeId     fbc617ef
   isWakeUp   
   lastMsgSent 1540918869.47422
   nodeIdHex  03
   zw.Gateway_MSGCNT 35
   zw.Gateway_RAWMSG 00132e00000501c37f7f7f7f0001030200000002010000
   zw.Gateway_TIME 2018-10-30 18:01:09
   READINGS:
     2018-10-30 17:38:52   model           Devolo home Control Home Control Smart Metering Plug MT02792
     2018-10-30 17:38:52   modelConfig     devolo/mt02792.xml
     2018-10-30 17:38:52   modelId         0175-0001-0012
     2018-10-30 18:00:00   power            0.1 W
     2018-10-30 17:49:30   reportedState   on
     2018-10-30 18:01:09   state           off
     2018-10-30 18:01:09   timeToAck       0.064
     2018-10-30 18:01:09   transmit        OK
     2018-10-30 17:41:56   voltage          241.6 V
Attributes:
   IODev      zw.Gateway
   classes    ZWAVEPLUS_INFO VERSION MANUFACTURER_SPECIFIC DEVICE_RESET_LOCALLY SECURITY POWERLEVEL ASSOCIATION ASSOCIATION_GRP_INFO SWITCH_BINARY ALARM CONFIGURATION METER SWITCH_ALL PROTECTION SCENE_ACTUATOR_CONF SCENE_ACTIVATION FIRMWARE_UPDATE_MD
   event-on-change-reading .*
   room       Hauswirtschaft,ZWave
   vclasses   ALARM:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:2 MANUFACTURER_SPECIFIC:2 METER:4 POWERLEVEL:1 PROTECTION:2 SCENE_ACTIVATION:1 SCENE_ACTUATOR_CONF:1 SECURITY:1 SWITCH_ALL:1 SWITCH_BINARY:1 VERSION:2 ZWAVEPLUS_INFO:2
Titel: Antw:Devolo Schalt- und Messsteckdose: ReportedState reading?
Beitrag von: krikan am 31 Oktober 2018, 08:14:25
Erläuterungen zu reportedState versus state siehe insbesondere:
https://forum.fhem.de/index.php/topic,74509.msg663636.html#msg663636
https://forum.fhem.de/index.php/topic,74509.msg722478.html#msg722478

Nach der Anleitung von Devolo (habe das Gerät nicht!) sollte nach meinem Verständnis immer reportedState=state sein, wenn u.a.
Controller in Assocgroup 1,
Konfiguration unverändert bzw. richtig verändert,
keine Telegrammverluste auftreten

Mehr sieht man vermutlich im verbose 5-Log bei Schaltvorgängen, die zu Abweichungen von state und reportedState führen.

Gruß, Christian
Titel: Antw:Devolo Schalt- und Messsteckdose: ReportedState reading?
Beitrag von: Phiolin am 31 Oktober 2018, 13:31:13
Schauen wir mal:

Ausgangssituation:
Internals:
   CFGFN     
   DEF        fbc617ef 3
   IMAGE     
   IODev      zw.Gateway
   LASTInputDev zw.Gateway
   MSGCNT     358
   NAME       DG.hw.SW.Waschmaschine
   NR         39314
   STATE      off
   TYPE       ZWave
   ZWaveSubDevice no
   cmdsPending 0
   homeId     fbc617ef
   isWakeUp   
   lastMsgSent 1540988848.10097
   nodeIdHex  03
   zw.Gateway_MSGCNT 358
   zw.Gateway_RAWMSG 00137c00000200bf7f7f7f7f0000030000000003010000
   zw.Gateway_TIME 2018-10-31 13:27:28
   READINGS:
     2018-10-30 20:36:32   assocGroup_1    Max 1 Nodes zw.Gateway
     2018-10-30 20:36:32   assocGroups     1
     2018-10-30 21:30:44   configAutoOffTimer 0
     2018-10-30 21:30:45   configKWHMeterReportPeriod 6
     2018-10-30 21:30:45   configLEDIndicationMode SwitchState
     2018-10-30 21:30:45   configModeOfSwitchOffFunction Enable
     2018-10-30 21:30:45   configRFOffCommandMode SwitchOff
     2018-10-30 21:30:46   configRestoreSwitchStateMode LastSwitchState
     2018-10-30 21:30:46   configThresholdOfKWhForLoadCaution 10000
     2018-10-30 21:30:46   configWattMeterReportPeriod 720
     2018-10-31 12:49:15   energy           0 kWh previous: 0 delta_time: 3600 s
     2018-10-30 20:22:06   meterSupported   type: energy scales: 0:kWh, 1:kVAh, 2:W, 3:pulseCount, 4:V, 5:A, 6:PowerFactor resetable: yes
     2018-10-30 21:31:35   model           Devolo home Control Home Control Smart Metering Plug MT02792
     2018-10-30 21:31:35   modelConfig     devolo/mt02792.xml
     2018-10-30 21:31:35   modelId         0175-0001-0012
     2018-10-30 19:15:35   neighborList    OG.kz.SW.Lego
     2018-10-31 12:16:58   neighborUpdate  done
     2018-10-31 13:23:31   power            0.1 W
     2018-10-30 21:31:42   powerlvlTest    node 0 status 0 frameAck 0
     2018-10-30 21:31:49   protection      Local: unprotected RF: unprotected
     2018-10-31 07:55:53   reportedState   off
     2018-10-31 13:27:28   state           off
     2018-10-30 21:32:00   swa             none
     2018-10-31 13:27:28   timeToAck       0.030
     2018-10-31 13:27:28   transmit        OK
     2018-10-30 21:32:06   version         Lib 3 Prot 4.34 App 1.14 HW 1 FWCounter 0
     2018-10-30 21:32:20   versionClass_114 2
     2018-10-30 21:32:23   versionClass_44 1
     2018-10-30 21:32:21   versionClass_50 4
     2018-10-30 21:32:23   versionClass_94 2
     2018-10-30 17:41:56   voltage          241.6 V
     2018-10-30 21:32:39   zwavePlusInfo    version:01 role:AlwaysOnSlave node:Z-Wave+Node installerIcon:0700 userIcon:0700
Attributes:
   DbLogInclude energy,power
   IODev      zw.Gateway
   classes    ZWAVEPLUS_INFO VERSION MANUFACTURER_SPECIFIC DEVICE_RESET_LOCALLY SECURITY POWERLEVEL ASSOCIATION ASSOCIATION_GRP_INFO SWITCH_BINARY ALARM CONFIGURATION METER SWITCH_ALL PROTECTION SCENE_ACTUATOR_CONF SCENE_ACTIVATION FIRMWARE_UPDATE_MD
   event-on-change-reading power,energy,state,realState
   neighborListPos 148.36283220328082,335.6790869641525
   room       Hauswirtschaft,ZWave
   vclasses   ALARM:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:2 MANUFACTURER_SPECIFIC:2 METER:4 POWERLEVEL:1 PROTECTION:2 SCENE_ACTIVATION:1 SCENE_ACTUATOR_CONF:1 SECURITY:1 SWITCH_ALL:1 SWITCH_BINARY:1 VERSION:2 ZWAVEPLUS_INFO:2
   verbose    5


state = reportedState

Nach "set ... on":
Internals:
   CFGFN     
   DEF        fbc617ef 3
   IMAGE     
   IODev      zw.Gateway
   LASTInputDev zw.Gateway
   MSGCNT     360
   NAME       DG.hw.SW.Waschmaschine
   NR         39314
   STATE      on
   TYPE       ZWave
   ZWaveSubDevice no
   cmdsPending 0
   homeId     fbc617ef
   isWakeUp   
   lastMsgSent 1540988941.92061
   nodeIdHex  03
   zw.Gateway_MSGCNT 360
   zw.Gateway_RAWMSG 00137d00000500c17f7f7f7f0000030000000003020000
   zw.Gateway_TIME 2018-10-31 13:29:01
   Helper:
     DBLOG:
       power:
         logdb:
           TIME       1540988935.20426
           VALUE      0
   READINGS:
     2018-10-30 20:36:32   assocGroup_1    Max 1 Nodes zw.Gateway
     2018-10-30 20:36:32   assocGroups     1
     2018-10-30 21:30:44   configAutoOffTimer 0
     2018-10-30 21:30:45   configKWHMeterReportPeriod 6
     2018-10-30 21:30:45   configLEDIndicationMode SwitchState
     2018-10-30 21:30:45   configModeOfSwitchOffFunction Enable
     2018-10-30 21:30:45   configRFOffCommandMode SwitchOff
     2018-10-30 21:30:46   configRestoreSwitchStateMode LastSwitchState
     2018-10-30 21:30:46   configThresholdOfKWhForLoadCaution 10000
     2018-10-30 21:30:46   configWattMeterReportPeriod 720
     2018-10-31 12:49:15   energy           0 kWh previous: 0 delta_time: 3600 s
     2018-10-30 20:22:06   meterSupported   type: energy scales: 0:kWh, 1:kVAh, 2:W, 3:pulseCount, 4:V, 5:A, 6:PowerFactor resetable: yes
     2018-10-30 21:31:35   model           Devolo home Control Home Control Smart Metering Plug MT02792
     2018-10-30 21:31:35   modelConfig     devolo/mt02792.xml
     2018-10-30 21:31:35   modelId         0175-0001-0012
     2018-10-30 19:15:35   neighborList    OG.kz.SW.Lego
     2018-10-31 12:16:58   neighborUpdate  done
     2018-10-31 13:28:55   power            0 W
     2018-10-30 21:31:42   powerlvlTest    node 0 status 0 frameAck 0
     2018-10-30 21:31:49   protection      Local: unprotected RF: unprotected
     2018-10-31 07:55:53   reportedState   off
     2018-10-31 13:29:01   state           on
     2018-10-30 21:32:00   swa             none
     2018-10-31 13:29:01   timeToAck       0.053
     2018-10-31 13:29:01   transmit        OK
     2018-10-30 21:32:06   version         Lib 3 Prot 4.34 App 1.14 HW 1 FWCounter 0
     2018-10-30 21:32:20   versionClass_114 2
     2018-10-30 21:32:23   versionClass_44 1
     2018-10-30 21:32:21   versionClass_50 4
     2018-10-30 21:32:23   versionClass_94 2
     2018-10-30 17:41:56   voltage          241.6 V
     2018-10-30 21:32:39   zwavePlusInfo    version:01 role:AlwaysOnSlave node:Z-Wave+Node installerIcon:0700 userIcon:0700
Attributes:
   DbLogInclude energy,power
   IODev      zw.Gateway
   classes    ZWAVEPLUS_INFO VERSION MANUFACTURER_SPECIFIC DEVICE_RESET_LOCALLY SECURITY POWERLEVEL ASSOCIATION ASSOCIATION_GRP_INFO SWITCH_BINARY ALARM CONFIGURATION METER SWITCH_ALL PROTECTION SCENE_ACTUATOR_CONF SCENE_ACTIVATION FIRMWARE_UPDATE_MD
   event-on-change-reading power,energy,state,realState
   neighborListPos 148.36283220328082,335.6790869641525
   room       Hauswirtschaft,ZWave
   vclasses   ALARM:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:2 MANUFACTURER_SPECIFIC:2 METER:4 POWERLEVEL:1 PROTECTION:2 SCENE_ACTIVATION:1 SCENE_ACTUATOR_CONF:1 SECURITY:1 SWITCH_ALL:1 SWITCH_BINARY:1 VERSION:2 ZWAVEPLUS_INFO:2
   verbose    5


reportedState = off
state = on

Logfile:
2018.10.31 13:29:01 3: ZWave set DG.hw.SW.Waschmaschine on
2018.10.31 13:29:01 5: ZWDongle_Write 001303032501FF257d (fbc617ef)
2018.10.31 13:29:01 5: SW: 010a001303032501FF257d65
2018.10.31 13:29:01 5: ACK received, WaitForAck=>2 for 010a001303032501FF257d65
2018.10.31 13:29:01 4: ZWDongle_Read zw.Gateway: rcvd 011301 (answer ZW_SEND_DATA), sending ACK
2018.10.31 13:29:01 5: SW: 06
2018.10.31 13:29:01 5: zw.Gateway: dispatch 011301
2018.10.31 13:29:01 4: ZWDongle_Read zw.Gateway: rcvd 00137d00000500c17f7f7f7f0000030000000003020000 (request ZW_SEND_DATA), sending ACK
2018.10.31 13:29:01 5: SW: 06
2018.10.31 13:29:01 5: device ack reveived, removing 010a001303032501FF257d65 from dongle sendstack
2018.10.31 13:29:01 5: zw.Gateway: dispatch 00137d00000500c17f7f7f7f0000030000000003020000
2018.10.31 13:29:01 4: CMD:ZW_SEND_DATA ID:00 ARG:000500c17f7f7f7f0000030000000003020000 CB:7d
2018.10.31 13:29:01 4: zw.Gateway transmit OK for CB 7d, target DG.hw.SW.Waschmaschine


Lässt sich da was rauslesen?
Übrigens: reportedState wird offenbar verändert, wenn ich den Taster an der Dose zum Umschalten verwende. In dem Fall wird reportedState tatsächlich auf den korrekten Zustand gesetzt. Änderungen über FHEM scheinen das allerdings nicht auszulösen.
Titel: Antw:Devolo Schalt- und Messsteckdose: ReportedState reading?
Beitrag von: krikan am 31 Oktober 2018, 13:53:25
Ja, mein Verständnis der Anleitung ist falsch.

Im Log kommt keine Nachricht von einer Statusänderung durch den Aktor mittels SWITCH_BINARY vor; müsste eigentlich nach dem letzten Logeintrag kommen.

Aus der Anleitung https://products.z-wavealliance.org/ProductManual/File?folder=&filename=Manuals/2057/Home_Control_Schalt_Messsteckdose_2.0_2016_11_02_eng.pdf
"2-1-1 On/Off Event Report
When "on" or "off " state has been changed, it will send Binary Switch Report to the node of Grouping 1."
verstehe ich das anders.

Problem bei Assoziation/Konfiguration erkenne ich nicht.

Momentan fällt mir nur ein, nach jedem set ein get hinterherzuschicken, damit reportedState immer stimmt. Ist aber weit weg von ideal.