Hola,
Actualmente estoy trabajando en una integración de Roborock que puede exponer la fecha del último limpieza en forma de timestamp.
El objetivo es poder construir una escena del tipo:
Cuando la casa se queda vacía
→ obtener el último limpieza del robot
→ continuar solo si no se ha realizado ninguna limpieza hoy
→ iniciar la limpieza
La integración puede exponer fácilmente:
Last clean start = 1786958400
El problema es que, a nivel del motor de escenas, parece que no es posible comparar simplemente este valor con una fecha relativa como:
inicio de hoy
ahoraayer
hace X horas
Una condición como esta sería especialmente útil:
Último limpieza < inicio de hoy
ou, más ergonómicamente:
Último limpieza
→ no es hoy
La idea sería, por lo tanto, agregar un soporte genérico de fechas/timestamps en las condiciones de escenas.
timestamp < ahora
timestamp > inicioDeDía
timestamp > ahora - 24h
timestamp esHoy
timestamp esAyer
Esto podría pasar eventualmente por las variables/fórmulas de escenas, por ejemplo exponiendo valores o funciones como:
now()
today()
startOfDay()
endOfDay()
La necesidad no es específica de Roborock. También permitiría trabajar con:
- fecha del último movimiento;
- última apertura de una puerta;
- último inicio de un dispositivo;
- última recarga;
- último evento de una integración;
- cualquier dispositivo que exponga un timestamp.
En mi caso específico, esto evitaría agregar en la integración de Roborock una característica artificial cleaned_today, cuando la información genérica last_clean_start normalmente es suficiente.
¿Es algo que podría tener cabida en el motor de escenas?