Questo sito si serve dei cookie tecnici di Google per l'erogazione dei servizi e ospita cookie di profilazione di terze parti, utilizzati per la personalizzazione degli annunci pubblicitari. Cliccando su "OK" o proseguendo nella navigazione si acconsente tacitamente al loro uso.
Informativa estesa

Cookie Policy
Uso dei cookie

Il "Sito" (www.vincenzocaputo.com) utilizza i Cookie per rendere i propri servizi semplici e efficienti per l’utenza che visiona le pagine di www.vincenzocaputo.com. Gli utenti che visionano il Sito, vedranno inserite delle quantità minime di informazioni nei dispositivi in uso, che siano computer e periferiche mobili, in piccoli file di testo denominati “cookie” salvati nelle directory utilizzate dal browser web dell’Utente. Vi sono vari tipi di cookie, alcuni per rendere più efficace l’uso del Sito, altri per abilitare determinate funzionalità.

Analizzandoli in maniera particolareggiata i nostri cookie permettono di:

  • memorizzare le preferenze inserite;
  • evitare di reinserire le stesse informazioni più volte durante la visita quali ad esempio nome utente e password;
  • analizzare l’utilizzo dei servizi e dei contenuti forniti da www.vincenzocaputo.com per ottimizzarne l’esperienza di navigazione e i servizi offerti.
Tipologie di Cookie
Cookie tecnici

Questa tipologia di cookie permette il corretto funzionamento di alcune sezioni del Sito. Sono di due categorie: persistenti e di sessione:

  • persistenti: una volta chiuso il browser non vengono distrutti ma rimangono fino ad una data di scadenza preimpostata
  • di sessione: vengono distrutti ogni volta che il browser viene chiuso

Questi cookie, inviati sempre dal nostro dominio, sono necessari a visualizzare correttamente il sito e in relazione ai servizi tecnici offerti, verranno quindi sempre utilizzati e inviati, a meno che l’utenza non modifichi le impostazioni nel proprio browser (inficiando così la visualizzazione delle pagine del sito).

Cookie analitici

I cookie in questa categoria vengono utilizzati per collezionare informazioni sull’uso del sito. www.vincenzocaputo.com userà queste informazioni in merito ad analisi statistiche anonime al fine di migliorare l’utilizzo del Sito e per rendere i contenuti più interessanti e attinenti ai desideri dell’utenza. Questa tipologia di cookie raccoglie dati in forma anonima sull’attività dell’utenza e su come è arrivata sul Sito. I cookie analitici sono inviati dal Sito Stesso o da domini di terze parti.

Cookie di analisi di servizi di terze parti

Questi cookie sono utilizzati al fine di raccogliere informazioni sull’uso del Sito da parte degli utenti in forma anonima quali: pagine visitate, tempo di permanenza, origini del traffico di provenienza, provenienza geografica, età, genere e interessi ai fini di campagne di marketing. Questi cookie sono inviati da domini di terze parti esterni al Sito.

Cookie per integrare prodotti e funzioni di software di terze parti

Questa tipologia di cookie integra funzionalità sviluppate da terzi all’interno delle pagine del Sito come le icone e le preferenze espresse nei social network al fine di condivisione dei contenuti del sito o per l’uso di servizi software di terze parti (come i software per generare le mappe e ulteriori software che offrono servizi aggiuntivi). Questi cookie sono inviati da domini di terze parti e da siti partner che offrono le loro funzionalità tra le pagine del Sito.

Cookie di profilazione

Sono quei cookie necessari a creare profili utenti al fine di inviare messaggi pubblicitari in linea con le preferenze manifestate dall’utente all’interno delle pagine del Sito.

www.vincenzocaputo.com, secondo la normativa vigente, non è tenuto a chiedere consenso per i cookie tecnici e di analytics, in quanto necessari a fornire i servizi richiesti.

Per tutte le altre tipologie di cookie il consenso può essere espresso dall’Utente con una o più di una delle seguenti modalità:

  • Mediante specifiche configurazioni del browser utilizzato o dei relativi programmi informatici utilizzati per navigare le pagine che compongono il Sito.
  • Mediante modifica delle impostazioni nell’uso dei servizi di terze parti

Entrambe queste soluzioni potrebbero impedire all’utente di utilizzare o visualizzare parti del Sito.

Siti Web e servizi di terze parti

Il Sito potrebbe contenere collegamenti ad altri siti Web che dispongono di una propria informativa sulla privacy che può essere diverse da quella adottata da www.vincenzocaputo.com e che che quindi non risponde di questi siti.

Ultimo aggiornamento 8 marzo 2016

<Come disabilitare i cookie mediante configurazione del browser

Se desideri approfondire le modalità con cui il tuo browser memorizza i cookies durante la tua navigazione, ti invitiamo a seguire questi link sui siti dei rispettivi fornitori.

Mozilla Firefox https://support.mozilla.org/it/kb/Gestione%20dei%20cookie
Google Chrome https://support.google.com/chrome/answer/95647?hl=it
Internet Explorer http://windows.microsoft.com/it-it/windows-vista/block-or-allow-cookies
Safari 6/7 Mavericks https://support.apple.com/kb/Pstrong7191?viewlocale=it_IT&locale=it_IT
Safari 8 Yosemite https://support.apple.com/kb/Pstrong9214?viewlocale=it_IT&locale=it_IT
Safari su iPhone, iPad, o iPod touch https://support.apple.com/it-it/HT201265

Nel caso in cui il tuo browser non sia presente all'interno di questo elenco puoi richiedere maggiori informazioni inviando una email all'indirizzo info@nibirumail.com. Provvederemo a fornirti le informazioni necessarie per una navigazione anonima e sicura.

Questa pagina è stata generata ed è ospitata sul portale nibirumail.com - Il contenuto di questa pagina è stato generato 08 marzo 2016 attraverso il servizio Cookie Policy Generator. Il marchio Nibirumail e le aziende ad esso collegate non sono responsabili per informazioni erronee o non più aggiornate. Se desideri ricevere una versione aggiornata di questi contenuti contatta il proprietario di dalla pagina precedente.

OK

di Vincenzo Caputo

L'angolo dei lettori

Casa domotica con Telegram e Home Assistant

Data: 10 novembre 2018

Benvenuti nella rubrica "l'angolo dei lettori". Questo spazio è una sezione del blog che permette a chiunque di scrivere un articolo o realizzare un video, effettuare prove e test che riguardano il mondo della tecnologia e proporne la pubblicazione su queste pagine.

Oggi Nicola Bertelli, che ringraziamo per questa splendida guida, ci spiegherà come come gestire casa con Telegram.

Per molti scegliere di utilizzare questo servizio per gestire la domotica può sembrare inutile e soprattutto limitato rispetto magari all’interfaccia web di Home Assistant o altri assistenti.

Il primo motivo per cui si potrebbe scegliere questa via è l’immediatezza nell’inviare comandi al nostro sistema, avremo cioè i comandi che realmente ci interessano (solo quelli) a portata di mano senza attendere il caricamento di interfacce grafiche o il refresh di una pagina web.

Il secondo motivo è il superamente di quello che per molti è uno scoglio insormontabile: il port forwarding.

Se non volete per questioni di sicurezza o il vostro gestore non lo permette o semplicemente non siete in grado, non è necessario aprire porte in entrata nella vostra rete, inoltre una connessione criptata diventa superflua.

Telegram fornisce delle API pubbliche per la creazione e la gestione dei bot e Python mette a disposizione delle librerie per sfruttarle a pieno con la solita semplicità e personalizzazione che questo linguaggio ci regala.

Il bot che ho creato, interagirà con le API HTTP di Home Assistant che ci permettono di azionare switch, script, automazioni, servizi ecc ecc (http post) ma anche leggere sensori, stati degli switch ecc ecc (http get). Nel mio esempio in particolare andremo a gestire gli switch del salotto creati qui:

https://www.vincenzocaputo.com/picoblog/view/132/controllo_degli_interruttori_di_casa_con_raspberry_pi

Non perdiamo tempo e iniziamo a creare il nostro bot. Apriamo Telegram, andiamo nella barra delle ricerche e digitiamo Botfather

Selezioniamo e avviamo il bot.

digitiamo e vediamo tutti i comandi che abbiamo a disposizione

Ovviamente scegliamo /newbot inseriamo nome e username del bot a piacere, lui ci darà un token da utilizzare per accedere alle API HTTP

cambiamo l’immagine selezionando tra i comandi /setuserpic: selezionate il vostro bot e allegate l’immagine che volete caricare

Fatto questo andiamo a personalizzare i comandi proposti dal nostro Bot come segue:

  • Nella chat di Botfather lanciamo il comando (digitando) /mybots,
  • selezioniamo il bot che vogliamo modificare e poi Edit Bot,
  • selezioniamo edit Commands
  • inserite i due comandi come dall’immagine seguente ed inviate il messaggio

riceverete un messaggio di conferma

 

Ora tornate nella barra di ricerca e digitate lo username del vostro bot, selezionatelo e avviatelo. Se non vedete ancora l’immagine ed i  comandi aggiunti chiudete e riavviate Telegram.

Passiamo alla programmazione in python del nostro bot.
Diamo per scontato che siete in grado di accedere alle cartelle di sistema ed al terminale.

Ora dobbiamo chiederci: dove vogliamo far girare il nostro bot?
Potete usare il Raspberry che molti di voi usano per Home Assistant, potete usare il Raspberry che controlla le luci di casa, un qualsiasi pc o mini pc con qualsiasi distribuzione Linux. L’unica condizione necessaria è che sia connesso alla stessa rete dove si trova Home Assistant.

Bene, apriamo il terminale e installiamo la libreria necessaria alla gestione dei bot di Telegram con il seguente comando:

sudo pip install telepot

Ora scarichiamo dal mio Drive il file primo_avvio.py che ho creato appositamente per ricavare il valore di chat_id:

curl -L -o primo_avvio.py "https://drive.google.com/uc?export=download&id=1IZ2Hzr8PU3cdj1HmSvlnt7DnIOSAr4Ls"

adesso inseriamo il token alla riga 11, al posto del AAAAA:
nano primo_avvio.py
spostatevi alla riga suddetta
modificate, control+x, s seguito da invio

ora lanciate il file:
python primo_avvio.py

vi comparirà Listening….

Lasciate in esecuzione il terminale e tornate al vostro bot su telegram, digitate qualunque cosa e inviate il messaggio, lui risponderà con il nostro nome e con il chat_id, annotatelo.

 
Questo è un valore numerico che vi rappresenta in qualunque chat o bot di Telegram, non a caso coincide con quello inserito per le notifiche in Home Assistant.

Bene, torniamo al nostro terminale, creiamo la cartella e scarichiamo il file di gestione vero e proprio del bot:

mkdir bot_casa
cd bot_casa

Scarichiamo il file
curl -L -o domotica_casa.py "https://drive.google.com/uc?export=download&id=14z1Jw6294nYWGH0UxZyDLimCytWw0UGr"

Qui dovremo fare diverse modifiche:

Al posto di  ‘http://INDIRIZZO-HOME-ASSISTANT:8123/api/states/’ (attenzione all’apice all’inizio e alla fine) dobbiamo inserire il nostro indirizzo di Home Assistant, può essere un indirizzo IP (http://192.168…..) , oppure tipo https://pincopallino.duckdns.org, o anche http://pincopallino.duckdns.org, è molto importante scrivere la parte finale :8123/api/states/

Come vedete ho impostato due funzioni, una per la lettura dello stato delle luci o di qualsiasi altra entità di Home Assistant, un’altra per richiamare il servizio switch toggle. Utilizzando quest’ultima, entrando con il nome dello switch (switch.luce_cucina per esempio) se è la luce accesa la spegnerà altrimenti verrà accesa.

Inserite la vostra chat_id al posto di 12345678, questo permetterà solo a voi di utilizzare il bot. Per permettere ad altri di interagire con il vostro bot dovete modificare la condizione con quanti numeri di chat_id vi servono come nell’esempio seguente:

if (chat_id==12345678) or (chat_id==87654321) or  (chat_id==00000000):

In questa fase imposto on_chat_message in modo che quando seleziono il comando o semplicemente digito /luci_salotto compariranno 5 pulsanti: i primi 4 lanciano la funzione toggle vista in precedenza, richiamando una on_callback_query, l’ultimo invece mi informerà sullo stato attuale delle luci.

Vorrei far notare che quando lancio il comando della funzione toggle, subito dopo vado a leggere lo stato effettivo dello switch, il messaggio di risposta corrisponde quindi allo stato effettivo della nostra entità

Ora andiamo in fondo al file e Inseriamo il nostro token:

Salviamo il tutto e avviamo:
python domotica_casa.py

Questo è quello che otteniamo da Telegram interagendo con i pulsanti a video

 
Sul nostro terminale vedremo la corrispondenza della query eseguita

Se tutto lavora al meglio non dobbiamo fare altro che mettere nell’avvio al boot il nostro file domotica_casa.py.

Se state usando lo stesso Raspberry della guida precedente modificate il file avvio.sh con due righe:

sleep 5 &
python /home/pi/bot_casa/domotica_bot.py &

Riavviamo e avremo il nostro bot operativo.

Bonus:

Se volete che il bot vi invii un messaggio vocale con lo stato delle vostre luci, al posto di lanciare il comando indicato precedentemente   curl -L -o domotica_casa.py ………

digitate:

sudo pip install gTTS
curl -L -o domotica_casa.py "https://drive.google.com/uc?export=download&id=12i2oYfTt7gM5K8wBd4qnIlZrpsIrDZxa"

Come al solito è un unico comando da eseguire in un’unica volta, lanciate il vostro file python (python domotica_casa.py) dopodichè selezionate stato dalla vostra inline Keyboard e, dopo pochi secondi vi arriverà un messaggio vocale dove vi descriverà lo stato delle luci.

Bene ringraziamo ancora una volta Nicola per quest'ottima guida ed andiamo a guardare il solito video dimostrativo di fine articolo dove possiamo vedere il sistema in azione. Buona visione!




domotica
Home Assistant
Telegram
casa domotica
Python

Seguimi su Youtube

Seguimi su Youtube

15,500 iscritti

Seguimi su Facebook

Seguimi su Facebook

2,672 iscritti

Seguimi su Youtube

Seguimi su Telegram

878 iscritti

Seguimi su Youtube

Seguimi via RSS

Consigliati da noi
Categorie
Domotica
137 articoli
L'angolo dei lettori
16 articoli
Info
16 articoli
Audio-Video
14 articoli
Auto-Moto
13 articoli
Promo
9 articoli
Post piu letti
Funzionamento Relè eMylo come deviatore
Riprogrammare Sonoff Smart Switch Basic con Firmware Tasmota
Come integrare Sonoff switch in Home Assistant tramite IFTTT
Autoradio Android ATOTO A61721P - La Prova
Tutti pazzi per Shelly - la nostra prova dello Shelly 1

Supportami