FHEM Forum

FHEM - Hausautomations-Systeme => ZWave => Thema gestartet von: Fixel2012 am 22 Juli 2017, 01:17:02

Titel: Reportedstate und state untgerschiedlich
Beitrag von: Fixel2012 am 22 Juli 2017, 01:17:02
Hi,

ich nutze das Reading reportedstate um im TabletUI den Rolladen status abzubilden.

Leider musste ich feststellen das bei zwei Rollläden das Reading reportedstate nicht mit dem Reading state nicht über ein stimmt.

Somit stimmt die aktuelle Position mit dem Reading reportedstate nicht über ein.

Meine Vermutung ist einfach, dass der Aktor(rollershutter 2) den Controller nicht erreichen kann. Da dies aber anders rum funktioniert, bin ich ein wenig verwundert. Die Route des Aktors habe ich schon gecheckt, dass sollte ok sein.

Werde morgen nochmal testen, ob es geht, wenn nicht alle Rollläden gleichzeitig hoch gehen. Vielleicht liegt es an den vielen gleichzeitig ankommenden Statusmeldungen der Aktoren.

Werde nochmal Berichten.

Wenn sonst wer Ideen hat, sind diese gerne Willkommen.

Schonmal Danke und Gruß,

Fixel
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: rudolfkoenig am 22 Juli 2017, 09:31:31
Kannst du bitte sagen, jeweils was in den Readings steht? Eigentlich wird reportedstate automatisch auf state gesetzt.
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: Fixel2012 am 23 Juli 2017, 14:35:40
reportedState dim 35 2017-07-22 21:43:56

state on 2017-07-23 10:30:00

Hier die beiden Readings.

Das reportedstate Reading wurde das letze mal gestern Abend aktualisiert, obwohl der Rollladen um 10:30 hochgefahren wurde. für 10:30 müsste doch eigentlich auch ein Reportedatate Reading vorliegen.
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: Fixel2012 am 24 Juli 2017, 08:30:27
Hier nochmal ein List, das Phänomen tritt nur auf, wenn mehrere Rollläden gleichzeitig gesteuert werden. Wahrscheinlich kommt der Aktor nicht zur Zentrale durch (zu viel Funkverkehr?).


Internals:
   CFGFN
   DEF        c72e3103 17
   IODev      ZWDongle_Fibaro
   LASTInputDev ZWDongle_Fibaro
   MSGCNT     743
   NAME       1OG.Bad
   NR         133
   STATE      up
   TYPE       ZWave
   ZWDongle_Fibaro_MSGCNT 743
   ZWDongle_Fibaro_RAWMSG 000400110a320221440000002e0000
   ZWDongle_Fibaro_TIME 2017-07-24 08:03:22
   ZWaveSubDevice no
   homeId     c72e3103
   isWakeUp
   lastMsgSent 1500874200.2512
   nodeIdHex  11
   READINGS:
     2017-02-11 16:35:10   CMD             ZW_APPLICATION_UPDATE
     2017-06-16 10:30:05   UNPARSED        SENSOR_BINARY 06300504220660
     2017-05-25 19:36:23   assocGroup_1    Max 16 Nodes ZWDongle_Fibaro
     2017-05-25 19:36:23   assocGroup_2    Max 16 Nodes
     2017-05-25 19:36:24   assocGroup_3    Max 1 Nodes ZWDongle_Fibaro
     2017-05-25 19:36:23   assocGroups     3
     2017-07-24 08:03:22   energy           0.46 kWh
     2017-02-11 16:35:25   model           FIBARO System FGR222 Roller Shutter Controller 2
     2017-02-11 16:35:25   modelConfig     fibaro/fgr222.xml
     2017-02-11 16:35:25   modelId         010f-0302-1000
     2017-06-05 15:18:38   neighborUpdate  done
     2017-05-29 21:45:41   position        35
     2017-07-24 07:30:15   power           0.0 W
     2017-06-05 02:07:35   protection      Local: unprotected RF: unprotected
     2017-07-23 21:42:29   reportedState   dim 35
     2017-07-24 07:30:00   state           on
     2017-07-24 07:30:01   timeToAck       1.409
     2017-07-24 07:30:01   transmit        OK
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: krikan am 24 Juli 2017, 08:45:14
Tippe auf zu viel Funkverkehr und damit einhergehende Telegrammverluste, Wiederholungen. Sieht man normalerweise im verbose 5 Log von ZWDongle (zumindest die Indizien). timeToAck deutet auch darauf hin.

Reduziere zunächst Funknachrichten durch Löschen der vermutlich unnötigen Assoziation mit Assogroup 1. Damit hast Du schon einmal weniger Nachrichten.

Wenn es dann noch nicht funktioniert, zum gleichzeitigen Schalten structure mit erhöhtem async_delay nutzen.

Gruß, Christian
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: Fixel2012 am 24 Juli 2017, 10:26:14
Zitat von: krikan am 24 Juli 2017, 08:45:14
Tippe auf zu viel Funkverkehr und damit einhergehende Telegrammverluste, Wiederholungen. Sieht man normalerweise im verbose 5 Log von ZWDongle (zumindest die Indizien). timeToAck deutet auch darauf hin.

Reduziere zunächst Funknachrichten durch Löschen der vermutlich unnötigen Assoziation mit Assogroup 1. Damit hast Du schon einmal weniger Nachrichten.

Gruß, Christian

Hi Christian,

die associationen mit Gruppe 1 sind tatsächlich nicht nötig. Mir war nicht bewusst in wie fern das den Funkverkehr belastet.

Mit associationdel <gruppe, in meinem Fall die 1> <NodeID des devices was bisher eingetragen ist>
kurz gesagt:

set attr associationDel 1 15

sollte ich doch den Controller aus der Gruppe 1 entfernen können?



wenn ich anschließend mit get associationall abfrage, ist der controller allerdings immernoch in der Gruppe 1 zu sehen.
Mir ist nicht so ganz bewusst, ob ich nun die NodeID in Hex oder dezimal eingeben muss. Ich habe beides ohne Erfolg probiert.



Zitat von: krikan am 24 Juli 2017, 08:45:14
Wenn es dann noch nicht funktioniert, zum gleichzeitigen Schalten structure mit erhöhtem async_delay nutzen.

Was genau kann man unter async_delay verstehen? Heißt das zumindest, dass das senden von Zwave befehlen zu mehreren Aktoren aus einem structure anders behandelt wird? Sprich weniger Funklast erzeugt?

Schon mal vielen Dank!

Gruß,
Fixel
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: krikan am 24 Juli 2017, 10:46:04
Zitat von: Fixel2012 am 24 Juli 2017, 10:26:14
die associationen mit Gruppe 1 sind tatsächlich nicht nötig. Mir war nicht bewusst in wie fern das den Funkverkehr belastet.
Dadurch verschickt der Aktor zusätzlich alle Nachrichten der Assogroup 1 an den Controller. Sollte unnötig sein, da diese Infos, wenn auch unter Umständen über andere Command Classes- bereits über Assogroup 3 kommen. Ob und wann jetzt tatsächlich beim FGRM Nachrichten über Assogroup 1 verschickt werden, habe ich nicht kontrolliert. Unnötige Assoziationen mit dem Controller mag ich einfach nicht, da die eine Problemursache sein können.  ;)

ZitatMit associationdel <gruppe, in meinem Fall die 1> <NodeID des devices was bisher eingetragen ist> sollte ich doch den Controller aus der Gruppe 1 entfernen können?
set <device> associationDel 1 <ZWDongleDeviceDecimalId>
sollte funktionieren.

Zitatwenn ich anschließend mit get associationall abfrage, ist der controller allerdings immernoch in der Gruppe 1 zu sehen.
Dann hat etwas nicht funktioniert.
Zitat
Mir ist nicht so ganz bewusst, ob ich nun die NodeID in Hex oder dezimal eingeben muss. Ich habe beides ohne Erfolg probiert.
Eigentlich sollte es überall Dezimal sein.

ZitatWas genau kann man unter async_delay verstehen? Heißt das zumindest, dass das senden von Zwave befehlen zu mehreren Aktoren aus einem structure anders behandelt wird? Sprich weniger Funklast erzeugt?
Baut eine zusätzliche Pause beim Versenden der Befehle an die einzelnen Aktoren ein. Kannst Du auch mit sleep-Kontrukten erreichen. structure ist aber mMn "schöner".
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: Fixel2012 am 24 Juli 2017, 11:18:36
Zitat von: krikan am 24 Juli 2017, 10:46:04
Dann hat etwas nicht funktioniert.Eigentlich sollte es überall Dezimal sein.

Hier ein list, ich sehe nur die NodeID in Hex:

Internals:
   CFGFN
   CallbackNr 0
   Clients    :ZWave:
   DEF        /dev/serial/by-id/usb-0658_0200-if00@115200
   DeviceName /dev/serial/by-id/usb-0658_0200-if00@115200
   FD         17
   MaxSendRetries 3
   NAME       ZWDongle_Fibaro
   NR         119
   PARTIAL
   RAWMSG     000400050a32022144000000400000
   ReadTime   1500887301.91916
   STATE      Initialized
   SendRetries 0
   SendTime   1500885672.88049
   TYPE       ZWDongle
   WaitForAck 0
   ZWDongle_Fibaro_MSGCNT 15270
   ZWDongle_Fibaro_TIME 2017-07-24 11:08:21
   homeId     c72e3103
   nodeIdHex  15
   nrNAck     0
   MatchList:
     1:ZWave    .*
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: krikan am 24 Juli 2017, 11:24:51
Zitat von: Fixel2012 am 24 Juli 2017, 11:18:36
Hier ein list, ich sehe nur die NodeID in Hex:
Ich meinte eigentlich die Nummern, die Du in den Befehlen angeben musst.

Das ZWDongle-Device enthält im Gegensatz zu den ZWave-Devices in den Internals nur den Hexwert, den Du umrechnen darfst.
Also 15hex=21dec.
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: krikan am 24 Juli 2017, 12:28:41
Gerade getestet:
Die Aufnahme des Controllers in Assogroup 1 führt beim Schalten des FGRM über "set <device> dim %" nicht zu zusätzlichen Nachrichten. Also ist das hier nicht problemrelevant.
Wenn Du die Assoziation aber nicht brauchst, würde ich löschen.  :)
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: Fixel2012 am 24 Juli 2017, 13:22:55
Zitat von: krikan am 24 Juli 2017, 12:28:41
Gerade getestet:
Die Aufnahme des Controllers in Assogroup 1 führt beim Schalten des FGRM über "set <device> dim %" nicht zusätzlichen Nachrichten. Also ist das hier nicht problemrelevant.
Wenn Du die Assoziation aber nicht brauchst, würde ich löschen.  :)

öhh, wollte gerade schreiben, dass ich alle gelöscht habe und nun mal schauen ob es besser läuft  ;D

Dann muss ich wohl entweder ein structure einsetzen oder ein paar sleeps einbauen. Sleep würde ich vorziehen, ist einfach einfacher, auf die schnelle  ::)

Wie viele und wie lange sollen die sleeps sein? reichen da 0,5 sek und das jeweils zwischen den set commands?

Nochmals danke auch für das testen meines Problems!
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: krikan am 24 Juli 2017, 13:38:01
ZitatDann muss ich wohl entweder ein structure einsetzen oder ein paar sleeps einbauen.
Ja, wenn die Annahme zutrifft, dass zu viel Funkverkehr mit Telegrammverlust das Problem ist und keine besseren Ideen kommen....

ZitatSleep würde ich vorziehen, ist einfach einfacher, auf die schnelle  ::) Wie viele und wie lange sollen die sleeps sein? reichen da 0,5 sek und das jeweils zwischen den set commands?
Kommt darauf an und kann ich nicht pauschal beantworten.  Tippe auf zu wenig 8)
Mache doch einmal ein verbose 5 Log und schaue, ob es ein System bei eventuellen Retransmits und ähnlichem gibt. Dann würde ich mit verschiedenen Werten experimentieren. Vielleicht genügt es auch schon, die Aktoren in 2 Gruppen zu packen und nur dazwischen ein sleep einzubauen.
Am sichersten ist es bestimmt zwischen jeden Schaltbefehl für einen einzelnen Aktors eine längere Pause von x Sekunden per sleep/async_delay zu setzen, aber ob Du das willst!? So könntest Du es zumindest sicherer auf Kollisionen und Telegrammverluste zurückführen, wenn es dann problemlos funktioniert.
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: rudolfkoenig am 24 Juli 2017, 14:57:16
ZitatreportedState dim 35 2017-07-22 21:43:56
state on 2017-07-23 10:30:00

Normaler Vorgang:
- in FHEM wird set ausgeloest, state wird gesetzt.
- Geraet meldet ACK, und den neuen Zustand. Fals dieser Zustand in FHEM als state-Event gemeldet wird, dann wird auch reportedState gesetzt.

In deinem Fall hat state einen neueren Zeitstempel als reportedState. Ich vermute, dass FHEM die Zustandsmeldung vom Geraet fuer den letzten "set" nicht empfangen hat.
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: Fixel2012 am 24 Juli 2017, 19:57:50
Zitat von: rudolfkoenig am 24 Juli 2017, 14:57:16
Normaler Vorgang:
- in FHEM wird set ausgeloest, state wird gesetzt.
- Geraet meldet ACK, und den neuen Zustand. Fals dieser Zustand in FHEM als state-Event gemeldet wird, dann wird auch reportedState gesetzt.

In deinem Fall hat state einen neueren Zeitstempel als reportedState. Ich vermute, dass FHEM die Zustandsmeldung vom Geraet fuer den letzten "set" nicht empfangen hat.

Das vermute ich auch weiterhin!
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: Thomas_Homepilot am 15 August 2017, 10:28:38
Hallo,

habe ein ähnliches Problem mit zwei FGD211-Dimmern. Wenn ich ihn am schalter bediene wird reportedState korrekt gesetzt. Wenn ich ihn aus FHEM schalte, wird reportedState nicht verändert.
Habe die Assoziationen auch schon verändert - ohne Erfolg.
Hier das Listing:
Internals: DEF        db46f49f 14 IODev      ZWDongle_0 (http://192.168.188.30:8083/fhem?detail=ZWDongle_0) LASTInputDev ZWDongle_0 (http://192.168.188.30:8083/fhem?detail=ZWDongle_0) MSGCNT     101 NAME       Licht_SZO_Decke (http://192.168.188.30:8083/fhem?detail=Licht_SZO_Decke) NR         403 STATE      dim 1 TYPE       ZWave ZWDongle_0_MSGCNT 101 ZWDongle_0_RAWMSG 0004000e06850303010001 ZWDongle_0_TIME 2017-08-15 10:19:30 ZWaveSubDevice no homeId     db46f49f isWakeUp lastMsgSent 1502785170.80055 nodeIdHex  0e .vclasses: ASSOCIATION 2 CONFIGURATION 1 FIRMWARE_UPDATE_MD 1 MANUFACTURER_SPECIFIC 1 MULTI_CHANNEL_ASSOCIATION 2 POWERLEVEL 1 SCENE_ACTIVATION 1 SWITCH_ALL 1 SWITCH_MULTILEVEL 1 VERSION    1 READINGS: 2017-06-16 20:22:23   CMD             ZW_APPLICATION_UPDATE 2017-07-12 22:44:10   UNPARSED        APPLICATION_STATUS 03220702 2017-08-15 10:19:30   assocGroup_1    Max 5 Nodes ZWDongle_0 (http://192.168.188.30:8083/fhem?detail=ZWDongle_0) 2017-08-15 10:19:30   assocGroup_2    Max 5 Nodes 2017-08-15 10:19:30   assocGroup_3    Max 1 Nodes ZWDongle_0 (http://192.168.188.30:8083/fhem?detail=ZWDongle_0) 2017-08-15 10:19:30   assocGroups     3 2017-08-15 10:19:09   config3WaySwitch Disable 2017-08-15 10:19:09   configADVANCEDImpulseLength 110 2017-08-15 10:19:09   configActiveFlashingAlarmTime 600 2017-08-15 10:19:09   configAlarm     ALARMFLASHINGDeviceWillTurnONAnd3 2017-08-15 10:19:09   configChangeOnOffBiStableKeys Disable 2017-08-15 10:19:10   configControlKey2Behaviour FrameGETIsSend1 2017-08-15 10:19:10   configDimmingStepAtAutomaticControl 1 2017-08-15 10:19:10   configDimmingStepAtManualControl 1 2017-08-15 10:19:10   configDoubleClickOption EnableDoubleClick 2017-08-15 10:19:10   configEnableDisableALLONOFF ALLONActiveALLOFFActive 2017-08-15 10:19:11   configInputsButtonSwitchConfiguration MonoStableInputButton 2017-08-15 10:19:12   configMaximumDimmerLevelControl 99 2017-08-15 10:19:13   configMinimumDimmerLevelControl 1 2017-01-17 20:42:08   configSavingStateBeforePowerFaillure StateSavedAtPowerFailureAll1 2017-08-15 10:19:14   configSavingStateBeforePowerFailure StateSavedAtPowerFailureAll1 2017-08-15 10:19:15   configSceneActivationFunctionality FunctionalityDeactivated 2017-08-15 10:19:16   configSeparationOfAssociationSending6 MapStatusToAllDevicesInGroup10 2017-08-15 10:19:18   configSynchronizingLightLevelFor18 Enable 2017-08-15 10:19:19   configTimeOfAUTOMATICMovingBetweenThe10 2 2017-08-15 10:19:20   configTimeOfMANUALLYMovingBetweenThe9 5 2017-08-15 10:19:21   configUpdatingTheDimmingLevelWithout40 1 2017-08-14 11:15:50   model           FIBARO System FGD211 Universal Dimmer 500W 2017-08-14 11:15:50   modelConfig     fibaro/fgd211.xml 2017-08-14 11:15:50   modelId         010f-0100-100a 2017-08-14 13:37:45   powerlvl        current 0 remain 0 2017-08-14 13:37:57   powerlvlTest    node 1 status 0 frameAck 0 2017-08-15 08:22:23   reportedState   off 2017-08-15 10:18:22   state           dim 1 2017-08-15 10:19:30   timeToAck       0.074 2017-08-15 10:19:30   transmit        OK Attributes: IODev      ZWDongle_0 (http://192.168.188.30:8083/fhem?detail=ZWDongle_0) alias      Schlafzimmer oben classes    MANUFACTURER_SPECIFIC VERSION CONFIGURATION ASSOCIATION MULTI_CHANNEL_ASSOCIATION SWITCH_MULTILEVEL FIRMWARE_UPDATE_MD SWITCH_ALL POWERLEVEL MARK SWITCH_MULTILEVEL SCENE_ACTIVATION devStateIcon dim.0:light_light@green:on off:light_light@green:on dim..:light_light_dim_00@red dim.1.:light_light_dim_10@red dim.2.:light_light_dim_20@red dim.3.:light_light_dim_30@red dim.4.:light_light_dim_40@red dim.5.:light_light_dim_50@red dim.6.:light_light_dim_60@red dim.7.:light_light_dim_70@red dim.8.:light_light_dim_80@red dim.9.:light_light_dim_90@red dim.99:light_light_dim_100@red:off group      Beleuchtung room       Aktoren vclasses   ASSOCIATION:2 CONFIGURATION:1 FIRMWARE_UPDATE_MD:1 MANUFACTURER_SPECIFIC:1 MULTI_CHANNEL_ASSOCIATION:2 POWERLEVEL:1 SCENE_ACTIVATION:1 SWITCH_ALL:1 SWITCH_MULTILEVEL:1 VERSION:1 webCmd     dim 

Gruß
Thomas
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: throbin am 27 November 2017, 21:54:04
Hi,

ich habe seit einigen Tagen ebenfalls das Problem, dass reportedState nicht aktualisiert wird. Ich setze momentan UZB Stick mit der aktuellsten FW (Vers:5 Rev:22, Z-Wave 4.61 STATIC_CONTROLLER) ein. Als Rollo-Aktoren setze ich die "FIBARO System FGRM222 Roller Shutter Controller 2" in der Version "Lib 3 Prot 3.52 App 25.25" ein.
Ich nutze reportedState um daraus die aktuelle Position abzuleiten um damit bspw. zu prüfen, ob der Rollo unten oder oben ist. Dadurch muss ich die Befehle zum Öffnen/Schließen nur bei Bedarf absetzen.

Die Funktion "GetRolloPositionAsValue" dient zur Umrechnung der Position in einen dezimalen Wert (also ohne Prefix "dim" und gemappten State-Werten wie "zu/off"). Damit kann ich dann bspw. auch die Icons etc. umschalten und selbst-definiertes Reading "statePosition" für jeden Aktor zu setzen: userReadings statePosition { GetRolloPositionAsValue($name); }


Die Funktion "WriteLogMessage" schreibt nur Texte ins Logfile.

sub GetRolloPositionAsValue($)
{
  my ($deviceName) = @_;
  my $t1 = ReadingsVal($deviceName,"reportedState","0");
 
  WriteLogMessage("GetRolloPositionAsValue for device $deviceName, reportedState returns: $t1");
 
  if(index($t1,"dim") >=0 )
  {
    my @valueTmp = split(" ", $t1);
    return $valueTmp[1];
  }
  else
  {
    return 0;
  }
}


Das ganze läuft timer-gesteuert, dabei werden einzelne Aktoren mit einem Delay von 2 Sekunden gesteuert umd evtl. Queue Probleme im Netz zu umgehen. Leider wird der reportedState nicht immer aktualisiert, STATE selbst dagegen schon (ist auch klar, weil man diesen durch das Absetzen des Commandos selbst setzt...). Im Log sieht man im Fehlerfall folgenden Traffic, wenn das Rollo hochgefahren wird (also open). Bei Herunterfahren prüfe ich dann auf den reportedState und da dieser "off" (also "0") ist, passiert nichts - Rollo bleibt über Nach geöffnet:


2017.11.27 08:00:20.123 5: exec at command tmp_time10
2017.11.27 08:00:20.124 5: Cmd: >set zw_DG_Bad_Rollo dim 99<
2017.11.27 08:00:20.128 3: ZWave set zw_DG_Bad_Rollo dim 99
2017.11.27 08:00:20.129 5: ZWDongle_Write 001312032601632512 (dad62400)
2017.11.27 08:00:20.129 5: SW: 010a00131203260163251284
2017.11.27 08:00:20.133 1: GetRolloPositionAsValue for device zw_DG_Bad_Rollo, reportedState returns: off
2017.11.27 08:00:20.134 5: Starting notify loop for zw_DG_Bad_Rollo, 2 event(s), first is dim 99
2017.11.27 08:00:20.146 5: End notify loop for zw_DG_Bad_Rollo
2017.11.27 08:00:20.148 5: ACK received, WaitForAck=>2 for 010a00131203260163251284
2017.11.27 08:00:20.148 4: ZWDongle_Read ZWDongle_0: rcvd 011301 (answer ZW_SEND_DATA), sending ACK
2017.11.27 08:00:20.149 5: SW: 06
2017.11.27 08:00:20.151 5: ZWDongle_0: dispatch 011301
2017.11.27 08:00:20.195 4: ZWDongle_Read ZWDongle_0: rcvd 00131200 (request ZW_SEND_DATA), sending ACK
2017.11.27 08:00:20.195 5: SW: 06
2017.11.27 08:00:20.196 5: device ack reveived, removing 010a00131203260163251284 from dongle sendstack
2017.11.27 08:00:20.197 5: ZWDongle_0: dispatch 00131200
2017.11.27 08:00:20.197 4: CMD:ZW_SEND_DATA ID:00 ARG: CB:12
2017.11.27 08:00:20.197 4: ZWDongle_0 transmit OK for CB 12, target zw_DG_Bad_Rollo
2017.11.27 08:00:20.198 1: GetRolloPositionAsValue for device zw_DG_Bad_Rollo, reportedState returns: off
2017.11.27 08:00:20.200 1: GetRolloPositionAsValue for device zw_DG_Bad_Rollo, reportedState returns: off
2017.11.27 08:00:21.453 4: ZWDongle_Read ZWDongle_0: rcvd 0004001206310504220347a700 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.11.27 08:00:21.453 5: SW: 06
2017.11.27 08:00:21.454 5: ZWDongle_0: dispatch 0004001206310504220347a700
2017.11.27 08:00:21.455 4: CMD:APPLICATION_COMMAND_HANDLER ID:12 ARG:06310504220347a700 CB:00
2017.11.27 08:00:21.457 1: GetRolloPositionAsValue for device zw_DG_Bad_Rollo, reportedState returns: off
2017.11.27 08:00:21.458 5: Starting notify loop for zw_DG_Bad_Rollo, 2 event(s), first is power: 83.9 W
2017.11.27 08:00:21.463 5: End notify loop for zw_DG_Bad_Rollo
...
2017.11.27 08:00:55.432 4: ZWDongle_Read ZWDongle_0: rcvd 0004001306310504220000b600 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.11.27 08:00:55.432 5: SW: 06
2017.11.27 08:00:55.434 5: ZWDongle_0: dispatch 0004001306310504220000b600
2017.11.27 08:00:55.435 4: CMD:APPLICATION_COMMAND_HANDLER ID:13 ARG:06310504220000b600 CB:00
2017.11.27 08:00:55.438 1: GetRolloPositionAsValue for device zw_DG_DZ_Rollo_DFL, reportedState returns: off
2017.11.27 08:00:55.440 5: Starting notify loop for zw_DG_DZ_Rollo_DFL, 2 event(s), first is power: 0.0 W
2017.11.27 08:00:55.450 5: End notify loop for zw_DG_DZ_Rollo_DFL
...
2017.11.27 08:01:05.330 4: ZWDongle_Read ZWDongle_0: rcvd 0004001206310504220000b900 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.11.27 08:01:05.331 5: SW: 06
2017.11.27 08:01:05.333 5: ZWDongle_0: dispatch 0004001206310504220000b900
2017.11.27 08:01:05.333 4: CMD:APPLICATION_COMMAND_HANDLER ID:12 ARG:06310504220000b900 CB:00
2017.11.27 08:01:05.337 1: GetRolloPositionAsValue for device zw_DG_Bad_Rollo, reportedState returns: off
2017.11.27 08:01:05.339 5: Starting notify loop for zw_DG_Bad_Rollo, 2 event(s), first is power: 0.0 W
2017.11.27 08:01:05.349 5: End notify loop for zw_DG_Bad_Rollo


Kann man sich auf den reportedState überhaupt verlassen? Gibt es eine Möglichkeit zu erkennen (wenn möglich per Perl-Funktion), ob der reportedState gesetzt wurde, bzw. empfangen wurde? Dass die Readings sich unterschieden kann man prüfen, aber woher weiß man, was richtig ist? Kann man das über das Datum vom Reading machen?

Alternative wäre man schaltet die Aktoren immer auf/ab, unabhängig von deren Position, aber das ist ganz so elegant und erzeugt unnötigen Traffic ;)

Danke schon mal im Voraus für Hilfe!
LG
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: rudolfkoenig am 28 November 2017, 11:14:06
2017.11.27 08:00:20.129 5: SW: 010a00131203260163251284
-> Daten ueber USB/Seriell rausgeschickt, SWITCH_MULTILEVEL set 99 an nodeId x12

2017.11.27 08:00:20.148 5: ACK received, WaitForAck=>2 for 010a00131203260163251284
-> Controller hat Empfang der Daten bestaetigt.

2017.11.27 08:00:20.148 4: ZWDongle_Read ZWDongle_0: rcvd 011301 (answer ZW_SEND_DATA), sending ACK
-> Controller hat die Daten per Funk versendet

2017.11.27 08:00:20.197 5: ZWDongle_0: dispatch 00131200
-> Gegenstelle hat den Empfang der Daten bestaetigt

2017.11.27 08:00:21.455 4: CMD:APPLICATION_COMMAND_HANDLER ID:12 ARG:06310504220347a700 CB:00
-> SENSOR_MULTILEVEL power von nodeId x12
...

Einen Fehler sehe ich nicht, die Gegenstelle hat kein status gemeldet.
Entweder, weil es nicht kann, es nicht konfiguriert ist (Association + Config) oder weil es unterwegs verloren ist. Da ich das Geraet nicht kennen, sind die ersten beiden Faelle hypothetisch.
Als Geraeteentwickler muesste ich auch ueberlegen, wann ich welchen Status melde, so ganz klar ist die Sache nicht.

ZitatGibt es eine Möglichkeit zu erkennen (wenn möglich per Perl-Funktion), ob der reportedState gesetzt wurde, bzw. empfangen wurde?
reportedState ist ein state, was vom Geraet kommt. State gibt es z.Zt. fuer die Klassen SWITCH_BINARY, SWITCH_MULTILEVEL und SENSOR_BINARY. D.h. ob man ueberhaupt reportedState kriegt, haengt von den unterstuetzten Klassen ab. Danach gibt es die Huerden "Firmware im Geraet kann status senden", Geraetekonfiguration, "Geraet sendet _immer_ status", und Paketverlust.
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: throbin am 28 November 2017, 19:56:40
Ok, dann kommt wohl nur der Paketverlust als Ursache in Frage. Alle anderen Punkte kann ich ausschließen (Associations, SWITCH_MULTILEVEL ist ebenfalls vorhanden), abgesehen davon funktioniert es bei den meisten Aktoren gleichen Typs ohne Probleme.
Danke für die Analyse!
Titel: Antw:Reportedstate und state untgerschiedlich
Beitrag von: rudolfkoenig am 28 November 2017, 20:12:08
ZitatAlle anderen Punkte kann ich ausschließen
Fuer den Punkt "Geraet sendet _immer_ status" habe ich so meinen Zweifel, dafuer muesste man die Firmware kennen. Selbst als Firmware-Autor wuerde ich das nicht ausschliessen :)