SVG Plot um eine Stunde versetzt

Begonnen von Ruggy, 23 April 2021, 08:19:36

Vorheriges Thema - Nächstes Thema

Ruggy

Hallo,

habe einen Bewegungsmelder, welchen ich über FHEM darstelle (SVG Plot; DbLog).

Die Meldungen sind um eine Stunde versetzt. D.h. in Wirklichkeit war die Bewegung z.B. um kurz nach 6:00 Uhr und im Plot wird die Bewegung um kurz nach 5:00 Uhr dargestellt.
Hängt es im der Sommer und Winterzeit zusammen?

Mit folgendem Befehl wird die richtige Uhrzeit angezeigt. Also sollte FHEM die richtige Uhrzeit haben.

{$hms}

List vom Bewegungsmelder:

Internals:
   CFGFN     
   DEF        sensor 27  IODev=deCONZ
   FUUID      6079c8cf-f33f-194f-c514-4fd7953814356fa3
   FVERSION   31_HUEDevice.pm:0.218370/2020-05-02
   ID         S27
   INTERVAL   
   IODev      deCONZ
   NAME       BEWEGUNG_MOBIL
   NR         333039
   STATE      nomotion
   TYPE       HUEDevice
   lastupdated 2021-04-23 05:42:08
   lastupdated_local 2021-04-23 06:42:08
   manufacturername LUMI
   modelid    lumi.sensor_motion.aq2
   name       Bewegungsmelder_1
   on         1
   reachable  1
   swversion  20170627
   type       ZHAPresence
   uniqueid   00:15:8d:00:04:5d:c7:45-01-0406
   Helper:
     DBLOG:
       state:
         DbLog:
           TIME       1619156528.4507
           VALUE      nomotion
       temperature:
         DbLog:
           TIME       1619156528.44334
           VALUE      23
   READINGS:
     2021-04-23 07:42:08   battery         98
     2021-04-23 07:42:08   batteryPercent  98
     2021-04-23 07:42:08   reachable       1
     2021-04-23 06:42:08   state           nomotion
     2021-04-23 07:42:08   temperature     23
   helper:
     devtype    S
     reachable  0
     update_timeout 1
     configList:
     json:
       ep         1
       etag       5dea44fc575c0dfdb9f9559808ae5717
       lastseen   2021-04-23T05:42:08.649
       manufacturername LUMI
       modelid    lumi.sensor_motion.aq2
       name       Bewegungsmelder_1
       swversion  20170627
       type       ZHAPresence
       uniqueid   00:15:8d:00:04:5d:c7:45-01-0406
       config:
         battery    98
         duration   90
         temperature 2300
       state:
         lastupdated 2021-04-23T05:42:08.186
     setList:
Attributes:
   IODev      deCONZ
   model      lumi.sensor_motion.aq2
   room       Alarm,Treppenhaus


Dies zeigt "Show preprocessed input" an:

get DbLog HISTORY INT 2021-04-23_00:00:00 2021-04-23_23:59:59 BEWEGUNG_MOBIL:state:::$val=($val=~'nomotion'?11:20)

2021-04-23_00:17:54 11
2021-04-23_01:12:55 11
2021-04-23_02:07:57 11
2021-04-23_03:03:01 11
2021-04-23_03:58:01 11
2021-04-23_04:53:04 11
2021-04-23_05:07:27 20
2021-04-23_05:08:57 11
2021-04-23_05:47:04 11
2021-04-23_06:42:08 11
#BEWEGUNG_MOBIL:state:::$val=($val=~'nomotion'?11:20)

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Ruggy

Wo kann ich das nachschauen bzw. wo ändern?

Hier wäre ein List vom DbLog:

Internals:
   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
   CONFIGURATION ./db.conf
   DEF        ./db.conf .*:(temperature|humidity|dewpoint|absFeuchte|pressure|state|open|closed|on|off|water|ValvePosition|motion|nomotion).*
   FUUID      5c65c66f-f33f-194f-58b0-1caee314a069d7a7
   FVERSION   93_DbLog.pm:v4.10.2-s22246/2020-06-23
   MODE       asynchronous
   MODEL      SQLITE
   NAME       DbLog
   NR         85
   NTFY_ORDER 50-DbLog
   PID        667
   REGEXP     .*:(temperature|humidity|dewpoint|absFeuchte|pressure|state|open|closed|on|off|water|ValvePosition|motion|nomotion).*
   STATE      connected
   TYPE       DbLog
   dbconn     SQLite:dbname=/opt/fhem/fhem.db
   dbuser     
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     OLDSTATE   connected
     PACKAGE    main
     READINGCOL 64
     TC         current
     TH         history
     TYPECOL    64
     UNITCOL    32
     VALUECOL   128
     VERSION    4.10.2
   Helper:
     DBLOG:
       state:
         DbLog:
           TIME       1618939304.2843
           VALUE      connected
   READINGS:
     2021-04-23 09:50:42   CacheUsage      3
     2021-04-23 09:50:37   NextSync        2021-04-23 09:51:07 or if CacheUsage 500 reached
     2021-04-23 09:50:37   background_processing_time 0.0412
     2021-04-23 09:50:42   notify_processing_time 0.0009
     2021-04-23 09:50:37   sql_processing_time 0.0144
     2021-04-23 09:50:37   state           connected
Attributes:
   DbLogType  History
   asyncMode  1
   showNotifyTime 1
   showproctime 1

gichtl

Das Problem hier liegt nicht am Plot, dort zeigt sich nur die Auswirkung.
Der eigentliche Grund sind vielmehr inkonsistente Zeitstempel. Fhem macht es sich recht einfach und verwendet nur localtime. Wenn die Zeitstempel in der Datenbank jedoch in einer anderen Zeitzone abgelegt sind, dann kommt es zu solchen "Zeitverschiebungen". Eine Abhilfe wäre die Zeitstempel für Filelog und DBlog alle auf UTC zu normalisieren und bei der Anzeige nach localtime zurückzurechnen. Damit gäbe es dann auch keine Probleme bei der Zeitumstellung.

siehe auch: https://forum.fhem.de/index.php/topic,91608.0.html