Saltar al contenido

Duraciones: los formatos más habituales

Chuleta de duraciones para copiar: for en disparadores y condiciones, delay, tiempos límite de espera, milisegundos y plantillas.

  • básico
  • Publicado el

Objetivo

Tener a mano, listos para copiar, los formatos de duración que más se usan en automatizaciones y scripts.

Requisitos

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

FormatoEjemploEquivale a
Segundos901 min 30 s
HH:MM:SS"00:01:30"1 min 30 s
HH:MM"01:30"1 h 30 min
Mapaminutes: 1 · seconds: 301 min 30 s
Plantilla"{{ 90 }}"1 min 30 s

Resultado

Acción
La puerta se abre y sigue abierta 5 minutos seguidos
Resultado
Se dispara la automatización (si se cierra antes, el reloj vuelve a cero)
Volver a Repositorio