Domotizzare un condizionatore tradizionale con Broadlink e Home Assistant

SCOPI DEL PROGETTO:
  • Domotizzare un condizionatore tradizionale (o un climatizzatore, o un inverter) in modo da poterlo integrare e utilizzare con Home Assistant
  • Livello di difficoltà: medio
  • Costo: ridotto (<30 €)
CONCETTI AFFRONTATI:
COMPONENTI SOFYWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
  • Un condizionatore / climatizzatore / inverter controllato tramite telecomando
  • 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 guida: 3.1

Mitzubishi MSZ-SF35VE3

Abstract

Una delle funzioni più gradite in domotica è quella di poter controllare remotamente, ovvero “da lontano”, le funzioni della propria abitazione.

Il controllo remoto è ancor più gradito quando l’elemento da controllare è relativo alla climatizzazione, che sia invernale (riscaldamento) o che sia estiva (raffrescamento): la possibilità di accendere/spegnere un impianto in nostra assenza, magari in modo automatico in base alla propria posizione GPS (“quando esco da lavoro, accendi il condizionatore a 27 gradi, qualora la temperatura nella stanza sia più alta”).

Mentre per inserire in domotica il controllo degli impianti di riscaldamento autonomo le soluzioni sono molteplici e per lo più economicamente affrontabili (in quanto alla fine, di fatto, si tratta solo di sostituire il termostato), per l’ambito del raffrescamento 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 in una domotica organica un condizionatore è – il più delle volte – sostituirlo, acquistandone uno nativamente domotico – il quale non è detto sia compatibile, comunque, con l’omogeneità che cerchiamo per la nostra domotica 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 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 il componente “Broadlink IR Climate Component“, può inviare segnali infrarossi;
  • il condizionatore è controllabile tramite segnali infrarossi,

dunque, è di conseguenza possibile controllare il condizionatore tramite Home Assistant e quindi 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, programmi di raffreddamento automatici e modalità silenziose. 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.

Il presente progetto provvederà a configurare presso Home Assistant, a mo’ d’esempio, un condizionatore/inverter il quale sia in grado, appunto, di erogare sia freddo che caldo, unitamente a diverse modalità di emissione dell’aria.

Ovviamente questo progetto dà per scontato che i codici per il condizionatore da domotizzare siano già disponibili allegati al componente. Per effettuare questa verifica, sfogliare l’elenco dei codici disponibili presso questo indirizzo.

In caso i codici non siano disponibili non c’è da disperare perché, come spiegato, è possibile definire in autonomia un proprio file di configurazione. Il problema più grosso, ovviamente, sarà quello di recuperare i codici infrarossi dal telecomando originale dell’unità.

Su inDomus è presente una guida apposita per imparare a catturare i codici utili alla definizione di un proprio .ini file.
Sarà sufficiente prendere un file d’esempio e poi modificarlo a proprio piacimento.

Installazione del componente

L’installazione del componente aggiuntivo è molto semplice. Una volta scaricato il pacchetto .zip dalla pagina GIT del componente, sarà sufficiente copiare la cartella “custom_component” in esso contenuta dentro la directory principale d’installazione di Home Assistant.

Successivamente sarà necessario copiare la cartella “broadlink_climate_codes” dentro la cartella “climate” (contenuta a sua volta da”custom_component“). Infine, qualora il file che utilizzeremo sarà stato realizzato in proprio, tale file andrà copiato dentro “broadlink_climate_codes

Nb. 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

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

Configurazione del dispositivo Broadlink

Prima di comandare il nostro condizionatore tramite l’uso combinato di Home Assistant e del componente appena configurato, è necessario che il Broadlink sia già presente sulla nostra Wi-Fi. In caso questo passo sia già stato effettuato in precedenza, è possibile proseguire oltre.

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. È inoltre necessario inoltre che il dispositivo Broadlink possegga, sulla nostra Wi-Fi, un IP fisso – leggi qui come impostarlo.

In caso di difficoltà, è disponibile il manuale in italiano.

Configurazione di Home Assistant

Nel caso del climatizzatore che stiamo configurando in questo progetto, la porzione di codice necessaria per creare un’entità di tipo “Climate” (che in questo esempio chiameremo “climate.mitsubishi“) da inserire presso il file “configuration.yaml” di Home Assistant è la seguente:

climate:
  - platform: broadlink
    name: "Mitsubishi"
    host: "192.168.1.90"
    mac: "34:ea:34:58:83:77"
    ircodes_ini: "/custom_components/climate/broadlink_climate_codes/mitsubishi_electric.ini"
    min_temp: 16
    max_temp: 31
    precision: 1
    temp_sensor: sensor.temperatura_sala
    default_operation: idle
    default_fan_mode: mid
    customize:
      operations:
        - off
        - cool
        - heat
      fan_modes:
        - low
        - mid
        - high
        - auto

Le variabili si spiegano come segue:

name (Opzionale) Il nome dell’accessorio presso Home Assistant
host (Richiesto) L’hostname/IP (fisso – leggi qui come impostarlo) del Broadlink da quale emettere i segnali IR
mac (Richiesto) Indirizzo MAC del Broadlink dal quale emettere i segnali IR
timeout (Opzionale) Timeout in secondi per la connessione al device
ircodes_ini (Richiesto) Path e nome del file .ini dal quale attingere i codici da inviare
min_temp (Opzionale) La temperatura minima erogabile dall’accessorio (default: 16)
max_temp  (Opzionale) La temperatura massima erogabile dall’accessorio (default: 16)
precision
(Opzionale) Precisione della regolazione della temperatura. Può essere: 1 grado, 0,5 gradi, 0,1 gradi. Default: 1.
temp_sensor
(Opzionale) Temperatura rilevata automaticamente dall’accessorio. Può far riferimento a una identity di tipo “sensor:” già definita nella configurazione di Home Assistant (eg. temp_sensor.state)
default_operation
(Opzionale) Modalità all’avvio di Home Assistant (default: off)
default_fan_mode
(Opzionale) Modalità della ventilazione all’avvio di Home Assistant (default: auto)
customize
(Opzionale) Lista delle opzioni da personalizzare
– operations
(Opzionale) Lista delle modalità operative (default: off, caldo, freddo, auto) – far riferimento al file .ini della configurazione specifica del condizionatore
– fan_modes
(Opzionale) Lista delle modalità operative di ventilazione (default: basso, medio, alto, auto) – far riferimento al file .ini della configurazione specifica del condizionatore

Dopo aver effettuato la modifica al file “configuration.yaml” di Home Assistant, riavviare quest’ultimo.

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 app mobile):

Home Assistant-AC

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

Home Assistant-AC-detail

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 iconATTENZIONE: 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.

Dubbi? Perplessità? Fai un salto sul FORUM o sulla CHAT @DISCORD!
Questa pagina è coperta dalla licenza Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Licenseil che significa che puoi liberamente condividerlo, senza modificarlo, citando il link della fonte.