La función ‘Trigger’ en Jeedom
- Tutorial paso a paso para optimzar nuestras escenas domóticas en Jeedom con la ayuda de la poco conocida función Trigger.
La solución domótica Open Source Jeedom nos brinda un amplio abanico de posibilidades a la hora de programar escenas domóticas con múltiples funciones, algunas de ellas muy avanzadas y potentes.
Hoy os voy a hablar de la función ‘Trigger’, poco conocida, y sin embargo muy interesante a la hora de reducir el número de escenas que creamos en Jeedom.
Como me gusta subrayar siempre, para llegar a un resultado con Jeedom, existen muchos caminos distintos. Pero no todos esos caminos están optimizados. Unos permiten llegar al mismo resultado siendo mucho más ahorradores en recursos de nuestro controlador domótico, que otros…
Problemática planteada
Imaginemos que tenemos varios sensores de movimiento en nuestro sistema domótico Jeedom, y queremos que Jeedom nos encienda una luz que dependerá del sensor de movimiento que se haya «disparado».
Sobre esa base, podemos crear en Jeedom distintas escenas, de tal forma que si se «dispara» el sensor de movimiento A, se encienda la luz A… Y así sucesivamente con todos los sensores de movimiento y todas las luces.
Tendríamos algo así (aquí la escena de ejemplo es muy muy sencilla. Puedes pulsar en las imágenes para ampliarlas):
Y así tendríamos que hacer para todos los demás sensores de movimiento y luces. Por tanto, si tenemos 4 sensores de movimiento, 4 escenas…
Uso de la función ‘Trigger’
Si recurrimos a la función ‘Trigger’, vamos a poder hacer una única escena en vez de una por sensor de movimiento.
La sintaxis de la función ‘Trigger’ es ésta: trigger(disparador)==1.
Veamos concretamente como usar ‘Trigger’ en nuestro ejemplo:
En la primera parte de nuestra escena, indicamos todos los «disparadores» posibles de nuestra escena, es decir, en nuestro ejemplo, todos los sensores de movimiento.
En la segunda parte de nuestra escena, crearemos bloques de «Si» sucesivos, que lo que van a hacer es analizar qué «disparador» de los que hemos especificado en la primera parte de nuestra escena, es el que realmente dispara la escena en cada momento. Y en función de eso, ejecutaremos acciones distintas y adaptadas a cada «disparador/trigger».
De esa manera, en vez de crear 4 escenarios, ¡vamos a conseguir el mismo resultado con un único escenario!
Si analizamos el «log» de nuestra escena, efectivamente vemos que se ha producido un «disparo» por el sensor de movimiento del hall, por lo que Jeedom ha ejecutado únicamente el bloque correspondiente:
Espero que os sea útil a la hora de optimizar vuestras escenas en Jeedom.
Me parece muy interesante esta opción de cara a tener todos los disparos de acción juntos y ordenados.
Un saludo.
Interesante.
Aunque si usas como evento que provoca el escenario «[HALL][Multisensor][presencia]==1» obtienes el mismo resultado sin usar trigger. Y pones en el escenario tantos eventos como necesites. Así es como lo tengo yo.
«Varios caminos para llegar al mismo sitio.» 🙂
En efecto, en un caso como el ejemplo que he puesto, es decir con disparadores binarios, se puede hacer de forma similar como indicas. Pero Trigger es especialmente interesante con disparadores no binarios (numéricos o cadenas de texto) y con comandos múltiples similares en un mismo dispositivo, estoy pensando por ejemplo en un virtual de control de accesos donde tenemos comandos de información no binarios para cada miembro de la familia, de tal forma que cada vez que se identifica un miembro de la familia, nuestra escena hará una cosa distinta. Con Trigger será muy sencillo tenerlo todo en un mismo escenario en este caso concreto. Pero en efecto, en Jeedom hay mil caminos para llegar al mismo resultado. Hay que procurar usar siempre el que sea menos exigente en cuanto a recursos del sistema. Saludos.
Buenas Philippe. Muy interesante el Trigger.
Si la escena esta con un disparador tipo programación, se puede utilizar el Trigger?
Hola Oriol. Yo uso muchísimo la función «Trigger» en muchas escenas. Me parece que es muy útil a la hora de integrar en una única escena muchas casuísticas distintas. Pero te confieso que no he probado «Trigger» con un disparador de tipo programación…