Sería genial tener este interruptor como se muestra a continuación en las escenas
Según la elección, la acción siguiente se ejecuta si al menos un disparador es válido (función O) o si todos los disparadores están activos (función Y)
Para mí, ya puedes poner varios disparadores que actúen con un O (cualquiera que se active lanza la escena).
Y no tiene sentido ponerlos con un Y porque son eventos y no estados. No puedes decir « la puerta se abre y la temperatura supera los 20°C » sino más bien « la puerta se abre y la temperatura está por encima de 20°C ».
Por lo tanto, ya es posible con la función Continuar solo si.
¿Tienes un ejemplo de caso de uso?
Por ejemplo:
Si salgo de casa y el enchufe está conectado, la acción siguiente se activa
En este caso es uno de los 2 disparadores que activa la acción siguiente
A menos que haya configurado mal la escena…
También puede ser, si salgo de casa y el sensor de luminosidad está bajo, enciende la luz exterior, etc
En tu ejemplo habría que hacer:
- Disparador: cuando salgas de casa
- Recuperar el estado de tu enchufe
- Continuar solo si el enchufe está encendido
- Acción deseada
¿un poco más complicado, no? Sobre todo si queremos tener varias condiciones Y, en ese caso podríamos hacerlo solo con un interruptor.
En cuanto a la programación, un conjunto de ‹ 1 › para cada activador validado, ‹ 0 › en caso contrario, al final del recorrido de los activadores contamos el número de activadores y el total de los valores de los activadores, si los dos son iguales es un Y, por lo que continuamos y la acción se ejecuta (en otro lenguaje como C o VB lo habría codificado, pero en JS no). ![]()
En realidad no es mucho más complicado, es solo otra lógica.
Puedes tener varias condiciones Y fácilmente: pones varios bloques uno al lado del otro.
Para retomar mi ejemplo, podríamos hacer:
Disparador: cuando sales de casaRecuperar el estadode tu enchufe, de la luminosidad, de la temperaturacontinuar si y solo siel enchufe está encendido /continuar si y solo siluminosidad > 150 lumen /continuar si y solo sitemperatura > 20°- acción deseada
En este caso, todas las condiciones deben cumplirse en el bloque 3 para lanzar la acción. Y no es mucha configuración adicional.
Creo que lo que sorprende a mucha gente es tener que recuperar un valor antes de poder usarlo (yo el primero, de hecho).
Debe haber una razón técnica para esto - @pierre-gilles si me lees ^^ - pero es cierto que en mi mundo ideal, me gustaría que mi escena pudiera ser:
Disparador: cuando sales de casacontinuar si y solo siel enchufe está encendido /continuar si y solo siluminosidad > 150 lumen /continuar si y solo sitemperatura > 20°- acción deseada
Pues justo a vuestro voto:
¡MALDICIÓN !!! ¡Me lo había perdido!
Creo que en efecto habría que trabajar en eso, sigo convencido de que es un obstáculo para la adopción de Gladys.
Ya hemos visto varias veces en el foro a gente preguntándose sobre el funcionamiento de las escenas… esto podría ayudar ![]()
¡Igual! ¡Voto directo!
EDICIÓN: En realidad, fue después de mis primeros comentarios cuando llegué ![]()

Digamos que la ventaja aquí es poder pasar de un modo « al menos una de las condiciones cumplidas » a « todas las condiciones cumplidas » en un solo bloque sin tener que rehacer la escena, me parece más claro de usar y más práctico de implementar (de un vistazo se ven todas las condiciones) ¡Después nada impide tener los dos modos, en el primero se destaca la prueba de la condición primaria antes de pasar a la prueba de las otras con
continuar si y solo si
, en el caso que propongo se prueba que al menos una de las condiciones se cumpla (funcionamiento actual) O se prueba que todas las condiciones se cumplan
Aquí estoy de acuerdo, sería más claro que recuperar estados para usarlos después como dices si es una razón técnica para ello… ![]()
Para añadir una razón a esta funcionalidad y como acabo de entender el interés de un dispositivo virtual (¡Dios mío, pero qué me pasa!
)
Por lo tanto, creo un « Interruptor » Mqtt aquí llamado virtual1 pero que en mi ejemplo debería llamarse « Todos los contactos de apertura están cerrados »
En una escena, creo
Que activa/desactiva mi dispositivo virtual aquí en el ejemplo si todos mis enchufes NOUS no consumen (para transponer con los sensores de apertura), el problema es tener que hacer una escena inversa « al menos un enchufes consume = al menos un sensor está abierto » para invertir el dispositivo virtual, por lo que lo tenemos con la posibilidad de marcar la casilla « Al menos uno »
Este dispositivo virtual podría usarse posteriormente en mis escenas (¡es mucho más práctico!)
Por lo tanto, la ventaja de esta solicitud es que tengo 20 sensores y considero el estado « todos los sensores ok » si he marcado « todos »… ¿más fácil de configurar, no?
Lo ideal sería tener la posibilidad de crear un dispositivo « Dispositivo virtual » en la página de integración MQTT que cumpliera este papel !!!
Y ahora que @pierre-gilles ha desarrollado la integración « alarma » ¡creo que va de la mano!
Haré la solicitud en este sentido esta noche ![]()
¿Podemos cerrar esta solicitud de funcionalidad (o simplemente convertirla en un tema en #configuración)?
A menos que haya entendido mal, ¿no puedes hacer eso ya?
Puedes crear la ESCENA 1 que:
- prueba todos tus sensores
- pone tu interruptor en ON si todo está en cero
Luego la ESCENA 2 (para no molestarte, copias la ESCENA 1 y la modificas a tu gusto) que:
- prueba todos tus sensores
- pone tu interruptor en OFF si uno o más sensores son diferentes de cero
Después puedes recuperar en cualquier lugar de las escenas el valor del estado de tu interruptor.
¿Es ese el objetivo?
¡Sí, exactamente eso, de forma simplificada o más clara, el hecho de poder poner todos los sensores en el primer bloque y luego tener la opción de elegir gracias a este interruptor que propuse permite no tener una lista de x condiciones « continuar si » etc.!
Ahora, en 2 bloques, hacemos el trabajo
En el caso de la alarma
Primera escena
en el primer bloque de activadores, pongo todos mis sensores relevantes con el estado « on » y marco « todos » y si todos están bien, activo la alarma
Segunda escena
en el primer bloque de activadores, pongo todos mis sensores relevantes, marco « al menos uno » y si un sensor está « off », no activo la alarma y envío un mensaje, por ejemplo
Me parece mucho más simple y lógico… pero bueno, si no hay adhesión, pues nada…
El problema fundamental en lo que describes es que, por mucho que lo gires, un disparador no puede ser el estado de un dispositivo, sino un evento.
Por lo tanto, tu escena ideal no puede existir como tal.
Después, soy el primero en decir que se puede mejorar la creación de escenas, toda idea es buena para estudiar ![]()
![]()
En mi opinión, lo mejor es un diseño tipo node-RED ![]()
Estoy bastante de acuerdo con eso, un buen ejemplo es Homey (si no me equivoco) que ha desarrollado un sistema similar a NodeRed para crear escenas.
Pero sería una refactorización enorme, que aunque probablemente sea factible algún día, no impide mejorar las escenas existentes para mejorar la experiencia de usuario, ya que estoy convencido de que la gente no utiliza todas sus posibilidades al 100%.



