Integrare Amazon Alexa come “Media Player” su Home Assistant

5 minuti di lettura
Scopi della guida
  • Integrare Amazon Echo/Alexa quale riproduttore multimediale presso Home Assistant
  • Livello di difficoltà: medio/bassa
Concetti affrontati:
  • Configurazione software
Componenti software utilizzate:
Prerequisiti
Dispositivi fisici utilizzati:
  • Il dispositivo sul quale risiede Home Assistant
  • Amazon Echo (qualsiasi modello o qualsiasi modello di smart speaker che monti Amazon Alexa come software integrato)
GUIDA maggiormente indicatA 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.
Revisione guida: 2.0

 

Amazon Echo Dot - colori

Abstract

Amazon Echo è uno dei device di più ampio e riconosciuto successo. Come abbiamo spiegato tale smart speaker 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. 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 (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

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 “SETTINGS”;
  • alla voce “ADD CUSTOM REPOSITORY” aggiungere – selezionando la tipologia “integration” – il path:
https://github.com/keatontaylor/alexa_media_player

e 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.

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

Home Assistant - Integrazione Alexa Media Player

Nella schermata successiva inserire nei campi richiesti l’username, la password e lo store nazionale di riferimento:

Home Assistant - Integrazione Alexa Media Player - Step 1

Cliccare su “SUBMIT” per accedere al captcha finale:

Home Assistant - Integrazione Alexa Media Player - Step 2

 

Cliccare infine su “SUBMIT” per concludere l’integrazione.
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 3

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

Home Assistant - Alexa Media Player Integration

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’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.


Home Assistant Official LogoATTENZIONE: 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.


Please comment below

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