Bonjour,
Je travaille actuellement sur une intégration Roborock qui peut exposer la date du dernier nettoyage sous forme de timestamp.
L’objectif est ensuite de pouvoir construire une scène du type :
Lorsque la maison devient vide
→ récupérer le dernier nettoyage du robot
→ continuer uniquement si aucun nettoyage n'a été effectué aujourd'hui
→ lancer le nettoyage
L’intégration peut facilement exposer :
Last clean start = 1786958400
Le problème est qu’au niveau du moteur de scènes, il ne semble pas possible de comparer simplement cette valeur avec une date relative comme :
début d'aujourd'hui
maintenant
hier
il y a X heures
Une condition comme celle-ci serait particulièrement utile :
Dernier nettoyage < début d'aujourd'hui
ou, plus ergonomiquement :
Dernier nettoyage
→ n'est pas aujourd'hui
L’idée serait donc d’ajouter un support générique des dates/timestamps dans les conditions de scènes.
timestamp < now
timestamp > startOfDay
timestamp > now - 24h
timestamp isToday
timestamp isYesterday
Cela pourrait éventuellement passer par les variables/formules de scènes, par exemple en exposant des valeurs ou fonctions comme :
now()
today()
startOfDay()
endOfDay()
Le besoin n’est pas spécifique à Roborock. Cela permettrait également de travailler avec :
- date du dernier mouvement ;
- dernière ouverture d’une porte ;
- dernier démarrage d’un appareil ;
- dernière recharge ;
- dernier événement provenant d’une intégration ;
- tout appareil exposant un timestamp.
Dans mon cas précis, cela éviterait d’ajouter dans l’intégration Roborock une feature artificielle cleaned_today, alors que l’information générique last_clean_start suffit normalement.
Est-ce quelque chose qui pourrait avoir sa place dans le moteur de scènes ?