Integrare Telegram in OpenHAB

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.

Cosa è Telegram ?

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 o iOS) e registrarsi al servizio.

Creare un BOT, ricavare il token e la chatId

Seguendo quanto già descritto in questo articolo creare un BOT e ricavarne il TOKEN.

Supponiamo di aver creato il BOT OpenHab

Cercare il BOT nella casella di ricerca:

@OpenHab

e inviare un messsaggio qualsiasi, nel mio caso ho scritto:

testodiprova

A questo punto incollare il seguente link sul browser inserendo il TOKEN ricavato dal passo precedente:

https://api.telegram.org/botTOKEN/getUpdates

Il risultato sarà un output JSON simile a questo:

{"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"}}]}

La chatId sarà il valore di result[0].message.from.id in questo caso:

112116999
Fatto! Ora abbiamo TOKEN e ChatId.

OpenHab, installare l'ACTION Telegram

Per utilizzare la funzionalità Telegram è necessario installare l'addon action Telegram tramite l'interfaccia PAPER UI

OpenHab, configurazione di Telegram

Editiamo il file:

/etc/openhab2/services/telegram.cfg

e inseriamo le seguenti righe:

bots=bot1, bot2

bot1.chatId=112116999
bot1.token=162073819:AAFUj0QtqRLhs5Vj9t0ZJaoMZuWkC-pC3SA

bot2.chatId=223117000
bot2.token=162073819:AAFUj0QtqRLhs5Vj9t0ZJaoMZuWkC-CC4SB

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:

/etc/openhab2/rules/telegram.rules

Supponiamo di voler sapere sulla nostra chat lo stato del ventilatore collegato al rele1:

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

Ulteriori esempi e maggiori info sono reperibili alla pagina dedicata:

OpenHab Telegram Action

Massimiliano Casini (Coordinatore tecnico Service Assurance presso www.kenamobile.it)
Sono cresciuto nel modo IT di aziende ad alto contenuto tecnologico e da sempre ho acquisto esperienze nel settore della domotica e sicurezza residenziale

The TanzoLab Project

Il TanzoLab è una iniziativa senza fini di lucro, nata da un'idea di Sergio Tanzilli socio fondatore di Acme Systems srl nel Novembre 2015, per trasferire ad appassionati di elettronica e informatica, professionisti e aziende nel settore, le conoscenze necessarie per poter creare prodotti embedded adatti per la produzione industriale.

Le attività del TanzoLab si svolgono ogni mercoledi sera, salvo casi speciali, dalle ore 18:30 presso i locali della Acme Systems srl e consistono in:

  • Talk monotematici a cura di professionisti in vari settori tecnologici
  • Workshop pratici su elettronica embedded, produzione e informatica
  • Progettazione e realizzazione di nuovi prodotti embedded per l'IT

Le attività vengono coordinate tramite questo sito, in cui vengono pubblicati tutti i lavori svolti o in via di sviluppo, e tramite un gruppo Telegram con cui per interagire direttamente via chat con gli altri membri.