Home Assistant - Introduzione alle Automazioni

Home Assistant - Introduzione alle Automazioni

di Vincenzo Caputo

05 Settembre 2018

Home Assistant

Vincenzo Caputo

Oggi introdurremo un nuovo argomento che riguarda il mondo di Home Assistant.: LE AUTOMAZIONI. Esse ci permettono di creare delle azioni che verranno eseguite in automatico quando si verificheranno determinate condizioni.

In Home Assistant abbiamo due possibilità per creare queste automazioni:

  • Attraverso l'editor da WebUi
  • Scrivendo direttamente le automazioni dentro al file automations.yaml

Io preferisco di gran lungo lavorare a mano direttamente sul file .yaml, questo perchè, intanto con l'editor vengono scritte in modo poco ordinato, il che non aiuta la comprensione, e poi molte cose risultano più semplificate da fare attraverso la scrittura diretta del file di testo.

Cominciamo!

Le automazioni di hass, possono essere composte da 3 parti:

  • Un trigger
  • Una condition
  • Una action 

 Questo  è un esempio:

(trigger) Quando Paolo arriva a casa

(condition) ed è dopo il tramonto

(action) Accendi le luci della sala

Questo è un esempio di cosa potrebbe fare un automazione.

La prima linea è un trigger dell'automazione. I trigger sono quelle condizioni per cui verrà eseguita una o più azioni; in questo caso una persona sta arrivando a casa. In hass questo può essere monitorato controllando lo stato del device_tracker di Paolo che cambia stato da "not_home" a "home".

La seconda linea invece definisce una condizione. Le condizioni sono delle verifiche opzionali che possono limitare la automazione ad un altro specifico caso. Come possiamo vedere nell'esempio, la luce si accende quando Paola arriva a casa, solo se il sole è tramontato.

L'ultima parte, cioè l'azione, verra eseguita quando il trigger e la condizione risulteranno nello stato impostato nella scrittura dell'automazione. In questo caso quando Paola arriva a casa e il sole è già tramontato, le luci della sala si accenderanno

Questa è una prima introduzione alle basi delle automazioni di Home Assistant

Dopo la versione 0.45 di Home Assistant è stato introdotto l'editor grafico delle automazioni. Esso è raggiungibile dal interfaccia di Hass, nella barra laterale selezionare Configuration e poi Automazioni.

Io non tratterò questa interfaccia, ma usero il file di testo automations.yaml.

Questo è un esempio di un automazione:

- alias: 'Rule 1 Light on in the evening'
    trigger:
      - platform: sun
        event: sunset
        offset: '-01:00:00'
      - platform: state
        entity_id: group.all_devices
        to: 'home'
    condition:
      - condition: state
        entity_id: group.all_devices
        state: 'home'
      - condition: time
        after: '16:00:00'
        before: '23:00:00'
    action:
      service: homeassistant.turn_on
      entity_id: group.living_room

In questa automazione ad esempio abbiamo due trigger:

  • Se manca un'ora dal tramonto
  • E se tutti i device tracker sono a "casa"

Ora abbiamo una condizione:

  • Se tutti i device tracker sono a "casa"
  • L'ora corrente è compresa tra le 4 PM e le 11 PM

Allora avremo la seguente azione:

  • Con il servizio homeassistant.turn_on e l'entità group.living_room 

Ora l'automazione è conclusa dunque le luci si accenderanno se i dispositivi sono a casa da 1 ora prima del tramonto tra le 4 e le 11 pm

I trigger sono diversi, ora ve ne elencherò alcuni e vi lascio anche il link all'elenco di tutti i trigger sul sito di Hass, consultabile qui

Nel prossimo articolo vedremo invece alcune condizioni e azioni.

Time Trigger

Questo trigger può attivare l'azione ogni n minuti che vengono specificati, e ad una determinata ora del giorno.

  trigger:
    platform: time
    minutes: 5
    seconds: 00

  trigger:
    platform: time
    at: '15:32:00'

In questo caso il primo esempio di trigger si attiva ogni 5 minuti e 0 secondi nel secondo caso invece esso si attiverà alle ore 15 e 32 

Sun Trigger

Questi trigger permette di far si che al tramonto o all'alba esso venga attivato. È anche possibile usare un offset per anticipare o posticipare il trigger rispetto al tramonto o all'alba.

 

  trigger:
    platform: sun
    event: sunset
    offset: '-00:45:00'

In questo esempio invece il trigger si attiverà 45 minuti prima del tramonto

 Nel prossimo articolo sulle automazioni spiegerò come creare delle automazioni piu complesse e vi mostrerò degli esempi che io utilizzo, oltre a questo vi illustrerò le actions e le conditions.

Vi lascio al solito video di fine articolo. Buona visione!

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Vincenzo Caputo

Vincenzo Caputo

Nato a Matera, il 1° novembre 1977. Sono da sempre appassionato di tecnologia e ho un'esperienza lavorativa ventennale nel settore IT. Mi piace sperimentare e cercare sempre nuove soluzioni e soprattutto mi piace comunicare le mie esperienze agli altri.

Disqus loading...