Domotizzare un condizionatore tradizionale con Broadlink e Home Assistant (v2)

SCOPI DEL PROGETTO:
  • Domotizzare un 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 condizionatore / climatizzatore / inverter controllato tramite telecomando ad infrarossi
  • Un Broadlink RM Mini 3 (o Broadlink equivalente con emettitore infrarosso)
PROGETTO MAGGIORMENTE INDICATO PER:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (la presente guida ha puro scopo didattico)
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere la garanzia.
Revisione progetto: 1.2
ATTENZIONE: questo progetto è definito “v2” in quanto basato sulla nuova versione del componente software necessario al funzionamento dell’integrazione Broadlink, ovvero “SmartIR“, il quale consente tra le altre cose la definizione dinamica presso la domotica dello stato operativo dell’unità clima.
La versione precedente di questo progetto, qualora interessasse malgrado l’obsolescenza, è disponibile qui.

Mitzubishi MSZ-SF35VE3

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 condizionatore 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 quali Ambi Climate (il quale però ad oggi non è integrabile con altre soluzioni domotiche o con i nostri amati HUB personali), l’unica soluzione per inserire nella propria domotica personale un condizionatore è – 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 condizionatore 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 RM Mini 3 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 3 (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 (non sai cos’è? guarda, è fatto così);
  • Home Assistant, tramite un attuatore Broadlink (eg. RM Mini 3) 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

Prima di configurare il nostro condizionatore presso Home Assistant è necessario che l’attuatore Broadlink (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 scaricare l’applicazione e-Control per Android o per iOS e seguire le istruzioni a schermo. In caso di difficoltà è disponibile il manuale in italiano.

Finita la prima configurazione è necessario che il dispositivo Broadlink possegga, all’interno della nostra Wi-Fi, un IP fisso. Qui è disponibile una guida per capire come impostarlo.

Installazione di SmartIR

Dato che “SmartIR” è un componente aggiuntivo ed esterno a Home Assistant, esso va installato.

In primis è necessario creare una cartella chiamata “custom_components” (se non già presente) dentro la directory principale d’installazione di Home Assistant. Ciò fatto, scaricare il pacchetto .zip dalla pagina GIT del componente e decomprimerlo: sarà poi sufficiente copiare la cartella “smartir” in esso contenuta dentro la directory “custom_components” di cui sopra.

N.b. in caso di installazione in ambito Linux (Raspberry, Ubuntu o altro) dopo la copia di tale cartella è necessario effettuare una correzione dei diritti d’accesso alla cartella, utilizzando il comando “chmod“. Ad esempio:

sudo chmod -R 0777 /home/homeassistant/.homeassistant/custom_components

laddove il path di installazione sia, appunto, “/home/homeassistant/.homeassistant“.

Broadlink RM Switch

Broadlink RM Switch” è una piattaforma Home Assistant utile a creare un interruttore il quale, quando configurato, non avrà (almeno nel caso di questo progetto) alcuna particolare funzione se non quella di creare indirettamente 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:

  • switch.broadlink_learn_command_xxx_xxx_xxx_xxx
  • switch.broadlink_send_packet_xxx_xxx_xxx_xxx

dove xxx_xxx_xxx_xxx è l’IP assegnato al dispositivo Broadlink.
Il primo servizio sarà necessario per l’apprendimento di codici infrarossi, il secondo per l’invio (utilizzato dalle entità che definiremo in configurazione.

Definiamo dunque presso la configurazione di Home Assistant questo primo switch:

# Esempio di configurazione learner
switch:
  - platform: broadlink
    host: 192.168.1.2
    mac: '00:00:00:00:00:00'
    timeout: 30
    friendly_name: "Attuatore Broadlink"
    type: rm
    switches:
      learner:
        friendly_name: "Learner"
        command_on: ''
        command_off: ''

N.b. I campi “host” e “mac” indicati sono solo d’esempio e andranno quindi valorizzati con IP (fisso) e indirizzo MAC del nostro attuatore Broadlink, così come il campo “type“. I campi “on” e “off” sono lasciati intenzionalmente vuoti.

A questo punto riavviare Home Assistant e, completato il riavvio, sulla colonna di sinistra del frontend selezionare, sotto il menu “Developer Toolsla prima icona a sinistra, ovvero “Services“. Nella lista dei servizi dovrebbero apparire i due servizi di cui sopra.

Segnamo da parte il nome esatto del servizio che comincia con “switch.broadlink_send_packet“, servirà a breve.

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 in configurazione un blocco di questo tipo:

smartir: 

climate:
  - platform: smartir
    name: Mitsubishi
    device_code: 1000
    controller_send_service: switch.broadlink_send_packet_xxx_xxx_xxx_xxx
    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_send_service(stringa, richiesta) Va indicato tramite quale servizio inviare i codici, ovvero il servizio con prefisso “switch.broadlink_send_packet” identificato nel passo precedente.

In alternativa è anche possibile utilizzare il servizio “mqtt.publish” (presente se MQTT è configurato presso Home Assistant) il che permette di deviare dalle modalità originali del componente (controllo tramite invio codici infrarossi/radiofrequenza) optando per un controllo tramite pubblicazione di comandi MQTT, laddove il condizionatore supporti tale modalità – o sia controllato da qualche altro dispositivo a sua volta controllato tramite MQTT.

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:

  • nome del servizio Home Assistant tramite il quale inviare i codici (campo controller_send_service);
  • nome del file JSON che rappresenta la configurazione del proprio condizionatore (campo device_code).

Del controller_send_service abbiamo già spiegato nel paragrafo precedente; per quanto riguarda il file di configurazione è necessario fare un distinguo di situazioni:

  • file già disponibile assieme al componente SmartIR (vedi elenco);
  • 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/climates“, 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 inclinazioni possibili delle alette direzionali (“VANE”).

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 (inclinazioni) = 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
  • inclinazione alette: 1

piuttosto che:

  • modalità: riscaldamento
  • temperatura target: 27°
  • velocità ventole: 3
  • inclinazione 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 (vedi creazione dello switch learner).

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"
  ],

I campi sono i seguenti:

manufacturer(stringa, obbligatoria) Indica il produttore del condizionatore.
supportedModels(stringa, obbligatoria) Indica il modello.
supportedController(srtinga, 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à.

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

  "commands": {
    "off": "JgCSAAABKZEXNBgQFxEXEBc1FxAYEBcQGDQXERcQGDQXERcQFxEXEBcRFxAYEBcQGBAXNRcQFxEXEBcRFxAYEBc1FxAXNRcQGBAXNRcQFwACjhcQGBAXEBgQFxEXEBcRFxAXERcQGBAXEBgQFzQYEBcRFxAYEBcQGBAXEBgQFxEXEBcRFxAXERcQGBAXNBg0FxEXAA0FAAAAAAAA",
    "heat": {
      "low": {
        "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
      • temperatura

La prima voce, “off“, è ovviamente relativa al codice di spegnimento.


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/climates“, 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 da frontend LOVELACE):

Home Assistant - Climate Lovelace

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

Home Assistant - Climate - 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à.

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.


Home Assistant Official LogoATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.