Piattaforma Home Assistant “Generic Thermostat” (termostato generico)

3 minuti di lettura
Produttore: Home Assistant Community
Disponibilità: incluso nell’HUB personale Home Assistant
Categoria: software
Tipologia: piattaforma Home Assistant
Famiglia: componente “Climate” Home Assistant
Difficoltà di implementazione: bassa

La piattaforma “Generic Thermostat” è utile per definire presso la configurazione di Home Assistant un termostato di tipo generico, ovvero non legato a nessuna tecnologia specifica. Differentemente da altre piattaforme (eg. “MQTT HVAC“), un’entità creata usando questa piattaforma si “limita” ad attivare/disattivare uno switch (un interruttore) – precedentemente definito in configurazione – a fronte del superamento di una soglia termica definita dall’utente in relazione alla temperatura dell’ambiente, rilevata tramite un sensore termico – anch’esso precedentemente definito in configurazione.

Ovviamente, tale switch dovrà in qualche modo effettuare, a fronte della propria attivazione/disattivazione, la conseguente azione verso un qualche impianto di produzione calore. Ma ci arriviamo.

Tale termostato generico è in grado di gestire switch che controllino l’attivazione di impianti di riscaldamento o di raffreddamento: i parametri di configurazione di questa piattaforma permettono di gestire entrambe questi tipi di unità termiche. Non è però possibile controllare contemporaneamente più switch: ogni entità definita tramite questa piattaforma controlla un solo switch alla volta.

Nel caso di impianti di riscaldamento l’entità attiva lo switch in caso la temperatura dell’ambiente sia inferiore a quella target impostata dall’utente; viceversa, nel caso di unità di raffrescamento lo switch indicato in configurazione viene attivato quando la temperatura dell’ambiente è maggiore di quella target.

Un esempio d’uso di quest’ottima piattaforma è nel progetto di domotizzazione di un impianto di riscaldamento autonomo con l’ausilio di un attuatore Sonoff Basic modificato.

Configurazione

Per creare un’entità Climate” (clima) tramite questa piattaforma il blocco da inserire presso la configurazione “configuration.yaml” di Home Assistant è di base analoga alla seguente:

# Esempio di configurazione
climate:
  - platform: generic_thermostat
    name: Riscaldamento
    heater: switch.riscaldamento_sala
    target_sensor: sensor.temperatura_sala

Dove le proprietà di personalizzazione sono:

name(stringa, opzionale) – Il nome dell’entità.
heater(stringa, obbligatoria) – Il nome dell’entità switch (interruttore) da controllare. Diventa uno switch “aria condizionata” quando il campo “ac_mode” è impostato a “true“.
target_sensor(stringa, obbligatoria) – Il nome dell’entità sensor (sensore) dal quale attingere il valore della temperatura dell’ambiente nel quale è inserito l’impianto clima.
min_temp / max_temp(intero, opzionale) – L’intervallo di temperature nel quale far lavorare il termostato. Default: 7/35
target_temp(intero, opzionale) – La temperatura target di default all’avvio di Home Assistant.
ac_mode(booleano, opzionale) – Impostato a “false” assegna all’entità il ruolo di riscaldamento, a “true” il ruolo di raffrescamento.
min_cycle_duration(interno, opzionale) – Tempo per il quale lo switch deve trascorrere in un dato stato (acceso/spento) prima di ricevere dall’entità un cambio di stato. Deve contenere almeno una di queste entry: “days:”, “hours:”, “minutes:”, “seconds:”, “milliseconds:”.
cold_tolerance(decimale, opzionale) – Numero che indica la tolleranza sulla temperatura target in caso di produzione di calore. Se per esempio è impostato a 0.5 e la temperatura target è 25 gradi, lo switch viene attivato a una temperatura inferiore a 24.5 gradi.
hot_tolerance(decimale, opzionale) – Numero che indica la tolleranza sulla temperatura target in caso di produzione di freddo. Se per esempio è impostato a 0.5 e la temperatura target è 25 gradi, lo switch viene attivato a una temperatura superiore a 25.5 gradi.
keep_alive(intero, ozionale) – Alcuni dispositivi hanno bisogno della ripetizione del comando di accensione ogni tot. Impostando questo parametro, si indica ogni quanto tempo tenere questo comportamento. Deve contenere almeno una di queste entry: “days:”, “hours:”, “minutes:”, “seconds:”, “milliseconds:”.
initial_operation_mode(opzionale) – Modalità operativa iniziale. Può essere “off” o “auto“.
away_temp(intero, opzionale) Indica la temperatura target da impostare in modalità away con termostato acceso (modalità “auto”). Utile in caso di automazione legata alla presenza/assenza degli inquilini.

Un esempio di configurazione completa è il seguente:

# Esempio di configurazione
climate:
  - platform: generic_thermostat
    name:Riscaldamento
    heater: switch.riscaldamento_sala
    target_sensor: sensor.temperatura_sala
    min_temp: 15
    max_temp: 21
    ac_mode: False
    target_temp: 17
    cold_tolerance: 0.3
    hot_tolerance: 0
    min_cycle_duration:
      seconds: 5
    keep_alive:
      minutes: 3
    initial_operation_mode: "off"
    away_temp: 16

Implementazione

Questa piattaforma è stata implementata con successo in un progetto ad hoc volto a domotizzare un impianto di riscaldamento tramite Sonoff Basic e senza un termostato fisico.


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.