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)
hat denn die db die selbe zeit?
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
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