¡Hola y bienvenido a Gladys!
Tus dos problemas tienen una explicación. Los tomo en orden.
1. Apagado brusco
La acción « Apagar las luces » de Gladys envía simplemente {"state": "OFF"} a zigbee2mqtt/<tu bombilla>/set. Es Zigbee2MQTT quien aplica la transición, o no. En principio, cuando la opción transition está configurada en el dispositivo, Z2M transforma este OFF en una disminución gradual hasta 0, luego apaga.
Para saber de qué lado está el problema, apaga la bombilla directamente desde la interfaz de Z2M. Si también es instantáneo, Gladys no tiene la culpa: el problema está entre Z2M y la bombilla. Verifica entonces que el valor de transición (en segundos) se haya guardado correctamente.
En todos los casos, lo más fiable es pedir la transición directamente en el mensaje: así tiene prioridad sobre la opción del dispositivo. En tu escena, reemplaza « Apagar las luces » por la acción « Enviar un mensaje Zigbee2mqtt » :
- Tema :
zigbee2mqtt/NOMBRE_DE_TU_BOMBILLA/set (el nombre tal como aparece en Z2M, incluyendo el prefijo zigbee2mqtt/)
- Mensaje :
{"state": "OFF", "transition": 3} (3 segundos de fade)
Se necesita una acción por bombilla. Si tus GU10 están en un grupo Z2M, un solo mensaje en zigbee2mqtt/NOMBRE_DEL_GRUPO/set es suficiente, y se apagarán exactamente al mismo tiempo. El mismo truco funciona para la disminución, por ejemplo {"brightness_percent": 20, "transition": 2}.
2. El retraso que no vuelve a cero
La escena no reanuda donde se detuvo. Cada movimiento lanza una nueva ejecución de la escena, en paralelo a la que ya está en curso, y Gladys no cancela la anterior.
Supongo que tu escena es algo como « Movimiento → encender → Esperar 2 min → bajar → Esperar 30 s → apagar ». Cuando te mueves durante la fase de bajada, la nueva ejecución enciende a tope. Pero la anterior sigue en su « Esperar 30 s », y apaga al final. Además, 2 minutos después, la nueva ejecución va a bajar el brillo, lo que puede encender las lámparas en bajo: ajustar un brillo enciende una bombilla Z2M.
La solución es dejar de contar el tiempo con « Esperar » y dejar que el disparador lo haga. El disparador « Cambio de estado del dispositivo » tiene una opción prevista para esto: « Ejecutar la escena después de que la condición haya sido válida durante : ». El temporizador se cancela tan pronto como el sensor vuelve a « Movimiento detectado », y se reinicia al próximo « Sin movimiento ».
Por lo tanto, hay que dividir en 3 pequeñas escenas :
Escena A – Pasillo : encendido
- Disparador : « Cambio de estado del dispositivo » → detector del pasillo = Movimiento detectado
- Acciones : tu lógica día/noche. Por ejemplo, una condición « Si… Entonces… Si no… » que contiene una « Condición temporal » : Entonces brillo fuerte, Si no brillo bajo.
Escena B – Pasillo : bajada
- Disparador : detector del pasillo = Sin movimiento, marcando « Ejecutar la escena después de que la condición haya sido válida durante : 2 minutos »
- Acción : bajar el brillo
Escena C – Pasillo : apagado
- Disparador : detector del pasillo = Sin movimiento durante 150 segundos (2 min + 30 s, porque los dos temporizadores comienzan al mismo tiempo)
- Acción : el mensaje Zigbee2mqtt
{"state": "OFF", "transition": 3} visto anteriormente
Resultado : si te mueves durante la fase de bajada, la escena A vuelve a encender la luz a tope y los temporizadores de B y C se cancelan. Cuando te detienes, se reinician a cero : 2 minutos a tope, luego 30 segundos bajado, luego apagado en fade.
Dos consejos :
- En B y C, también marca « Ejecutar solo cuando se haya superado el umbral ». El temporizador solo comienza entonces en el paso de « Movimiento detectado » a « Sin movimiento ». Si el sensor devuelve « Sin movimiento » más tarde, la bajada no se reiniciará, y tus lámparas no se encenderán en bajo.
- El temporizador solo comienza cuando el detector envía « Sin movimiento », y cada detector espera un cierto tiempo antes de enviarlo. En algunos modelos, este tiempo se ajusta en Z2M (opción
occupancy_timeout). El retraso real es entonces ese tiempo más tus 2 minutos : ajusta en consecuencia.
La duración en segundos en el disparador y la acción Zigbee2mqtt están disponibles en la versión actual de Gladys (5.1.3) : piensa en actualizar si es necesario.
¡Mantennos informados!