Triggers
Triggers zijn wijzigingen in de status van een entiteit. Bijvoorbeeld een motion-sensor die van False naar True gaat kan een trigger zijn om een lamp aan te zetten.
Om nu niet de automatisering te moeten wijzigen als een sensor wijzigt, kunnen we een template gebruiken die de status van een willekeurige sensor in een bepaalde ruimte opvraagt en de automatisering triggert zodra deze sensor-status wijzigt. Zo’n template in de automatisering ziet er bv. als volgt uit:
{{ states.binary_sensor | selectattr('entity_id', 'in', area_entities('Kantoor Nico')) | selectattr('attributes.device_class', 'search', 'motion') | selectattr('state', 'eq', 'on') | list | count > 0 }}
Zoals te zien in bovenstaande code, is de area voor de entiteit bepaald als ‘Kantoor Nico‘. Voorwaarde is dus dat de motion-sensor gekoppeld is aan die ruimte.
Als je de status van de motion-sensor raadpleegt via Ontwikkelhulpmiddelen -> Statussen, zie je bij de attributen de vermelding staan voor de ‘device_class‘, namelijk ‘motion‘ en dat is de 2e regel in de code om de motion-sensor te selecteren.
De 3e regel selecteert een sensor met de ‘status‘ ‘on‘.
Als aan de selectie-criteria wordt voldaan (er is dus beweging waargenomen) is het aantal gevonden entiteiten meer dan 0 wordt de automatisering getriggert. We gaan er hier dus vanuit dat er slechts één motion-sensor in ruimte ‘Kantoor Nico’ is.
Als de motion-sensor nu voor een bepaalde periode de status ‘off’ heeft en dus in die periode geen beweging is waargenomen, dan zouden we de verlichting weer uit kunnen schakelen. De template-code hiervoor is dan voor een periode van 10 minuten als volgt:
{{ states.binary_sensor | selectattr('entity_id', 'in', area_entities('Kantoor Nico')) | selectattr('attributes.device_class', 'search', 'motion') | selectattr('state', 'eq', 'on') | list | count < 1 }} for: "00:10:00"
De teller is hier nu 0 en de duur is 10 minuten.
We kunnen deze zogenaamde value_templates een id geven om te gebruiken als keuze bij de action in de automatisering. In de visuele editor ziet dat er dan zo uit:
Actions
Actions zijn de services die uitgevoerd worden in een automatisering. In dit geval het aanzetten van de verlichting in de ruimte ‘Kantoor Nico’. Voorwaarde is dus dat de diverse lampen ingedeeld zijn in deze ruimte. In de visiuele automatiserings editor, kiezen we voor Actions -> Keuze. Hierbij maken we twee Opties aan, één voor trigger_id ‘licht_aan‘ en één voor trigger_id ‘licht_uit‘:

De bijbehorende Services zijn dan respectievelijk Licht: Aanzetten en Licht: Uitzetten.

Het doel voor de verlichting service is in bovenstaand voorbeeld bepaald op ‘Kantoor Nico’. Hiermee wordt alle verlichting in deze ruimte aan- of uitgezet.