Le “scene” di Home Assistant: cosa sono e come funzionano

2 minuti di lettura

Le scene sono uno strumento molto comodo per definire le condizioni arbitrarie di una o più entità presenti nella propria domotica personale basata su Home Assistant.Home Assistant Official Logo

Le scene si definiscono presso la configurazione dell’HUB e determinano la creazione di entità chiamate “scene.nome_della_scena“; tali entità, associate al servizio “scene.turn_on“, fanno sì che le entità in esse incluse assumano lo stato indicato.

Se per esempio volessimo definire una scena “buonanotte” in cui tutte le luci vengano spente, sarebbe possibile farlo tramite una scena nella quale indicare tutte le entità coinvolte associate allo stato “off“. Eseguendo “scene.turn_on” associato all’entità “scene.buonanotte”, tutte le luci (indicate) si spegnerebbero all’unisono.

La cosa interessante è che le entità di tipo scena possono essere facilmente esposte agli smart speaker, consentendoci così di eseguirle tramite comandi vocali.

N.b. A partire dalla versione 0.102.x di Home Assistant è stato aggiunto un comodo editor visuale per la definizione delle scene.

Come definire una scena

Le scene sono solitamente contenute all’interno della configurazione sidecar di Home Assistant definita presso il file scenes.yaml presente nella cartella di configurazione di Home Assistant.

Ci sono due modi per definire/amministrare/modificare una scena:

  • tramite interfaccia utente Home Assistant;
  • a mano.
Interfaccia utente

È il metodo più semplice: permette, tramite interfaccia web/app, di definire una o più scene le quali, una volta salvate, verranno aggiunte al file scenes.yaml.

Cliccando su “Impostazioni” / “Scene” / “+” presso il frontend, infatti, apparirà una web form tale da permetterci da configurare il nome della scena e le entità coinvolte (e relativi stati):

Home Assistant - Nuova scena

Al termine della configurazione, sarà sufficiente salvare e rendere così operativa l’automazione.

MANUALMENTE

Per gli amanti degli editor testuali, l’alternativa è modificare manualmente il file scenes.yaml il quale, analogamente agli altri file di configurazione di Home Assistant, è espresso in notazione yaml.

A seguire un esempio di scena:

scene:
  - name: TV
    entities:
      light.artemide: off
      light.angolo: off
      light.led_tv:
        state: true
        xy_color: [0.33, 0.66]
        brightness: 200

Questa scena, chiamata “scene.tv“, fa sì che le luci della sala (“light.artemide” e “light.angolo“) si spengano e la luce “light.led_tv” si accenda: trattandosi di una luce RGB (tipo i controller Magic Home, o le Philips HUE, per esempio), vengono anche impostati il colore di default e il livello di luminosità.

Come facile immaginare, è possibile definire quante scene si vuole.

N.b. Per una limitazione progettuale, non è possibile impostare – in una medesima scena – più stati per una stessa entità. In caso sia necessario far questo, è maggiormente consigliabile l’utilizzo di una sequenza tramite script.

Come evocare le scene

Come anticipato, un ottimo campo di applicazione delle scene sono gli smart speaker, ma non solo.

Anche le automazioni di Home Assistant sono un ambito di applicazione molto tipico: eseguire automaticamente una scena a fronte di una condizione specifica (banalmente, il ritorno a casa) è particolarmente comodo.

Per evocare una scena, la sintassi in automazione è molto semplice:

automation:
  alias: "Automazione scena"
  trigger: []
  condition: []
  action:
    service: scene.turn_on
    entity_id: scene.nomescena

In base al trigger scelto, l’automazione “automation.automazione_scena” provvede ad eseguire la scena indicata (nell’esempio, “scene.nomescena“.

Telegram News Channel