Hallo,
wenn ich unserer Alex "ich bin unterwegs" zurufe, so wird die FHEM-Variable zuHause=nein gesetzt. Diverse Trigger schalten dann Licht, TV, Boxen aus und regeln die Heizung runter. Jetzt würde ich gerne darüber auch unseren Neato D5 Saugroboter starten.
define NeatoStartTrigger notify zuHause:nein set Neato startCleaning
Soweit so gut.. Jetzt gehe ich aber häufiger am Tag aus dem Haus und würde gerne nur einen Reinigungsdurchlauf in x-Stunden haben. ZB nur 1x am Tag. Ich müsste also in einer If
-Abfrage kontrollieren, ob die Zeitdifferenz zur letzen erfolgreich abgeschlossenen Reinigungsfahrt länger als x-Stunden her ist. Leider übersteigt das aktuell meine FHEM Kenntnisse.. ;-) Kann mir jemand helfen ?
Vielen Dank, Jolanda
If(ReadingsAge("Sauger","lastClean",800000) > xh * 3600)
Wenn es ein Reading gibt, das eben den letzten Saugvorgang angibt...
Die 800000 als Ersatzwert stellt sicher, dass bei einem Auslesefehler nicht einfach gestartet wird (sollte somit höher als der gewünschte Wert sein)...
Ist aber nat. kein Muss... ;)
Kurz, da nur Handy grad... ;)
Gruß, Joachim
Das Reading für den letzten Saugvorgang gibt es im Modul nicht. Man kann da aber vielleicht die Readings "map_date" oder "map_id" benutzen. Das erste Reading enthält die Zeit der letzten Kartenerstellung, im zweiten Reading ist die Karte-Id, die zufällig der Zeitstempel des Reinigungsbeginnes ist.
Ansonsten könnte man einen Dummy benutzen, den man entsprechend setzt, wenn die Reinigung gestartet wird.
Hier wurde das berechnen von Zeitdifferenzen mal diskutiert: https://forum.fhem.de/index.php?topic=42644.0
Gruß Vuffiraa