community italiana di domotica personale
 
Integrare un climatizzatore tradizionale a Home Assistant via Broadlink e SmartIIR (v2)

Integrare un climatizzatore tradizionale a Home Assistant via Broadlink e SmartIIR (v2)

SCOPI DEL PROGETTO:
  • Domotizzare un climatizzatore/condizionatore tradizionale (o un climatizzatore, o un inverter) in modo da poterlo integrare e utilizzare con Home Assistant (incluso lo stato operativo)
  • Livello di difficoltà: medio/alto
  • Costo: ridotto (<30 €)
CONCETTI AFFRONTATI:
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
  • Un climatizzatore / condizionatore / inverter controllato tramite telecomando ad infrarossi
  • Un attuatore Broadlink in grado di ricevere/inviare codici infrarossi (eg. RM MIni 4)
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: 4.1

condizionatore generico

Abstract

Una delle funzioni più gradite in domotica è quella di poter gestire i propri sistemi clima non solo localmente o remotamente (scenari del tipo “quando esco da lavoro, accendi il clima a 27 gradi, qualora la temperatura nella stanza sia più alta”) ma anche quella di poter automatizzarne il comportamento, magari legato all’effettiva presenza degli inquilini, alla situazione climatica esterna e molto altro.

Mentre per inserire in domotica il controllo degli impianti di riscaldamento autonomo o centralizzato le soluzioni sono molteplici e per lo più economicamente affrontabili (sostituire il termostato nel caso del riscaldamento autonomo, introdurre delle teste termostatiche domotiche per quello centralizzato), per l’ambito del raffrescamento (o del riscaldamento tramite climatizzatori inverter) la situazione è molto diversa.

Al netto di soluzioni interessanti (vedi lo SPECIALE ESTATE), l’unica alternativa per inserire nella propria domotica personale un climatizzatore è – il più delle volte – sostituirlo, acquistandone uno nativamente domotico e integrabile con il nostro HUB personale.

Questo approccio è quindi perdente, in quanto molto difficilmente si può pensare di affrontare una spesa importante solo per introdurre una singola funzionalità aggiuntiva – per quanto pregiata – tanto più nel caso che il condizionatore già presente nel proprio ambiente sia perfettamente funzionante e adeguato al proprio scopo.

Lo scopo di questo progetto è dimostrare come, con una spesa irrisoria, si possa pienamente domotizzare un climatizzatore tradizionale al fine di renderlo compatibile e controllabile tramite gli strumenti di gestione finale collegati alla nostra istanza di Home Assistant.

Per questo progetto utilizzeremo un emettitore infrarossi Broadlink RM4 Mini e un moderno condizionatore: le metodologie qui descritte sono essenzialmente le stesse per praticamente tutti i condizionatori tradizionali controllati tramite telecomando infrarossi, anche i più datati.

Come elencato nell’incipit, è necessario essere in possesso di:

  • un’istanza Home Assistant funzionante (in esecuzione su Windows, macOS, Raspberry Pi: non fa alcuna differenza)
  • un Broadlink RM Mini 4 (o Broadlink modello equivalente purché emetta infrarossi, eg. mod. PRO)
  • un condizionatore/climatizzatore/inverter già operativo.

Si parte

Logica del progetto

Partiamo da un ragionamento semplice.
Dato che:

  • Home Assistant è il nostro “ponte di comando” per il controllo della domotica;
  • Home Assistant, tramite un attuatore Broadlink (eg. RM Mini 4) e il componente “SmartIR Media Player“, può inviare segnali infrarossi/radiofrequenza;
  • il condizionatore è controllabile tramite segnali infrarossi (tipicamente quelli del proprio telecomando),

dunque, è di conseguenza possibile controllare il condizionatore tramite Home Assistant, quindi è possibile integrarlo al resto della domotica, automazione inclusa.

Analisi

I modelli di condizionatore esistenti sul mercato sono i più disparati. Alcuni si limitano ad accendersi ed erogare aria fredda fino al raggiungimento di una data temperatura target (ovvero la temperatura impostata); altri hanno ventole regolabili nella velocità di emissione dell’aria, programmi di raffreddamento automatici, modalità silenziose, alette direzionali regolabili e altro. Alcuni forniscono anche funzioni di ventilazione, altri anche di deumidificazione, per non parlare della funzionalità “inverter”, che permette di utilizzare l’unità non solo per il raffrescamento estivo ma anche per il riscaldamento invernale (tale funzionalità è oggetto di questo interessante progetto per l’efficientamento del riscaldamento autonomo).

Il presente progetto provvederà a configurare presso Home Assistant – a mo’ d’esempio – un’entità “Climate” che rappresenti il nostro condizionatore/inverter in grado di erogare sia freddo che caldo, unitamente a diverse modalità di emissione dell’aria.

Ovviamente questo progetto dà per scontato che i codici infrarossi per il condizionatore da domotizzare siano già disponibili tra quelli allegati al componente. Per effettuare questa verifica è sufficiente sfogliare l’elenco dei codici disponibili presso questo indirizzo (vedi in basso alla voce “Available codes for climate devices“). Tale elenco si aggiorna man mano grazie allo sviluppatore, il quale mette ciclicamente a disposizione i codici forniti dalla community internazionale.

Qualora i codici per la propria unità non siano disponibili “preconfezionati” non c’è comunque da disperare perché, come anticipato, vedremo più avanti come definire in autonomia un proprio file di configurazione.

Configurazione del dispositivo Broadlink

Per utilizzare il componente “SmartIR” è necessario che l’attuatore (quale sia il modello) sia già configurato e quindi presente sulla nostra Wi-Fi. Per far in modo che l’emettitore infrarosso entri (e resti) dentro la vostra Wi-Fi è sufficiente utilizzare l’app mobile  “e-Control” (per Android e iOS) e seguire le istruzioni a schermo. Alternativamente utilizzare l’app Broadlink (per Android e iOS, ma usarla solo in caso l’attuatore non sia supportato dall’app e-Control): in questo caso provvedere ad eseguire solo la procedura che fornisce all’attuatore le coordinate d’accesso alla Wi-Fi, poi interrompere e non completare la configurazione.

Finita la prima configurazione una tantum sarà poi necessario che l’attuatore Broadlink possegga, all’interno della nostra Wi-Fi, un IP fisso adottando la tecnica del “MAC Binding” sul router. Per farlo, si consiglia la lettura di questa guida.

All’atto dell’assegnare un IP fisso al Broadlink si consiglia di appuntarsi da parte sia l’IP assegnato sia il “MAC Address” (indirizzo fisico) dell’attuatore: entrambe queste informazioni serviranno più avanti.

Componente Broadlink

Il componente “Broadlink” di Home Assistant è utile per creare due “servizi” di sistema i quali avranno funzione, rispettivamente, di invio e ricezione codici infrarossi (e in radiofrequenza, nei modelli supportati).

Tali servizi prendono il nome di:

  • remote.learn_command
  • remote.send_command

Il primo servizio sarà necessario per l’apprendimento di codici, il secondo per l’invio (utilizzato dalle entità che definiremo in configurazione.

Allo scopo di configurare tali servizi è necessario integrare il proprio attuatore Broadlink a Home Assistant.
A tal proposito si rimanda alla guida preposta.

NOTA IMPORTANTE: dato che il componente cardine di questa guida, SmartIR Climate, sia appoggia sui servizi “remote” di cui sopra, va da sé che senza una corretta integrazione Broadlink, il resto della guida non funzionerà. Pertanto, non proseguire senza aver correttamente integrato gli emettitori.

Installazione di SmartIR

Dato che “SmartIR” è un componente aggiuntivo ed esterno a Home Assistant, esso va installato.
Per farlo è possibile farlo manualmente o, più facilmente, tramite HACS.

La breve guida all’installazione di SmartIR è disponibile qui.

Vetrina - Offerte del giorno

Configurazione di SmartIR

A questo punto siamo pronti per definire l’entità di tipo “Climate” che rappresenterà il nostro condizionatore presso Home Assistant.
Per far ciò è sufficiente inserire nel file di configurazione di Home Assistant un blocco di questo tipo:

smartir: 

climate:
  - platform: smartir
    name: Mitsubishi
    device_code: 1000
    controller_data: nome_della_entità_remote_broadlink
    temperature_sensor: sensor.temperature
    humidity_sensor: sensor.humidity
    power_sensor: binary_sensor.stato_accensione

Le variabili si spiegano come segue:

platform (stringa, richiesta) Nome della piattaforma. Dev’essere indicato necessariamente “smartir“.
name (stringa, opzionale) Il nome dell’entità “Climate” presso Home Assistant.
device_code (intero, richiesto) Rappresenta il file di configurazione in notazione JSON (contenente codici e caratteristiche) che il componente utilizzerà (cercandolo dentro “smartir/codes/climate“) per “modellare” l’entità. È possibile sceglierlo a monte cercando il proprio modello presso questo elenco.
In caso di assenza del proprio modello, vedremo di definirne uno ad hoc a seguire nel progetto.
controller_data (stringa, richiesta) Rappresenta il nome entità del remote associato al Broadlink (eg. remote.broadlink) ottenuta dall’integrazione del Broadlink con Home Assistant
controller_command_topic (stringa, opzionale) Topic di comando MQTT collegato alla modalità di controllo tramite servizio “mqtt.publish“. Prevede che MQTT sia già correttamente configurato e funzionante nel network e presso Home Assistant.
temperature_sensor (stringa, opzionale) Rappresenta un eventuale sensore termico presente in configurazione.
humidity_sensor (stringa, opzionale) Rappresenta un eventuale sensore di umidità relativa presente in configurazione.
power_sensor (stringa, opzionale) Rappresenta un eventuale sensore binario (on/off) il quale rappresenti lo stato di accensione dell’unità (spiegato a seguire).

Prima di effettuare questa configurazione presso Home Assistant, è necessario essere a conoscenza di:

  • l’IP del Broadlink tramite il quale inviare i codici (campo controller_data);
  • nome del file JSON che rappresenta la configurazione del proprio condizionatore (campo device_code).

Per quanto riguarda il file di configurazione ci si può trovare davanti a varie situazioni diverse:

  • il file è già disponibile assieme al componente SmartIR (vedi elenco);
  • il file personale è già disponibile perché prodotto per il componente legacy “Broadlink IR Climate”;
  • assenza di file.

Nel primo caso è possibile effettuare la configurazione presso Home Assistant, riavviare e terminare così l’integrazione.
Nel secondo o nel terzo, è necessario creare un nuovo file personale ad hoc prima di terminare la configurazione e riavviare Home Assistant.

File di configurazione personale

Questo paragrafo è d’interesse solo in caso non sia disponibile un file di configurazione preconfezionato (oppure se ne abbia uno costruito per il componente legacy “Broadlink IR Climate“) relativo al proprio modello di condizionatore.

Sarà quindi necessario costruirne uno ad hoc.

Legacy

Per chi avesse attuato la precedente guida basta sul componente  legacy “Broadlink IR Climate“, il gioco è semplice: è sufficiente scaricare ed eseguire questo TOOL per Windows per convertire il vecchio file .ini in un nuovo file JSON, il quale potrà assumere qualsiasi nome (numerico) al di fuori dei nomi già presenti assieme al componente “SmartIR” (eg. “7000.json“).

Fatto ciò, sarà sufficiente copiare il file dentro la cartella “/custom_components/smartir/codes/climate“, configurare correttamente il campo device_code in configurazione e riavviare Home Assistant per terminare l’integrazione.

Da zero

Capire la logica di funzionamento del telecomando

Premessa: al di là dell’uso dell’infrarosso (che diamo per scontato), non tutti i telecomandi funzionano allo stesso modo. A grandi linee, però, il modello di comportamento è sempre lo stesso, ovvero quello che andiamo a illustrare.

N.b. per affrontare la restante parte di questo progetto/guida, è necessario avere a disposizione il proprio telecomando, il manuale del proprio condizionatore/climatizzatore/inverter, come riferimento per comprendere con precisione quale siano le funzionalità disponibili.

Il telecomando di una TV ha (solitamente) un funzionamento estremamente banale. Presenta – semplificando – un tasto di accensione/spegnimento, 10 tasti relativi ai numeri da 1 a 10, due tasti per il volume (+ e -) e poco altro. Ogni tasto ha un codice infrarosso specifico. Una volta catturati questi pochi codici basterà riprodurli singolarmente per simulare quindi il telecomando originale.

Il telecomando di un condizionatore è un dispositivo un tantino più complesso. Solitamente, la numerosità dei codici infrarossi è pari al numero di combinazioni date dai vari programmi e modalità selezionabili; in sostanza: la pressione di un dato tasto non produce sempre lo stesso codice infrarosso, tutt’altro. Il codice prodotto è infatti sempre legato alla combinazione di funzionalità in uso nel dato momento.

Spieghiamo meglio. Quella che segue è l’immagine schematica del telecomando preso ad esempio per questo progetto:

Telecomando condizionatore

Come si evince dall’immagine, tale telecomando presenta un tasto (“MODE”) per scorrere le 6 modalità operative (ventilazione – deumidificatore – condizionamento – riscaldamento e altre due “speciali”), due tasti per aumentare o diminuire la temperatura target (da 16º a 31º celsius), un tasto per scorrere le 5 velocità di emissione dell’aria (“FAN”), infine un tasto per scorrere le 5 modalità possibili di oscillazione delle alette direzionali (“SWING”).

Pertanto, i codici trasmissibili dal telecomando, ipotizzando di mantenere costante la temperatura (per semplificare il ragionamento), sono:

6 (modalità operative) x 5 (velocità) x 5 (modalità oscillazione) = 150 codici (possibili combinazioni)

Se poi consideriamo che le temperature possibili sono 14 (da 16° a 30°), i codici possibili in realtà sono:

150 (codici) x 14 (temperature possibili) = 2100 (codici complessivi)

N.b. in realtà il telecomando di questo esempio non prevede di impostare anche una temperatura nelle modalità “ventilazione” e “deumidificazione” (l’indicatore sparisce), ma quanto sopra riportato è per far capire il concetto e dare un ordine di grandezza.

Un condizionatore solitamente è stupido, nel senso che “non ricorda l’ultima cosa che stava facendo l’ultima volta che si trovata acceso”. Questo è il motivo per cui il telecomando è in grado di inviare così tanti codici (e il condizionatore è in grado di capirne altrettanti): perché premendo un tasto si invia un codice dato dalla combinazione delle impostazioni in quel momento impostate sul telecomando + il cambiamento portato dal pulsante specifico premuto.

Per esempio, l’invio del codice corrispondente a:

  • modalità: condizionamento
  • temperatura target: 27°
  • velocità ventole: 1
  • modalità di oscillazione delle alette: 1

piuttosto che:

  • modalità: riscaldamento
  • temperatura target: 27°
  • velocità ventole: 3
  • modalità di oscillazione delle alette: 5

ha un effetto immediato nel cambiamento operativo dell’unità, comunque stia precedentemente operando.

Tutto questo complica non poco il raggiungimento del nostro scopo, ma l’importante è capire bene lo scenario e applicare il concetto che segue.

Identificare i codici infrarossi utili alla nostra domotizzazione

Prima di porsi il problema di catturare i codici, la cosa più sana è fare un salto sul nostro ARCHIVIO COLLABORATIVO di codici infrarossi/radiofrequenza. Con un po’ di fortuna, potresti già trovare il lavoro fatto. Differentemente, non dimenticarti (sempre tramite quella pagina) dopo aver raccolto i tuoi, di inviarli all’archivio!

Dato che non possiamo realisticamente pensare di inserire centinaia di codici infrarossi nella nostra configurazione, è necessario ridurre sensibilmente la cerchia.

Se per esempio “di solito” si usa il condizionatore in una data modalità (diciamo modalità operativa “raffreddamento” e una specifica inclinazione delle palette) solo variandone la temperatura target e la velocità di emissione aria, allora si andranno a scegliere i tot codici erogati dal telecomando relativi alle tot temperature target (e le varie velocità) disponibili lasciando immutate le altre variabili (inclinazione e, ovviamente, modalità “raffreddamento”).

Se ad esempio il condizionatore supporta la modalità “cool” (raffreddamento), opera a tre velocità di emissione aria (“low”, “mid”, “high”) e in un range di temperature tra i 16 e i 30 gradi (quindi 15 possibili gradazioni), il numero di codici da raccogliere (mantenendo invariata inclinazione palette e modalità raffreddamento) sarà:

14 (temperature possibili) x 3 (velocità) = 42 codici (possibili combinazioni)

CATTURA DEI CODICI

A questo spinoso e cruciale argomento abbiamo dedicato una guida ad hoc, la quale in parte è già stata attuata seguendo il presente progetto.

DEFINIZIONE DEL FILE PERSONALE

A questo punto, una volta raccolti i codici, sarà sufficiente creare un nuovo file JSON assegnandoli un qualsiasi nome (numerico) al di fuori dei nomi già presenti assieme al componente “SmartIR” (eg. “7000.json“).

Per definire il file sarà sufficiente ricalcarne uno qualsiasi già esistente, per esempio questo.

Nel file JSON di configurazione non si inseriscono solo i codici relativi alle varie modalità/velocità/temperature (blocco “commands“), ma anche le varie caratteristiche dell’unità, quali nome, modello, temperature massima e minima ecc.

Il blocco iniziale appare più o meno così:

  "manufacturer": "Toyotomi",
  "supportedModels": [
    "AKIRA GAN/GAG-A128 VL"
  ],
  "supportedController": "Broadlink",
  "commandsEncoding": "Base64",
  "minTemperature": 16,
  "maxTemperature": 30,
  "precision": 1,
  "operationModes": [
    "heat",
    "cool"
  ],
  "fanModes": [
    "low",
    "mid",
    "high",
    "auto"
  ],
  "swingModes": [
    "1",
    "2",
    "3",
    "auto"
  ],

I campi sono i seguenti:

manufacturer (stringa, obbligatoria) Indica il produttore del condizionatore.
supportedModels (stringa, obbligatoria) Indica il modello.
supportedController (stringa, obbligatoria) Indica il modello dell’attuatore (solitamente Broadlink).
commandsEncoding (stringa, obbligatoria) Indica l’encoding. Supporta: “Base64“, “Pronto“, e “HEX“. Per codici raccolti come spiegato in questo progetto tramite Broadlink, solitamente si indica “Base64“.
minTemperature (intero, obbligatorio) Indica la temperatura minima gestibile dall’unità.
maxTemperature (intero, obbligatorio) Indica la temperatura massima gestibile dall’unità.
precision (decimale, obbligatorio) Indica la precisione di avanzamento in gradi (solitamente è 1, ma potrebbe anche essere 0.5 in alcuni casi).
operationModes (lista, obbligatorio) Indica le modalità operative. Possono essere le più disparate, in base ai modelli. Ovviamente per ogni modalità dovrà corrispondere, nella seconda parte del file, i corrispondenti codici per le varie temperature/velocità.
fanModes (lista, obbligatorio) Indica le velocità di emissione dell’aria disponibili. Possono essere le più disparate, in base ai modelli. Ovviamente per ogni modalità dovrà corrispondere, nella seconda parte del file, i corrispondenti codici per le varie temperature/modalità.
swingModes (lista, opzionale) Indica le modalità di oscillazione delle palette, se presenti. Possono essere le più disparate, in base ai modelli. Ovviamente per ogni modalità dovrà corrispondere, nella seconda parte del file, i corrispondenti codici per le varie temperature/modalità.

La seconda parte del file comincia più o meno così:

  "commands": {
    "off": "JgCSAAABKZEXNBgQFxEXEBc1FxAYEBcQGDQXERcQGDQXERcQFxEXEBcRFxAYEBcQGBAXNRcQFxEXEBcRFxAYEBc1FxAXNRcQGBAXNRcQFwACjhcQGBAXEBgQFxEXEBcRFxAXERcQGBAXEBgQFzQYEBcRFxAYEBcQGBAXEBgQFxEXEBcRFxAXERcQGBAXNBg0FxEXAA0FAAAAAAAA",
    "heat": {
      "low": {
        "auto": {
          "16": "JgCSAAABKZIXEBcRFzQYNBc1FxAYEBcRFxAXERcQFxEXEBcRFxAXERcQGBAXERcQFxEXNBcRFxAXERcQFxEXERc0FxEWNRcRFxEXNBcRFwACjhcQFxEWERYSFhEXERYRFxEWEhYRFxEWERYSFjUXERcQFxEWEhcQFxEWERYSFhEWEhYRFhIWEhYRFhIWERYSFjUWAA0FAAAAAAAA"

Da qui comincia il lungo elenco (lungo in base al modello di condizionatore e ai ragionamenti fatti in precedenza) di codici, i quali son suddivisi per:

  • modalità operativa
    • velocità di emissione dell’aria
      • modalità oscillazione palette (opzionale) 
        • temperatura

La prima voce, “off“, è ovviamente relativa al solo codice di spegnimento (una riga sola).


Una volta completata la compilazione del file, prima di darlo in pasto ad Home Assistant verificarne la correttezza tramite la web app JSONLint.

Fatto ciò, sarà sufficiente copiare il file dentro la cartella “/custom_components/smartir/codes/climate“, configurare correttamente il campo device_code in configurazione e riavviare Home Assistant per terminare l’integrazione.

Funzioni opzionali

Come spiegato sopra, il componente “SmartIR” permette anche la configurazione di tre interessanti funzioni associate all’entità “Climate” che andiamo a creare: temperatura, umidità e stato.

TEMPERATURA E UMIDITÀ

I campi temperature_sensor e humidity_sensor permettono di indicare ad Home Assistant da quali altre entità (di tipo “Sensor”) attingere i due rispettivi dati (attuali, dell’ambiente) – specialmente la temperatura, la quale è particolarmente utile presso il frontend e in fase di regolazione del clima.

STATO di accensione

Cosa fondamentale (e forse aspetto più importante tra la versione legacy e quella nuova del componente), ora è possibile indicare all’entità “Climate” da dove derivare il proprio stato (acceso/spento), ovvero da quello di un’entità di tipo “Binary Sensor” (sensore binario, on/off).

Tale sensore binario, a sua volta, determinerà il proprio stato on/off in base a varie tecniche: la più classica è quella di utilizzare la misurazione di assorbimento elettrico a monte del condizionatore per determinarne lo stato (0 Watt di assorbimento, spento, >0, acceso).

Pare una banalità, ma non la è: in effetti è ciò che si aspettava da tempo. Si immagini infatti il seguente scenario:

  • Home Assistant che abbia federato le proprie entità con uno smart speaker;
  • Home Assistant dotato di entità “Climate” che rappresenti il condizionatore controllato tramite infrarossi.

Finché si userà Home Assistant (via frontend o tramite smart speaker) per controllare il condizionatore, tutto bene.
Ma cosa succederà quando e se controllerò l’unità anche tramite il proprio telecomando? Accendendo il condizionatore in questo modo Home Assistant ovviamente non sarà consapevole del cambio di stato dell’unità, di conseguenza lo stato dell’entità che la rappresenta presso l’HUB rimarrà impostata su “spento“, e qualsiasi eventuale comando di spegnimento da Home Assistant e/o dallo smart speaker ovviamente non andrà a buon fine.

Se invece indicherò a Home Assistant dove dedurre lo stato dell’entità le cose cambieranno, perché non appena si accenderà il condizionatore tramite telecomando l’assorbimento in watt rilevato dal sensore posto a monte del condizionatore (in rapida ascesa) farà sì che il sensore binario (opportunamente configurato) ad esso associato viri ad “acceso”, e così di conseguenza anche l’entità condizionatore. Viceversa per lo spegnimento.

Per approfondire questo tema è disponibile un’ampio progetto dedicato alla deduzione dello stato degli elettrodomestici non domotici tramite l’analisi degli assorbimenti elettrici, il quale ci spiega, come definire in configurazione un sensore binario da dare in pasto a “SmartIR” per il fine appena spiegato.

Utilizzo

Ora, se tutto sarà stato effettuato correttamente, presso l’interfaccia di Home Assistant sarà apparsa una nuova voce analoga a questa (esempio tratto dall’interfaccia dell’HUB):

Home Assistant - Climate Lovelace

Cliccando sul nome del condizionatore (in questo caso, “Mitsubishi”), apparirà la schermata di dettaglio:

Home Assistant - Climate Lovelace - Dettagli

La quale permette, facilmente, di avviare le funzioni dell’unità, regolare la temperatura “target”, la modalità e la velocità delle ventole.

L’accessorio, come tutti gli elementi configurati su Home Assistant, visualizza anche l’andamento storico, in questo caso relativo all’andamento delle temperature nella stanza in cui si trova l’unità.

Servizi e automazione

Uno degli aspetti più interessanti è certamente quello di automatizzare l’accensione, la regolazione, lo spegnimento dell’unità così domotizzata.

Un esempio di automazione potrebbe essere il seguente:

  - alias: "BACK HOME"
    initial_state: true
    mode: single
    trigger:
      platform: state
      entity_id: device_tracker.marco
      to: 'home'
    condition: []
    action:
      - service: climate.set_swing_mode
        data:
          entity_id: climate.mitsubishi
          swing_mode: auto
      - service: climate.set_fan_mode
        data:
          entity_id: climate.mitsubishi
          fan_mode: auto
      - service: climate.set_temperature
        data:
          entity_id: climate.mitsubishi
          temperature: 20
          hvac_mode: heat

Questa automazione scatta ogni qual volta gli inquilini tornano a casa (usando il cambio stato dell’entità Device Tracker chiamata “device_tracker.marco“) e provvede a configurare l’entità climate.mitsubishi (nome d’esempio) impostando prima la modalità di oscillazine delle palette in modalità “auto”, poi la velocità delle ventole (sempre “auto”) e poi la temperatura a 20 gradi con modalità “heat”.

NOTA IMPORTANTE: L’ordine in cui vengono eseguite le azioni non è casuale ma voluto:

  • prima impostare la modalità di oscillazione delle palette (se presente);
  • poi impostare la velocità delle ventole;
  • infine la modalità operativa + la temperatura desiderata.

La cosa, abbiamo appurato, risolve una serie di potenziali problemi di esecuzione.

L’elenco completo dei servizi utilizzabili col componente Climate (che genera le entità descritte in questa guida) sono disponibili qui.

N.b. Molto utile, come trigger e/o condition, l’adozione di un sensore calcolato di benessere.

Temporizzazione

Una delle caratteristiche più peculiari di un sistema clima è – oltre alla valutazione della temperatura – la possibilità di temporizzare le accensioni.

Dato che il presente progetto permette la creazione di un’entità “Climate”, tale entità si presta ottimamente all’applicazione di un temporizzatore come spiegato in quest’altro progetto.

⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui.

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.

Gestire telecomandi virtuali su Home Assistant via Broadlink (parte 1)