Si te es imprescindible hacerlo desde un escenario, siempre puedes usar la función lastChangeStateDuration.
lastChangeStateDuration (comando, valor): devuelve la duración en segundos desde que el último cambio de estado al valor pasado en el parámetro. Devuelve -1 si no existe un historial o el valor no existe en el historial. Devuelve -2 si el comando no está historizado.
Ejemplo en mi caso:
round(lastChangeStateDuration(#[Sensores][Salón][Movimiento]#,1)/60,0)
En mi caso, lo tengo para controlar el tiempo de ausencia en el salón. En principio el valor se te devuelve en segundos, por eso lo divido entre 60 y luego uso el round para redondear.