Acquisire codici infrarossi/radiofrequenza tramite Broadlink e Home Assistant

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.

Abstract

TelecomandoL’utilizzo in domotica di codici infrarossi e/o in radiofrequenza (a 433mhz) 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 (non rolling code) e a segnali infrarossi (con lunghezza d’onda tra i 700 nm e 1 mm, ovvero quella dei telecomandi tradizionali).

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 della sua piattaforma “Broadlink RM Switch“, è necessario che il Broadlink 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 la piattaforma “Broadlink RM Switch” sia configurata presso Home Assistant. Come spiegato anche nella pagina dedicata alla piattaforma, la prima cosa da fare è dunque definire un finto switch (basato sulla piattaforma”Broadlink RM 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:

  • 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.
Il primo servizio sarà necessario per l’apprendimento di codici, il secondo per l’invio (utilizzato dalle entità che definiremo in configurazione.

Definiamo dunque 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: ''

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

Per i dettagli della configurazione approfondire sulla scheda della piattaforma Home Assistant “Broadlink RM Switch“.

Cattura dei codici

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!

Arrivati a questo punto riavviare Home Assistant e, successivamente, 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 switch.broadlink_learn_command_xxx_xxx_xxx_xxx e cliccare “call”.

Ora – e per 20 secondi che seguiranno – il Broadlink sarà in “ascolto” di eventuali codici infrarossi e/o in radiofrequenza. Premendo un pulsante sul telecomando (avendo cura di puntarlo verso il Broadlink, in caso si tratti di un telecomando a infrarossi), Home Assistant riceverà dal Broadlink il rispettivo codice Base64 e lo elencherà sulla prima pagina dell’interfaccia utente, 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 “Broadlink IR Climate Component“) piuttosto che switch di controllo tramite la piattaforma “Broadlink RM Switch


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.