Domotizzare TV, decoder, (sinto)amplificatori con Broadlink e Home Assistant

5 minuti di lettura
SCOPI DEL PROGETTO:
  • Domotizzare una TV e/o un decoder e/o un Sintoamplificatore/Amplificatore
  • Livello di difficoltà: basso
  • Costo: ridotto (<30 € con Broadlink RM Mini 3)
CONCETTI AFFRONTATI:
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
  • Una TV e/o un decoder e/o un Sintoamplificatore/Amplificatore
  • Un Broadlink RM Mini 3 (o Broadlink equivalente con emettitore infrarosso)
PROGETTO MAGGIORMENTE INDICATO 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.

Sintoamplificatore

ATTENZIONE: QUESTO PROGETTO È CONSIDERATO OBSOLETO A PARTIRE DA MARZO 2019.
AL SUO POSTO È STATO RILASCIATO UN PROGETTO RIVISTO IN VERSIONE v2.

Abstract

Tra le tante possibilità offerte dalla domotica basata su HUB personale (nel caso di questo progetto, Home Assistant) esiste quella di domotizzare il controllo di sistemi quali TV, decoder (eg. SKY), sintoamplificatori/amplificatori.

Ma che significa domotizzarli? Significa riuscire a controllarne alcune funzioni “chiave” (accensione e spegnimento, regolazione volume/mute, scelta delle sorgenti) tramite strumenti di gestione finale quali smarthphone, tablet, ma sopratutto riuscire a controllare queste funzioni in termini di scenari predefiniti.

Poniamo l’esempio di voler guardare SKY: accendiamo la TV, selezioniamo l’appropriato ingresso HDMI della TV, accendiamo il decoder SKY.

Bene: se TV e Decoder SKY fossero domotizzati potrei definire un’entità che esegua, semplicemente attivandola, le azioni sopra elencate in sequenza, magari utilizzando la voce tramite uno Smart Speaker connesso al mio HUB personale.

Esistono TV, Decoder e (Sinto)amplificatori intelligenti che già offrono la possibilità di essere integrati nativamente tramite Home Assistant (eg. le TV Bravia di Sony, tramite piattaforma specifica, oppure i sintoamplificatori Denon, sempre tramite piattaforma specifica).

Il presente progetto si cura della domotizzazione di TV, Decoder e (Sinto)amplificatori non domotizzabili nativamente: in questo caso, sfrutteremo i segnali infrarossi o in radiofrequenza tramite emettitore Broadlink sulla falsariga di quanto fatto, per esempio, con i condizionatori.

Si parte

Logica del progetto

Partiamo da un ragionamento semplice.
Dato che:

  • Home Assistant è il nostro “ponte di comando” per il controllo della domotica (non sai cos’è? guarda, è fatto così);
  • Home Assistant, tramite il componente “Broadlink IR Media Player“, può inviare segnali infrarossi/radiofrequenza;
  • il TV – Decoder – (sinto)amplificatore è controllabile tramite segnali infrarossi o radiofrequenza (solitamente da telecomando),

dunque, è di conseguenza possibile controllare il dispositivo – quale esso sia – tramite Home Assistant e quindi integrarlo al resto della domotica, automazione inclusa.

Analisi

La funzionalità “Media Player” offerte dal componente “Broadlink IR  Media Player” sono quelle di:

  • accensione/spegnimento
  • canale successivo/precedente
  • aumento/riduzione/mute volume
  • scelta della sorgente

Il componente offre una serie di set di codici pre-confezionati; questo progetto dà per scontato che i codici per dispositivo da domotizzare siano già disponibili allegati al componente. Per effettuare questa verifica, sfogliare l’elenco dei codici disponibili presso questo indirizzo.

In caso i codici non siano disponibili non c’è da disperare perché, come spiegato, è possibile definire in autonomia un proprio file di configurazione. Il problema più grosso, ovviamente, sarà quello di recuperare i codici infrarossi dal telecomando originale dell’unità.

Su inDomus è presente una guida apposita per imparare a catturare i codici utili alla definizione di un proprio .ini file.

I campi da includere nel proprio file .ini personalizzato possono essere:

[general]
turn_off = codice infrarosso/radio
turn_on = codice infrarosso/radio
previous_channel = codice infrarosso/radio
next_channel = codice infrarosso/radio
volume_down = codice infrarosso/radio
volume_up = codice infrarosso/radio
mute = codice infrarosso/radio

mentre per le sorgenti è possibile definirne quante se ne vuole:

[sources]
Mia sorgente 1 = codice infrarosso/radio
Mia sorgente 2 =codice infrarosso/radio
.
.
.

Installazione del componente

L’installazione del componente aggiuntivo è molto semplice. Una volta scaricato il pacchetto .zip dalla pagina GIT del componente, sarà sufficiente copiare la cartella “custom_component” in esso contenuta dentro la directory principale d’installazione di Home Assistant.

Successivamente sarà necessario copiare la cartella “broadlink_media_codes” dentro la cartella “media_player” (contenuta a sua volta da”custom_component“). Infine, qualora il file che utilizzeremo sarà stato realizzato in proprio, tale file andrà copiato dentro “broadlink_media_codes

Nb. in caso di installazione in ambito Linux (Raspberry, Ubuntu o altro) dopo la copia di tale cartella è necessario effettuare una correzione dei diritti d’accesso alla cartella, utilizzando il comando “chmod“. Ad esempio:

sudo chmod -R 0777 /home/homeassistant/.homeassistant

laddove il path di installazione sia, appunto, “/home/homeassistant/.homeassistant“.

Configurazione del dispositivo Broadlink

Prima di comandare il nostro dispositivo tramite l’uso combinato di Home Assistant e del componente appena configurato, è necessario che il Broadlink sia già presente sulla nostra Wi-Fi. In caso questo passo sia già stato effettuato in precedenza, è 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. È inoltre necessario inoltre che il dispositivo Broadlink possegga, sulla nostra Wi-Fi, un IP fisso – leggi qui come impostarlo.

In caso di difficoltà, è disponibile il manuale in italiano.

Configurazione di Home Assistant

Nel caso del presente progetto andiamo a domotizzare, tramite un file pre-editato, una TV controllata solitamente con codici infrarossi.
La porzione di codice da inserire presso il file “configuration.yaml” di Home Assistant è la seguente:

media_player:
  - platform: broadlink
    name: TV
    host: 192.168.1.100
    mac: '34:ea:314:11:83:77'
    ircodes_ini: '/custom_components/media_player/broadlink_media_codes/mia_tv.ini'
    ping_host: 192.168.1.21

Le variabili si spiegano come segue:

name(Opzionale) Il nome dell’entità presso Home Assistant
host(Richiesto) L’hostname/IP (fisso – leggi qui come impostarlo) del Broadlink da quale emettere i segnali IR/Radio
mac(Richiesto) Indirizzo MAC del Broadlink dal quale emettere i segnali IR/Radio
timeout(Opzionale) Timeout in secondi per la connessione al device
ircodes_ini(Richiesto) Path e nome del file .ini dal quale attingere i codici da inviare
ping_host(Opzionale) L’hostname/IP (fisso – leggi qui come impostarlo) del dispositivo da controllare. Serve per dedurne lo stato di accensione:  in caso l’IP indicato risponda al ping, Home Assistant ne dedurrà lo stato “acceso”
power_consumption_entity 
(Opzionale) L’ID dell’entità che rappresenta, eventualmente, l’assorbimento del dispositivo, misurata magari tramite un sensore apposito. Risultando > 0, Home Assistant dedurrà lo stato “acceso”

Dopo aver effettuato la modifica al file “configuration.yaml” di Home Assistant, riavviare quest’ultimo.

Utilizzo

Ora, se tutto sarà stato effettuato correttamente, presso l’interfaccia di Home Assistant sarà apparsa una nuova voce analoga a questa:

Home Assistant - Media Player

La quale, se si cliccherà sui tre puntini in basso a destra, fornirà dettagli e funzionalità come segue:

Home Assistant - Media Player - Dettaglio TV

Automazione

A questo punto, volendo, sarà possibile utilizzare i servizi dell’entità di tipo “Media Player” per controllare in modo automatico la/le entità di questo tipo.

Poniamo di avere un Raspberry Pi configurato come ricevitore AirPlay collegato l’input AUX di un Amplificatore domotizzato con la tecnica spiegata nel presente progetto. Diciamo di voler automatizzare l’azione di accendere l’amplificatore e di predisporre la sorgente corretta e il volume appropiato.

Diciamo quindi di voler definire uno switch (basato su componente “Input Boolean”) il quale, quando azionato:

  • accenda l’amplificatore;
  • attenda un dato tempo tecnico “di accensione” (diciamo 5 secondi)
  • selezioni l’input AUX
  • alzi il volume simulando la pressione (un paio di volte) del tasto Volume +

Assumiamo che le entità in gioco si chiamino rispettivamente input_boolean.airplay (lo switch) e media_player.amplificatore.

L’automazione da definire sarà:

automation:
- alias: "AirPlay"
  hide_entity: true
  initial_state: 'on'
  trigger:
    - platform: state
      entity_id: input_boolean.airplay
      to: 'on'
  condition: []
  action:
    - service: media_player.turn_on
      entity_id: media_player.amplificatore
    - delay: 0:00:05
    - service: media_player.select_source
      data:
        entity_id: media_player.amplificatore
        source: 'AUX'
    - service: media_player.volume_up
      entity_id: media_player.amplificatore
    - service: media_player.volume_up
      entity_id: media_player.amplificatore


🔻 Clicca QUI per commentare l'articolo. 🔻