In questo articolo vedremo qualche trucchetto per rendere le notifiche di Alexa più personali, con Home Assistant ovviamente!
I messaggi che facciamo riprodurre ai nostri dispositivi Echo, infatti, sono davvero comodi per avvisarci che qualcosa è accaduto o semplicemente per assisterci in qualcosa ma, se non utilizziamo qualche espediente, rischiano di diventare davvero monotoni e ripetitivi.
Finirà che ti daranno quasi fastidio, se non fai qualcosa.
In questo articolo ti mostro qualche trucchetto per rendere i tuoi annunci Alexa più vivi, personali, simpatici. Quasi umani.
Stai con me, ti mostro come fare, non sarà difficile, promesso 🙂
Sommario
- 1 Come inviare notifiche da Home Assistant tramite Alexa
- 2 Utilizza SSML per modificare la voce di Alexa
- 3 Frasi casuali e più variabili
- 4 Usare SSML con multinotify
- 5 Conclusione
- 6 Ti va di darmi una mano?
Come inviare notifiche da Home Assistant tramite Alexa
Prima di iniziare vediamo come si può fare per inviare le notifiche dalle nostre automazioni di Home Assistant tramite i dispositivi Alexa.
Come prima cosa sarà necessario installare il componente custom Alexa Media Player che può essere installato manualmente oppure (e lo consiglio caldamente) tramite HACS, un componente custom a sua volta che serve per semplificare l’installazionee l’aggiornamento dei componenti non inclusi nel core di Home Assistant, proprio come Alexa Media Player.
A questo punto per riprodurre notifiche vocali su Alexa hai due possibilità:
- Riprodurle utilizzando semplicemente il servizio
notify.alexa_media
specificando il/i target, oppurenotify.alexa_media_nomedispositivo
dove chiaramente nomedispositivo è il nome di uno dei tuoi dispositivi Echo. Per avere più informazioni fai riferimento alla documentazione di Alexa Media Player.
Esistono due modalità:type: tts
che permette di leggere del testo senza aggiungere altro ma non permette di leggere in modo sincrono l’annuncio su più dispositivi contemporaneamentetype: announce
che legge il testo dell’annuncio preceduto da un “din don” e permette la lettura sincrona su più dispositivi. Io solitamente uso questo perchè il “din don” iniziale catalizza l’attenzione e non si rischia di perdere un pezzo di messaggio.
- Utilizzare il mio script multinotify che ti permette più potenza e flessibilità come, ad esempio, impostare un volume specifico per il tuo annuncio, ripristinare il volume precedente al termine, fermare la musica eventualmente in riproduzione e riprenderla al termine, attendere la fine dell’annuncio per permettere azioni in sequenza ed altro ancora.
Trovo fondamentale usarlo ovunque perchè la gestione di un volume differente da quello corrente è di grande aiuto nella comprensione e non capisco perchè non sia stato fatto già così…
A me, per esempio, capitava spesso di sentire della musica di sottofondo a basso volume e, quando arrivava un’annuncio, veniva riprodotto ad un volume quasi impossibile da comprendere. Ma con multinotify il problema è risolto in modo elegante.
Ma ora vediamo i trucchi per rendere più personali gli annunci di Alexa.
Utilizza SSML per modificare la voce di Alexa
Announce
che TTS
Forse non molti sanno che, oltre a scrivere il testo che vogliamo che Alexa pronunci, è possibile personalizzare come Alexa lo debba fare, tramite un linguaggio di markup basato su xml che possiamo inserire in modo molto semplice nelle nostre frasi.
La pagina di Amazon dove è descritto in inglese in modo molto completo questo linguaggio è questa, puoi farvi riferimento per ulteriori informazioni che per sintesi non includerò in questo articolo.
Tieni presente che non tutte le possibilità sono disponibili in tutte le lingue. Alcuni tag, infatti, funzioneranno soltanto in specifici lingue, in particolare l’inglese americano. Ci sono tante possibilità, comunque, anche per la nostra bella lingua.
Vediamo i costrutti più interessanti che possono ravvivare i tuoi annunci, mi limiterò alle possibilità più interessanti che funzionano in italiano.
Tono colloquiale
Quando facciamo un annuncio su Alexa il tono di default è piuttosto formale. Se vogliamo invece dare un tono più colloquiale alla frase, più idoneo per frasi scherzose o simpatiche, possiamo usare il tag amazon:domain con attributo name impostato a conversational (l’unico che funziona in italiano).
Esempio:
service: script.multinotify data: message: >- Possiamo pronunciare annunci formali. <amazon:domain name="conversational">Hey, in alternativa possiamo anche parlare più amichevolmente! Che ne dici?</amazon:domain> alexa_target: media_player.ovunque
Sottovoce
Per far pronunciare ad Alexa del testo sottovoce possiamo invece usare il tag amazon:effect racchiudendo la frase desiderata.
Esempio:
service: script.multinotify data: message: >- Ti svelo un segreto. <amazon:effect name="whispered">Non sono un vero essere umano.</amazon:effect> Ci puoi credere? alexa_target: media_player.ovunque
Audio
Si, Alexa può riprodurre dei file audio mp3 tramite, appunto, il tag audio. Solo è un po’ schizzinosa… Primo perchè, ad eccezioni di tutti gli altri tag, funziona solo con modalità tts (che riproduce l’annuncio senza il “din-don” iniziale e non funziona quindi con multinotify) e secondo perchè, se vuoi riprodurre un tuo suono mp3, deve essere ospitato su un sito con https e certificato valido (i certificati self signed, infatti, non funzioneranno) e il formato deve anche essere specifico.
Libreria audio Amazon
Fortunatamente Amazon ha una libreria di suoni piuttosto vasta tra cui scegliere quel che vuoi riprodurre.
Esempio:
service: notify.alexa_media data: data: type: tts message: Ho rilevato del fumo in cucina! <audio src="soundbank://soundlibrary/alarms/chimes_and_bells/chimes_bells_05"/> target: media_player.ovunque
Immagina ad esempio, per Halloween, di riprodurre suoni inquietanti su dispositivi Alexa casuali come questo:
service: notify.alexa_media data: data: type: tts target: media_player.ovunque message: <audio src="soundbank://soundlibrary/wood/squeaks/squeaks_01"/>
File audio personale
Se proprio vuoi riprodurre un file audio personale sarà necessario salvarlo / convertirlo con le seguenti impostazioni (io uso l’ottimo editor audio open source Audacity):
- Formato: MP3
- Campionamento a 22.050, 24.000 o 16.000 Hz
- Bitrate costante a 48Kbps
- Non più lungo di 240 secondi (nel caso di più tag audio la lunghezza totale non deve superare i 240 secondi)
Esempio:
service: notify.alexa_media data: data: type: tts target: media_player.ovunque message: Posso anche riprodurre file audio personali. <audio src="https://henriksozzi.it/wp-content/uploads/2022/07/alexa_test.mp3"/>
Pausa
Si può inserire una pausa di lunghezza variabile nelle frasi usando il tag break.
Esempio:
service: script.multinotify data: message: >- C'è una pausa di 3 secondi qui.<break time="3s"/>Poi l'annuncio continua alexa_target: media_player.ovunque
Enfasi
E’ possibile dare più o meno enfasi ad alcune parole dell’annuncio, usando il tag emphasis.
Usando livello strong
il testo sarà letto più lentamente e ad un volume maggiore.
Usando livello reduced
il testo sarà invece letto più velocemente e ad un volume inferiore.
Esempio:
service: script.multinotify data: message: >- Google Home mi piace <emphasis level="strong">davvero tanto</emphasis>. Cortana invece, <emphasis level="reduced">lasciamo stare</emphasis> alexa_target: media_player.ovunque
Lingue diverse
Usando il tag lang è possibile far leggere parti del testo in una specifica lingua.
E’ particolarmente adatto per far leggere il nome di un negozio, una parola o di un modo di dire di altre lingue. Il motore di sintesi cercherà di pronunciarla secondo le regole della lingua specificata ma per pronunciare intere frasi in altre lingue è più indicato usare la voce Alexa di altre nazioni, così da garantire una pronuncia impeccabile.
Le lingue tra cui è possibile scegliere sono le seguenti: de-DE
, en-A
U, en-CA
, en-GB
, en-IN
, en-US
, es-ES
, es-MX
, es-US
, fr-CA
, fr-FR
, hi-IN
, it-IT
, ja-JP
, pt-BR
.
Esempio:
service: script.multinotify data: message: >- Vorrei tanto visitare <lang xml:lang="fr-FR">Paris</lang> e salire sulla <lang xml:lang="fr-FR">Tour Eiffel</lang>. Oppure visitare <lang xml:lang="en-US">New York</lang> e vedere <lang xml:lang="en-US">Central Park</lang> alexa_target: media_player.ovunque
Volume, intonazione e velocità
Tramite il tag prosody è possibile modificare il volume, l’intonazione e la velocità di lettura.
- per modificare la velocità di lettura è possibile impostare l’attributo rate su uno dei seguenti valori:
x-slow
,slow
,medium
,fast
,x-fast
, oppure la percentuale desiderata considerando che 100% è la velocità normale e il minimo impostabile è 20%. - Per modificare l’intonazione è possibile impostare l’attributo pitch su uno dei seguenti valori:
x-low
,low
,medium
,high
,x-high
oppure una percentuale positiva o negativa (max +50%, min -33.3%)
Quando si cambia intonazione Alexa userà un motore di sintesi legacy che potrebbe modificare la qualità del suono della voce. - Per modificare il volume è possibile impostare l’attributo volume su uno dei seguenti valori:
silent
,x-soft
,soft
,medium
,loud
,x-loud
oppure su un valore in dB positivo o negativo (max +4.08dB min -6dB)
Esempio:
service: script.multinotify data: message: >- Volume normale per la prima frase. <prosody volume="x-loud">Più forte per la seconda frase</prosody>. Quando mi sveglio, <prosody rate="x-slow">parlo abbastanza lentamente</prosody>. Posso parlare con intonazione normale, <prosody pitch="x-high"> ma anche molto più alta </prosody>, ed anche <prosody pitch="low">molto più bassa</prosody>. alexa_target: media_player.ovunque
Pronuncia in modo specifico
Con il tag say-as è possibile specificare di pronunciare una parola, un numero, una data o latro in modo specifico come vogliamo noi.
Alexa, infatti, di solito cerca di capire il modo migliore per pronunciare tutto quel che scriviamo ma non sempre il risultato è corretto. In nostro soccorso il tag say-as che, tramite l’attributo interpret-as, ha delle possibilità interessanti. Vediamole tutte nei seguenti capitoli.
Spelling dei caratteri
Se vogliamo far pronunciare una parola così che Alexa la legga carattere per carattere, anzi che leggerla come parola, usiamo il valore characters
o spell-out
.
Esempio:
service: script.multinotify data: message: >- La mia casa è smart. Capisci? <say-as interpret-as="characters">smart</say-as>. alexa_target: media_player.ovunque
Interpretazioni numeriche
Di solito quando scriviamo un numero Alexa lo legge come valore numerico. Ad esempio 12345 lo leggerebbe come “dodicimilatrecentoquarantacinque”. Ma possiamo forzare modi diversi di leggere i numeri:
cardinal
onumber
: pronuncia come numero. Esempio: 12345 -> “dodicimilatrecentoquarantacinque”ordinal
: pronuncia come ordinale. Esempio: 12345 -> “dodicimilatrecentoquarantacinquesimo”digits
: pronuncia le singole cifre. Esempio: 12345 -> “uno due tre quattro cinque”fraction
: interpreta il contenuto come frazione. Funziona per le frazioni comuni (3/6) e per contenuto misto (1+3/6). Esempio: 3/6 -> “tre sesti”unit
: interpreta un valore come una misura. Deve essere un numero o una frazione seguito da una unità di misura oppure solo una unità di misura. Esempio: 123m -> “centoventitre metri”
Esempio:
service: script.multinotify data: message: >- <say-as interpret-as="cardinal">12345</say-as>. <say-as interpret-as="ordinal">12345</say-as>. <say-as interpret-as="digits">12345</say-as>. <say-as interpret-as="fraction">3/6</say-as>. <say-as interpret-as="unit">123m</say-as>. alexa_target: media_player.ovunque
Interpretazioni data e ora
Per pronunciare date e orari in modo corretto dovremmo di solito creare un testo esteso con quel che vogliamo far pronunciare ad Alexa. In nostro soccorso i valori date
e time
ci permettono di inserire con un template direttamente i valori numerici con meno sforzo e questi saranno pronunciati correttamente.
Per le date potremo anche specificare in che formato le stiamo fornendo tra i seguenti valori: mdy, dmy, ymd, md, dm, ym, my, d, m, y oppure, senza specificarlo, è possibile passare una data in formato YYYYMMDD e questa sarà interpretata correttamente nella lingua usata.
Esempio:
service: script.multinotify data: message: >- Oggi è il <say-as interpret-as="date">20220730</say-as>. Posso anche omettere una parte di data: <say-as interpret-as="date">????0730</say-as>. alexa_target: media_player.ovunque
In modo simile possiamo far pronunciare gli orari e le durate temporali usando il valore time
.
Esempio:
service: script.multinotify data: message: >- L'asciugatura è durata <say-as interpret-as="time">1'20"</say-as> alexa_target: media_player.ovunque
Numeri di telefono ed indirizzi
Possiamo aiutare Alexa a pronunciare i numeri di telefono e gli indirizzi in modo corretto usando i valori telephone ed address.
Francamente non vedo un modo per usarli nella domotica ma so anche che ognuno ha idee diverse e particolari quindi chissà…!
Esempio:
service: script.multinotify data: message: >- Questo è un numero di telefono inventato: <say-as interpret-as="telephone">3452823063</say-as>. Questo è un indirizzo inventato: <say-as interpret-as="address">Via del ciclamino 69, Roma</say-as> alexa_target: media_player.ovunque
Censura
Immagino (non avendo un device Eco Show) che l’utilità del valore expletive
sia quello di “censurare” una parola che giovani orecchie sia meglio non sentano ma non è un problema leggerle sul display di un eco show. Con questo valore, infatti, il contenuto del tag verrà censurato con un beep.
Esempio:
service: script.multinotify data: message: >- Posso censurare le parole, <say-as interpret-as="expletive">Porca vacca</say-as>! alexa_target: media_player.ovunque
Interiezioni (le mie preferite!!!)
Il valore interjection
è decisamente il mio preferito! Permette di pronunciare una piccola frase pre programmata, da una lunghissima lista, in modo più naturale e giocoso.
Fai riferimento al pratico elenco delle interiezioni utilizzabili in italiano con Alexa, comprensivo di testo e preview audio.
Usando spesso le interiezioni è infatti possibile spezzare parecchio la monotonia della pronuncia meccanica di Alexa e simulare delle emozioni.
Consiglio quindi di cercare di usarle il più possibile per le notifiche quali il saluto all’ingresso in casa o in altre occasioni, avvisi o allarmi, informazioni. Quando scrivi una notifica per Alexa pensa sempre se possibile inserirne una. Farà tanta differenza!
Prova l’esempio qui sotto per capire meglio che leggendo mille parole…
Esempio:
service: script.multinotify data: message: >- <say-as interpret-as="interjection">Wow</say-as>, sei tornato! <say-as interpret-as="interjection">apriti sesamo</say-as>... e la porta si aprì! <say-as interpret-as="interjection">ben fatto</say-as>: l'allarme è terminato! alexa_target: media_player.ovunque
Voci differenti
Pensavi che la voce di Alexa debba essere solo quella a cui siamo abituati? E invece no, Alexa può parlare con voci differenti: 3 italiane e tante di altre lingue usando il tag voice!
E’ bene ricordare che le voci vanno usate per le lingue per cui sono state progettate. Per cui se la lingua di default è italiano (come immagino) possiamo usare il solo tag voice. Ma se vogliamo usare una voce di una lingua differente dobbiamo specificare anche il tag lang indicando la lingua adeguata (vedi esempio più giù).
L’elenco delle voci utilizzabili, suddivise per lingua, è il seguente:
Lingua | Codice per tag lang | Voci supportate |
English, American | en-US | Ivy, Joanna, Joey, Justin, Kendra, Kimberly, Matthew, Salli |
English, Australian | en-AU | Nicole, Russell |
English, British | en-GB | Amy, Brian, Emma |
English, Indian | en-IN | Aditi, Raveena |
English, Welsh | en-GB-WLS | Geraint |
French, Canadian | fr-CA | Chantal |
French, France | fr-FR | Celine, Lea, Mathieu |
German | de-DE | Hans, Marlene, Vicki |
Hindi | hi-IN | Aditi |
Italian | it-IT | Carla, Giorgio, Bianca |
Japanese | ja-JP | Mizuki, Takumi |
Portuguese, Brazilian | pt-BR | Vitoria, Camila, Ricardo |
Spanish, American | es-US | Penelope, Lupe, Miguel |
Spanish, Castilian | es-ES | Conchita, Enrique, Lucia |
Spanish, Mexican | es-MX | Mia |
Esempio:
service: script.multinotify data: message: >- Posso parlare con più voci. <voice name="Giorgio">Ciao, io sono Giorgio.</voice> <voice name="Carla">Ciao, io sono Carla!</voice> <voice name="Bianca">Ciao, io sono Bianca!</voice> <voice name="Kendra"><lang xml:lang="en-US">Hello, I am Kendra!</lang></voice> <voice name="Celine"><lang xml:lang="fr-FR">Bonjour, je suis Celine!</lang></voice> alexa_target: media_player.ovunque
Frasi casuali e più variabili
Se sei arrivato fin qui hai già acquisito tante informazioni che ti permettono di rendere più personali gli annunci di Alexa. Resta però un grosso limite. Se al verificarsi di un dato evento informiamo chi è a casa tramite un messaggio sempre uguale questo diventerà davvero noioso e scontato che sarà come non sentirlo.
Per migliorare la situazione di parecchio è possibile preparare diverse frasi equivalenti che saranno scelte in modo casuale ogni volta che avverrà l’annuncio.
Aggiungiamo anche delle interiezioni nelle frasi, creiamone un po’ per non rischiare di sentire la stessa frase troppo spesso e abbiamo un ottimo mix per rendere le notifiche molto più piacevoli.
A titolo esemplificativo vi mostro come effettuo il saluto quando entriamo in casa io e/o mia moglie:
- service: script.multinotify data: message: > {% if is_state('input_boolean.return_home_henrik', 'on') and is_state('input_boolean.return_home_antonella', 'off') %} {{['<say-as interpret-as="interjection">hey</say-as>. Bentornato a casa, Henrik!', '<say-as interpret-as="interjection">toh</say-as>, chi si vede! Bentornato, Henrik', '<say-as interpret-as="interjection">uh la là</say-as>, Henrik! Bentornato a casa!', '<say-as interpret-as="interjection">ta dà</say-as>, finalmente a casa Henrik! Bentornato!', '<say-as interpret-as="interjection">evviva</say-as>, è tornato il re del castello! Bentornato, Henrik!', '<say-as interpret-as="interjection">ding ding ding</say-as>, è tornato il papino bello! Tutte pronte alle coccole!', '<say-as interpret-as="interjection">cucù</say-as>, è tornato il papino! Casa dolce casa!', '<say-as interpret-as="interjection">ciao</say-as>, è bello riaverti a casa, Henrik!'] | random }} {% elif is_state('input_boolean.return_home_henrik', 'off') and is_state('input_boolean.return_home_antonella', 'on') %} {{['<prosody volume="loud"><say-as interpret-as="interjection">hey</say-as>. Bentornata a casa, Antonella!</prosody>', '<say-as interpret-as="interjection">toh</say-as>, chi si vede! Bentornata, Antonella', '<say-as interpret-as="interjection">uh la là</say-as>, Antonella! Bentornata a casa!', '<say-as interpret-as="interjection">ta dà</say-as>, finalmente a casa Antonella! Bentornata!', '<say-as interpret-as="interjection">oh</say-as>, chi si rivede! Mi sei mancata, Antonella! Bentornata!', '<say-as interpret-as="interjection">oh yes</say-as>, cosa c''è di meglio che rientrare nel proprio nido? Bentornata, Antonella!', '<say-as interpret-as="interjection">ma dai</say-as>, non si può mai stare sole in questa casa! <say-as interpret-as="interjection">scherzavo</say-as>! Bentornata, Antonella!', '<say-as interpret-as="interjection">urrà</say-as>, la regina del castello è tornata! Bentornata, Antonella!', '<say-as interpret-as="interjection">ciao</say-as>, è bello riaverti a casa, Antonella!', '<say-as interpret-as="interjection">bene bene</say-as>, finalmente sei a casa, Antonella! Mi sentivo così sola...', '<say-as interpret-as="interjection">badabim badabum</say-as>, la mamma è tornata! è bello averti qui con noi!', '<say-as interpret-as="interjection">alleluia</say-as>, mi stavo davvero annoiando da sola! Finalmente sei tornata, Antonella! Bentornata!'] | random }} {% elif is_state('input_boolean.return_home_henrik', 'on') and is_state('input_boolean.return_home_antonella', 'on') %} <prosody volume="loud"><say-as interpret-as="interjection">hey</say-as>. Bentornati a casa, famiglia Sozzi!</prosody> {% endif %} alexa_target: media_player.pian_terreno
Aggiungere informazioni variabili nei messaggi
Un altro modo per rendere meno monotoni gli annunci è quello di inserire nelle frasi dei dati variabili che a volte sono utili ed indispensabili ma possiamo pensare di inserirne anche dove non lo sono, per rendere più variate le frasi, anche in quelle random.
A titolo di esempio questo il mio messaggio (a ripetizione…) quando lo sportello del freezer rimane aperto per più del tempo configurato:
- service: script.multinotify data: title: Freezer aperto message: > {% set secondi = (now().timestamp()-as_timestamp(states.binary_sensor.freezer.last_changed)) | round(0) %} {{["Il freezer è aperto da " ~ secondi ~ " secondi, che ne dici di chiuderlo?", "I pinguini stanno abbandonando il freezer! Chiudilo prima che siano scappati tutti!", "Il caldo sta entrando nel freezer o il freddo sta uscendo? Non lo so, l'importante è che lo chiudi!", "Il freezer lasciato aperto da " ~ secondi ~ " secondi non è una buona idea!", "Studi scientifici dimostrano che lasciando aperta la porta del freezer succedono cose spiacevoli.", "Secondo me " ~ secondi ~ " secondi di freezer aperto sono abbastanza. Per favore, chiudilo!", "Hey, che ne dici di chiudere il freezer? " ~ secondi ~ " secondi di freddo buttato via possono bastare!", "Il freezer tiene freddo il contenuto perchè è chiuso. Forse è il caso che torni ad esserlo!", "Forse non tutti sanno che il freezer aperto si scalda e forma ghiaccio al suo interno. Chiudilo!", "Ogni volta che il freezer rimane aperto a lungo sto male..."] | random}} alexa_target: media_player.pian_terreno
Come vedi in alcune delle frasi ho inserito il numero di secondi da cui lo sportello è aperto e questo rende più variabile l’annuncio. Provare per credere 🙂
Usare SSML con multinotify
Come ultimo consiglio ti propongo, quando usi multinotify per le tue notifiche Alexa e smartphone o altro, di specificare un testo specifico per Alexa, magari contenente SSML così da poter leggere meglio il tuo messaggio e poter adattare al mezzo di riproduzione un messaggio più idoneo.
Esempio:
- service: script.multinotify data: title: "E' pronto da mangiare!" message: "E' pronto da mangiare, la tavola ti aspetta!" alexa_message: '<say-as interpret-as="interjection">Hey</say-as> è pronto da mangiare!' alexa_target: - media_player.mansarda - media_player.primo_piano alexa_volume: 0.8 alexa_force: true
Conclusione
A casa mia le notifiche Alexa sono una funzione fondamentale della mia domotica. Permettono infatti di avvisare di una serie di eventi che possono accadere e che sarebbe il caso di sapere anche se non stiamo guardando il telefono.
Per questo credo che ingentilirle e renderle più personali sia molto benefico per non stancarsi mai e, oltre all’utilità, fare anche un sorriso ogni tanto quando si sente una frase spiritosa.
Il limite sta poi nel buon gusto personale e nel livello di tolleranza dei membri della famiglia agli annunci e alle frasi sciocche. Vi consiglio di non abusare delle notifiche e di non esagerare con i testi sopra le righe. Alla fine lo scopo della notifica è informativo, non quello di raccontarci una barzelletta.
E se esageriamo con la quantità, nonostante le informazioni di questo articolo, alla lunga stancheranno.
I primi a perdere la pazienza saranno certamente quelli meno tecnici e invasati di domotica (…ogni riferimento alla moglie è puramente casuale… ^_^ )
E ora sbizzarrisciti con gli annunci!
Ti va di darmi una mano?
Il contenuto di questo sito è completamente gratuito senza pubblicità invasive e il fine non è certo guadagnare …ma mantenere un sito ha un costo. Se ti va di darmi una mano per sostenere le spese o ti va di sostenere questo progetto hai le seguenti modalità:
- Donazione con Paypal:
- Regalami un caffè su Buymeacoffee:
- Effettua i tuoi acquisti Amazon a partire da QUESTO LINK (o tramite i prodotti sotto)
- Acquistare i tuoi prodotti Shelly usando QUESTO LINK
- Effettuare i tuoi acquisti AliExpress usando QUESTO LINK
Non vedo l’ora di tornare a casa e provare tutto questo.
Grazie mille, Henrik. Sei mitico!
Che bello leggere tutta questa gioia! 😍 Spero che ti darà ispirazione per notifiche particolari 😉
… e buon caffè 😉
Ehi grazie mille!!! ❤️
Te lo meriti. Spero solo di poter essere ancor più d’aiuto in futuro
Gentilissimo! ❤️
Ciao Henrik,
Ho ereditato un Echo Show che ho messo sulla mia scrivania e vorrei utilizzarlo per mostrare le notifiche da HA.
Quando dico mostrare intendo un messaggio di testo se possibile associato ad una icona senza pronunciar parola, essendo la scrivania è utilizzata per lavoro ed essendo hai me perennemente in call, il silenzio è d’oro.
Ho provato ad utilizzare il servizio notify.alexa_media utilizzando type: announce a method: show ma niente da fare.
Qualche idea?
Ancora grazie per il tuo lavoro.
Ciao, premesso che non ho alcun Echo Show ma solo Echo Dot ho fatto qualche ricerca e sembra che dal 2019 Amazon abbia eliminato la possibilità di usare
method: show
, purtroppo.Trovi le info nell’issue 231 di Alexa Media Player.
Come workaround, mi viene da pensare, potresti impostare il volume a zero (o ad un valore bassissimo come 0.1) e usare
method: all
… Magari… 🙂Ciao, dovrei attivare alexa con un messaggio con il nome del sensore messo in “on”, per cui nella automazione memorizzare il testo in una variabile ed inserirla nel messaggio, hai un suggerimento? grazie
Ciao, si, basta usare un template. Ammettiamo che hai nel trigger state dell’automazione un certo numero di sensori (ad esempio sensori porta/finestra ad uso antifurto), qualunque dei quali cambi stato attiva l’automazione. Nella composizione del testo puoi usare la variabile speciale
trigger
che contiene le informazioni circa l’entità che ha fatto scatenare l’automazione. Nello specifico, per ottenerne il nome descrittivo e non l’entity_id, puoi usaretrigger.to_state.name
.Se usi multinotify, per esempio, puoi comporre il testo così:
"Intrusione da {{ trigger.to_state_name }}!"
Puoi mettere
trigger.to_state.name
in una variabile, diciamonome_sensore
, e usare quella nella composizione del messaggio:"Intrusione da {{ nome_sensore }}!"
Tutto chiaro per la sintassi ma dove si inserisce? In automazioni, script ecc, essendo alle prime armi non so come utilizzarli. Ad esempio se volessi far dire una frase ad un echo del tipo “La temperatura esterna è di “variabile” come si procede?” in Home assistant dove inizio? In automazioni? Grazie.
Ciao Henrik, a parte i doverosi complimenti per questo e tutti gli articoli che posti, avrei una domanda sull’attributo “tipo di voce” e “tono colloquiale”.
Se li voglio inserire in un’automazione che già prevede la scelta di frase random, dove li metto?
Se volessi ogni frase con una voce differente o una frase in tono colloquale tra le presenti, dove specifico l’attributo?
– service: notify.alexa_media
data:
target:
– media_player.ovunque
data:
type: announce
# message: “Attenzione! Il forno è acceso insieme alla lavatrice. Spengo la lavatrice”
message: >
‘{{ [“Attenzione! superato il limite di consumo elettrico totale. Spegnere qualcosa”,
“Attenzione! superato il limite di consumo elettrico totale. Spegnere qualcosa”,
“Attenzione! superato il limite di consumo elettrico totale. Spegnere qualcosa”,
“Attenzione! superato il limite di consumo elettrico totale. Spegnere qualcosa”,
“Attenzione! superato il limite di consumo elettrico totale. Spegnere qualcosa”,
“Attenzione! superato il limite di consumo elettrico totale. Spegnere qualcosa”
] | random}}’
GRAZIE!
Ciao, grazie per i complimenti 🙂
Modifico il tuo codice inserendo un paio di esempi. Le prime quattro sono quelle che mi hai chiesto, ne aggiungo anche qualche altro esempio che secondo me rende l’annuncio un po’ più personale e meno monotono. Ti correggo anche gli errori di sintassi che noto:
Inserisco il codice su PasteBin che i commenti eliminano il markup XML!!!
Lo trovi qui: https://pastebin.com/JmwCkJ7S
ma cazzarola! Henrik GRAZIE!!!!
velocissimo e preciso
Ciao Henrik, probabilmente sono riuscito ad incasinare il tuo codice (poi mi offrirai un caffè tu per la bravura). Non capisco perchè nonostante nessun errore rilevato, non vede l’automazione
https://pastebin.com/TuYkfnY1
Da una guardata veloce direi che non è indentato correttamente condition:
Tutto il suo contenuto deve andare più a destra di due spazi (il “-” della condizione deve andare al pari della “n” di condition: sopra.