Il problema
Per ricevere notifiche dalla nostra domotica esistono svariati metodi: l’app companion, telegram, gli assistenti vocali, fischi, pernacchi… quindi che ci siete a fare su questo articolo?
Beh perché tutti metodi precedenti non bastano a colmare tutte le necessità in tutte le occasioni.
Ad esempio io se faccio arrivare notifiche “standard” a mia moglie, queste vengono bellamente ignorate. Ecco quindi che oggi vi spiegherò come divorziare, ehm volevo scrivere… come ricevere messaggi WhatsApp da Home Assistant su tutti i telefoni che vorrete.
I requisiti
Questo metodo vi permette, previa aggiunta di uno specifico numero di telefono alla vostra rubrica, soltanto di RICEVERE i messaggi. Non di inviarli.
Per quanto riguarda l’invio esiste un altro sistema che però è a pagamento, e dato che non mi è mai servito non l’ho provato. Se volete che prepari un articolo anche per inviare messaggi alla vostra domotica con WhatsApp, allora non avete scelta: dovete aiutarmi con le donazioni in modo che mi possa permettere di pagare tutte le prove che sarà necessario fare.
La soluzione
Gli step da svolgere sono molto semplici. Per ricevere messaggi WhatsApp da Home Assistant dovete innanzitutto aggiungere alla rubrica del nostro telefono il seguente numero di telefono:
+34 621 07 32 45
Si tratta di un servizio chiamato CallMeBot ma potete registrarlo con il nome che preferite. Io ad esempio l’ho chiamato “WhatsApp Domotica“.
Una volta fatto questo, dovrete inviare a questo nuovo contatto un messaggio WhatsApp in cui dovrai scrivere soltanto quanto segue:
I allow callmebot to send me messages
Il servizio vi risponderà con un messaggio del genere:
CallMeBot API Activated for [TUO_NUMERO_DI_TELEFONO]
Your apikey is: [API_KEY]You can now send messages using the API.
https://api.callmebot.com/whatsapp.php?phone=[TUO_NUMERO_DI_TELEFONO]&text=This+is+a+test&apikey=[API_KEY]Send Stop to pause the Bot.
Send Resume to enable it again.
Segnatevi da qualche parte quello che troverete al posto di [TUO_NUMERO_DI_TELEFONO] e [API_KEY] che vi servirà tra poco per la configurazione su Home Assistant.
Ripetete la procedura per tutti gli smartphone a cui volete far ricevere messaggi WhatsApp da Home Assistant.
Una volta raccolti tutti i dati, passate a modificare il file configuration.yaml sul nostro hub domotico preferito ed aggiungete questa sezione:
notify:
- name: WhatsApp Mio
platform: rest
resource: https://api.callmebot.com/whatsapp.php
data:
source: HA
phone: [TUO_NUMERO_DI_TELEFONO]
apikey: [API_KEY]
- name: WhatsApp Moglie
platform: rest
resource: https://api.callmebot.com/whatsapp.php
data:
source: HA
phone: [NUMERO_DI_TELEFONO_MOGLIE]
apikey: [API_KEY_MOGLIE]
Dove ovviamente andrete a sostituire le parti tra parentesi quadre [ ] con i dati ricevuti dopo l’invio del messaggio WhatsApp al bot dai vari dispositivi.
Ovviamente potete aggiungere o rimuovere dispositivi WhatsApp, accodando o togliendo altre relative sezioni.
Fatto questo salvate e riavviate. Avete finito!
Per testare la configurazione basta andare in “Strumenti per sviluppatori” -> Servizi e cercare “notify.[NOME_SERVIZIO_WHATSAPP_DATO]”
Dove bisogna sostituire [NOME_SERVIZIO_WHATSAPP_DATO] con quello che avete scritto nella configurazione dopo “name: ” (con gli _ al posto degli spazi) e inserire in “message” il testo da inviare.
Conclusioni
Se tutto funziona correttamente non avete altro da fare che aggiungere l’invio delle notifiche alle vostre automazioni e preparare le valigie, pronti ad essere mandati via di casa dalla vostra consorte.
Supporto reciproco
La realizzazione di questo articolo ha richiesto tempo, studio ed impegno.
Vi chiedo quindi mettere una mano sul cuore e l’altra sul portafogli per ricompensare il mio sforzo con un contributo libero:
Grazie.
Un piccolo extra
Ho creato un aiutante di tipo binario chiamato binary_sensor.finestre_e_balconi contenente tutti i sensori di apertura varchi che ho applicato sulle finestre e balconi di casa mia. Chiamando il servizio di notifica WhatsApp con il seguente codice, faccio in modo che mi venga notificato l’elenco dei varchi aperti (scatenato ad esempio quando c’è maltempo). Spero possa tornarvi utile:
service: notify.whatsapp
data:
message: >-
Finestre e balconi da chiudere:\n{{
expand('binary_sensor.finestre_e_balconi') | selectattr('state', 'eq', 'on')
| map(attribute='name') | list | join ('\n') }}
Ottima guida. Il servizio però dopo qualche giorno diventa a pagamento
Basta “sopportare” un testo in fondo ai messaggi. Almeno con me così è andata.