SCOPI DEL PROGETTO:
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
|
PROGETTO INDICATO a UTENTI CON ISTALLAZIONE: |
|
NOTE E DISCLAIMER
|
|
Revisione progetto: 1.1 |
Abstract
D’inverno molti apprezzano l’uso di piccole stufe o elementi riscaldanti elettrici, tipicamente a resistenza, ad elementi ceramici o altro. Queste piccole unità permettono di diffondere un piacevole calore: alcuni sono dotati di termostato, in grado di spegnere l’unità al raggiungimento di determinate soglie, altri invece no. Tuttavia, persino quelle dotate di termostato talvolta sono poco efficaci, perché magari la regolazione è imprecisa o confusa dal calore stesso che l’unità accumula durante l’uso.
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 minima nella stanza a di sotto della quale l’unità riscaldante si accenda automaticamente e una massima al di sopra della quale essa si spenga, sempre automaticamente.
In questa guida utilizziamo un 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 unità riscaldanti di ogni tipo, purché integrati a Home Assistant come “Switch”. La stessa cosa si può fare d’estate coi ventilatori.
ATTENZIONE: delegare l’accensione automatica di un’unità termica può rappresentare un potenziale pericolo. Per quanto la presente guida sia a puro scopo didattico, vi consigliamo di prestare particolare attenzione a ciò che realizzate in proprio. L’automazione è un valore, ma non deve rappresentare un pericolo mai. |
Altri progetti disponibili su inDomus dedicate a questi temi sono:
- Definire indicatori di benessere ambientale sulla domotica Home Assistant, con Thermal Comfort
- Calcolare l’umidità assoluta con la domotica Home Assistant: arieggiare (o deumidificare) quando è il momento
- Domotizzare il riscaldamento autonomo tramite contatto pulito, ESPHome e Home Assistant
- Domotizzare un termoventilatore da bagno con Broadlink e Home Assistant
- Controllare un ventilatore sulla base di un range termico tramite Home Assistant (v2)
- Definire un indicatore di benessere estivo sulla domotica Home Assistant
- Muffa e domotica: come mitigare il problema tramite Home Assistant (sensore di rischio, e altro)
- Rendere domotico un ventilatore portatile
- Cambio stagione: notifiche Home Assistant quando la temperatura esterna è maggiore dell’interna (e viceversa)
- Integrare un climatizzatore tradizionale a Home Assistant via Broadlink e SmartIIR (v2)
- Domotizzare il riscaldamento autonomo tramite contatto pulito, Tasmota e Home Assistant
- Creare un temporizzatore per sistemi clima su Home Assistant
- Ottimizzare il riscaldamento autonomo con Home Assistant tramite climatizzatore automatico
- Rendere domotico uno scaldabagno elettrico tramite Sonoff Basic (o altri)
- Domotizzare un termoventilatore da bagno con Apple HomeKit e Broadlink (via Homebridge)
Si parte
Assunzioni
Si assume che presso la configurazione di Home Assistant siano presenti le seguenti entità:
- uno “Switch“ chiamato “stufetta” (“switch.stufetta”) che corrisponda all’attuatore che eroga/interrompe corrente all’unità riscaldante – in sostanza, che lo accende/spegne (attenzione a scegliere attuatori in grado di supportare l’assorbimento elettrico massimo dell’unità riscaldante);
- un “Sensor” di temperatura chiamato “temperatura” (“sensor.temperatura”) che fornisca la temperatura istantanea della stanza in cui è presente l’unità riscaldante con una risoluzione al decimo di grado centigrado.
Noi abbiamo testato la cosa utilizzando un sensore di temperatura Xiaomi e una presa intelligente Shelly Plug S; in alternativa si può utilizzare una qualunque sensore integrabile e una qualsiasi presa intelligente integrabile o attuatore a singolo canale, purché adeguata al carico elettrico da supportare.
Creazione del termostato
Creare un termostato dati gli assunti di cui sopra è piuttosto elementare. La configurazione proposta è la seguente:
climate - platform: generic_thermostat name: Stufetta heater: switch.stufetta target_sensor: sensor.temperatura min_temp: 24 max_temp: 31 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.stufetta.
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.stufetta) |
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 “false” fa funzionare l’entità “Climate” come gestione di un elemento riscaldante |
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 di Home Assistant, consentendo all’utente di regolare con semplicità la temperatura target tramite l’utilizzo di una “card” grafica di tipo termostato:
Ovviamente nessuno vieta di utilizzarla anche tramite automazioni, magari attivandola automaticamente impostando delle temperature target a fronte di determinati scenari, 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 dell’unità riscaldante) 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: service: climate.turn_off entity_id: climate.ventilatore
Così facendo, l’entità climate.stufetta verrà automaticamente disattivata ogni qual volta si esce.
In base all’orario
Utile è anche un’eventuale automazione che attivi/disattivi l’entità climate.stufetta in base agli orari:
automation:
- alias: "Auto stufetta"
id: "auto_stufetta"
trigger:
- platform: time
id: "attivazione"
at: '19:30:00'
- platform: time
id: "disattivazione"
at: '23:30:00'
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: "attivazione"
sequence:
- condition: state
entity_id: group.famiglia
state: 'home'
- service: climate.set_hvac_mode
data:
entity_id: climate.stufetta
hvac_mode: heat
- conditions:
- condition: trigger
id: "disattivazione"
sequence:
- service: climate.turn_off
entity_id: climate.stufetta
L’automazione prevede due trigger, uno alle 19.30 per l’attivazione e uno alle 23.30 per la disattivazione. Come si nota facilmente nel blocco action, l’attivazione è subordinata alla presenza di qualcuno in casa (utilizzando l’ipotetico gruppo famiglia chiamato group.famiglia), mentre la disattivazione alle 23.30 viene eseguita a prescindere.
Ovviamente, il limite come sempre nella redazione di automazioni come questa è la fantasia.
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. |