Come già discusso in altri articoli, ottimizzare la climatizzazione della propria casa è un ottimo modo per sfruttare al massimo il nostro hub domotico e garantire sempre il miglior comfort per noi e i nostri cari, oltre che fare un favore al portafoglio.

Spesso, oltre ai classici termosifoni che possiamo domotizzare con Tado, nelle nostre case trovano posto anche stufe o termoarredi elettrici, che magari ci aiutano a riscaldare locali non raggiunti dall’impianto termoidraulico, oppure a migliorarne ulteriormente il comfort (ad esempio per un bagno piacevolmente più tiepido).

Quasi sempre questi elettrodomestici non sono dispositivi nativamente smart, ma possiamo renderli tali in modo piuttosto semplice. Una iniziale domotizzazione può essere l’utilizzo di una presa smart per controllarne l’accensione. Inoltre, con l’aggiunta di un banale sensore di temperatura possiamo “chiudere” il circuito, e controllare efficacemente la temperatura nel locale. Vediamo ora come!

Cosa vogliamo fare

L’obiettivo è domotizzare il riscaldamentro elettrico, aggiungendo un attuatore (la presa smart) in grado di accenderlo e spegnerlo, e di un sensore di temperatura per osservare lo stato dell’ambiente e controllare di conseguenza il riscaldamento.

Questo ci permetterà di realizzare un vero e proprio termostato virtuale in Home Assistant.

Avere un termostato virtuale in Home Assistant ci aprirà ad orizzonti di gestione avanzata, ad esempio automazioni per la sua accensione e spegnimento in base all’orario e alla presenza degli abitanti, oppure, come vedremo, l’utilizzo di un pulsante (questa volta fisico) per un’accessibilità semplificata al sistema.

Cosa ci serve

Come anticipato, ci serviremo di due dispositivi smart:

Creiamo il termostato

Una volta che il nostro attuatore e il nostro sensore sono integrati in Home Assistant, la creazione del termostato virtuale è questione di una rapida modifica al solito file di configurazione configuration.yaml, al quale dobbiamo aggiungere il seguente blocco:

climate:
  - platform: generic_thermostat
    name: Termostato Bagno
    heater: switch.scaldasalviette
    target_sensor: sensor.t_bagno
    min_temp: 15
    max_temp: 24
    target_temp: 19
    cold_tolerance: 0.3
    hot_tolerance: 0
    min_cycle_duration:
      seconds: 60
    initial_hvac_mode: "off"
    away_temp: 16
    precision: 0.1

Vediamo ora di approfondire i parametri principali che abbiamo impostato:

  • heater: è il nostro elemento riscaldante connesso, che dovrà essere acceso e spento dal termostato virtuale. Nel mio caso, è un termoarredo elettrico collegato ad una presa smart.
  • target_sensor: è il sensore con cui il termostato confronterà la temperatura impostata al fine di accendere o spegnere il componente heater.
  • min_temp / max_temp: sono le temperature massime e minime a cui potremo impostare il termostato nell’interfaccia Lovelace.
  • target_temp: è la temperatura con cui viene impostato il termostato all’avvio di Home Assistant.
  • cold_tolerance: è la tolleranza permessa alla target_temp rispetto al valore di temperatura, prima che avvenga l’accensione del riscaldamento. Detto più semplicemente con un esempio, con una tolleranza di 0.3 e una temperatura target di 19 °C, il riscaldamento partirà dai 18.7 °C in giù misurati nell’ambiente.
  • hot_tolerance: è lo stesso concetto del parametro precedente, ma questa volta per lo spegnimento del riscaldamento. Personalmente ho voluto impostare la tolleranza a 0, così che il riscaldamento si spenga esattamente al raggiungimento della temperatura impostata, evitando di riscaldare (e consumare) più del necessario.
  • min_cycle_duration: è il tempo minimo in cui il dispositivo riscaldante dovrà rimanere acceso oppure spento dopo un cambio di stato. Questo parametro è utile per evitare che, in caso di tolleranze nulle e di un sensore molto risoluto e vicino al riscaldamento ci siano continui accensioni/spegnimenti del riscaldamento. Diciamo che con una tolleranza minima e un sensore ben posizionato, il suo utilizzo è del tutto facoltativo, ma ho voluto comunque impostare un tempo minimo di 60 secondi prima di un nuovo cambio di stato.

Per tutti gli altri parametri e per una descrizione più dettagliata, vi rimandiamo alla documentazione ufficiale della piattaforma Generic Thermostat

La gestione del termostato da Lovelace

Ora che abbiamo impostato il tutto, possiamo aggiungere alla nostra dashboard Lovelace il componente grafico del termostato. Il suo utilizzo è piuttosto semplice, ma lo vediamo qui brevemente.


Con lo slider possiamo impostare la temperatura target, dove inizio e fondo scala provengono dalle min_temp e max_temp definite in precedenza. Al variare del set point, vedrete il valore temperatura più in piccolo cambiare, mentre il valore più in grande rappresenta la temperatura attualmente registrata dal sensore. Al di sotto delle temperature, viene riportato lo stato del termostato, che può essere:

  • Spento
  • Inattivo: quando il termostato è acceso ma la target_temp è minore o uguale alla temperatura registrata dal sensore. Non appena la temperatura nel locale scenderà, il termostato farà in modo di accendere il riscaldamento.
  • Riscaldamento: quando il termostato è acceso e la target_temp è maggiore della temperatura registrata dal sensore, facendo sì che anche il riscaldamento sia acceso.

Infine, sul fondo del componente, sono presenti i due pulsanti che permettono l’accensione e lo spegnimento del termostato.

Bonus track - La gestione del termostato tramite pulsante fisico

Il termostato ora è pronto a regolare efficacemente la temperatura del nostro locale, e l’articolo potrebbe benissimo chiudersi qui.

Spesso però un comando fisico può essere molto più comodo per gestire il termostato, in particolare se lasciato nel locale riscaldato.

Allo scopo potrete utilizzare un altro componente smart dell’universo Xiaomi (l’avrete capito, siamo Mi Fan): il Wireless Switch, un pulsante che potete posizionare ovunque vogliate per casa, a cui poter associare fino a tre azioni qualsiasi.

Vi lasciamo quindi con due automazioni per l’accensione e lo spegnimento del termostato tramite pressione singola del pulsante.

Come ulteriore e divertente personalizzazione, ho fatto in modo che dopo l’accensione del termostato alla pressione del pulsante, il Google Home posizionato in bagno annunci l’avvenuta accensione e le due temperature correnti, quella impostata nel termostato e quella registrata dal sensore nel locale.

automation:
  - alias: Accensione Termostato Bagno da pulsante
    mode: single
    trigger:
      - platform: device
        device_id: <DEVICE_ID>
        domain: homekit_controller
        type: button1
        subtype: single_press
    condition:
      - condition: state
        entity_id: climate.termostato_bagno
        state: 'off'
    action:
      - type: turn_off
        entity_id: switch.scaldasalviette
        domain: switch
      - service: climate.turn_on
        data: {}
        entity_id: climate.termostato_bagno
      - service: media_player.volume_set
        data:
          entity_id: media_player.bagno
          volume_level: '0.2'
      - service: tts.google_say
        entity_id: media_player.bagno
        data:
          message: "Termostato Bagno Acceso. Temperatura impostata {{state_attr('climate.termostato_bagno', 'temperature')}} gradi. Temperatura attuale {{state_attr('climate.termostato_bagno', 'current_temperature')}}"
          language: "it"
  - alias: Spegnimento Termostato Bagno da pulsante
    mode: single
    trigger:
      - platform: device
        device_id: <DEVICE_ID>
        domain: homekit_controller
        type: button1
        subtype: single_press
    condition:
      - condition: state
        entity_id: climate.termostato_bagno
        state: 'heat'
    action:
      - service: climate.turn_off
        data: {}
        entity_id: climate.termostato_bagno
      - service: media_player.volume_set
        data:
          entity_id: media_player.bagno
          volume_level: '0.2'
      - service: tts.google_say
        entity_id: media_player.bagno
        data:
          message: "Termostato Bagno Spento"
          language: "it"

Conclusione

Con questo articolo abbiamo visto come rendere smart e regolare apparati elettrici di riscaldamento, anche datati. Il componente Generic Thermostat è un valido alleato anche in situazioni più complesse, con interi locali riscaldati elettricamente, oppure per afficancare e integrare altri termostati, smart o meno, che agiscono sulla parte tradizionale dell’impianto di riscaldamento. Inoltre, con le possibilità di integrazione fornite da Home Assistant, il limite alle possibili automazioni resta solo la fantasia!