Catturare e inviare codici infrarossi/radiofrequenza tramite Broadlink e Home Assistant

4 minuti di lettura
Scopi della guida
  • Acquisire codici infrarossi/radiofrequenza in codifica Base64 tramite Home Assistant e un attuatore Broadlink
  • Livello di difficoltà: basso
  • Categoria d’integrazione: Local Polling
Concetti affrontati:
  • Configurazione software
Componenti software utilizzate:
Prerequisiti
  • Home Assistant configurato e funzionante
  • Componente/i Broadlink da integrare già configurato/i in Wi-Fi
Dispositivi fisici utilizzati:
  • Il computer sul quale è in esecuzione Home Assistant
  • Un attuatore Broadlink in grado di ricevere/inviare codici infrarossi/radiofrequenza
  • La fonte di codici infrarossi/radiofrequenza (tipicamente un tele o un radiocomando)
GUIDA maggiormente indicatA per:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed realizzata SOLO da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere garanzia, omologazioni e certificazioni di qualità.
Revisione guida: 2.0

Abstract

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

Da tempo infatti esistono semplici ed economici attuatori utili all’apprendimento e alla trasmissione di codici che, una volta inseriti in domotica, rappresentano una “leva” per integrare indirettamente dei 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 appropriati.

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.

Questa guida fa riferimento a codici radiofrequenza 433 MHz/315 MHz (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.

ATTENZIONE: per la domotizzazione di condizionatori/climatizzatori/inverter tradizionali tramite infrarossi su Home Assistant è necessario seguire, di questa guida, la sola parte relativa alla cattura dei codici; per l’invio (e quindi per il controllo), la guida da utilizzare è questa. Quella invece per domotizzare impianti Hi-Fi e TV tradizionali è questa.

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

Si parte

Descrizione contesto

Per catturare e inviare codici tramite Broadlink usando Home Assistant sono sostanzialmente necessari due servizi:

  • remote.send_command
  • remote.learn_command

Tali servizi vengono automaticamente generati da Home Assistant quando si provvede all’integrazione di almeno un attuatore Broadlink – attività spiegata, per l’appunto, in questa guida.

Una volta generati questi servizi, essi potranno essere utilizzati per:

  • acquisire codici da telecomandi infrarossi e radiofrequenza 433 MHz/315 MHz non rolling code – con remote.learn_command
  • creare telecomandi virtuali per l’invio dei comandi con remote.send_command
  • inviare comandi grezzi senza la modellazione di telecomandi virtuali con remote.send_command
  • utilizzare componenti evoluti come “SmartIR” per creare accessori virtuali (condizionatori, riproduttori multimediali ecc.)  che inviino comandi tramite remote.send_command.

Integrazione

Provvedere a integrare l’attuatore o gli attuatori Broadlink nella nuova modalità guidata come spiegato in questa guida.

Al termine dell’integrazione, su Home Assistant appariranno i servizi sopra elencati (remote.send_commandremote.learn_command) nonché tante entità quanti sono i Broadlink integrati, tutte nominate remote.NOME_DEL_BROADLINK. Queste ultime entità verranno utilizzate in abbinamento ai sopracitati servizi per inviare e ricevere codici.

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!

Prima dell’avvento della versione 0.115 dell’HUB era possibile acquisire i codici grezzi direttamente dall’HUB – ora non è più possibile, se non per definire dei veri e propri telecomandi virtuali (riutilizzabili per l’invio secondariamente).

Se invece la necessità è quella di raccogliere semplicemente il codice, è necessario utilizzare un computer di appoggio Windows tramite l’app Broadlink Manager.

Invio dei codici grezzi

A questo punto è possibile inviare codici grezzi (raccolti con Broadlink Manager o in altri modi, per esempio prendendoli dal nostro ARCHIVIO COLLABORATIVO) tramite Home Assistant, il quale utilizzerà per l’appunto il Broadlink (o i Broadlink) per l’invio. A tal scopo si utilizza il servizio remote.command_send.

ATTENZIONE: per la domotizzazione di condizionatori/climatizzatori/inverter tradizionali tramite infrarossi su Home Assistant la guida da utilizzare è questa. Quella invece per domotizzare impianti Hi-Fi e TV tradizionali è questa.

L’evocazione del servizio può essenzialmente essere eseguita in due modalità: tramite interfaccia servizi Lovelace UI e tramite script.

VIA SCRIPT/AUTOMAZIONE

Per gli script (ma anche per le automazioni) è possibile utilizzare un blocco “service” analogo al seguente:

- service: remote.send_command
  data:
    entity_id: remote.NOME_DEL_BROADLINK
    command: "b64:CODICE_IN_BASE_64"

Spiegazione dei campi:

entity_id (Stringa, obbligatoria) Il nome dell’entità “Remote” da utilizzare
command (Stringa, obbligatoria) Il codice Base64 da inviare. ⚠️ Si noti come davanti al codice vada specificato il prefisso b64:
VIA INTERFACCIA SERVIZI

È sufficiente recarsi presso la voce di menu “Strumenti per gli sviluppatori” > “Servizi“, selezionare il servizio “remote.send_command” e inserire la configurazione (in notazione YAML), come da esempio che segue:

entity_id: remote.NOME_DEL_BROADLINK
command: CODICE_DA_INVIARE

Una volta cliccato su “Chiama servizio“, il segnale infrarosso o radiofrequenza che sia verrà inviato.

Risoluzione problemi

Quando non si riesce a far funzionare un Broadlink su Home Assistant, nove volte su dieci è perché si è sbagliata l’operazione di configurazione iniziale tramite l’app e-Control (o con la Broadlink) come spiegato sopra. In tal caso, è sufficiente resettarlo e provvedere alla configurazione corretta.

In caso di problema, affacciarsi sulla nostra chat o sul FORUM.


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