#Integrare Telegram in OpenHAB <abstract> Integrare è il verbo di OpenHab, in questo articolo vedremo come farlo con la chat Telegram in modo da poter ricevere gli eventi generati dal nostro impianto ovunque siamo. </abstract> <img src="./openhab_telegram" class="img-responsive center-block"> ## Cosa è Telegram ? [Telegram](https://it.wikipedia.org/wiki/Telegram) è la concorrente diretta di Whatsapp ma in più ha, da sempre, i BOT che sono delle vere e proprie chat automatiche che ci consentono di ricevere informazioni o di fare delle richieste. A questo punto non resta che installare Telegram sul dispositivo mobile ([Android](https://play.google.com/store/apps/details?id=org.telegram.messenger&hl=it) o [iOS](https://itunes.apple.com/it/app/telegram-messenger/id686449807?mt=8)) e registrarsi al servizio. ### Creare un BOT, ricavare il token e la chatId Seguendo quanto già descritto [in questo articolo](http://www.tanzolab.it/tpc) creare un BOT e ricavarne il TOKEN. Supponiamo di aver creato il BOT OpenHab Cercare il BOT nella casella di ricerca: <pre class="terminal"> @OpenHab </pre> e inviare un messsaggio qualsiasi, nel mio caso ho scritto: <pre class="terminal"> testodiprova </pre> A questo punto incollare il seguente link sul browser inserendo il TOKEN ricavato dal passo precedente: <pre class="terminal"> https://api.telegram.org/botTOKEN/getUpdates </pre> Il risultato sarà un output JSON simile a questo: <pre class="terminal"> {"ok":true,"result":[{"update_id":546577696, "message":{"message_id":3,"from":{"id":112116999,"first_name":"Massimiliano","username":"massimilianocasini","language_code":"it-IT"},"chat":{"id":112116999,"first_name":"Massimiliano","username":"massimilianocasini","type":"private"},"date":1502702545,"text":"testodiprova"}}]} </pre> La chatId sarà il valore di result[0].message.from.id in questo caso: <pre class="terminal"> 112116999 </pre> <div class="alert alert-success"> <strong>Fatto!</strong> Ora abbiamo TOKEN e ChatId. </div> ### OpenHab, installare l'ACTION Telegram Per utilizzare la funzionalità Telegram è necessario installare l'addon action Telegram tramite l'interfaccia [PAPER UI](http://docs.openhab.org/addons/uis/paper/readme.html) <img src="./addontelegram.png" class="img-responsive center-block" width="80%"> ### OpenHab, configurazione di Telegram Editiamo il file: <pre class="terminal"> /etc/openhab2/services/telegram.cfg </pre> e inseriamo le seguenti righe: <pre class="terminal"> bots=bot1, bot2 bot1.chatId=112116999 bot1.token=162073819:AAFUj0QtqRLhs5Vj9t0ZJaoMZuWkC-pC3SA bot2.chatId=223117000 bot2.token=162073819:AAFUj0QtqRLhs5Vj9t0ZJaoMZuWkC-CC4SB </pre> dove il valore di bots sono alias per identificare tutti i bots configurati eventualmente separati da virgola. Possiamo inserire quanti BOTS vogliamo basta cambiare l'alias e inserire i corretti chatId e TOKEN ### OpenHab, inviare un messaggio via Telegram Editiamo un nuovo file nella cartella rules: <pre class="terminal"> /etc/openhab2/rules/telegram.rules </pre> Supponiamo di voler sapere sulla nostra chat lo stato del ventilatore collegato al rele1: <pre class="terminal"> rule "Stato ventilatore" when Item rele1 changed from OFF to ON then sendTelegram("bot1", "Il ventilatore si è acceso!") end when Item rele1 changed from ON to OFF then sendTelegram("bot1", "Il ventilatore si è spento!") end </pre> Ulteriori esempi e maggiori info sono reperibili alla pagina dedicata: [OpenHab Telegram Action](http://docs.openhab.org/addons/actions/telegram/readme.html#configuration) @include='bio_massimiliano_casini'
2018 Ⓒ TanzoLab