Produttore: Home Assistant Community Disponibilità: incluso nell’HUB personale Home Assistant Categoria: software Tipologia: piattaforma Home Assistant Famiglia: componente “Binary Sensor” Home Assistant Difficoltà di implementazione: medio/bassa |
La piattaforma “Template Binary Sensor”, figlia del componente “Binary Sensor” di Home Assistant, è utile per implementare dei sensori binari su base template.
Tali sensori binari cambiano di stato da “off” o “on” in base alle caratteristiche impostate nel template che li alimenta. Si tratta di una piattaforma particolarmente utile in fase di personalizzazione della propria configurazione, per definire degli stati derivanti da altri o da gruppi di altri stati.
Considerazioni
AVVIO DI HOME ASSISTANT
Se all’avvio di Home Assistant una o più delle entità coinvolte nel calcolo dello stato di un determinato sensore “Template Binary Sensor” non dovessero essere ancora disponibili, il sensore assumerebbe un valore “unknown” e il frontend ritornerebbe un errore.
Per evitare questo, utilizzare la funzione “is_state()“. Per esempio, sostituendo
{{ states.switch.source.state == ‘on’ }}
con l’omologo
is_state(‘switch.source’, ‘on’) }}
dato che quest’ultimo ritorna sempre “true” o “false“, il “Template Binary Sensor” non potrà mai trovarsi in stato “unknown“.
ID ENTITÀ
Si consiglia di utilizzare sempre un esplicito elenco di ID piuttosto che entità di raggruppamento.
Esempi
SENSORE A SOGLIA
Poniamo il caso di avere un sensore di assorbimento (“sensor.forno“) e assumiamo che oltre un certo valore (diciamo 2,5 Watt) l’elettrodomestico ad esso collegato sia considerato operativo. Possiamo definire un Template Binary Sensor che diventi “on” quando il sensore di assorbimento supera la soglia:
binary_sensor:
- platform: template
sensors:
forno_acceso:
friendly_name: "Forno acceso"
device_class: heat
value_template: "{{ states('sensor.forno')|float > 2.5 }}"
SWITCH TRASFORMATO IN SENSORE
Alcuni sensori di rilevamento presenza vengono integrati su Home Assistant come interruttori (switch) anziché sensori di presenza. Definiamo un sensore (“binary_sensor.apertura_porta“) che “converta” lo stato dell’interruttore in sensore binario:
binary_sensor:
- platform: template
sensors:
apertura_porta:
device_class: motion
value_template: "{{ is_state('switch.porta', 'on') }}"
LA LAVATRICE STA LAVANDO?
Beh, più che un esempio conviene rimandare al progetto che illustra come “dedurre lo stato di un elettrodomestico non-domotico“.
![]() |
ATTENZIONE: 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. |
