Readings werden nach einiger Zeit nicht mehr aktualisiert

Begonnen von m8ichael, 06 Dezember 2016, 17:17:32

Vorheriges Thema - Nächstes Thema

m8ichael

Hallo zusammen,

ich habe festgestellt, dass bei einigen Geräten im Laufe der Zeit die Datenmeldungen "einschlafen" (so z. B. beim Fibaro Wall Plug). Dies bedeutet, dass in unregelmäßigen Abständen keine Meldungen mehr eingelesen werden (über Stromverbrauch). Stoße ich dann manuell irgendein Reading an (z. B. Abfragen des Status), so läuft wieder alles ganz normal, bis dann wieder irgendwann die Daten nicht mehr gesendet werden. Ich denke, das ganze hängt mit temporären Empfangsproblemen zusammen, zumindest erscheint manchmal im Log, dass Daten nicht abgesetzt werden können. Andererseits habe ich überhaupt keine Empfangsprobleme, wenn ich das ganze - wie beschrieben - manuell auslöse. Gibt es hier einen Trick? Habt ihr ähnliche Effekte beobachtet?

Viele Grüße

Michael

lenn1

#1
Ich hab aktuell genau das gleiche Problem.
Habe mehrere Fibaro Switche und Dimmer, alle funktionieren Problemlos.
Zusätzlich sind noch ein paar Devolo Thermostate in versch. Räumen vorhanden.
Ausnahmslos alle Thermostate melden sich einfach nach ein paar Stunden nicht mehr, hab sogar schon eins komplett zurückgesetzt und die Batterien gegen neue getauscht und neu eingebunden.

Ich kann allerdings auch keine Befehle mehr absetzen. Ein Empfangsproblem schließe ich aus, das ganze hat genau so aufgebaut 3 Monate super funktioniert.

Ich bin genauso ratlos wie du.


A.Harrenberg

Hi,

könntet Ihr bitte mal ein "list" von dem (den) Gerät(en) machen die dieses Verhalten zeigen, am besten natürlich wenn gerade das Problem vorliegt.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

lenn1

Zitat von: A.Harrenberg am 10 Dezember 2016, 08:08:02
Hi,

könntet Ihr bitte mal ein "list" von dem (den) Gerät(en) machen die dieses Verhalten zeigen, am besten natürlich wenn gerade das Problem vorliegt.

Gruß,
Andreas.
Mach ich sobald es wieder soweit ist.
Hatte gestern schon einmal im Wohnzimmer das Thermostat zurückgesetzt. Danach ging es wieder ein zwei stunden. Sogar die Thermostate im Schlafzimmer haben sich wieder gemeldet, ohne das ich sie berührt habe. (Das Wohnzimmer liegt nicht neben dem SZ, sogar anderes Stockwerk und nicht übereinander)

m8ichael

Hallo Andreas,

Zitat von: A.Harrenberg am 10 Dezember 2016, 08:08:02
Hi,

könntet Ihr bitte mal ein "list" von dem (den) Gerät(en) machen die dieses Verhalten zeigen, am besten natürlich wenn gerade das Problem vorliegt.

Gruß,
Andreas.

hier mal ein Beispiel:


Internals:
   DEF        c0bcc8ab 30
   IODev      ZWAVE1
   LASTInputDev ZWAVE1
   MSGCNT     350
   NAME       ke.wk.Waschmaschine
   NR         106
   STATE      255
   TYPE       ZWave
   ZWAVE1_MSGCNT 350
   ZWAVE1_RAWMSG 0004001e0e3202213400004b0500010000447e
   ZWAVE1_TIME 2016-12-10 16:57:18
   ZWaveSubDevice no
   homeId     c0bcc8ab
   isWakeUp
   nodeIdHex  1e
   Readings:
     2016-11-05 16:36:20   CMD             ZW_APPLICATION_UPDATE
     2016-11-06 11:05:59   UNPARSED        APPLICATION_STATUS 0e22022134000006e9000100000632
     2016-11-05 17:02:32   assocGroup_1    Max 1 Nodes
     2016-11-05 17:02:32   assocGroup_2    Max 1 Nodes
     2016-11-05 17:02:33   assocGroup_3    Max 1 Nodes ZWAVE1
     2016-11-05 17:02:33   assocGroup_4    Max 1 Nodes ZWAVE1
     2016-11-05 17:02:32   assocGroups     4
     2016-11-06 22:10:19   basicReport     255
     2016-12-06 16:10:57   configLEDSignalsNetworkError Off
     2016-11-05 16:26:14   configNoCommunicationLight 2
     2016-12-05 17:33:48   configPowerReportThreshold 5
     2016-12-05 17:33:48   configRoomColor Pink8
     2016-12-06 16:10:58   configStateAfterPowerLoss StateBeforePowerLoss 
     2016-11-19 16:26:31   meterSupported  type: energy scales: 0:kWh, 2:W resetable: yes
     2016-11-05 19:06:31   model           GreenWave PowerNode 1 port
     2016-11-05 19:06:31   modelConfig     greenwave/powernode1.xml
     2016-11-05 19:06:31   modelId         0099-0002-0002
     2016-11-13 22:17:17   neighborList    eg.fl.Eingang.Licht div.Schalter2 eg.fl.Licht eg.ku.Schalter eg.entrycon eg.fl.s.Eingang
     2016-11-19 13:33:54   neighborUpdate  done
     2016-12-10 16:57:18   power            1920.5 W previous: 1753.4 delta_time: 1 s
     2016-12-06 16:11:50   reportedState   on
     2016-12-06 16:11:50   state           on
     2016-12-06 16:11:50   timeToAck       0.069
     2016-12-06 16:11:50   transmit        OK
     2016-11-19 13:33:33   version         Lib 3 Prot 3.41 App 4.28
Attributes:
   IODev      ZWAVE1
   alias      Waschmaschine
   classes    BASIC SWITCH_BINARY SWITCH_MULTILEVEL SWITCH_ALL METER DEVICE_RESET_LOCALLY ZWAVEPLUS_INFO CONFIGURATION MANUFACTURER_SPECIFIC POWERLEVEL ASSOCIATION_GRP_INFO ASSOCIATION MULTI_CHANNEL_ASSOCIATION VERSION
   devStateIcon 255:10px-kreis-gruen 0:10px-kreis-rot
   group      Geräte
   icon       scene_washing_machine
   neighborListPos 719.1170302475956,754.2415336116013
   room       Waschküche
   stateFormat basicReport
   webCmd     on:off


Sobald ich nun wieder irgendetwas vom Gerät abfrage (bspw. "get config ..."), werden wieder regelmäßig Meldungen zum Reading "power" abgesetzt. Im Prinzip ergibt sich der gleiche Effekt bei allen Geräten, die ihrerseits irgendwelche Daten melden (herstellerunabhängig und egal, ob fest "am Netz" oder per Batterie betrieben).

Viele Grüße

Michael

fhem-me

In meinem Netzwerk habe ich auch ab und zu Hänger - vermute ein Problem mit dem ZWave Dongle.
Als Abhilfe überwache ich den Message-Count mit angehängtem DOIF.
Wenn 5 Minuten keine Nachricht ankommt sende ich eine Nachricht an ein beliebiges Device. danach fängt sich mein Netzwerk wieder.

Internals:
   DEF        ([+0:05] && [ZWDongle_1:&ZWDongle_1_MSGCNT] == [ZWDongle.Monitor:LastCount]) (set SOME.ZWave.Device on) DOELSE (setreading ZWDongle.Monitor LastCount [ZWDongle_1:&ZWDongle_1_MSGCNT] )
   NAME       ZWDongle.Monitor
   NR         208
   NTFY_ORDER 50-ZWDongle.Monitor
   STATE      normal
   TYPE       DOIF
   Helper:
     Dblog:
       Lastcount:
         Dblog:
           TIME       1481393939.01873
           VALUE      400474
       Cmd:
         Dblog:
           TIME       1481393939.21908
           VALUE      2
       Cmd_event:
         Dblog:
           TIME       1481393939.21908
           VALUE      timer_1
       Cmd_nr:
         Dblog:
           TIME       1481393939.21908
           VALUE      2
       State:
         Dblog:
           TIME       1481393939.21908
           VALUE      normal
   Readings:
     2016-11-24 22:45:19   Device          ZWDongle_1
     2016-12-10 19:18:59   LastCount       400474
     2016-12-10 19:18:59   cmd             2
     2016-12-10 19:18:59   cmd_event       timer_1
     2016-12-10 19:18:59   cmd_nr          2
     2016-11-24 22:45:19   e_ZWDongle_1_ZWDongle_1_MSGCNT 226646
     2016-12-10 19:18:59   state           normal
     2016-12-10 19:18:59   timer_1_c1      10.12.2016 19:23:59
   Condition:
     0          DOIF_time_once($hash,$hash->{timer}{0},$wday,"") && InternalDoIf($hash,'ZWDongle_1','ZWDongle_1_MSGCNT','','',AttrVal($hash->{NAME},'notexist',undef)) == ReadingValDoIf($hash,'ZWDongle.Monitor','LastCount','','',AttrVal($hash->{NAME},'notexist',undef))
   Days:
   Devices:
     0           ZWDongle_1 ZWDongle.Monitor
     all         ZWDongle_1 ZWDongle.Monitor
   Do:
     0:
       0          set SOME.ZWave.Device on
     1:
       0          setreading ZWDongle.Monitor LastCount [ZWDongle_1:&ZWDongle_1_MSGCNT]
   Helper:
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev
     timerevent timer_1
     triggerDev
     timerevents:
       timer_1
     timereventsState:
       UNKNOWNCODE 0004000f00
     triggerEvents:
       timer_1
     triggerEventsState:
       UNKNOWNCODE 0004000f00
   Internals:
     0           ZWDongle_1:ZWDongle_1_MSGCNT
     all         ZWDongle_1:ZWDongle_1_MSGCNT
   Interval:
   Itimer:
   Localtime:
     0          1481394239
   Readings:
     0           ZWDongle.Monitor:LastCount
     all         ZWDongle.Monitor:LastCount
   Realtime:
     0          19:23:59
   Regexp:
     0:
     All:
   State:
   Time:
     0          +0:05
   Timecond:
     0          0
   Timer:
     0          0
   Timers:
     0           0
   Trigger:
   Triggertime:
     1481394239:
       localtime  1481394239
       Hash:
Attributes:
   cmdState   stalled|normal
   do         always
   group      Info
   notexist   "0"
   room       ZWave

m8ichael

Zitat von: fhem-me am 10 Dezember 2016, 19:34:44
In meinem Netzwerk habe ich auch ab und zu Hänger - vermute ein Problem mit dem ZWave Dongle.
Als Abhilfe überwache ich den Message-Count mit angehängtem DOIF.
Wenn 5 Minuten keine Nachricht ankommt sende ich eine Nachricht an ein beliebiges Device. danach fängt sich mein Netzwerk wieder.

Internals:
   DEF        ([+0:05] && [ZWDongle_1:&ZWDongle_1_MSGCNT] == [ZWDongle.Monitor:LastCount]) (set SOME.ZWave.Device on) DOELSE (setreading ZWDongle.Monitor LastCount [ZWDongle_1:&ZWDongle_1_MSGCNT] )
   NAME       ZWDongle.Monitor
   NR         208
   NTFY_ORDER 50-ZWDongle.Monitor
   STATE      normal
   TYPE       DOIF
   Helper:
     Dblog:
       Lastcount:
         Dblog:
           TIME       1481393939.01873
           VALUE      400474
       Cmd:
         Dblog:
           TIME       1481393939.21908
           VALUE      2
       Cmd_event:
         Dblog:
           TIME       1481393939.21908
           VALUE      timer_1
       Cmd_nr:
         Dblog:
           TIME       1481393939.21908
           VALUE      2
       State:
         Dblog:
           TIME       1481393939.21908
           VALUE      normal
   Readings:
     2016-11-24 22:45:19   Device          ZWDongle_1
     2016-12-10 19:18:59   LastCount       400474
     2016-12-10 19:18:59   cmd             2
     2016-12-10 19:18:59   cmd_event       timer_1
     2016-12-10 19:18:59   cmd_nr          2
     2016-11-24 22:45:19   e_ZWDongle_1_ZWDongle_1_MSGCNT 226646
     2016-12-10 19:18:59   state           normal
     2016-12-10 19:18:59   timer_1_c1      10.12.2016 19:23:59
   Condition:
     0          DOIF_time_once($hash,$hash->{timer}{0},$wday,"") && InternalDoIf($hash,'ZWDongle_1','ZWDongle_1_MSGCNT','','',AttrVal($hash->{NAME},'notexist',undef)) == ReadingValDoIf($hash,'ZWDongle.Monitor','LastCount','','',AttrVal($hash->{NAME},'notexist',undef))
   Days:
   Devices:
     0           ZWDongle_1 ZWDongle.Monitor
     all         ZWDongle_1 ZWDongle.Monitor
   Do:
     0:
       0          set SOME.ZWave.Device on
     1:
       0          setreading ZWDongle.Monitor LastCount [ZWDongle_1:&ZWDongle_1_MSGCNT]
   Helper:
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev
     timerevent timer_1
     triggerDev
     timerevents:
       timer_1
     timereventsState:
       UNKNOWNCODE 0004000f00
     triggerEvents:
       timer_1
     triggerEventsState:
       UNKNOWNCODE 0004000f00
   Internals:
     0           ZWDongle_1:ZWDongle_1_MSGCNT
     all         ZWDongle_1:ZWDongle_1_MSGCNT
   Interval:
   Itimer:
   Localtime:
     0          1481394239
   Readings:
     0           ZWDongle.Monitor:LastCount
     all         ZWDongle.Monitor:LastCount
   Realtime:
     0          19:23:59
   Regexp:
     0:
     All:
   State:
   Time:
     0          +0:05
   Timecond:
     0          0
   Timer:
     0          0
   Timers:
     0           0
   Trigger:
   Triggertime:
     1481394239:
       localtime  1481394239
       Hash:
Attributes:
   cmdState   stalled|normal
   do         always
   group      Info
   notexist   "0"
   room       ZWave

Hallo,

sehr interessant - werde ich doch gleich mal einbauen! Danke!

Viele Grüße

Michael

lenn1

Hab die Position des Dongles leicht verändert nun geht es seit 24 Stunden wieder zuverlässig.
Keine Ahnung was hier das Problem war.

m8ichael

Sooo....

Zitat von: m8ichael am 11 Dezember 2016, 00:14:01
Hallo,

sehr interessant - werde ich doch gleich mal einbauen! Danke!

Viele Grüße

Michael

Habe des jetzt mal seit ein paar Tagen umgesetzt, aber leider kann ich feststellen, dass die Probleme noch immer bestehen. Denn es scheint (bei mir) nicht daran zu liegen, dass der Stick völlig einschläft - es sind vielmehr einzelne Geräte, die einfach nach einer gewissen Zeit nichts mehr senden, wenn man nicht aktiv etwas vom Controller her auslöst. Werde daher jetzt erst mal ein at bauen, dass bei derartigen Problemfällen irgendetwas "sinnloses" abfragt. Mal gucken, wie das funktioniert.  :-\

Viele Grüße

Michael

wolfram

#9
hallo zusammen,
ich habe genau das selbe problem mit dem "einschlafen". An der Position des Dongels kann es eigentlich nicht liegen, denn der Dongle ist im gleichen Schrank wie der Wallplug verbaut  - Luftlinie ca. 20 cm.
Konntet ihr irgendeinen Workaround dafür finden der auch funktioniert? Irgendwie nervt mich das, da mein System sonst sehr stabil läuft.
Ich habe bisher dann immer ein "shutdown restart" gemacht und dann ging es wieder für ein paar Stunden, aber länger als 4h habe ich noch nie Daten bekommen.
Ich bin für jede Hilfe dankbar.

@m8michael: kannst Du mir mal bitte sagen was, bzw. wie genau du das mit dem "at" gelöst hast, was irgendetwas sinnloses abfragt, am besten alle 10 min? Leider bin ich nicht ganz so fit mit den Befehlen, deshalb würde mir dein Code hoffentlich schon helfen.....  8)
LG
wolf

m8ichael

Zitat von: wolfram am 29 Dezember 2016, 14:52:26
hallo zusammen,
ich habe genau das selbe problem mit dem "einschlafen". An der Position des Dongels kann es eigentlich nicht liegen, denn der Dongle ist im gleichen Schrank wie der Wallplug verbaut  - Luftlinie ca. 20 cm.
Konntet ihr irgendeinen Workaround dafür finden der auch funktioniert? Irgendwie nervt mich das, da mein System sonst sehr stabil läuft.
Ich habe bisher dann immer ein "shutdown restart" gemacht und dann ging es wieder für ein paar Stunden, aber länger als 4h habe ich noch nie Daten bekommen.
Ich bin für jede Hilfe dankbar.
LG
wolf
Hallo,

ich habe jetzt meinen "Langzeittest" über ein paar Tage durchgeführt. Ergebnis: Seitdem ich den Dongle alle fünf Minuten beschäftige gibt es überhaupt keine Probleme mehr (toi, toi, toi...*aufholzklopf*). Scheint also tatsächlich daran zu liegen, dass der nach einer gewissen Zeit einschläft und dann nix mehr geht (bzw. dann erst verzögert nach ein paar Aktionen, die jedoch im Nirvana versanden). Also: Als Workaround nen "get" per at alle fünf Minuten ausführen...

Viele Grüße

Michael

wolfram

Hi Michael,
kannst Du mir vielleicht Deinen Codeschnipsel zur Verfügung stellen?

Dankeschön
wolf

m8ichael

Hi!

Zitat von: wolfram am 29 Dezember 2016, 19:38:34
Hi Michael,
kannst Du mir vielleicht Deinen Codeschnipsel zur Verfügung stellen?

Dankeschön
wolf

Na klar:

define at.EinschlafenVermeiden at +*00:05 get >hier ein Gerät in der direkten Nachbarschaft einfügen< basicStatus

Wie gesagt, nicht optimal, aber damit funktioniert es bei mir!

Viele Grüße

Michael

buspirat

Zitat von: lenn1 am 09 Dezember 2016, 19:26:40
Zusätzlich sind noch ein paar Devolo Thermostate in versch. Räumen vorhanden.
Ausnahmslos alle Thermostate melden sich einfach nach ein paar Stunden nicht mehr
dafür gibt's einen Eintrag im Wiki:
https://wiki.fhem.de/wiki/Z-Wave#DAN_LC-13_Heizungsthermostat_LC-13_.28014G0013.29

Ist ein bekanntes Problem mit den Thermostaten. Bei mir läuft es jedoch ohne "Eingriff" seit Monaten stabil, allerdings lasse ich es auch alle 30 Minuten aufwachen.

m8ichael

Zitat von: buspirat am 31 Dezember 2016, 12:25:02
dafür gibt's einen Eintrag im Wiki:
https://wiki.fhem.de/wiki/Z-Wave#DAN_LC-13_Heizungsthermostat_LC-13_.28014G0013.29

Ist ein bekanntes Problem mit den Thermostaten. Bei mir läuft es jedoch ohne "Eingriff" seit Monaten stabil, allerdings lasse ich es auch alle 30 Minuten aufwachen.
Nee, das hier beschriebene Problem ist etwas anders gelagert (zumindest bei mir). Es waren nicht nur die Thermostate betroffen, sondern sämtliche Ereignisse, die von einem Aktor an die Zentrale gemeldet wurden (zumindest die erste oder manchmal auch zweite Meldung innerhalb einer gewissen Zeitspanne). Seitdem ich nun den Stick 'wach' halte, tritt das Problem nicht mehr auf...

Viele Grüße (und nen guten Rutsch!)!

Michael