Home Assistant - aggiungiamo le notifiche Telegram

Home Assistant - aggiungiamo le notifiche Telegram

di Luigi Duchi

01 Giugno 2018

Home Assistant

Luigi Duchi

Benvenuti amici, oggi vedremo come poter configurare Home Assistant per permettergli di inviare notifiche sui nostri dispositivi personali (es. Smartphone). Esistono diverse sono piattaforme che permettono di fare questo, oggi parleremo di quella che preferisco, ovvero Telegram. Con questa procedura andremo a creare un Bot che ci invierà delle notifiche per gli eventi che andremo ad impostare.

Vediamo nello specifico come fare ad attivare questa funzione:

La prima operazione da effettuare sarà andare sul playstore e scaricare/installare Telegram sul vostro smartphone

nella schermata che vi comparirà, al primo avvio, andrete a selezionare la regione e il vostro numero di telefono prima di premere sul pulsante next in alto a destra.

si aprirà un ulteriore pagina, vi verrà inviata una notifica contenente il codice segreto che dovrete aggiungere alla pagina sull'applicazione prima di premere nuovamente su next. A questo punto si aprirà Telegram e il servizio sarà completamente fruibile.

Nella barra di ricerca digitate il nome di botfather

Home Assistant - aggiungiamo le notifiche Telegram

premere start per iniziare una conversazione con il bot.

Successivamente digitate il comando /newbot

vi verrà chiesto di assegnare un nome al vostro bot, digitate il nome che preferite a patto che non sia stato gia utilizzato (nel caso botfather vi avverte) e premete invio.

bene, adesso vi verrà chiesto di digitare il nome del vostro bot con il suffisso _bot ad esempio miorobot_bot, premete nuovamente invio.

Dopo un messaggio di congratulazione vi verranno mostrate le api_key, prendete nota perchè dopo vi serviranno.

Adesso avrete bisogno di conoscere il vostro chat_id

per trovarlo tornate nella barra di ricerca dove prima avete cercato botfather e cercare IDbot

Home Assistant - aggiungiamo le notifiche Telegram

Cliccate sul bot e digitate il comando /start nella chat e successivamente 

/getid 

vedrete comparire il vostro chat_id, anche questo vi servirà piu avanti, prendetene nota.

Adesso non vi rimane che andare a compilare il file configuration.yaml di Home Assistant, tenendo presente la chat_id e le api_key. Vi ricordo che per le istruzioni alla modifica del file configuration.yaml potete fare riferimento ad una della tante guide su HA presenti su questo Blog.

andate a copiare la seguente stringa in fondo al file:

telegram_bot:
  - platform: polling
    api_key: vostre api_key
    allowed_chat_ids:
      - vostra chat_id

andando ad inserire le vostre api_key e la vostra chat_id.

Successivamente andate ad inserire in fondo al file questa stringa

notify:
  - name: Telegram
    platform: telegram
    chat_id: vostro chat id

a questo punto salvate e riavviate l'interfaccia di Home Assistant, l'integrazione con Telegram è pronta.

Adesso vediamo come inserire un automazione perchè ci arrivi una notifica su Telegram.

Andiamo quindi nel file automation.yaml o nel configuration.yaml se le automazioni le avrete li dentro.

Prendiamo ad  esempio una notifica che ci avverta di alta probabilità di pioggia. Useremo per l'esempio il sensore (virtuale) pioggia di darksky, ma se non avete questo servizio potrete usare qualsiasi sensore riguardante la pioggia che avete integrato (es. yahoo meteo, ecc..), copiate questa stringa sotto automation e insieme andiamo ad analizzare le singole righe.

- alias: previsione pioggia
  hide_entity: True
  trigger:
    platform: numeric_state
    entity_id: sensor.dark_sky_precip_probability
    above: 70
  action:
    service: notify.telegram
    data:
      message: 'probabilmente piovera governo ladro'
      data:
        photo:
          - file: /home/homeassistant/.homeassistant/photo/piove.jpg
            caption: 'probabilmente pioverà governo ladro'

dopo alias inserite il nome con cui volete chiamare la vostra notifica, in questo caso previsione pioggia

come hide_entity impostate true, in quanto non vi sarà necessario far comparire questa automazione nella pagina di Home Assistant ma la lasceremo lavorare in background.

platform sarà numeric_state in quanto appunto il sensore e' di tipo numerico

Alla voce above inserirete il numero che, se superato, attiverà la notifica. In questo caso imposteremo 70

L'azione che andremo a richiamare sarà appunto il service: notify.telegram

e dopo message: inseriremo il messaggio che vogliamo che compaia nella notifica telegram: In questo caso probabilmente pioverà governo ladro :-)

assieme al messaggio potremo farci mandare una fotografia che, eventualmente, andrà inserita in una cartella e in una white list, vedremo dopo come fare.

Create appunto la cartella photo (il nome della cartella può variare a vostro piacimento) nella stessa directory dei vari file .yaml quindi avrà un percorso del genere:

/home/homeassistant/.homeassistant/photo

all'interno della cartella photo inserite e rinominate la foto che volete che sia inviata con quella notifica.

salvate tutto e uscite per tornare di nuovo in configuration.yaml

andrete ad inserire whitelist_external_dirs sotto alla voce Home Assistant come potete vedere nella seguente immagine:

Home Assistant - aggiungiamo le notifiche Telegram

ciò permetterà al vostro Home Assistant di utilizzare correttamente il percorso dove andrete ad inserire le immagini.

Nei prossimi articoli che scriverò, nei casi in cui sarà applicabile, aggiungerò la relativa notifica Telegram.

Vi lascio al solito video di fine articolo. Buona visione!

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Luigi Duchi

Luigi Duchi

Nato a Grosseto il 24 Dicembre 1982 perito elettrotecnico che lavora nel mondo della domotica e installazione di impianti elettrici, impianti di allarmi, videosorveglianza e automazioni in genere. Appassionato da sempre di tecnologia e aperto alla conoscenza di nuove soluzioni.

Disqus loading...