Saltar al contenido

Duraciones en las automatizaciones: formatos, trampas y plantillas

Dónde se usa una duración, los cuatro formatos que acepta, la trampa de «01:30» y qué opciones admiten una plantilla.

  • Publicado el
  • automatizaciones
  • duraciones
  • plantillas

«Si la puerta lleva abierta 5 minutos», «espera 30 segundos», «solo si la luz lleva encendida una hora». Muchas automatizaciones dependen de un tiempo, y Home Assistant lo escribe siempre igual, esté donde esté. Si dominas los formatos, evitarás la trampa más común: un "01:30" que no dura lo que crees.

Dónde aparece una duración

Tres tarjetas: disparador y condición con «Durante al menos» (for), y acción con retardo y esperas (delay y timeout)
Disparadores, condiciones y acciones comparten los mismos formatos.

En el editor visual se introduce en horas, minutos y segundos. El retardo y las esperas admiten también milisegundos.

Cómo cuenta «Durante al menos»

Línea de tiempo: la puerta se abre 3 minutos y se cierra, el reloj vuelve a cero; se abre de nuevo y a los 5 minutos seguidos se dispara
Solo cuenta un tramo continuo. Cualquier interrupción vuelve a empezar.

El reloj arranca con el cambio y tiene que llegar al final sin interrupciones. Si la puerta se cierra a los 3 minutos, no se acumula nada: al volver a abrirse empieza de cero. Ojo: un reinicio de Home Assistant o un unavailable de unos segundos también lo ponen a cero. Lo explicamos a fondo en Cómo reaccionan las automatizaciones a los cambios.

Los formatos en YAML

Cinco minutos y medio escrito como 330, como "00:05:30", como mapa minutes 5 seconds 30 y como plantilla; aviso de que "01:30" es una hora y media
Cuatro maneras de escribir lo mismo, y una trampa.

Una duración acepta:

for:
  minutes: 5
  seconds: 30

Dos detalles que conviene saber:

triggers:
  - trigger: door.opened
    target:
      entity_id: binary_sensor.puerta_entrada
    options:
      for:
        minutes: 5

Duraciones con plantilla

Dos columnas: opciones que sí admiten plantilla (disparadores Estado cambió, Umbral numérico y Plantilla; condición Estado; Retardo; tiempo límite de las esperas) y las que no (disparadores específicos y de dispositivo)
Solo algunas opciones aceptan una duración calculada.

Una plantilla permite que el tiempo lo decidas tú desde el panel, por ejemplo con un ayudante numérico. Se admite en:

La plantilla puede devolver cualquiera de los formatos anteriores, también un número de segundos:

for: "{{ states('input_number.espera_en_segundos') | int }}"

En un mapa, cada valor puede ser una plantilla por separado. Los disparadores específicos, como «Puerta abierta» o «Temperatura cruzó un umbral», todavía no aceptan plantillas en «Durante al menos».

Lo que el editor visual no sabe mostrar

Algunas duraciones funcionan, pero el editor no puede dibujarlas y cambia automáticamente a YAML:

No es un error. Edítalas en YAML y seguirán funcionando.

En resumen

Usa el formato que te resulte más legible: "00:05:00" o el mapa minutes: 5 se entienden de un vistazo. Desconfía de cualquier "01:30" y recuerda que solo unas pocas opciones aceptan plantilla. Tienes todos los formatos listos para copiar en el manual Duraciones: los formatos más habituales.

Fuente: documentación oficial de Home Assistant, Durations in automations and scripts.

Volver a Artículos