La versione 0.115 del noto HUB gratuito per domotica personale Home Assistant ha portato con sé tutta una serie di stravolgimenti legati al componente “Broadlink“, ovvero l’elemento cardine che consente, tramite l’uso di attuatori del brand omonimo, di inviare codici infrarossi/radiofrequenza, riuscendo così a domotizzare indirettamente impianti non nativamente domotici.
Conseguentemente, anche il noto componente “SmartIR“, concepito specificamente per definire in domotica climatizzatori, sistemi multimediali e ventilatori che sfruttino tali codici infrarossi/radiofrequenza, ha subito a sua volta dei cambiamenti, dato che esso si appoggia al componente “padre” di cui sopra.
Lo stesso dicasi per il componente “Remote”, il quale si appoggia al servizio “Broadlink” per censire e modellare dei telecomandi virtuali.
Questa scheda di approfondimento è dedicata a chi già utilizzi Broadlink su Home Assistant, sia “liscio” (tramite i servizi del componente “Broadlink”), sia tramite il componente “Remote” e/o il componente “SmartIR”, e illustra quali siano i passi operativi da fare per fa sì che tutto continui a funzionare come prima.
N.b. Questa scheda non è dedicata a chi parta da zero con l’uso di Broadlink. In questo caso è sufficiente partire più facilmente da qui – chi non sapesse nulla dell’argomento, è vivamente consigliato di leggere questa scheda di approfondimento. |
Cosa cambia
In primis, ciò che cambia è la modalità di integrazione degli attuatori Broadlink. Prima della versione 0.115, la modalità prevedeva la modifica dei file di configurazione YAML dell’HUB aggiungendo uno o più switch così configurati, a grandi linee:
switch - platform: broadlink host: IP_DEL_BROADLINK mac: MAC_ADDRESS_DEL_BROADLINK timeout: 30 type: rm_mini switches: learner1: friendly_name: "Learner" command_on: '' command_off: ''
Questo generava due servizi, broadlink.learn e broadlink.send, utili alla ricezione e all’invio dei codici:
- tramite invio “grezzo” usando il componente “Broadlink”;
- tramite invio con telecomandi virtuali, sempre usando il componente “Remote”;
- tramite invio usando il componente “SmartIR” (il quale usava a sua volta il componente “Broadlink”).
Ora, per integrare Broadlink non si usa più la configurazione di cui sopra, ma si utilizza l’interfaccia dell’HUB (“Configurazione” > “Integrazioni“), dopodiché si utilizzano unicamente i servizi remote.learn_command e remote.send_command – cosa che ovviamente prevede una serie di cambiamenti di configurazione.
Ora quindi i codici si inviano:
- tramite invio “grezzo” usando il componente “Remote”;
- tramite invio con telecomandi virtuali, sempre usando il componente “Remote”;
- tramite invio usando il componente “SmartIR” (il quale usa a sua volta il componente “Remote”).
ATTENZIONE: Prima di procedere, si consiglia di verificare che non ci sia qualche problema specifico segnalato dalla community internazionale relativo al proprio modello di Broadlink. |
Come procedere
I passi da attuare sono i seguenti:
- Fermare Home Assistant
- Rimuovere la vecchia integrazione
- Aggiornare Home Assistant
- Rimuovere le vecchie entità Remote
- Attivare la nuova integrazione
- Correggere i file di configurazione
- Aggiornare SmartIR
- Correggere i file di configurazione SmartIR
- Riavviare Home Assistant
1) Fermare Home Assistant
Stoppare l’esecuzione di Home Assistant Core (se si utilizza Home Assistant OS, saltare direttamente al passo successivo).
2) Rimuovere la vecchia integrazione
Recarsi presso i file di configurazione e rimuovere qualsiasi riferimento agli “Switch” di tipo Broadlink.
Successivamente sarà ancora possibile utilizzare tali switch per l’invio di codici (anche se noi consigliamo di utilizzare, piuttosto, degli script), ovviamente senza i riferimenti all’attuatore se non quello dell’indirizzo MAC.
Per esempio, da così:
switch:
- platform: broadlink
host: 192.168.0.107
mac: 34:ea:34:b4:5d:2c
type: rm_mini3
switches:
sony_tv:
friendly_name: Sony TV
command_on: JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
command_off: JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=
lg_tv:
friendly_name: LG TV
command_on: JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
command_off: JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=
a così:
switch:
- platform: broadlink
mac: 34:ea:34:b4:5d:2c
switches:
- name: Sony TV
command_on: JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
command_off: JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=
- name: LG TV
command_on: JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
command_off: JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=
Comunque sia, in prima battuta vi consigliamo di rimuovere tutti gli switch di tipo Broadlink. Punto.
Vanno inoltre rimossi tutte le voci “Remote” di tipo Broadlink, per esempio:
remote: - platform: broadlink name: Broadlink Sala host: 192.168.0.107 mac: 34:ea:34:b4:5d:2c
Segnarsi però da parte i nomi e gli IP assegnati in precedenza (eg. “Broadlink Sala” e “192.168.0.107“): serviranno a breve.
3) Aggiornare Home AssisTant
Provvedere all’aggiornamento di Home Assistant nelle modalità illustrate qui o comunque come si fa di solito (ovviamente leggere con attenzione la news relativa all’aggiornamento, potrebbero esserci altri motivi per non effettuare tale update).
Al termine dell’aggiornamento, avviare l’HUB.
4) RiMuovere le vecchie entità Remote
Terminato il riavvio, recarsi presso l’elenco delle entità (“Strumenti per gli sviluppatori” > “Stati“) e trovare la/le eventuali entità remote.broadlink_* (per esempio remote.broadlink_sala) presenti (dovrebbero essere in stato unavailable – restored state) e cancellarle.
5) Attivare la nuova integrazione
Provvedere a integrare l’attuatore o gli attuatori Broadlink nella nuova modalità guidata come spiegato in questa guida.
Terminata l’integrazione o le integrazioni, recarsi presso l’elenco delle entità (“Strumenti per gli sviluppatori” > “Stati“) e trovare la/le eventuali entità remote.broadlink_* (per esempio remote.broadlink_sala_remote) presenti e rinominarle levando il suffisso _remote (per esempio nel nuovo nome remote.broadlink_sala).
I nomi delle entità saranno quindi quelli delle vecchi entità precedentemente rimosse.
IMPORTANTE: Questa attività di rename non è un di più, ma è fondamentale che le entità remote.* abbiano gli stessi nomi precedentemente utilizzati dalle entità rimosse al punto 3). Questo garantirà che eventuali telecomandi virtuali precedentemente definiti possano continuare ad essere utilizzati, nonché consentire una rapida correzione dei file di configurazione come segue nei punti 5) e 7) a seguire. |
IMPORTANTE: Verificare le che entità remote.broadlink_* di nuova creazione siano in stato “on“. Eventualmente provvedere all’attivazione manuale oppure tramite il servizio remote.turn_on. |
6) Correggere i file di configurazione
Ora, che si utilizzi Home Assistant per l’invio in modo “grezzo” e/o tramite il componente “Remote”, è necessario correggere tutti i file di configurazione che utilizzino i vecchi servizi broadlink.learn e broadlink.send con i servizi remote.learn_command e remote.send_command.
Seguono esempi.
Da:
- service: broadlink.learn
data:
host: 192.168.0.107
a:
- service: remote.learn_command
data:
entity_id: remote.broadlink_sala
device: tv
command: power
Ma sopratutto il broadlink.send, da:
- service: broadlink.send
data:
host: 192.168.0.107
packet: "CODICE"
a (notare l’aggiunta del prefisso “b64:“, da includere sempre davanti a ogni codice):
- service: remote.send_command
data:
entity_id: remote.broadlink_sala
command: "b64:CODICE"
E così via ovunque ci sia broadlink.learn e broadlink.send.
Tutto ciò che invece già utilizzava i comandi remote.learn_command e remote.send_command (come spiegato in questa guida) rimane fortunatamente inalterato.
7) Aggiornare SmartIR
Se si usa SmartIR, provvedere ad aggiornarlo alla versione 1.13.0 (o superiori – se lo si è integrato usando HACS, recarsi alla voce di menu “HACS” > “Integrazioni” e aggiornarlo). Non riavviare Home Assistant al termine dell’aggiornamento.
8) Correggere i file di configurazione SMARTIR
Le correzioni da attuare alle configurazioni SmartIR. In buona sostanza è necessario sostituire, nel campo controller_data, l’IP del Broadlink con il nome del remote definito in fase di integrazione al punto 4).
Per esempio, da:
climate
- platform: smartir
name: mitsubishi
unique_id: mitsubishi_ac
device_code: 1000
controller_data: 192.168.0.107
temperature_sensor: sensor.home_temperature
humidity_sensor: sensor.home_humidity
power_sensor: binary_sensor.mitsubishi_status
a:
climate
- platform: smartir
name: mitsubishi
unique_id: mitsubishi_ac
device_code: 1000
controller_data: remote.broadlink_sala
temperature_sensor: sensor.home_temperature
humidity_sensor: sensor.home_humidity
power_sensor: binary_sensor.mitsubishi_status
E così via. Modificare tutte le configurazioni in modo appropriato e salvare i file.
9) Riavviare Home Assistant
Se si è compiuto tutto in modo corretto, dopo un necessario riavvio di Home Assistant tutto dovrebbe funzionare in modo corretto.
⚠️ 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. Se ti sei perso, a tua disposizione c'è la mappa. |