community italiana di domotica personale
 
Controllare un ventilatore sulla base di un range termico tramite Home Assistant (v2)

Controllare un ventilatore sulla base di un range termico tramite Home Assistant (v2)

SCOPI DEL PROGETTO:
  • Gestire accensione e spegnimento di un ventilatore in modo automatico in base a un range (intervallo) di temperature
  • Livello di difficoltà: basso
  • Costo: n.a.
CONCETTI AFFRONTATI:
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
  • Il computer sul quale è in esecuzione Home Assistant
  • Un ventilatore già modificato/controllato tramite un attuatore domotico (tipo smart plug, o altro, vedi esempio) integrato a Home Assistant
  • Un sensore di temperatura già integrato in configurazione Home Assistant
PROGETTO INDICATO a UTENTI CON ISTALLAZIONE:
Ambienti Home Assistant HassOS-Supervised-Core
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione progetto: 1.1

Ventilatore da terra

Abstract

Molte persone amano l’uso del ventilatore, nella stagione calda, in luogo del climatizzatore/condizionatore. Questo perché esso fornisce, per alcuni, un refrigerio più piacevole, specialmente di notte. Il problema, sopratutto in quest’ultimo caso d’uso, sta nel fatto che l’accensione costante alla lunga diventa fastidiosa e lo spegnimento prima di coricarsi lo è altrettanto perché porta a sentire caldo nelle prime ore di sonno.

La domotica ci viene in aiuto. Il presente progetto permetterà di configurare presso Home Assistant un meccanismo automatico tale da fornire all’utente la possibilità di scegliere una temperatura massima al raggiungimento della quale il ventilatore si accenda automaticamente e una minima al di sotto della quale esso si spenga, sempre automaticamente.

Nella prima versione di questo progetto abbiamo proposto l’utilizzo di uno slider; in questa versione utilizziamo un più appropriato termostato virtuale grazie all’adozione della piattaforma “Generic Thermostat“, una delle figlie del componente “Climate“. Questa piattaforma consente di creare un termostato virtuale che agisca su un dato switch (accendendolo e spegnendolo) a fronte del raggiungimento/allontanamento rispetto a una data temperatura target scelta dall’utente.

N.b. Ovviamente questo mini-progetto può essere applicato a qualsiasi entità di tipo switch: tutto quanto spiegato vale anche per ventilatori a pale da soffitto e altre tipologie di impianti, purché integrati a Home Assistant come “Switch”.

Si parte

Assunzioni

Si assume che presso la configurazione di Home Assistant siano presenti le seguenti entità:

  • uno “Switch chiamato “ventilatore” (“switch.ventilatore”) che corrisponda all’attuatore che eroga/interrompe corrente al ventilatore (vedi progetto esemplificativo e relative considerazioni) – in sostanza, che lo accende/spegne;
  • un “Sensor” di temperatura chiamato “temperatura” (“sensor.temperatura”) che fornisca la temperatura istantanea della stanza in cui è presente il ventilatore con una risoluzione al decimo di grado centigrado.

Noi abbiamo testato la cosa utilizzando un sensore di temperatura Shelly H&T e un attuatore singolo canale Sonoff Basic R3; in alternativa si può utilizzare una qualunque sensore integrabile (Xiaomi/LUMI, Xiaomi Bluetooth ecc.) e una qualsiasi presa intelligente integrabile (la Shelly Plug S e molte altre) o attuatore a singolo canale.

Vetrina - Offerte del giorno

Creazione del termostato

Creare un termostato dati gli assunti di cui sopra è piuttosto elementare. La configurazione proposta è la seguente:

climate
  - platform: generic_thermostat
    name: Ventilatore
    heater: switch.stufetta
    target_sensor: sensor.temperatura
    min_temp: 17
    max_temp: 25
    ac_mode: false
    target_temp: 27
    cold_tolerance: 0.2
    hot_tolerance: 0.2
    initial_hvac_mode: "off"
    precision: 0.1

Questa configurazione definisce un’entità “Climate” chiamata climate.ventilatore.

Vediamo i campi relativi alla configurazione:

name Definisce il nome dell’entità
heater Qui si indica quale sia l’entità acceso/spento da controllare (nel nostro caso switch.ventilatore)
target_sensor Il sensore di temperatura da utilizzare per capire se lo switch indicato nel campo heater debba venire acceso o spento in relazione alla temperatura target impostata dall’utente
min_temp Indica quale sia la temperatura target minima regolabile
max_temp Indica quale sia la temperatura target massima regolabile
ac_mode Impostato a “true” fa funzionare l’entità “Climate” come fosse un climatizzatore
target_temp La temperatura target di default
cold_tolerance Quanti gradi di tolleranza fredda vengono considerati (se lo imposto a 0.5 e la temperatura target è 27, lo switch viene spento sotto i 26.5)
hot_tolerance Quanti gradi di tolleranza calda vengono considerati (se lo imposto a 0.5 e la temperatura target è 27, lo switch viene acceso sopra i 27.5)
initial_hvac_mode La modalità iniziale (quando parte Home Assistant) dell’entità
precision La precisione di analisi di comparazione temperatura target/temperatura rilevata

Uso

Naturalmente l’entità così generata può essere utilizzata manualmente presso l’interfaccia Home Assistant, consentendo all’utente di regolare con semplicità la temperatura target tramite l’utilizzo di una “card” grafica di tipo termostato:

Home Assistant - Generic Thermostat - Ventilatore

Ovviamente nessuno vieta di utilizzarla anche tramite automazioni, magari attivandola automaticamente impostando delle temperature target a fronte di determinati scenari, magari in abbinamento a un sensore di benessere, oppure disattivandola per esempio quando si esce di casa, e così via.

N.b. Usiamo i termini attivare/disattivare anziché accendere/spegnere per non generare confusione. L’accensione e lo spegnimento dell’entità switch (quale che sia) avviene quando l’entità climate è attiva e quando si raggiunge o meno la temperatura target impostata. Se l’entità climate è disattiva, anche a fronte del raggiungimento (o meno) della temperatura target precedentemente impostata non ci sarà alcuna azione sullo switch

Mettiamo per esempio di voler disattivare l’entità climate (quindi evitare eventuali accensioni non volute del ventilatore) quando usciamo di casa. In un’ipotetica automazione dentro/fuori casa, nel blocco action da innescare automaticamente quando si abbandona casam imposteremmo qualcosa del genere:

# parte finale dell'automazione che si attiva quando si esce di casa
...
    action:
      action: climate.turn_off
      entity_id: climate.ventilatore

Così facendo, l’entità climate.ventilatore verrà automaticamente disattivata ogni qual volta si esce.


Un esempio di andamento della temperatura durante una notte estiva controllata con questa tecnica è rappresentata nel seguente esempio (si noti l’andamento a zig-zag della temperatura durante la notte). L’automazione è stata disattivata manualmente all’una, ma prima di quell’ora:

Grafico temperature Home Assistant

Ovviamente si tratta solo di una rappresentazione esemplificativa: come sempre, il limite è la fantasia, pertanto sarà nelle corde dell’utente provvedere a personalizzare la rappresentazione come meglio crede.

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.