Centro notifiche (AppDaemon notifier)

HassioHelp

Centro notifiche (AppDaemon notifier)

 

Argomento: AppDaemon & Package 
Livello: Pro (Novizio,Esperto, Pro)
Difficoltà: Media (Bassa, Media, Alta)

Introduzione

Dopo il package centro Notifiche realizzato dal nostro Admin Caio Sweet lo staff di Hassio Help ha deciso di realizzarne uno più completo e funzionale, che permettesse di tenere i messaggi audio da inviare in coda e che non presentasse i limiti del precedente. Grazie alle possibilità offerte dal linguaggio di programmazione Python, all’addon Appdaemon ed agli sforzi congiunti di Caio Sweet e di Gianpi, siamo lieti di presentarvi il nuovo centro notifiche.

 

Installazione

  • Installare e configurare l’ add-on Appdaemon come descritto in questo articolo.
  • Se non lo avete già installate Hacs come descritto in questo articolo.
  • Aprite Hacs dal frontend, recatevi nella sezione settings, sotto custom repositories aggiungete questo link: https://github.com/jumping2000/notifier e come category selezionate AppDaemon

 

 

  • recatevi nel tab appdaemon apps di hacs cercate “notifier” ed installatelo

  • recatevi qui e create il file come indicato dal link
  • recatevi a questo link e premete clone or download e successivamente Download Zip.

 

  • Aprite il file zip appena scaricato navigate fino a trovarvi all’interno della cartella packages e copiate il suo contenuto dentro la cartella packages del vostro Home Assistant.

 

 

 

  • Dopo aver copiato i file aprite il file secret.yaml e compilatelo come da istruzioni al suo interno.

Configurazione Lovelace

All’Interno del file zip che avete scaricato trovate una cartella “lovelace” al suo interno troverete già le singole card pronte all’uso. Stara a voi in base al metodo che utilizzate(yaml o editor da frontend) inserirle.

 

Configurazione Package da frontend

Se avete installato tutto correttamente nel vostro fontend vi ritroverete una vista simile a questa:

 

Andiamo adesso ad analizzare le singole opzioni:

  • Scheda Modalità:
    • Modo Vacanza: Attiva e disattiva la modalità Ferie/Vacanza. Questa opzione fa si che il DND funzioni in modalità giorni festivi
    • Modo Ospite: Attiva e disattiva la modalità ospsite. Questa opzione fa si che anche quando non siamo in casa, ma abbiamo un ospite, i nostri altoparlanti continueranno a parlare. Inoltre è utile per poter gestire tutte quelle automazioni che non devono essere eseguite quando lasciamo un ospite a casa, ad esempio spegnere le luci quando tutti escono.
    • Modo Prioritario: by-passa il DND (do not disturb), utile per tutte quelle notifiche di emergenza che vogliamo siano riprodotte anche quando stiamo dormendo.
    • Notifiche Vocali: Abilita e disabilita le notifiche vocali.
    • Notifiche Testo: Abilita e disabilita l’invio delle notifiche testuali verso i nostri smartphone.
    • Notifiche Persistenti: Abilita e disabilita le notifiche nel frontend di Home Assistant
    • Ultimo Messaggio: Quando attivato invia l’ultimo messaggio inviato , utilizza l’impostazione modo prioritario su on, per cui parla sempre anche con DND attivo
  • Scheda Interfono:
    • Volume: Regola il volume del messaggio inviato tramite la funzione interfono
    • Messaggio: campo in cui scrivere il messaggio da inviare
  • Scheda impostazioni Assistente:
    • Nome Assistente: Date un nome al vostro assistente personale
    • Lingua: seleziona la lingua con cui Google e Telegram CallMeBot devono parlare
    • Notifiche Testo: selezionate qui a chi devono essere inviate di default le vostre notifiche testuali, più avanti vedremo come sovrascrivere questa impostazione nelle vostre automazioni.
    • Regolazione attesa tts: regola il tempo che deve trascorrere per riprodurre il messaggio, utile in caso di connessione o server lenti
    • Non Disturbare inizio/fine: Impostate qui l’orario di inizio e fine della funzione DND, per silenziare il vostro assistente personale e non farlo parlare la notte. N.B: nell’ultima versione saranno presenti due impostazioni di DND, una per i giorni lavorativi ed una per i giorni festivi. Si fa presente che bisogna aver configurato il sensore workday.
    • Mattina/Pomeriggio/Sera/Notte: impostate gli orari in cui iniziano per voi le parti della giornata, in base a questi orari verranno regolati i volumi del vostro assistente
    • Volume Mattina/Pomeriggio/Sera/Notte: impostate i volumi con cui il vostro assistente parlerà in base alla parte della giornata in cui ci troviamo, al termine del messaggio il volume ritornerà quello precedente.
    • Volume ripristino: Volume a cui verranno ripristinati gli altoparlanti in caso di problemi nel recupero del volume precedente
  • Scheda Ariela;
    • Ariela: Attiva e disattiva le notifiche vocali verso l’app ariela
  • Scheda Google:
    • Google: Attiva e disattiva le notifiche tramite gli altoparlanti Google
    • Google Say / Google Assistant: Seleziona se inviare le notifiche vocali tramite il normale servizio Tts di Google o tramite l l’add-on Google Assistant Webserver
    • Sorgente Google: Selezionate l’altoparlante di default che volete utilizzare, potete anche creare dei gruppi tramite app google o tramite hassio (i gruppi vanno configurati come istruzioni nel file secret)
  • Scheda Alexa:
    • Alexa: Attiva e disattiva le notifiche vocali di Alexa.
    • Sorgente Alexa: Seleziona l’altoparlante alexa da utilizzare.
    • Tipo predefinito Alexa: Permette di selezionare il tipo di notifica “tts” o “announce” (vedi wiki per il Componente Alexa).
    • Metodo predefinito Alexa: Solo per la funzionalità “announce”. Controlla se l’annuncio deve essere solo audio o mostrato + audio

Adesso il centro notifiche supporta la chiamata Voip tramite l’addon del nostro Admin SDesalve sia la chiamata tramite Telegram

  • Scheda Voip:
    • N. Tel / @user: inserire qui il numero di telefono da chiamare o l’utente telegram
    • Notifica Telefonica: selezionare il servizio da utilizzare.

Le impostazioni viste in precedenza sono da intendersi come impostazioni di default ed è possibile sovrascriverle con ogni singola automazione in modo da rendere il package flessibile a tutte le nostre esigenze. Ma ne parleremo in dettaglio  nel prossimo paragrafo.

 

Uso nelle automazioni

In questo paragrafo andremo a vedere come utilizzare il centro notifiche nelle automazioni e come poter sovrascrivere le impostazioni di default impostate precedentemente. Non ci soffermeremo sui trigger o sulle condition ma solo ed unicamente alla parte action.

Prendiamo in analisi una semplice automazione che parte all’avvio di hassio e che notifica appunto l’avvenuto avvio del sistema:

Prima di iniziare ad analizzare i vari parametri utilizzabili voglio farvi notare che nell’action è stato inserito un delay di 15 secondi, questo perchè sulle automazioni che notificano qualcosa all’avvio di Hassio bisogna lasciare al sistema il tempo di avviare l’ add-on appdaemon, altrimenti le notifiche non potrebbero funzionare. Inoltre tenete presente che in caso di messaggi che contengono dei template dovrete utilizzare “data_template” al posto di “data”.

Entrando nel vivo della nostra action potete notare che il servizio richiamato è “script.my_notify” che è appunto lo script che si occupa di passare i dati al notifier di appdaemon che poi riprodurrà i nostri messaggi, per cui ogni volta che volete utilizzare il centro notifiche dobbiamo andare a richiamare il servizio in questione.

Sotto “data:” andremo ad inserire tutti i parametri che riguardano la nostra notifica, compreso il messaggio vero e proprio, se non inseriamo nessun parametro ma soltanto il “message” il centro notifiche utilizzerà tutte le impostazioni di default che abbiamo settato nel frontend. Vi lascio una lista completa dei parametri data da noi previsti ed il loro funzionamento:

 

  • notify:
    • 0 non verrà inviata alcuna notifica testuale, ricordate sempre che queste opzioni sovrascrivono quelle impostate di default nel frontend
    • nome della notifica da utilizzare, ad esempio famiglia (se avete un servizio notifica chiamato cosi) oppure telegram etc etc, va da se che se nel fronted avete impostato come defaul telegram e volete inviare a questo servizio è inutile aggiungere questo parametro.
  • location: se non specificato invia in entrambi i casi
    • home: per inviare le notifiche di testo soltanto quando siete a casa.
    • not_home: per inviare le notifiche di testo soltanto quando non siete a casa.
  • link: https://hassiohelp.eu/ per inviare il link nella notifica testuale.
  • url: inserite il link di un immagine da inviare, funziona solo con i servizi notifiche che permettono di inviarle.
  • priority: 1
  •  by-passa il DND (do not disturb), utile per tutte quelle notifiche di emergenza che vogliamo siano riprodotte anche quando stiamo dormendo.
  • called_number: Inserite il numero da chiamare se usate l’addon voip, oppure l’user name telegram se usate call me bot
  • file: inserite il link di un file da inviare, funziona solo con i servizi notifiche che permettono di inviarle.
  • caption: se lasciato vuoto il testo della funzione “message:” viene inserito nell’immagine, altrimenti potete scrivere il testo direttamente qui
  • title: “hassio start!!!” inserite qui il testo racchiuso tra ” ” per dare un titolo alla vostra notifica testuale
  • message: “Il sistema è operativo!. ” inserite qui il testo racchiuso tra ” ” per il messaggio vero e proprio
  • message_tts: “Il sistema è operativo!. ” inserite qui il testo racchiuso tra ” “, per mandare un messaggio audio, se lasciato vuoto verrà riprodotto il testo presente nella funzione “message:”.
  • volume: imposta il volume della notifica, valore consentito da 0.1(10%) a 1 (100%).
  • mute: 1 non verrà riprodotta nessuna notifica audio.
  • alexa_type: il tipo di notifica da utilizzare con alexa. Valori consentiti tts, announce. La funzionalità “push” è meglio utilizzarla singolarmente a causa di problemi del servizio alexa_media. Se si verificano mancate notifiche è meglio utilizzare l’opzione alexa_push
  • alexa_method:Controlla se l’annuncio deve essere pronunciato, visualizzato o entrambi. Valori consentiti speak e all.
  • alexa_push: 1 invia una notifica push a tutti i dispositivi registrati nell’account Amazon
  • media_player_alexa: specificare qui l’entità del media player Aalexa che deve riprodurre il messaggio, se non utilizzato userà l’impostazione di default selezionata da frontend.
  • media_player_google: specificare qui l’entità del media player Google che deve riprodurre il messaggio, se non utilizzato userà l’impostazione di default selezionata da frontend.
  • no_show: 1 disabilita la notifica persistente per questo messaggio.
  • call_no_annuncio: 1 Non riproduce Buon giorno,Buon pomeriggio,Buona sera.
  • call_modo_ospite: 1 Utilizza in maniera casuale una parola,frase per avvertirci che la modalità ospite si è attivata o disattivata.

queste sono le opzioni presenti di default nel package,  Altri esempi li troverete nella cartella “examples” all’interno del file zip:

  • call_bentornato: 1 Utilizza in maniera casuale una frase con il nome della persona.
  • call_saluto: 1 Utilizza in maniera casuale una parola/frase di saluto.
  • call_introduzione: 1 Utilizza in maniera casuale una parola,frase per una “breve” introduzione sull’assistente.
  • call_va_bene: 1 Utilizza in maniera casuale una parola,frase di affermazione.
  • call_informare: 1 Utilizza in maniera casuale una parola,frase per di tipo informativo.
  • call_spegni: 1 Utilizza in maniera casuale una parola,frase di spegnimento.

 

Considerazioni

Come avete potuto ben intuire l’utilizzo del centro notifiche è abbastanza complesso, ma vi permetterà di avere un vero e proprio assistente domestico a 360 gradi. Considerando il fatto che potete anche decidere di crearvi le vostre macro ed aggiungere altre opzioni in base al vostro utilizzo. Vi lascio di seguito un esempio di un automazione in cui viene eseguita una macro diversa da cui potete prendere spunto per le vostre creazioni. Se poi volete condividere il vostro lavoro, le vostre macro o semplicemente per un confronto con altri utenti vi lascio il link alla discussione sul nostro forum.

Se vi piace il nostro lavoro e volete supportarci vi lascio il link paypal per la donazione

Esempio automazione con macro:

La nuova variabile benvenuto:  andrà inserita nel file del template (hub_build_message.yml) nella giusta posizione, considerando  che la costruzione del messaggio è sempre sequenziale. Quindi, nel nostro caso, si andrà ad inserire {{benvenuto}} prima della variabile {{message}}.  Questo metodo ci permetterà di creare diverse variabili per ogni situazione.

 

 

5 risposte

  1. Avatar Francesco ha detto:

    Continuo qui la discussione aperta su FB.
    Mi sembra di aver fatto tutto come da istruzioni, ma evidentemente mi sfugge qlc visto che provo a usare l’interfono ma già quello non va:
    questo è il mio secrets.yaml
    https://pastebin.com/RELHF9si
    qualcuno capisce cosa non va?

  2. Avatar francesco ha detto:

    temo che con l’ultimo aggiornamento, vada rivisto il sensore mattina/pomeriggio/sera. Purtroppo non si aggiorna più

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *