Catturare codici infrarossi/radiofrequenza tramite Broadlink e Home Assistant

4 minuti di lettura
Scopi della guida
  • Acquisire codici infrarossi/radiofrequenza in codifica Base64
  • Livello di difficoltà: basso
Concetti affrontati:
  • Utilizzo software
Componenti software utilizzate:
Prerequisiti
  • Home Assistant configurato e funzionante
  • Un dispositivo Broadlink in grado di ricevere/inviare codici infrarossi/radiofrequenza già configurato in rete tramite la sua applicazione Broadlink e-Control
Dispositivi fisici utilizzati:
  • Il dispositivo sul quale risiede Home Assistant
  • La fonte di codici infrarossi/radiofrequenza (tipicamente un tele o un radiocomando)
  • Un dispositivo Broadlink per invio/ricezione infrarossi (eg. RM Mini 3) o invio ricezione infrarossi/radiofrequenza (eg. Broadlink RM Pro/Pro+)
GUIDA maggiormente indicatA 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: 1.1

Abstract

TelecomandoL’utilizzo in domotica di codici infrarossi e/o in radiofrequenza (433mhz / 315mhz) rappresenta spesso una buona tecnica per riuscire a domotizzare qualcosa che, nativamente, non lo sarebbe.

Da tempo infatti esistono semplici ed economici dispositivi utili all’apprendimento e sopratutto alla trasmissione di codici di questo tipo (eg. Broadlink RM Mini 3); tali dispositivi, una volta inseriti in domotica, rappresentano una “leva” per virtualizzare l’indiretto controllo di dispositivi “obiettivo”.

In sostanza, la tecnica è quella di apprendere i codici dai telecomandi dei dispositivi che vogliamo domotizzare, inserirli nella configurazione del nostro HUB personale (in questo caso, Home Assistant) sotto forma di accessori (interruttori, ventilatori, condizionatori ecc.) che, quando attivati, scaturiscano nell’invio dei codici infrarossi/radiofrequenza appropiati.

Questa tecnica è stata usata in svariati progetti presenti su inDomus, tra i quali:

Quello che vedremo in questa guida è come, partendo da un dispositivo Broadlink (capace nella ricezione/invio di codici infrarossi/radiofrequenza) e da un telecomando o un radiocomando (capaci rispettivamente nella trasmissione codici infrarossi o in radiofrequenza), riusciremo a catturare tali codici al fine di un riutilizzo in configurazione domotica.

Nb. questa guida fa riferimento a codici radiofrequenza 433mhz/315mhz (non rolling code) e a segnali infrarossi (con lunghezza d’onda tra i 700 nm e 1 mm, ovvero quella dei telecomandi tradizionali).
Per domotizzare telecomandi rolling code, è disponibile questa guida.

Al tema dell’uso di infrarossi e radiofrequenze in domotica abbiamo dedicato un episodio del nostro podcast.

Configurazione del dispositivo Broadlink

Prima di iniziare la cattura di codici tramite l’uso combinato di Home Assistant e del suo componente “Broadlink“, è necessario che l’attuatore sia già presente sulla nostra Wi-Fi. In caso questo passo sia già stato effettuato in precedenza, sarà 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. In caso di difficoltà, è disponibile il manuale in italiano.

Configurazione switch “learner”

Per catturare i codici è necessario che il componente “Broadlink” sia configurato presso Home Assistant. Come spiegato anche nella pagina dedicata alla piattaforma, la prima cosa da fare è dunque definire un finto switch che crei, all’interno di Home Assistant, la consapevolezza della presenza di un dispositivo Broadlink (tra quelli sopra elencati) sulla rete.

Tale consapevolezza è necessaria per dotarci di due servizi:

  • broadlink.learn
  • broadlink.send

Il primo servizio sarà necessario per l’apprendimento di codici, 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: 'B4:43:0D:CC:0F:58'
    timeout: 30
    friendly_name: "Dispositivo Broadlink"
    type: rm_mini
    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.

Per i dettagli della configurazione approfondire sulla scheda del componente Home Assistant “Broadlink“.

Cattura dei codici

Prima di porsi il problema di catturare 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!

A questo punto riavviare Home Assistant e, sulla colonna di sinistra del frontend selezionare, sotto il menu “Developer Tools” la prima icona a sinistra, ovvero “Services”.

Selezionare poi dal menu a tendina il servizio broadlink.learn e, alla voce “Service Data”, indicare:

{"host":"ip_del_broadlink"}

dove ovviamente “ip_del_broadlink” sia l’IP del dispositivo da utilizzare per acquisire i codici.
Cliccare infine su “Call Service”.

A questo punto – per 20 secondi che seguiranno – il Broadlink (indicato tramite l’IP) sarà in “ascolto” di eventuali codici infrarossi e/o in radiofrequenza. Premendo entro 20 secondi un pulsante sul telecomando (avendo cura di puntarlo verso il Broadlink, se si tratta di un telecomando a infrarossi), Home Assistant riceverà dal Broadlink il rispettivo codice Base64 e lo elencherà presso l’elenco delle notifiche dell’interfaccia utente (icona della campanella in alto a destra), ad esempio:

Broadlink Learner su Home Assistant

Un codice può apparire come una lunga stringa di caratteri, tipo:

JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=

Infine salvare tale stringa e conservarla da parte.

FATTO! Non poi così difficile, non è vero? 😉

A questo punto i codici così raccolti potranno essere utilizzati per i più disparati usi, ad esempio definire nuovi file di configurazione per la domotizzazione di unità clima (usando la piattaforma “SmartIR Climate“) piuttosto che switch di controllo tramite il componente “Broadlink“.

Alternativa

Si dirà: “potevate dirlo prima”, ma per catturare i codici esiste una scorciatoia. Non è stato detto prima – nella presente guida – perché comunque la definizione dell’entità switch “learner” è un passaggio necessario, il più delle volte, all’atto di controllare un dispositivo Broadlink via Home Assistant.

Ciò detto, qualora la procedura di cattura codici descritta in questa guida risulti un tantino scomoda (quale è), l’alternativa – se si possiede un computer con sistema operativo Windows – è descritta qui.


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.


Please comment below