Broadlink e l’aggiornamento Home Assistant 0.115: come riconfigurare tutto

5 minuti di lettura

Broadlink - RM Mini 4

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:

  1. Fermare Home Assistant
  2. Rimuovere la vecchia integrazione
  3. Aggiornare Home Assistant
  4. Rimuovere le vecchie entità Remote
  5. Attivare la nuova integrazione
  6. Correggere i file di configurazione
  7. Aggiornare SmartIR
  8. Correggere i file di configurazione SmartIR
  9. Riavviare Home Assistant
1) Fermare Home Assistant

Stoppare l’esecuzione di Home Assistant Core (se si utilizza HASSIO, 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 unavailablerestored 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.


Home Assistant Official Logo ATTENZIONE: 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.


Telegram News Channel