Flujo de automatización en SVG reutilizable

El diagrama base para explicar cualquier automatización de Home Assistant: qué la dispara, qué condición decide y qué hace después, incluidas las cuatro ramas que aparecen una y otra vez en YAML: choose, repeat, wait e if/else.

Pieza 5 del backlog de diseño. Se inserta tal cual en una guía junto al bloque de código YAML (pieza 2); el lector ve el flujo y el YAML lado a lado.

Diagrama

Flujo de una automatización de Home Assistant con sus ramas de acción TRIGGER disparador state · time · MQTT CONDITION ¿se cumple? and · or · template ACTION ejecuta servicio light · notify · media 1. dispara sí no si NO se cumple sigue la rama por defecto RAMAS DE LA ACCIÓN choose condición 1 secuencia 1 condición 2 secuencia 2 default secuencia 0 repeat while <cond> secuencia until <cond> secuencia count: N secuencia wait wait_for_trigger sigue wait_template sigue todo con timeout opcional if / else if <cond> then: secuencia else secuencia equivale a un choose simple trigger condition action default / else

El diagrama vive en un contenedor con scroll horizontal en pantallas estrechas, así el texto no se encoge hasta ser ilegible. Es SVG propio, sin dependencias externas.

YAML que acompaña al diagrama

alias: Luz del salón al detectar presencia
description: Enciende la luz si es de noche; si no, solo avisa.
mode: single

trigger:
  - platform: state
    entity_id: binary_sensor.presencia_salon
    to: "on"

condition:
  - condition: sun
    after: sunset

action:
  - choose:
      - conditions:
          - condition: state
            entity_id: input_select.modo_casa
            state: "cine"
        sequence:
          - service: light.turn_on
            target:
              entity_id: light.salon
            data:
              brightness_pct: 12
      - conditions:
          - condition: numeric_state
            entity_id: sensor.lux_salon
            below: 40
        sequence:
          - service: light.turn_on
            target:
              entity_id: light.salon
            data:
              brightness_pct: 60
    default:
      - service: notify.mobile_app_telefono
        data:
          message: "Presencia detectada de día: no enciendo la luz."

Ejemplo con choose + default, la rama que más consultas genera. Sintaxis estable del motor de automatizaciones de Home Assistant; sin confirmar en fuente viva a fecha de 28/09. El turno diario actualiza este bloque si una release note cambia algo.

Cómo se usa en un artículo

Cuándo usar cada rama

Regla rápida para no elegir la rama equivocada en el YAML:

Componente 5 del backlog de diseño · Última revisión: 28/09