Notifiche della domotica Home Assistant tramite Pushbullet

Scopi della guida
  • Aggiungere alla configurazione di Home Assistan delle entità di tipo “Notification” al fine di permettere alla propria domotica personale di notificare stati, eventi e quant’altro.
  • Livello di difficoltà: basso
Concetti affrontati:
  • Configurazione software
Componenti software utilizzate:
Prerequisiti
Dispositivi fisici utilizzati:
  • Il dispositivo sul quale risiede Home Assistant (deve poter raggiungere la rete Internet)
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.

Abstract

Home Assistant ha la possibilità di effettuare notifiche di vario genere (tipicamente testuali) tramite molteplici piattaforme, tutte quante facenti capo al componente “Notification“, il quale crea entità di tipo “notify” utilizzabili presso automazioni, script, scene, sequenze ecc.

In questa guida vedremo come configurare tali notifiche sfruttando il servizio Pushbullet.

Assunzioni

Per la corretta applicazione di questa guida si assume che:

  • si possegga almeno un account presso il servizio Pushbullet;
  • in caso i destinatari delle notifiche siano molteplici e differenziati (notifiche all’uno piuttosto che all’altro), si posseggano molteplici account, tanti quanti saranno i destinatari.

N.b. Dal punto di vista tecnico nulla vieta di utilizzare un singolo account per tutti i dispositivi degli inquilini; dato però che Pushbullet accetta solo autenticazioni tramite account Google e Facebook e dato che questi ultimi sono account personali, altrettanto personale deve essere la configurazione presso di dispositivi destinatari delle notifiche.

Inoltre, la presenza di account diversi renderà la configurazione presso Home Assistant più flessibile, permettendoci di inviare sia notifiche broadcast (a tutti) sia specifiche a specifici utenti/dispositivi.

Pushbullet iconPushbullet per ogni singolo account censisce l’elenco dei dispositivi (smartphone, computer, tablet, browser ecc.) sui quali il servizio è configurato e autenticato . Ciò significa che ogni account può essere utilizzato contemporaneamente su più dispositivi: l’integrazione con Home Assistant permette sia l’invio di una notifica verso un utente specifico (e quindi recapitata su tutti i dispositivi connessi all’account) oppure l’invio verso uno o più dispositivi specifici.

Infine, Pushbullet permette (tramite il suo sito web, non da app mobile) anche la creazione di “canali” personali (“Channels“), i quali possono contenere più account, canali che possono poi essere utilizzati come destinatari delle notifiche. Una buona strategia per inviare a tutti i gli inquilini di un ambiente domotico le notifiche è quello di creare un canale da hoc e configurare tale canale come unico destinatario delle suddette notifiche.

Token API

Per configurare le notifiche Pushbullet è necessario dotarsi di un proprio Token API, il quale può essere facilmente ottenuto accedendo al proprio account nella sezione (“Settings Account”).

A questo punto sarà necessario “generare” una API KEY cliccando su “Create Access Token“:

Pushbullet Access Token

Verrà creata una stringa di caratteri analoga alla seguente:

You token is:

o.ff4496cd11a907cbd145e6cfc4f4d942e6a19b94

Configurazione

Per aggiungere alla configurazione di Home Assistant una nuova entità di tipo “notify” (per un utente ipotetico chiamato “Marco“,  il quale utilizza Pushbullet sui propri dispositivi), la configurazione sarà:

notify:
  - platform: pushbullet
    name: marco
    api_key: o.ff4496cd11a907cbd145e6cfc4f4d942e6a19b94

Le variabili disponibili per la personalizzazione della configurazione sono le seguenti:

api_key (stringa|obbligatoria) La chiave API ottenuta presso l’area privata Pushbullet dell’utente Marco
name (stringa|facoltativa) Il nome dell’entità. Se omesso, l’entità di chiamerà “notify.notify

Uso

La piattaforma di notifiche Pushbullet viene sfruttata tramite l’uso del servizio “notify”, come spiegato nella pagina dedicata al componente padre “Notifications.

Una qualunque notifica verso un’entità “notify” (quindi verso un account Pushbullet, il “notify.marco” dell’esempio sopra) scaturisce di default in una notifica verso tutti i dispostivi associati a tale account presso Pushbullet.

Come spiegato, è anche possibile (tramite opportuna configurazione) inviare le notifiche non solo verso un dato account ma e/o verso uno o più dispositivi specifici e/o verso uno o più canali specifici.

CONFIGURAZIONE BASE

La condifurazione di base in automazione si esprime nella seguente modalità:

automation:
  alias: "nome automazione"
  trigger:[] #trigger che innesca l'automazione
  condition: [] #condizione dell'automazione
  action:
     service: notify.marco
     data:
       title: "titolo della notifica"
       message: "testo della notifica"

L’automazione descritta (al netto di trigger e condition, non definiti) innesca una notifica verso “notify.marco” (definito nell’esempio sopra) con un titolo e un corpo del messaggio.

CONFIGURAZIONE VERSO DEVICE SPECIFICO

In questo caso indirizziamo la notifica verso un device specifico incluso nella lista di quelli censiti da Pushbullet per il dato account:

automation:
  alias: "nome automazione"
  trigger:[] #trigger che innesca l'automazione
  condition: [] #condizione dell'automazione
  action:
     service: notify.marco
     data:
       title: "titolo della notifica"
       message: "testo della notifica"
       target: device/mio_device

I device disponibili per l’accounto sono indicati nella sezione ad hoc presso Pushbullet.

Il campo “target” può contenere, oltre a “device/mio_device” anche altri due tipologie di destinatario:

  • email/indirizzo_email
  • channel/mio_canale
INVIO URL

È possibile inviare un URL specifico come payload della notifica:

automation:
  alias: "nome automazione"
  trigger:[] #trigger che innesca l'automazione
  condition: [] #condizione dell'automazione
  action:
     service: notify.marco
     data:
       title: "invio URL"
       message: "questo è un URL"
       data:
         url: google.com
SUPPORTO FILE

È possibile inviare un file locale come payload della notifica:

automation:
  alias: "nome automazione"
  trigger:[] #trigger che innesca l'automazione
  condition: [] #condizione dell'automazione
  action:
     service: notify.marco
     data:
       title: "invio file"
       message: "questo è un file"
       data:
         file: /percorso/locale/al/mio/file

N.b. per inviare file locali è necessario attivare il path presso le whitelist di Home Assistant.

SUPPORTO FILE DA URL

È possibile inviare un file remoto come payload della notifica:

automation:
  alias: "nome automazione"
  trigger:[] #trigger che innesca l'automazione
  condition: [] #condizione dell'automazione
  action:
     service: notify.marco
     data:
       title: "invio file da URL"
       message: "questo è un file daURL"
       data:
         file_url: https://indomus.it/wp-content/uploads/inDomus-favicon.png

Esempio in automazione

Ipotizziamo di possedere in configurazione un’entità di tipo “Sensor” di umidità relativa (chiamato “sensor.umidita“) e un “Device Tracker” (chiamato “device_tracker.marco“).

Poniamo di voler essere notificati presso l’entità di tipo “Notify” basata sull’integrazione Pushbullet chiamata “notify.marco” al superamento del valore dell’80% di umidità relativa nell’ambiente, solo se e quando Marco è a casa:

automation:
  alias: "Notifica umidità"
  trigger:
     platform: numeric_state
     entity_id: sensor.umidita
     above: 80
  condition:
     condition: state
     entity_id: device_tracker.marco
     state: 'home'
  action:
     service: notify.marco
     data:
       title: "Home Assistant - Clima"
       message: "Rilevata umidità elevata. Arieggiare."


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

Dubbi? Perplessità? Fai un salto sul FORUM o sulla CHAT @DISCORD!
Questa pagina è coperta dalla licenza Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License il che significa che puoi liberamente condividerlo, senza modificarlo, citando il link della fonte.