Scopi della guida:
Concetti affrontati:
|
Componenti software utilizzate:
Prerequisiti:
Dispositivi fisici utilizzati:
|
GUIDA INDICATA A UTENTI CON ISTALLAZIONE: |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.0 |
Abstract
Nella prima parte di questa guida abbiamo visto come definire presso la propria domotica personale basata su Home Assistant dei veri e proprio “telecomandi virtuali” i quali, quando azionati (da interfaccia come da automatismi), di fatto producano la trasmissione di specifici codici infrarosso/radiofrequenza (precedentemente acquisiti da telecomandi originali) tramite attuatori Broadlink (eg. Broadlink RM4 Mini).
In questa seconda parte vedremo come gestire dei telecomandi precedentemente gestisti, definendo un’interfaccia grafica utilizzando il componente “Custom Card”. Tale guida si applica comunque anche in presenza di altre entità di tipo “Remote” (definite tramite l’uso di altre piattaforme figlie diverse da “Broadlink”).
Si parte
- Assunti
- Spiegazione
- Definire una nuova card
- Anatomia del tasto
- Codice manual card
- DOWNLOAD configurazione d’esempio
Assunti
Per l’applicazione della presente guida si dà per scontata l’avvenuta lettura e comprensione della prima parte della stessa.
Si assume inoltre di avere disponibile in configurazione un’entità chiamata remote.broadlink ottenuta tramite la prima parte della guida e, presso tale entità, aver già registrato i tasti di un comune telecomando decoder Sky chiamandolo, come device presso l’entità, “Sky“.
La configurazione può essere ovviamente personalizzata: l’entità potrà chiamarsi in altri modi e potrà essere generata dall’integrazione non di un emettitore Broadlink ma piuttosto di altre piattaforma di integrazione (per esempio un Logitech Harmony integrato a Home Assistant tramite la propria piattaforma). Anche il telecomando registrato e i relativi tasti potrebbero serenamente essere altri (quelli di una tv, di un impianto Hi-Fi o molto, molto altro).
Inoltre, è necessario avere installato su Home Assistant il custom component “Button Card” (vedi guida).
Spiegazione
Purtroppo l’interfaccia grafica di Home Assistant, Dashboards, non dispone di una naturale rappresentazione grafica per l’entità “Remote”, ovvero i telecomandi. Per dotarci quindi di una “pulsantiera” facente funzioni andremo ad utilizzare il custom component “Button Card“, il quale consente all’utente di definire delle stratificazioni orizzontali e verticali di pulsanti, andando così a creare un telecomando grafico tale da evocare l’invio dei codici alla pressione dei vari tasti.
L’interfaccia che andremo a creare tramite la presente guida rappresenta un telecomando decoder Sky, ma è ovvio che lo scopo è insegnare l’approccio, così da consentire all’utente di creare telecomandi personalizzati per i più disparati usi.
Il telecomando che andremo a realizzare sarà il seguente:
Come si nota, sono presenti la maggior parte dei tasti tipicamente utilizzati su questo tipo di telecomandi, inclusi gli avanzamenti rapidi avanti/indietro, il tasto info e quant’altro. Ovviamente questo è solo un esempio: i tasti implementabili tramite l’adozione della presente guida sono i più disparati.
Definire una nuova card
Ciò che andremo a fare è definire una singola manual card di tipo “vertical-stack” (stratificazione verticale): al suo interno definiremo tante “horizontal-stack” (stratificazione orizzontale) quante saranno le righe di tasti necessarie. In ogni riga, definiremo poi i tasti sfruttando la tipologia “custom:button-card” derivante dall’uso di “Button Card”.
In pratica:
type: vertical-stack
cards:
- type: horizontal-stack #riga 1
cards:
- type: custom:button-card #tasto 1
...
- type: custom:button-card #tasto 2
...
- type: horizontal-stack #riga 2
cards:
- type: custom:button-card #tasto 1
...
- type: custom:button-card #tasto 2
....
Per aggiungere il nostro nuovo telecomando sarà sufficiente entrare nell’editor visuale di Dashboards (i tre puntini in alto a destra sul frontend web/app, poi “Configura l’interfaccia utente“) e cliccare sul “+“, selezionando come tipologia “MANUAL CARD“.
Il codice da inserire lo scopriamo ora, di seguito.
Anatomia del tasto
Vediamo, tanto per cominciare, quale sia l’anatomia di ogni blocco di codice di tipo “custom:button-card“, ovvero quello di ogni signolo tasto.
Ogni tasto “deve far qualcosa”. Le caratteristiche che andremo a personalizzare sono:
- il colore di sfondo;
- l’icona da visualizzare;
- l’azione da eseguire quando premuto.
Il colore di sfondo è semplice da definirsi, basta utilizzare queste due righe:
color_type: card color: rgb(0, 0, 0)
dove, ovviamente, il colore indicato sarà dato dalla tripletta di numeri interi dentro rgb().
L’icona, come sempre su Home Assistant, si definisce tramite
icon: mdi:nomeicona
dove nomeicona si identifica cercando l’icona d’interesse sul solito materialdesignicons.com.
Infine, l’action. In questa guida prederemo in analisi due possibili gesture:
- tap, quando si preme una volta su un tasto;
- hold, quando di trattiene la pressione.
Un tasto che disponga di entrambe le funzioni potrebbe esser così configurato:
tap_action: action: call-service service: remote.send_command service_data: entity_id: remote.broadlink device: sky command: volume_down hold_action: action: call-service service: remote.send_command service_data: entity_id: remote.broadlink device: sky command: volume_down num_repeats: 5 delay_secs: 0.05
in questo esempio utilizziamo la tap_action per inviare una volta, tramite remote.broadlink, il comando volume_down del telecomando sky (abbassamento); utilizziamo invece la hold_action per inviare lo stesso comando ma cinque volte di seguito. Questa seconda action è infatti utile per l’esecuzione ripetuta di alcuni comandi specifici come, appunto, la variazione di volume, che solitamente viene fatta tenendo premuto. Il comportamento derivante non è precisamente lo stesso, ma simile.
N.b. Ovviamente, lo ripetiamo, i nomi del remote, device e command sono a carico dell’utente. Questo è solo un esempio, ovviamente i nomi variano in base alla propria configurazione. |
Infine, il tasto viene dunque così definito (esempio del tasto per l’abbassamento del volume):
type: custom:button-card color_type: card color: rgb(75, 75, 77) icon: mdi:volume-minus tap_action: action: call-service service: remote.send_command service_data: entity_id: remote.broadlink device: sky command: volume_down hold_action: action: call-service service: remote.send_command service_data: entity_id: remote.broadlink device: sky command: volume_down num_repeats: 5 delay_secs: 0.05
Possono anche esser inseriti dei bottoni “vuoti”: per esempio accanto al tasto “0” ce ne sono due, uno a destra e uno a sinistra:
type: custom:button-card color_type: blank-card
Codice manual card
Vediamo infine il codice esemplificativo relativo alla sola prima riga del telecomando sopra rappresentato graficamente, quello da inserire quando si crea la manual card:
type: vertical-stack cards: - type: horizontal-stack cards: - type: custom:button-card color_type: card tap_action: action: call-service service: remote.send_command service_data: entity_id: remote.broadlink device: Sky command: mute icon: mdi:volume-off color: rgb(75, 75, 77) - type: 'custom:button-card' color_type: card tap_action: action: call-service service: remote.send_command service_data: entity_id: remote.broadlink device: Sky command: power icon: mdi:power color: rgb(150, 150, 150) - type: custom:button-card color_type: card tap_action: action: call-service service: remote.send_command service_data: entity_id: remote.broadlink device: Sky command: previous_channel icon: mdi:swap-horizontal-bold color: rgb(75, 75, 77)
Questo codice crea i solo primi tre tasti, ovvero quellii del mute, dell’accensione e dello switch canale precedente.
DOWNLOAD
A questo punto è possibile scaricare il codice completo del telecomando proposto sotto forma di manual card, così da poterlo adottare, personalizzare e modificare come si crede.
Il codice completo è disponibile presso il nostro repository GitHub.
⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui. |
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa. |