community italiana di domotica personale
 
I “gruppi” di Home Assistant: cosa sono e come si usano

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

I gruppi di Home Assistant sono delle speciali entità (sono helper, aiutanti) dedicate al raggruppamento di più entità presenti in configurazione.

Tali raggruppamenti venivano utilizzati – prima dell’avvento dell’interfaccia dell’HUB – come strumento per definire appunto delle entità “Gruppo”, ovvero dei raggruppamenti logici di entità.

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.

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

Il caso di cui sopra è previsto anche tramite l‘uso della piattaforma d’integrazione “Group” presso il componente specifico, per esempio “Light”:

light:
  - platform: group
    name: sala
    entities:
      - light.faretti
      - light.angolo
      - light.nanoleaf

questo caso specifico è spiegato meglio qui.

VIA INTERFACCIA

Per evitare di effettuare modifiche al proprio YAML, i gruppi possono essere definiti anche tramite l’interfaccia dell’HUB.

Per farlo, recarsi presso Configurazione” > “Automazioni e script” > “Aiutanti.

Uso tipico: “Device Traker”

Uno dei primi gruppi che solitamente viene creato è quello che rappresenta “gli inquilini” che frequentano l’ambiente controllato da Home Assistant, 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.

⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.