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. Negli ultimi dieci anni ho acquisito competenze specifiche nel campo delle TLC in particolare sulla rete GSM e sui protocolli ad essa collegati.



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.