Objetivo
Tener a mano, listos para copiar, los formatos de duración que más se usan en automatizaciones y scripts.
Requisitos
- Ninguno. Cambia las entidades de ejemplo (
binary_sensor.puerta_entrada,light.salon…) por las tuyas. - La explicación completa, con infografías, está en el artículo Duraciones en las automatizaciones.
El código
1. Disparador «Estado cambió» con «Durante al menos»: la forma más clara, con un mapa.
triggers:
- trigger: state
entity_id: binary_sensor.puerta_entrada
to: "on"
for:
minutes: 5
2. Lo mismo con HH:MM:SS o en segundos. Elige una de estas formas; las tres duran lo mismo:
for: "00:05:00" # HH:MM:SS
# for: 300 # segundos
# for: # mapa
# minutes: 5
3. Disparador específico: for va dentro de options:.
triggers:
- trigger: door.opened
target:
entity_id: binary_sensor.puerta_entrada
options:
for: "00:05:00"
4. Condición «Estado» con duración: la luz lleva encendida al menos una hora.
conditions:
- condition: state
entity_id: light.salon
state: "on"
for:
hours: 1
5. Retardo en una acción, con milisegundos (solo en YAML):
actions:
- action: light.turn_on
target:
entity_id: light.salon
- delay:
seconds: 1
milliseconds: 500
- action: light.turn_off
target:
entity_id: light.salon
6. Tiempo límite de una espera: espera a que se cierre la puerta, como mucho 2 minutos.
actions:
- wait_for_trigger:
- trigger: state
entity_id: binary_sensor.puerta_entrada
to: "off"
timeout: "00:02:00"
continue_on_timeout: true
7. Duración desde un ayudante numérico (input_number en segundos):
triggers:
- trigger: state
entity_id: binary_sensor.puerta_entrada
to: "on"
for: "{{ states('input_number.espera_en_segundos') | int }}"
8. Mapa con un valor calculado: minutos desde un ayudante (el editor visual cambia a YAML).
for:
minutes: "{{ states('input_number.minutos_puerta') | int }}"
Cómo funciona
| Formato | Ejemplo | Equivale a |
|---|---|---|
| Segundos | 90 | 1 min 30 s |
HH:MM:SS | "00:01:30" | 1 min 30 s |
HH:MM | "01:30" | 1 h 30 min |
| Mapa | minutes: 1 · seconds: 30 | 1 min 30 s |
| Plantilla | "{{ 90 }}" | 1 min 30 s |
"01:30"son horas y minutos. Es el error más frecuente.- Disparadores y condiciones de dispositivo solo aceptan el mapa.
- Plantillas: solo en «Durante al menos» de los disparadores Estado cambió, Umbral numérico y Plantilla, en la condición Estado, en el Retardo y en los tiempos límite de espera. Los disparadores específicos no las admiten.
continue_on_timeout: truehace que la automatización siga cuando se agota el tiempo límite. Confalse, se detiene ahí.
Resultado
La puerta se abre y sigue abierta 5 minutos seguidosSe dispara la automatización (si se cierra antes, el reloj vuelve a cero)