community italiana di domotica personale
 
Integrare Amazon Alexa come “Media Player” su Home Assistant

Integrare Amazon Alexa come “Media Player” su Home Assistant

Scopi della guida:
  • Integrare Amazon Echo/Alexa quale riproduttore multimediale presso Home Assistant
  • Livello di difficoltà: medio/bassa
  • Categoria d’integrazione: Cloud Polling
Concetti affrontati:
  • Configurazione software
Componenti software utilizzate:
Prerequisiti:
Dispositivi fisici utilizzati:
GUIDA INDICATA a UTENTI CON ISTALLAZIONE:
Ambienti Home Assistant HassOS-Core v3
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione guida: 3.9

Amazon Echo Dot 5 gen

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 Home Assistant su Amazon Alexa come strumento di controllo della domotica. Questo tema è già stato affrontato in altre due guide specifiche:

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 (cioè “farlo parlare a comando”- su questo aspetto 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“.

N.b. Per integrare Home Assistant ad Amazon Alexa (e viceversa) esistono diverse strade. Quella descritta in questa guida è una delle possibilità: prima di proseguire, si consiglia di leggere rapidamente il focus panoramico dedicato al tema.

ATTENZIONE: DAL GIUGNO 2025, QUESTO COMPONENTE È STATO, DE FACTO, SOSTITUITO DALLA PIÙ EFFICACE INTEGRAZIONE NATIVA HOME ASSISTANT “AMAZON DEVICES”. SI CONSIGLIA PERTANTO DI UTILIZZARE QUEST’ULTIMA. LASCIAMO COMUNQUE ONLINE GLI ARTICOLI DEDICATI AD ALEXA MEDIA PLAYER, IN QUANTO COMUNQUE ANCORA FUNZIONANTE.

Si parte

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” o in breve “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 dunque a questo indirizzo, autenticandosi con le proprie credenziali Amazon (le stesse usate sull’app Alexa) e provvedere all’abilitazione 2F2 attivando SMS e/o app di autenticazione; completare la procedura sino al raggiungimento di questa schermata di riepilogo:

Amazon - Impostazioni della verifica in due passaggi 2SV (2FA)

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 di tipo “applicativo” da dare in pasto all’integrazione, cosa che eviterà tali disconnessioni.

Clicchiamo dunque sulla voce “Aggiungi nuovo telefono o un’app di autenticazione“, poi sul link “Non riesci ad acquisire il codice a barre?

Amazon - Impostazioni della verifica in due passaggi 2SV (2FA) - Aggiungi metodo

Si aprirà un box contenente il nostro codice applicativo 2FA:

Amazon - Impostazioni della verifica in due passaggi 2SV (2FA) - Aggiungi metodo - codice 2FA applicativo

A questo punto segnarsi da parte tale codice servirà a breve. NON chiudere la finestra.

Vetrina - Offerte del giorno

Integrazione

Una volta installato il componente “Alexa Media Player“, provveduto al riavvio di Home Assistant e attivato il 2FA, 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 “Configurazione” > “Dispositivi e servizi” e selezionare la voce “Alexa Media Player”

Home Assistant - Integrazione 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 richiesti in fase di configurazione

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 Edoardo” eccetera) 

Cliccare su “INVIA” per accedere alla conferma dell’auto-generazione dei codici 2FA da parte dell’app di integrazione.
Si aprirà una nuova box:

Home Assistant - Integrazione Alexa Media Player - Step 1.1

Segnarsi il codice OTP fornito, tornare alla finestra di prima e inserire tale codice nella finestra “Inserisci OTP“, come segue:

Home Assistant - Integrazione Alexa Media Player - Step 1.2

cliccare quindi su “Verifica il codice OTP e continua“.

Tornare su Home Assistant, selezionare nella box la spunta “Password usa e getta (OTP) dalla chiave dell’applicazione 2FA integrata confermata con successo” e cliccare su “INVIA” per completare l’integrazione.

Si aprirà automaticamente una nuova finesta di autenticazione sul proprio account Amazon: provvedere utilizzando l’OTP (via SMS o app di autenticazione) e, autorizzato l’accesso, la procedura di integrazione si dovrebbe concludere con successo.


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:

Home Assistant - Integrazione Alexa Media Player - Step 4

opzioni integrazione

In qualunque momento è possibile consultare il proprio elenco di dispositivi integrati presso la voce di menu “Configurazione” > “Dispositivi e servizi” > “Alexa Media Player“.

Cliccando su “CONFIGURA” è possibile selezionare ” Includi i dispositivi collegati tramite Echo” per integrare eventuali componenti dell’ecosistema Amazon (per esempio il sensore ambientale “Amazon Smart Air Quality Monitor“):

Home Assistant - Integrazione Alexa Media Player - Opzioni

N.b.  Questa azione NON integra su Home Assistant eventuali componenti integrati direttamente su Alexa (eg. una lampadina ZigBee Philips HUE), esterni all’ecosistema Alexa, ma solo prodotti Amazon specificamente concepiti per lavorare con e su Alexa, come appunto il sensore citato.

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“:

Home Assistant - Alexa Media Player

ll nome di questa/e entità sarà quello impostato sul proprio account Amazon. In questo caso d’esempio, “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 dell’HUB oppure tramite azione media_player.play_media (via automazioni, script ecc.).

Uno script tipo è il seguente:

script:
  risveglio:
    alias: Ascolto musica
    sequence:
    - action: media_player.play_media
      data:
        entity_id: media_player.alexa
        media_content_id: "Radio Lattemiele"
        media_content_type: "TUNEIN"

evocando tale script, il Media Player indicato (“media_player.alexa“) comincerà a riprodurre la radiostazione scelta 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”)

L’azione utilizzata è 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:
    - action: 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:
    action: media_player.play_media
    - data:
        entity_id: media_player.alexa
        media_content_id: Alexa.FlashBriefing.Play
        media_content_type: sequence

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:
      action: light.turn_on
      entity_id: light.nanoleaf
      data:
        effect: 'Music schema'

Il limite, come sempre, è la fantasia.

⚠️ 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.

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