I “gruppi” di Home Assistant: cosa sono e come si usano

3 minuti di lettura

I gruppi di Home Assistant sono delle speciali entità dedicate al raggruppamento di più entità presenti in configurazione.

Tali raggruppamenti venivano utilizzati – prima dell’avvento della nuova interfaccia Lovelace (a partire dalla versione 0.86 di HA) – come strumento non solo per definire appunto delle entità “Gruppo”, ma anche per visualizzare, raggruppate, più entità lato interfaccia utente web.

groups

Una volta deprecato questo approccio (l’interfaccia è infatti ora disaccoppiata dalla configurazione dell’HUB), i gruppi sono tornati ad asservire solo la loro funzione principale, ovvero definire delle sovra-entità che rappresentino lo stato “globale” delle entità in esse raggruppate.

Come ogni entità, infatti, quelle di tipo “Group” posseggono un proprio stato, il quale è influenzato dallo stato delle entità in esse raggruppate – a patto che esse siano omogenee.

Per omogenee si intende “dello stesso tipo“. Raggruppare un’entità di tipo “Light” e una di tipo “Device Tracker” ha poco senso (per quanto fattibile), mentre ha sicuramente senso raggruppare un insieme di “Light” e un insieme di “Device Tracker” (o di altre tipologie). I gruppi possono a loro volta raggruppare altri gruppi.

Portando un esempio pratico: creare un’entità di tipo “Group” contenente solo entità di tipo “Light” fa sì che essa erediti i servizi delle tipologie di entità in essa raggruppate (eg. light.turn_on light.turn_off); fa sì che il suo stato sia “on” laddove almeno una luce inclusa nel raggruppamento sia “on“, e “off” quando tutte siano “off“. Infine, comandare un cambio di stato dell’entità “Group” invece fa sì che tutte le luci reagiscano di conseguenza: se in “on“, tutte si accenderanno, se “off“, tutte si spegneranno.

Gruppi predefiniti

Home Assistant, all’avvio, tra le varie entità di default che provvede a configurare ne definisce alcune di tipo “Group” contenenti implicitamente delle entità elencate nel campo attributo “entites“. Questi gruppi sono comodi per l’amministrazione e la gestione delle automazioni, script, scene nonché dell’interfaccia Lovelace.

Alcuni tipici gruppi predefiniti sono:

  • group.all_light (raggruppamento di tutte le entità di tipo “Light“);
  • group.all_switches (raggruppamento di tutte le entità di tipo “Switch“);
  • group.all_automations (raggruppamento di tutte le entità di tipo “Automations“);
  • group.all_scripts (raggruppamento di tutte le entità di tipo “Script”);

Come sempre, l’elenco completo relativo alla propria istanza di Home Assistant è disponibile presso la lista completa delle entità (“Developer Tools / States”).

Definirne di propri

Definire propri gruppi è piuttosto elementare. È infatti sufficiente aggiungere in configurazione un blocco di questo tipo:

group:
  luci_cucina:
    name: Luci cucina
    entities:
      - light.cucina1
      - light.cucina2
  luci_camera:
    name: Luci camera
    entities:
      - ligh.camera
      - light.comodino1
      - light.comodino2
  switch_impianto:
    name: Impiantistica
    entities:
      - switch.pompa
      - switch.interruttore_cantina

Questo tipo di configurazione definisce tre entità di tipo group:

  • group.luci_cucina
  • group.luci_camera
  • group.switch.impianto

Uso tipico: “Device Traker”

Uno dei primi gruppi che solitamente viene creato è quello che rappresenta “gli inquilini” che frequentano l’ambiente controllato da Home Assitant, inquilini rappresentati ovviamente dai propri smartphone personali.

Come sappiamo, “Device Tracker” è un componente che genera delle entità le quali rappresentano lo stato di presenza di una persona specifica; tale presenza è mutuata in base alla piattaforma figlia del componente “Device Tracker” implementata per fine di tracciare la persona.

Ogni entità di tipo “Device Tracker” è dotata di uno stato che rappresenta lo stato presenza della persona a cui è associata, tipicamente “home” o “not_home“.

Bene: creare un gruppo “famiglia” può essere un’ottima idea:

group:
  famiglia:
    name: Famiglia
    entities:
      - device_tracker.marco
      - device_tracker.daniela
      - device_tracker.giorgia

L’utilità sta nel fatto che la derivante entità group.famiglia assumerà stato “home” quando almeno una delle persone risulti in casa, e “not_home” quando tutti risultino fuori.

Questo è estremamente utile nel momento in cui il cambio di stato dell’entità “Group” (da “home” a “not_home” e/o da “not_home” a “home“) sia stato utilizzato come trigger all’interno di automazioni: questo consentirebbe, per esempio, l’esecuzione automatica di azioni a fronte dell’uscita/ritorno degli inquilini (gestione luci, allarmi, chiusura/apertura erogazione acqua e gas e via così), una delle cose più utili in domotica personale.


Home Assistant Official LogoATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.


Please comment below