Plantillas YAML para Home Assistant, ESPHome y Zigbee2MQTT
Última revisión: 08/10/2026
Todo lo que ves aquí lo he probado en una instalación local. Cada bloque se copia con el botón y se adapta en lo marcado. Nada llega por correo: la página se actualiza con los YAML que van saliendo probados.
Automatización con wait_for_trigger y timeout
Enciende la luz cuando detecta movimiento y la apaga si la puerta no se abre en cinco minutos. El enfoque completo, en la guía de repeat y wait_for_trigger.
automation:
- alias: Luz pasillo con espera
trigger:
- platform: state
entity_id: binary_sensor.movimiento_pasillo
to: 'on'
action:
- service: light.turn_on
target:
entity_id: light.pasillo
- wait_for_trigger:
- platform: state
entity_id: binary_sensor.puerta_entrada
to: 'on'
timeout: '00:05:00'
- service: light.turn_off
target:
entity_id: light.pasillo
Sensor con plantilla para dos estados opuestos
Otro ejemplo del patrón condicional, explicado en condition template vs choose.
template:
- sensor:
- name: Habitacion ocupada real
state: >-
{% if is_state('binary_sensor.movimiento', 'on') %}
ocupada
{% else %}
libre
{% endif %}
Sensor ESPHome con filtro de debounce
Para un sensor de puerta que no quieres que active la automatización con cada rebote. El resto de la lógica, en la guía de falsos positivos.
binary_sensor:
- platform: gpio
pin: GPIO13
name: Puerta terraza
filters:
- delayed_on: 300ms
- delayed_off: 300ms
Zigbee2MQTT: availability y timeout
Evita que Home Assistant dé por muerto un sensor que solo reporta una vez por hora. El detalle, en la guía de availability.
devices:
'0x00158d0001234567':
friendly_name: sensor_temperatura_salon
availability:
timeout: 600
El domingo llega uno nuevo, ya probado
Cada domingo envío un YAML que he probado esa semana y el aviso cuando una integración local se rompe tras actualizar. Sin PDFs ni promesas de acceso: el archivo es lo que copio yo, tal cual.