1. Genel Çalışma Mantığı

Telegram tabanlı alarm bildirim sisteminde EOS SCADA ile Telegram arasında doğrudan kullanıcı hesabı üzerinden değil, Telegram Bot API üzerinden çalışan bir bot aracılığıyla iletişim kurulur.

Temel çalışma akışı:

SCADA ALARMI  →  ANS  →  TELEGRAM BOT API  →  BOT  →  TELEGRAM GRUBU / KULLANICI

  1. Telegram üzerinde bir bot oluşturulur.
  2. Bot için gizli bir Bot Token alınır.
  3. Alarm bildirimlerinin gönderileceği kullanıcı veya grup belirlenir.
  4. Hedef sohbetin Chat ID bilgisi belirlenir.
  5. Bot hedef gruba eklenir ve gerekli yetkiler verilir.
  6. ANS panelinde Telegram Bot Token ve Chat ID tanımlanır.
  7. SCADA'da oluşan alarm ANS tarafından Telegram üzerinden gönderilir.

2. Telegram Bot Oluşturma – BotFather

Telegram botlarının oluşturulması ve yönetilmesi için Telegram'ın resmi bot yönetim aracı olan @BotFather kullanılır. Telegram'ın resmi dokümantasyonu, yeni bir bot oluşturmak ve kimlik doğrulama token'ını almak için BotFather ile iletişim kurulmasını belirtmektedir.

  1. Telegram uygulamasını açın.
  2. Arama alanında @BotFather hesabını bulun.
  3. Resmi BotFather hesabını açın veya Telegram BotFather bağlantısını kullanın.
  4. /start komutunu gönderin.
  5. /newbot komutunu göndererek yeni bot oluşturma işlemini başlatın.

3. Bot Adı ve Kullanıcı Adının Belirlenmesi

BotFather yeni bot oluşturma sırasında iki temel bilgi ister.

Bot Name – Bot Adı

Kullanıcıların Telegram içerisinde göreceği isimdir. Tesis veya sistem adını yansıtacak açıklayıcı bir isim tercih edilebilir.

Örnek: EOS Energy Alarm Bot

Bot Username – Bot Kullanıcı Adı

Botun Telegram üzerindeki benzersiz kullanıcı adıdır. Bot kullanıcı adları normalde bot son ekiyle oluşturulur.

Örnek: eos_energy_alarm_bot

4. Telegram Bot Token Alınması

Bot oluşturma işlemi tamamlandığında BotFather, Telegram Bot API'ye erişim için kullanılacak bir token üretir. Bu token, ANS'nin Telegram botu üzerinden mesaj gönderebilmesi için gerekli kimlik doğrulama bilgisidir.

Biçim örneği:

123456789:AAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Bu yalnızca biçim örneğidir; gerçek bir Bot Token değildir.

Çok önemli güvenlik uyarısı: Bot Token gizli tutulmalıdır. Telegram'ın resmi dokümantasyonuna göre token'a sahip olan kişi bot üzerinde tam kontrol sağlayabilir. Token'ı web sayfalarında, dokümanlarda, ekran görüntülerinde veya yetkisiz kişilerle paylaşmayın.

5. Telegram Chat ID Elde Etme

ANS'nin alarm mesajını nereye göndereceğini belirleyebilmesi için hedef Telegram sohbetinin Chat ID bilgisi gereklidir. Bu hedef bir kullanıcı, grup veya Telegram'ın desteklediği başka bir sohbet türü olabilir.

Bu dokümanda en pratik yöntem olarak Bot API'nin getUpdates metodundan yararlanılmaktadır. Telegram Bot API, botun aldığı güncellemeleri JSON formatında döndürür.

5.1 Özel Sohbet / Kullanıcı Chat ID'si

  1. Oluşturduğunuz botu Telegram'da açın.
  2. Start düğmesine basın veya bota bir mesaj gönderin.
  3. Tarayıcıda aşağıdaki adresi açın:
    https://api.telegram.org/bot<TOKEN>/getUpdates
  4. JSON çıktısı içerisindeki message.chat.id değerini bulun.

Örnek:

{
  "message": {
    "chat": {
      "id": 987654321,
      "type": "private"
    }
  }
}

Chat ID: 987654321

5.2 Grup Chat ID'si

Tesis alarm bildirimleri için genellikle özel bir Telegram grubu oluşturulması daha uygun bir operasyonel yapı sağlar. Örneğin:

Grup adı: EOS_ALARM_IZLEME

Amaç: Tesis alarm bildirimlerinin yetkili personele iletilmesi

  1. Telegram grubunu oluşturun.
  2. Alarm bildirimlerinden sorumlu yetkili personeli gruba ekleyin.
  3. Oluşturduğunuz botu gruba ekleyin.
  4. Grupta botun mesaj gönderebilmesini sağlayın.
  5. Grupta yeni bir mesaj gönderin.
  6. Bot API üzerinden https://api.telegram.org/bot<TOKEN>/getUpdates çağrısını kontrol edin.
  7. JSON içerisinde ilgili sohbetin message.chat.id değerini bulun.

Örnek grup çıktısı:

{
  "message": {
    "chat": {
      "id": -1234567890,
      "title": "EOS ALARM IZLEME",
      "type": "group"
    }
  }
}

Grup Chat ID: -1234567890

Not: Klasik Telegram grup sohbetlerinde Chat ID değeri negatif görünebilir. Bu nedenle değeri kopyalarken başındaki - işaretinin kaybolmadığından emin olun.

6. Botun Grup Mesajlarını Alması ve Privacy Mode

Telegram botları gruplara eklendiğinde varsayılan olarak Privacy Mode etkin olabilir. Bu durumda bot, gruptaki her mesajı değil, kendisiyle ilgili belirli komut ve mesajları alır. Telegram'ın resmi dokümantasyonuna göre bot yönetimi için gerekli olmadıkça Privacy Mode'un kapatılması önerilmez.

Buradaki ANS senaryosunda temel ihtiyaç botun gruptan mesaj toplaması değil, ANS'nin bot üzerinden gruba alarm mesajı göndermesidir. Bu nedenle yalnızca alarm gönderimi amacıyla Privacy Mode'u kapatmak gerekmeyebilir.

Güvenlik yaklaşımı: Botun yalnızca ihtiyaç duyduğu yetkilere sahip olması ve gereksiz grup mesajlarına erişimin açılmaması tercih edilmelidir. Bot yönetim ayarları Telegram'ın resmi BotFather seçenekleri üzerinden kontrol edilmelidir.

7. ANS Panelinde Telegram Ayarları

Bot ve hedef sohbet hazırlandıktan sonra Telegram entegrasyonu ANS panelinde yapılandırılır.

ANS Parametresi Girilecek Değer Açıklama
Telegram API Address https://api.telegram.org Telegram Bot API'nin temel adresi.
Bot Access Key Bot Token BotFather tarafından verilen gizli bot erişim token'ı.
Chat ID Hedef Chat ID Alarm mesajlarının gönderileceği kullanıcı veya Telegram grubu.

ANS'nin mevcut yapılandırmasında alan adları farklı olabilir; ancak temel olarak Telegram API adresi + Bot Token + Chat ID bilgilerinin doğru tanımlanması gerekir.

8. Alarm Bildirimlerinin Çalışma Prensibi

  1. SCADA sistemi bir alarm üretir.
  2. ANS alarmı algılar ve ilgili bildirim politikasını değerlendirir.
  3. Telegram bildirimi seçilmişse ANS, Telegram Bot API'ye istek gönderir.
  4. Telegram Bot API mesajı ilgili bot üzerinden hedef Chat ID'ye iletir.
  5. Mesaj, Telegram grubunda veya hedef kullanıcı sohbetinde görüntülenir.

SCADA → ALARM → ANS → TELEGRAM API → BOT → CHAT ID → PERSONEL

9. Tesis Personeli Açısından Kullanım

Alarm grubuna dahil edilen yetkili personel, Telegram uygulamasının bulunduğu mobil veya masaüstü cihazlar üzerinden alarm bildirimlerini alabilir.

  • Alarm bildirimleri hızlı şekilde kullanıcıya ulaştırılabilir.
  • Mobil cihazlarda Telegram bildirimleri kullanılabilir.
  • Birden fazla personel aynı alarm grubunda bilgilendirilebilir.
  • Operasyon, bakım ve yönetim ekipleri için farklı Telegram grupları oluşturulabilir.
  • ANS'nin bildirim gruplarıyla birlikte kullanılarak alarmın ilgili personele yönlendirilmesi sağlanabilir.

10. Güvenlik ve Operasyonel Öneriler

  • Bot Token kesinlikle gizli tutulmalıdır.
  • Token'ı web sayfalarına, ekran görüntülerine veya dokümanlara gerçek değeriyle koymayın.
  • Token'ın yetkisiz kişilerin eline geçtiğinden şüpheleniyorsanız BotFather üzerinden token'ı yenileyin.
  • Alarm gruplarına yalnızca yetkili tesis personelini dahil edin.
  • Botun grup içerisindeki yetkilerini gereksiz yere genişletmeyin.
  • Telegram Chat ID ve Bot Token değerlerini ANS yapılandırma dosyalarında yetkisiz erişime karşı koruyun.
  • Kritik SCADA alarmları için Telegram'ı tek bildirim kanalı olarak kullanmak yerine, tesisin gereksinimine göre SMS veya e-posta gibi alternatif bildirim kanallarıyla birlikte değerlendirin.

Kritik alarm notu: Telegram internet tabanlı bir bildirim kanalıdır. Bu nedenle kritik proseslerde bildirim mimarisi yalnızca mesajlaşma uygulamasına bağımlı bırakılmamalı; ağ erişimi, internet bağlantısı ve alternatif alarm kanalları birlikte değerlendirilmelidir.

11. Kurulumun Kısa Özeti

BOTFATHER

BOT OLUŞTUR

BOT TOKEN AL

TELEGRAM GRUBU OLUŞTUR

BOTU GRUBA EKLE

CHAT ID'Yİ BELİRLE

ANS'YE TOKEN + CHAT ID GİR

SCADA ALARMI → TELEGRAM BİLDİRİMİ

Bu yapılandırma tamamlandığında EOS SCADA ANS, belirlenen alarm bildirim politikalarına göre SCADA alarmlarını Telegram Bot API üzerinden hedef Telegram sohbetlerine iletebilir. Böylece tesis personeli, alarm olaylarını mobil ve masaüstü Telegram uygulamaları üzerinden takip edebilir.

← Önceki İçeriğe Dön