Home Assistant ha tre livelli di organizzazione: entità, dispositivo, area. Chi arriva da altri sistemi domotici spesso li confonde o li ignora, e finisce con una lista piatta di duemila entità impossibili da ritrovare. Capire la differenza fra i tre livelli è quello che rende usabile la propria istanza dopo che ha superato le venti-trenta entità.
Perché tre livelli
La logica di HA è: una cosa fisica → un dispositivo → tante entità.
Prendiamo un termostato smart: il termostato è un dispositivo. Ma quel dispositivo espone contemporaneamente diverse “cose leggibili o pilotabili”:
- la temperatura corrente (una entità di tipo
sensor) - il setpoint impostato (una entità di tipo
climate) - il livello batteria (una entità
sensorcondevice_class: battery) - lo stato di connessione (una entità
binary_sensor)
Quattro entità, un solo dispositivo. Se qualcuno domani sostituisce il termostato con uno di un’altra marca, il dispositivo cambia ma le entità con lo stesso significato (temperatura, setpoint, batteria) restano concettualmente le stesse. Da questa asimmetria nasce il motivo per cui HA le tiene separate.
L’area è dove il dispositivo sta fisicamente: “Cucina”, “Salotto”, “Bagno”, “Giardino”. Serve a raggruppare per stanza, e la maggior parte delle card e delle automazioni possono agire “per area” invece che elencare le entità una per una.
Il Registry
Tutti e tre i livelli sono registrati in tre registry interni di HA, salvati in <config>/.storage/:
core.entity_registry: l’elenco di tutte le entità, con id, nome, icona, area, disable state, categoria.core.device_registry: l’elenco di tutti i dispositivi, con modello, produttore, sw version, area.core.area_registry: l’elenco delle aree, con nome e icona.
Non serve saperlo per usare HA, ma è utile ricordarlo per due motivi:
- Rinominare un’entità (in Impostazioni → Dispositivi e servizi → click sull’entità → matita) non tocca il dispositivo che la produce. È solo un’etichetta del registry.
- Se un’integrazione crea entità sbagliate o inutili, puoi disabilitarle dal registry senza rimuovere l’integrazione. Restano nascoste finché non le riattivi.
Nominare bene le entità
L’entity_id (es. sensor.termostato_camera_temperatura) è il nome tecnico che le automazioni useranno per riferirsi all’entità. Il friendly name (“Camera. Temperatura”) è quello che vedi in UI. Puoi cambiare entrambi, ma con criteri diversi.
Entity_id: cambialo appena l’integrazione crea l’entità e finché non l’hai usata in nessuna automazione. Cambiarlo dopo significa rompere tutte le automazioni che la referenziano. Formato consigliato: dominio.stanza_dispositivo_grandezza, tutto minuscolo, con underscore. Esempio: sensor.salotto_termostato_batteria.
Friendly name: cambialo quando vuoi, non rompe nulla. Ma tienilo corto e leggibile: “Termostato salotto” batte “TER_SAL_MK2”.
Un buon test
Se scorri la lista entità e in 3 secondi non capisci a cosa serve un’entità solo dal nome, il nome è sbagliato. Rimediare dopo è dieci volte più costoso che farlo subito bene.
Assegnare le aree
Ogni dispositivo dovrebbe stare in un’area. Quando aggiungi una nuova integrazione, HA di solito chiede subito in quale area mettere i dispositivi trovati. Se skippi, li puoi assegnare dopo da Impostazioni → Aree e zone.
Un’entità eredita l’area dal dispositivo di default, ma può essere sovrascritta. In pratica: se il tuo dispositivo “hub Xiaomi” sta in un ripostiglio ma controlla luci in cucina, metti il hub in “Ripostiglio” ma sposta le entità delle luci in “Cucina”. Le automazioni “spegni tutto in cucina” andranno a colpo sicuro.
L’area è anche un target di servizio: puoi dire a HA “spegni tutte le luci in area_id: cucina” invece che elencarle. Se aggiungi una nuova luce in cucina e la assegni all’area giusta, l’automazione la prende automaticamente. È il vantaggio più concreto di tenere le aree in ordine.
Label: quando le aree non bastano
Dalla release 2024.4 HA supporta anche le label (etichette). Servono per raggruppare entità o dispositivi in modo trasversale rispetto alle aree.
Esempi tipici:
- Label
low_battery_alertsu tutti i sensori a batteria che vuoi monitorare, così un’automazione “avvisa se batteria sotto il 20%” li raccoglie tutti insieme, anche se sono in aree diverse. - Label
bambinisu tutte le luci e prese delle stanze dei bambini, per una scena “buonanotte” indipendente dall’area geografica. - Label
esternosu tutte le entità che agiscono all’aperto, per differenziarle da “interno”.
Le label sono a molti-a-uno (un’entità può avere più label). Non sostituiscono le aree, le complementano.
Categorie di entità
Aprendo il dettaglio di un’entità, in Impostazioni → Impostazioni avanzate, vedi il campo “Categoria” con tre valori possibili:
| Categoria | Cosa significa in pratica |
|---|---|
| (nessuna) | Entità primaria, mostrata di default nelle card e nelle dashboard automatiche |
| Configurazione | Entità che serve a configurare il device, non a mostrarne lo stato (es. un select per il modo di funzionamento del termostato) |
| Diagnostica | Entità informativa, tipo “signal strength”, “battery level”, “firmware version” |
La categoria non cambia il funzionamento dell’entità, ma cambia dove appare. Le “Diagnostica” e “Configurazione” sono nascoste dalle card “auto” e da molte scorciatoie di UI, così la vista principale resta pulita.
Il caso pratico dei nomi duplicati
Un problema molto comune quando l’installazione cresce: hai tre termostati, uno per stanza, e Xiaomi li ha chiamati tutti “Thermostat”. Nella lista entità vedi tre climate.thermostat, climate.thermostat_2, climate.thermostat_3 e non capisci più quale è quale.
Soluzione:
- Rinomina i dispositivi (non le entità!) in “Termostato camera”, “Termostato salotto”, “Termostato bagno”.
- Assegna a ognuno l’area giusta.
- Le entità figlie del dispositivo automaticamente si aggiornano con nomi coerenti.
Molti device picker (compreso quello di Chronos) mostrano l’area dell’entità accanto al nome proprio per aiutare in questa situazione.
Quando ripulire il registry
Ogni tanto capita: cambi un dispositivo, disinstalli un’integrazione, ti resta un’entità “unavailable” da mesi. È vecchia roba che vive nel registry ma non ha più nessuno che la aggiorni.
Dal Registro entità (Impostazioni → Dispositivi e servizi → in alto a destra “Registro entità”) puoi filtrare per “unavailable” e vederle tutte in una lista. Prima di cancellarle, verifica che non stiano solo temporaneamente offline (un sensore Zigbee con la batteria morta risulta “unavailable” ma torna appena cambi la batteria).
Regola: se un’entità è unavailable da 60+ giorni e sei sicuro che il device è andato o è stato disinstallato, cancella dal registry. Se rimuovi anche il dispositivo, tutte le sue entità sparano assieme.
Ricapitolando
- HA organizza le cose in entità → dispositivo → area.
- Un dispositivo esporrà spesso più entità.
- Cura i nomi e le aree fin dall’inizio, o pagherai il debito dopo.
- Le label sono per raggruppare trasversalmente rispetto alle aree.
- Le entità unavailable da tempo vanno rimosse dal registry per non zavorrare la lista.