Scopi della guida:
Concetti affrontati:
Componenti software utilizzate:
|
Prerequisiti:
Dispositivi fisici utilizzati:
|
GUIDA maggiormente indicatA per: |
|
Note e disclaimer
|
|
Revisione guida: 3.4 |
Abstract
Amazon Echo è uno degli smart speaker di più ampio e riconosciuto successo. Come abbiamo spiegato in altre schede tale componente per funzionare utilizza il software Alexa, il quale è disponibile, anche per smart speaker prodotti da terze parti, oltre che come applicazione stand-alone per smartphone/tablet Android e iOS.
La presente guida, lo diciamo subito, non è dedicata all’integrazione di dispositivi Alexa con Home Assistant come strumento di controllo della domotica. Questo tema è già stato affrontato in altre due guide specifiche:
- Integrare Amazon Echo (Alexa) con Home Assistant (via cloud a pagamento);
- Integrare gratuitamente Amazon Echo (Alexa) con Home Assistant (via haaska e AWS);
questa guida, invece, illustra le modalità che permettono di integrare Alexa con Home Assistant come se fosse (qual è, in effetti) un riproduttore musicale. Questo consente di:
- visualizzarne da frontend lo stato di riproduzione musicale;
- impostare la riproduzione musicale, da frontend come via automazione;
- impostarne il volume;
- intercettarne lo stato operativo;
- utilizzare lo smart speaker come sistema di notifica vocale (a questo abbiamo dedicato una guida ad hoc).
L’integrazione è piuttosto semplice e prevede l’utilizzo di un componente non ufficiale (custom component) di Home Assistant, chiamato “Alexa Media Player“.
Si parte
- Installazione
- Codice applicativo 2FA
- Integrazione
- Dettagli integrazione
- Uso
Installazione
Come qualunque custom component Home Assistant, a partire dalla versione 0.88 di quest’ultimo è necessario creare una cartella contenente i file del componente, la quale sarà collocata, a sua volta, dentro la cartella “custom_components” all’interno della cartella principale di Home Assistant (ovvero quella nella quale giacciono i file di configurazione).
Scaricare dunque il pacchetto di installazione e provvedere a decomprimerlo: esso conterrà una cartella chiamata “alexa_media” la quale rappresenta la cartella dedicata al componente; provvedere dunque a copiarla dentro la cartella “custom_components” (laddove quest’ultima non esista, provvedere a crearla).
IN ALTERNATIVA – preferibile – VIA HACS
Dalla versione 1.3.0 il componente prevede un’alternativa molto più facile per installarlo: quella di utilizzare HACS.
Per farlo è necessario avere installato una tantum il componete HACS e poi:
- entrare in HACS;
- cliccare “Integrazioni“;
- cliccare sui tre puntini in alto a destra;
- selezionar “Custom repositories“;
- *alla voce “ADD CUSTOM REPOSITORY URL” aggiungere – selezionando la categoria “integration” – il path:
https://github.com/custom-components/alexa_media_player
- infine, tornando alla voce “STORE“, cercare e trovare “Alexa Media Player”, cliccarvi sopra e poi, nella pagina apertasi, cliccare su “INSTALL“. Al termine, riavviare Home Assistant.
*questo specifico punto potrebbe non esser più necessario.
Codice applicativo 2FA
Prima di provvedere all’integrazione è necessario definire un codice applicativo 2FA.
Il “two-factor-authentication – 2FA” (in italiano “Verifica in due passaggi – 2SV“) è una tecnica sempre più in voga che prevede di autenticarsi a un proprio account Internet non solo tramite username/password, ma anche con un secondo passaggio che, il più delle volte, prevede l’invio di un OTP (one-time-password) via SMS (o altro).
Per utilizzare l’integrazione oggetto della presente guida è necessario che tale doppia autenticazione presso l’account Amazon sia attiva sul proprio account.
Collegarsi quindi a questo indirizzo e provvedere a tale abilitazione; completare la procedura sino al raggiungimento di questa schermata di riepilogo:
Ciò fatto, teoricamente saremmo già a posto, perché in fase di integrazione sarebbe sufficiente indicare all’interfaccia di farsi inviare l’SMS con l’OTP per l’attivazione delle funzionalità richiesta. Errore: così facendo, di tanto in tanto l’integrazione si disconnetterà dall’account, vincolando l’utente a ripeterla.
Per evitare ciò, utilizzeremo un codice 2FA “applicativo”, ovvero da dare in pasto all’integrazione così da evitare questo problema.
Clicchiamo dunque sulla voce “Aggiungi nuovo telefono o un’app di autenticazione“, poi sul link “Non riesci ad acquisire il codice a barre?”
Si aprirà un box contenente il nostro codice applicativo 2FA:
A questo punto segnarsi da parte tale codice (eg. 35T5 LQSY I5IO 3EFQ LGAJ I6YB JWBY JJPR PYT7 XPPW IDAK SQBJ CVXA), servirà a breve. Chiudere la finestra.
Integrazione
Una volta installato il componente “Alexa Media Player” e provveduto al riavvio di Home Assistant, siamo dunque pronti a integrare i dispositivi Alexa (associati al nostro account Amazon) alla nostra domotica.
I dati necessari per provvedere a tale integrazione sono l’username e la password del nostro account presso il webstore nazionale Amazon (.it per l’Italia, .fr per la Francia e così via).
Recarsi alla voce di menu Home Assistant “Impostazioni” > “Integrazioni” e selezionare la voce “Alexa Media Player”
Nella schermata successiva inserire nei campi richiesti l’username, la password e lo store nazionale di riferimento.
ATTENZIONE: questo è un punto cruciale. Va indicato, per l’Italia, “amazon.it“. Sbagliando questo passaggio ci saranno dei malfunzionamenti a seguire. |
Spiegazione dei campi:
Indirizzo email | Il proprio indirizzo email col quale ci si autentica presso Amazon |
Password | La relativa password d’accesso |
Regione del dominio Amazon | Impostare amazon.it |
URL to access Home Assistant | Indirizzo del proprio Home Assistant |
2FA Code | Il campo precedentemente utilizzato per l’autorizzazione in due fasi. Lasciare vuoto. |
Built-in 2FA App Key | Inserire il codice precedentemente ottenuto dall’attivazione della verifica in due fasi. |
Dispositivi da includere/eslcudere | Eventuali dispositivi presenti sul proprio account Amazon, da includere o escludere esplicitamente, divisi da virgola (eg. “Questo dispositivo”,”App Alexa di Marco” eccetera) |
Cliccare su “INVIA” per accedere alla conferma dell’auto-generazione dei codici 2FA da parte dell’app:
Cliccare su “INVIA” per accedere al captcha finale:
Cliccare infine su “INVIA” per proseguire l’integrazione.
A questo punto l’integrazione chiederà di verificare l’autorizzazione lato Amazon che verrà inviata, tipicamente via SMS al cellulare associato all’account (o altri canali):
Non cliccare subito “INVIA“. Prima sarà necessario recarsi presso il sito di Amazon (link inviato via SMS o altri canali) e autorizzare l’accesso di Home Assistant:
Autorizzato l’accesso, sarà possibile cliccare su “INVIA” sulla finestra rimata aperta su Home Assistant.
A questo punto, se tutto sarà andato bene Home Assistant elencherà i device Alexa collegati al proprio account e quindi, da questo momento, integrati all’HUB:
Dettagli integrazione
In qualunque momento è possibile consultare il proprio elenco di dispositivi integrati presso la voce di menu “Impostazioni” > “Integrazioni” > “Alexa Media Player” (voce “Configurato“):
Uso
Al termine del riavvio, in luogo dell’entità “Configurator” ne sarà apparsa una (o più, in base a quanti dispositivi sono stati inclusi in configurazione) di tipo “Media Player“:
ll nome di questa/e entità sarà quello impostato sul proprio account Amazon. In questo caso d’esemoio, “media_player.alexa“.
N.b. Affinché l’integrazione funzioni è necessario che lo stato dell’entità sia diverso da “Unknown“. In questo caso “Standby” indica che lo Smart Speaker è stato integrato correttamente ed è in condizione di attesa. In caso di stato “Unknown” rivedere la configurazione e lo stato della rete, perché evidentemente qualcosa sta funzionando in modo non corretto.
Riproduzione musicale
A questo punto l’entità può essere controllata come un comune dispositivo Media Player presso l’interfaccia utente Lovelace oppure tramite servizio media_player.play_media (via automazioni, script ecc.).
Uno script tipo è il seguente:
script: remco_awake: alias: Ascolto musica sequence: - data: entity_id: media_player.alexa media_content_id: "Radiofreccia" media_content_type: "TUNEIN" service: media_player.play_media
evocando tale script, il Media Player indicato (“media_player.alexa“) comincerà a riprodurre la radiostazione “Radiofreccia” tramite il servizio Tune IN.
Altri esempi di servizi sono:
APPLE MUSIC
{
"entity_id": "media_player.alexa",
"media_content_id": "7 rings",
"media_content_type": "APPLE_MUSIC"
}
>AMAZON MUSIC
{
"entity_id": "media_player.alexa",
"media_content_id": "Concrete and gold",
"media_content_type": "AMAZON_MUSIC"
}
{
"entity_id": "media_player.alexa",
"media_content_id": "La mia playlist",
"media_content_type": "AMAZON_MUSIC"
}
DEEZER
{
"entity_id": "media_player.alexa",
"media_content_id": "Falco",
"media_content_type": "DEEZER"
}
TUNEIN
{
"entity_id": "media_player.alexa",
"media_content_id": "BBC one",
"media_content_type": "TUNEIN"
}
Gruppi
Tramite l’integrazione di più Smart Speaker è possibile automatizzare la riproduzione in coro (sincronizzata) dei contenuti musicali:
{
"entity_id": "media_player.alexa",
"media_content_id": "boyz ii men in tutti i dispositivi",
"media_content_type": "AMAZON_MUSIC"
}
Il trucco è indicare nel media_content_id il suffisso “in tutti i dispositivi“.
Sequenze
L’integrazione supporta anche il controllo delle sequenze tipiche di Alexa, nello specifico:
- Alexa.Weather.Play (informazioni meteo)
- Alexa.Traffic.Play (informazioni traffico)
- Alexa.FlashBriefing.Play (sommari brevi)
- Alexa.GoodMorning.Play (buongiorno)
- Alexa.GoodNight.Play (buonanotte)
- Alexa.SingASong.Play (suona una cazone)
- Alexa.TellStory.Play (racconta una storiella)
- Alexa.FunFact.Play (racconta un fatto buffo)
- Alexa.Joke.Play (racconta un indovinello)
- Alexa.Music.PlaySearchPhrase
- Alexa.Calendar.PlayTomorrow
- Alexa.Calendar.PlayToday
- Alexa.Calendar.PlayNext
- Alexa.CleanUp.Play
- Alexa.ImHome.Play (“sono tornato”)
Il servizio utilizzato è sempre media_player.play_media; a cambiare è il “media_content_type“, per esempio:
{
"entity_id": "media_player.alexa",
"media_content_id": Alexa.FlashBriefing.Play
"media_content_type": sequence
}
In questo esempio si chiede a Alexa di riprodurre i sommari rapidi (flash briefing).
Volume
È infine anche possibile regolare il volume dei vari Smart Speaker integrati.
Vediamo l’esempio di uno script che regoli un volume di default al 50%:
alexa_imposta_volume:
sequence:
- service: media_player.volume_set
data:
entity_id: media_player.alexa
volume_level: 0.5
Automazioni
A questo punto non resta che cablare queste possibili chiamate presso le nostre automazioni.
Un esempio banale può essere quello di configurare un’automazione la quale, all’apertura delle porta d’ingresso – interpretata come rientro a casa – riproduca un sommario rapido (magari predefinito in domotica):
automation:
- alias: "Bentornato"
trigger:
- platform: state
entity_id: sensor.sensore_apertura_porta
to: 'on'
condition: []
action:
service: media_player.play_media
- data:
entity_id: media_player.alexa
media_content_id: Alexa.FlashBriefing.Play
media_content_type: sequence
service: media_player.play_media
A questo punto è possibile sfruttare le automazioni sia per controllare Alexa come sopra spiegato, sia per scatenare degli eventi a fronte della riproduzione di qualche contenuto innescata magari tramite comando vocale.
Ad esempio potrebbe essere carino impostare uno scema colore sensibile alla musica di un pannello luminoso Nanoleaf a fronte dell’avvio della riproduzione di un brano:
automation:
- alias: "Riproduzione musicale"
trigger:
platform: state
entity_id: media_player.alexa
to: 'playing'
condition:
condition: state
entity_id: light.nanoleaf
state: 'off'
action:
service: light.turn_on
entity_id: light.nanoleaf
data_template:
effect: 'Music schema'
Il limite, come sempre, è la fantasia.
![]() |
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. |

“Far parlare” Amazon Alexa come sistema di notifica domotica su Home Assistant