if Bedingung mit Zeitdifferenz

Begonnen von bastelfeak, 13 Februar 2020, 18:26:19

Vorheriges Thema - Nächstes Thema

bastelfeak

Hallo,
ich habe einen S50 Saugroboter, der immer fahren soll, sobald die Wohnung verlassen wird und die letzte Reinigung länger her ist als 12h (43200 sek).
Daher habe ich in das Homemode Modul beim trigger absent folgendes hinterlegt:

if (ReadingsVal("SaugRobo","last_timestamp","") < (time() + 43200)){fhem"set SaugRobo start"};


Leider fährt der S50 jedes mal los. Also stimmt irgendetwas nicht. Da meine Kentnisse leider in dieser Hinsicht zu begrenzt sind, hoffe ich auf eure Hilfe.

Viele Grüße

xenos1984

time() + 43200

Wäre es dann nicht sinnvoller zu prüfen, ob die letzte Fahrt vor jetzt - 12h war, statt vor jetzt + 12h (was immer der Fall ist)?

amenomade

Zitat von: xenos1984 am 13 Februar 2020, 18:57:21
time() + 43200

Wäre es dann nicht sinnvoller zu prüfen, ob die letzte Fahrt vor jetzt - 12h war, statt vor jetzt + 12h (was immer der Fall ist)?

Bestimmt ;)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

dk3572

Ich hatte zu ähnlicher Frage diesen Tipp bekommen.

if (ReadingsAge('SaugRobo','last_timestamp',0) > 43200)

bastelfeak

Zitat von: xenos1984 am 13 Februar 2020, 18:57:21
time() + 43200

Wäre es dann nicht sinnvoller zu prüfen, ob die letzte Fahrt vor jetzt - 12h war, statt vor jetzt + 12h (was immer der Fall ist)?

Manchmal ist es einfach zu spät...Vielen Dank!