Installare dei dispositivi intelligenti per controllare la climatizzazione della propria casa è sicuramente un modo per risparmiare, con un occhio anche alla salvaguardia del pianeta, ottimizzando i consumi con pianificazioni aderenti alle esigenze ed alle abitudini di tutta la famiglia, potendo agire stanza per stanza e dispositivo per dispositivo. Per questo, ad esempio, abbiamo introdotto nella nostra casa smart il riscaldamento mediante Tado.
Ma è sufficiente? Certo che no!!
Al netto di una pianificazione ottimale, per poter ridurre maggiormente gli sprechi ci vengono in aiuto le potenzialità del nostro hub domotico. come noto, una corretta areazione quotidiana della casa è necessaria, ma ha un impatto importante sul cima interno ed è difficile trovare il momento migliore per farlo. Ad esempio, in inverno è sempre meglio areare le stanze nelle ore più calde e tenere invece chiusi gli infissi quando i termosifoni sono accesi, a maggior ragione se il calorifero è posizionato, come quasi sempre, proprio sotto la finestra. Viceversa, in estate, è consigliabile areare nelle prime ore del mattino, quando la temperatura non è ancora quella massima, anche in questo caso spegnendo eventuali apparecchi di condizionamento.
Nell’esempio presentato in questo post assumiamo di essere nel periodo invernale, pertanto parliamo di caloriferi. Tuttavia, generalizzando, tutto quanto andremo descrivere è perfettamente adattabile al contesto invernale, dove il dispositivo su ci andremmo ad agire sarebbe un condizionatore oppure un deumidificatore.
Cosa vogliamo fare
Una casa smart è in grado di adeguarsi autonomamente ed automaticamente alle condizioni che si verificano. Nello specifico quindi, vogliamo che il nostro hub di domotica rilevi l’apertura di una finestra in prossimità dei caloriferi e provveda a spegnere questi ultimi. Viceversa, quando la finestra viene chiusa, il riscaldamento può essere riattivato e riprendere il suo funzionamento come pianificato.
Nota su Tado Le funzionalità avanzate descritte in questo e in altri post dedicati al riscaldamento intelligente mediante dispositivi Tado, sono comunque disponibili, in modo più o meno immediato, mediante app. Nel caso del rilevamento finestre aperte, l’app si limita tuttavia a notificare l’utente, mentre l’azione automatica conseguente sul calorifero richiede la sottoscrizione di un abbonamento.
Cosa ci serve
Ricapitoliamo l’elenco della spesa, in aggiunta ai dispositivi visti qui:
- Sensori porte/finestre già integrati in HA, ad esempio uno dei seguenti:
- Xiaomi Aqara Sensore Porte/Finestre
- Xiaomi Mijia Sensore Porte/Finestre - nel mio caso ho usato questo
La logica
Il funzionamento dell’automazione è molto semplice: mediante i sensori installati sulle finestre, rileviamo l’apertura e la chiusura di queste per spegnere e poi riaccendere le valvole di caloriferi che si trovino nelle immediate vicinanze. In questo modo eviteremo che, a fronte di una temperatura percepita più bassa, la valvola dei caloriferi si apra oltremodo, aumentando il calore prodotto e quindi disperso dalle fineste aperte. Viceversa, riporteremo il dispositivo alla sua impostazione pianificata (modalità automatica) quando la finestra sarà richiusa. Defniremo, inoltre, un tempo minimo di apertura/chiusura delle finestre da attendere prima di andare ad agire sui caloriferi, in modo da non scatenare l’automazione quando non effettivamenet necessario.
Scriviamo i file yaml
In Home Assistant sono state introdotte recentemente le Blueprint. Si tratta di uno strumento molto utile che consente di creare modelli di automazioni o addirittura utilizzare modelli scritti da altri e disponibili online. Lo scenario che stiamo descrivendo è perfetto per mettere in pratica l’utilizzo vantaggioso delle blueprint: possiamo infatti creare un modello di automazione e poi istanziarla per ciascun gruppo di caloriferi e finestre che vogliamo controllare.
Blueprint
Nella cartella di configurazione di HA creiamo se non già presente una cartella blueprints
e in questa la cartella automations
nella quale possiamo posizionare (anche in sottocartelle) i file yaml
con le nostre blueprint di automazioni.
Nel nostro caso, collochiamo il file tado_finestre.yaml
nella sotto-cartella dedicata al dominio: /home/HomeAssistant/.HomeAssistant/blueprints/automations/climate/
.
Rispettando il formato atteso dal file, cominciamo nel definire il nostro modello, specificando nome, descrizione e soprattutto il dominio a cui appartiene l’oggetto che vogliamo modellare, ovvero l’automazione:
blueprint:
name: Finestra aperta spegni Tado
description: Spegni il riscaldamento se la finestra è aperta.
domain: automation
Procediamo indicando quelle che sono le entità utilizzate come input dell’automazione. Nel nostro caso, l’unica misura che andremmo a valutare per scatenare l’azione automatica è lo stato del sensore binario sulla finestra:
input:
window_sensor:
name: finestra
selector:
entity:
domain: binary_sensor
device_class: opening
Allo stesso modo, l’entità obiettivo della nostra azione è la valvola del calorifero nelle vicinanze della fiestra, ovvero il dispositivo di tipo climate
generato dall’integrazione:
climate_target:
name: calorifero
selector:
target:
entity:
domain: climate
Come accennato nel paragrafo introduttivo della logica della nostra automazione, per evitare che qualsiasi apertura/chiusura della finestra azionino lo spegnimento/accensione del calorifero, definiamo un parametro tempo_attesa
che potremo regolare per decidere il tempo di reazione dell’automazione:
time_trigger:
name: tempo_attesa
description: Tempo di apertura della finestra prima dello spegnimento.
default: 30
selector:
number:
min: 10
max: 120
unit_of_measurement: seconds
Definiamo poi due variabili che ci torneranno utili per la notifica di avvenuta automazione:
variables:
climate_target: !input climate_target
room_target: "{{ states[climate_target].attributes.friendly_name }}"
Come si deve comportare la nostra automazione se la finestra viene chiusa e riaperta in un intervallo di tempo inferiore al tempo di attesa definito prima? Per gestire questè proprietà sfruttiamo il parametro di configurazione mode
descritto nella pagina ufficiale: decidiamo che il conteggio del tempo riparta ogni volta che si agisce sulla finestra.
# If motion is detected within the delay, restart the script.
mode: restart
max_exceeded: silent
Realizziamo la logica definendo l’evento scatenante:
trigger:
platform: state
entity_id: !input window_sensor
to: "on"
for: !input time_trigger
E le azioni conseguenti:
action:
- service: climate.turn_off
entity_id: !input climate_target
- service: notify.mobile_app_device
data:
title: "*Finestra aperta in {{ room_target }}*\n"
message: "Riscaldamento SPENTO."
- wait_for_trigger:
- platform: state
entity_id: !input window_sensor
to: 'off'
for: !input time_trigger
- service: climate.set_hvac_mode
data:
entity_id: !input climate_target
hvac_mode: auto
- service: notify.mobile_app_device
data:
title: "*Finestra chiusa in {{ room_target }}*\n"
message: "Riscaldamento AUTO."
Notiamo che, dopo aver spento il riscaldamento, l’automazione si mette in attesa che finestra venga richiusa, mediante l’opzione wait_for_trigger
. Anche in questo caso, agirà sul calorifero solo dopo il tempo prefissato.
Infine mediante il servizio notify
notifichiamo al dispositivo su cui è installata l’app Home Assistant Companion che il calorifero è stato spento o ripristinato.
Automazioni
Nella sezione automation:
del nostro file configuration.yaml
andiamo ad istanziare l’automazione appena modellata, tante volte quante solo le coppie di finestre/caloriferi che intendiamo far gestire in modo automatico dal nostro hub:
automation:
- alias: Clima__Cameretta_Finestra_Tado
use_blueprint:
path: climate/tado_finestre.yaml
input:
window_sensor: binary_sensor.door_window_sensor_abcd0123456789
climate_target: climate.cameretta
time_trigger: 30
Enjoy!