Hallo,
Ich arbeite derzeit an einer Roborock-Integration, die das Datum des letzten Reinigungsvorgangs als Zeitstempel ausgeben kann.
Das Ziel ist es, dann eine Szene wie folgt zu erstellen:
Wenn das Haus leer wird
→ Letzten Reinigungsvorgang des Roboters abrufen
→ Nur fortfahren, wenn heute noch kein Reinigungsvorgang durchgeführt wurde
→ Reinigung starten
Die Integration kann leicht Folgendes ausgeben:
Last clean start = 1786958400
Das Problem ist, dass es im Szenarienmotor nicht möglich zu sein scheint, diesen Wert einfach mit einem relativen Datum wie Folgendem zu vergleichen:
Anfang von heute
jetzt
gestern
vor X Stunden
Eine Bedingung wie diese wäre besonders nützlich:
Letzter Reinigungsvorgang < Anfang von heute
ou, ergonomischer:
Letzter Reinigungsvorgang
→ ist nicht heute
Die Idee wäre also, eine generische Unterstützung für Datumsangaben/Zeitstempel in den Szenarienbedingungen hinzuzufügen.
timestamp < now
timestamp > startOfDay
timestamp > now - 24h
timestamp isToday
timestamp isYesterday
Dies könnte möglicherweise über Szenarienvariablen/Formeln erfolgen, z. B. durch die Bereitstellung von Werten oder Funktionen wie:
now()
today()
startOfDay()
endOfDay()
Der Bedarf ist nicht spezifisch für Roborock. Dies würde auch die Arbeit mit Folgendem ermöglichen:
- Datum der letzten Bewegung;
- Letztes Öffnen einer Tür;
- Letzter Start eines Geräts;
- Letztes Laden;
- Letzter Ereignis von einer Integration;
- Jedes Gerät, das einen Zeitstempel ausgibt.
In meinem speziellen Fall würde dies vermeiden, in der Roborock-Integration ein künstliches Feature cleaned_today hinzuzufügen, obwohl die generische Information last_clean_start normalerweise ausreicht.
Könnte dies etwas sein, das im Szenarienmotor seinen Platz haben könnte?