Duda en escenario

Apose

Duda en escenario
« en: Abril 19, 2019, 13:41:05 pm »
Hola.

Como pongo en un bloque Si/Entonces la condición de si una bombilla estuvo encendida hace X minutos?

Gracias
« Última modificación: Abril 20, 2019, 13:37:01 pm por Apose »

Apose

Re:Duda en escenario
« Respuesta #1 en: Abril 25, 2019, 15:38:44 pm »
Se puede hacer?

phroc

  • *
  • 5703
  • Belle époque
    • Ver Perfil
    • PR-DOMOTICA
Re:Duda en escenario
« Respuesta #2 en: Abril 26, 2019, 08:43:55 am »
Esto, desde mi punto de vista, es mejor hacerlo con "Acciones sobre valores".

En resumen le dices a ese periférico que cuando lleve x minutos encendido, que te ejecute una escena concreta.

Está explicado aquí:

http://www.domoticadomestica.com/las-acciones-sobre-valores-en-jeedom/

https://pr-domotica.es/

Communication Manager & Business Manager Spain at  NodOn
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación LoRa

Re:Duda en escenario
« Respuesta #3 en: Abril 27, 2019, 12:54:35 pm »
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.

Re:Duda en escenario
« Respuesta #4 en: Junio 02, 2019, 22:19:07 pm »
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.

Una duda, como lo haces para que muestre el tiempo que esta sin cambiar de estado?

Me gustaría ver el tiempo, y tambien usar ese tiempo para crear una accion en el escenario.

Por ejemplo: Con un sensor de movimiento aqara, que si no hay movimiento en X minutos haga una accion..

Bull

  • *****
  • 1341
  • IA unipersonal @1975
    • Ver Perfil
    • Domótica Domestica
Re:Duda en escenario
« Respuesta #5 en: Junio 03, 2019, 10:40:17 am »
Te debes de crear un dispositivo virtual donde copiaras todos los comandos que quieres reproducir mas uno que será exactamente el lastchange.

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.

Una duda, como lo haces para que muestre el tiempo que esta sin cambiar de estado?

Me gustaría ver el tiempo, y tambien usar ese tiempo para crear una accion en el escenario.

Por ejemplo: Con un sensor de movimiento aqara, que si no hay movimiento en X minutos haga una accion..
Todos nos equivocamos, por eso los lápices llevan goma.