Genesis64 Alarm menggunakan Telegram

Alarm pada sistem SCADA di process plant harus ditampilkan dalam berbagai bentuk notifikasi, seperti bunyi peringatan, notifikasi desktop, atau bahkan melalui aplikasi messenger. Saat ini, alarm juga dapat dikirimkan langsung ke aplikasi seperti Telegram, sehingga operator atau pengguna dapat segera menerima pemberitahuan alarm. Berikut adalah panduan singkat untuk mengirim alarm melalui Telegram menggunakan fitur Genesis64.

  1. buat akun bot telegram
  • Buat bot dengan chat BotFather, dengan command /newbot
  • Pilih nama untuk bot.
  • Setelah selesai simpan token.
  1. Buat grup chat dengan bot
  • Buat grup chat dengan bot seperti gambar dibawah
  • buka telegram menggunakan browser dan salin chat ID grup dengan bot dari url browser.
  1. konfigurasi module Genesis64 Web Services

REST API adalah metode komunikasi yang memungkinkan aplikasi bertukar data melalui internet dengan memanfaatkan metode HTTP seperti GET, POST, PUT, dan DELETE, yang juga digunakan oleh peramban web untuk mengambil data dari halaman web dan mengirim data ke server.

Genesis64 mendukung akses data melalui REST API, sehingga aplikasi pihak ketiga dapat dengan mudah berinteraksi dengan sistem. Untuk konfigurasi komunikasi REST API, dapat dilakukan melalui modul Web Services.

Dengan modul Web Services, Genesis64 akan digunakan untuk mengirim notifikasi alarm dengan memposting data atau pesan ke REST API Telegram. Metode yang akan digunakan adalah format dibawah ini, untuk detail bisa diakses dari disini.

https://api.telegram.org/bot{token}/SendMessage?chat_id=-{ChatID}&parse_mode={Mode}&text={Messages}

Kemudian berikut langkah-langkah untuk implementasi posting message ke telegram API menggunakan Web services Genesis64.

  • Buka Workbench, di Project Expoler buka Data Connectivity, serta Web Services.
  • Klik kanan pada Web Services, pilih Create a new Folder, dan beri nama “Notification“.
  • Klik Klik kanan pada folder “Notification”, lalu pilih Add REST Services. Beri nama “Telegram”. Untuk Base URL, masukkan
https://api.telegram.org/bot{token}
  • Di mana {token} akan didefinisikan sebagai parameter di bawah ini, dengan nilai token bot yang telah dibuat sebelumnya. kofigurasi kind sebagai URL Segment, dan centang sensitive untuk enkripsi nilai.
  • Kemudian klik kanan pada “Telegram“, pilih “Add Web Method“, beri nama “SendMessage“. Untuk Relative URL, masukkan
/sendMessage?chat_id=-{ChatID}&parse_mode={Mode}&text={Msg1}%0A{Msg2}%0A{Msg3}%0A{Msg4}
  • Pilih POST untuk Http Method.
  • Dimana parameters didefinisikan sebagai dibawah ini. untuk “%0A” pada html digunakan untuk membuat new line.
ParametersDeskripsi
ChatIDDefinisi untuk chat ID kode untuk grup yang telah dibuat sebelumnya. dan masukkan nilai chat id sebelumnya
ModeFormat yang dipilih untuk parsing pesan/text pada command SendMessage telegram API.
Msg1Definisi pesan 1 yang mana ini akan diisi untuk basis text notifikasi alarm “An alarm has been triggered. Please check the system”
Msg2Definisi pesan untuk baris kedua, dimana ini akan diisi oleh pesan alarm yang terjadi.
Msg3Definisi pesan untuk baris ketiga, dimana ini akan diisi oleh severity alarm yang terjadi.
Msg4Definisi pesan untuk baris ketiga, dimana ini akan diisi oleh waktu alarm yang terjadi.
  1. konfigurasi module Genesis64 Workflow

Genesis64 Workflow memungkinkan untuk membuat customable logic untuk complex action, yang disusun dalam bentuk block diagram. Data dieksekusi secara realtime dan yang trigger untuk mengeksekusi Workflow dapat berupa Alarm, History, merging, dan lainnya.

Dengan Workflow, trigger alarm akan mengambil data alarm yang kemudian dimasukkan ke dalam parameter Msg1, Msg2, Msg3, dan Msg4, dan selanjutnya mengeksekusi pengiriman pesan atau posting REST API ke Telegram. berikut dibawah ini untuk langkah-langkah konfigurasi Workflow.

  • buka Workbench, di project explorer expand Bridging.
  • Klik kanan pada Templates, pilih Add Template. Beri nama Alarm.
  • Tambahkan block Dynamic Tag Writer sebagai SetMessage. Block ini akan berfungsi untuk menulis Msg2, Msg3, dan Msg4 dari data alarm yang terjadi. Pada tab Destination Dynamic Tag konfiguasi seperti tabel dibawah ini.
Point Name ExpressionOutput Expression
x=”ws.Notification.Telegram.SendMessage.@Msg2″x=”<b>”+tostring({{triggerVariable:Message}})+”</b>”
x=”ws.Notification.Telegram.SendMessage.@Msg3″x=tostring(“Severity : “)+tostring({{triggerVariable:Severity}})
x=”ws.Notification.Telegram.SendMessage.@Msg4″x=tostring(“Active time : “)+tostring(tolocal({{triggerVariable:ActiveTime}}))
  • Tambahkan Block Dynamic Tag Writer sebagai SendMessage. Block ini akan berfungsi untuk menulis trigger send message dari REST API. Pada tab Destination Dynamic Tag konfiguasi seperti tabel dibawah ini.
Point Name ExpressionOutput Expression
x=”ws.Notification.Telegram.SendMessage.@@Execute”x=1
  • Ketika sudah selesai seperti gambar dibawah. klik Apply.
  • Kemudian klik kanan pada Briding->Transaction->Sample Configuration, pilih add Transaction. beri nama Telegram_Alarm.
  • Pada tab Transaction setting, pastikan enable transaction dalam kondisi aktif, serta pilih template yaitu Alarm.
  • Pada tab Transaction Execution, pilih Alarms untuk Execute transaction using.
  • Pada tab Alarm Subscriptions, pilih Alarm source yang digunakan.
  • Setelah selesai pilih Apply untuk menyimpan konfigurasi.
  • Dan pastikan services dari Alarm, Web Service dan Workflow telah di start/running.

Berikut hasil alarm notification pada telegam grup.

Leave a Reply

Your email address will not be published.