#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