Kural Zinciri Rehberi

Bir kural zinciri (rule chain), gelen mesajları (telemetri verileri, alarmlar veya uzaktan prosedür çağrıları gibi) işlemek için kullanılan görsel bir

Bir kural zinciri (rule chain), gelen mesajları (telemetri verileri, alarmlar veya uzaktan prosedür çağrıları gibi) işlemek için kullanılan görsel bir iş akışıdır. Bu yapı sayesinde verilerin nasıl filtreleneceğini, zenginleştirileceğini, dönüştürüleceğini ve işleneceğini hem platform içinde hem de dış sistemlerde tanımlayabilirsiniz.

Her kural zinciri, farklı işlevlere sahip düğümlerden (nodes) oluşur. Bu düğümler 6 ana kategori altında toplanır:

Düğüm Tipleri ve Kategorileri
1. Filtre (Filter)

Koşulları değerlendirmek ve mesajları buna göre yönlendirmek için kullanılır. Genellikle true/false döndürür ve akışı dallandırır.

Örnekler:

  • Script: JavaScript ile koşul kontrolü (örn. sıcaklık > 80)
  • Message Type: Mesaj tipine göre yönlendirme (örn. telemetri, RPC, alarm)
  • Device Type Filter: Belirli cihaz tiplerinden gelen mesajlara izin verme

2. Zenginleştirme (Enrichment)

Mesaja ek bilgi ekler (metadata, cihaz özellikleri, müşteri bilgileri vb.).

Örnekler:

  • Originator Fields: Cihaz tipi, etiketi veya konumu gibi bilgileri ekler
  • Customer Attributes: Mesajı müşteriyle ilişkili özniteliklerle zenginleştirir
  • Related Entity: İlişkili varlıklardan (örn. varlık, ağ geçidi) veri yükler

3. Dönüştürme (Transformation)

Mesajın formatını, içeriğini veya yapısını değiştirir.

Örnekler:

  • Script Transformation: JavaScript ile payload üzerinde değişiklik yapma
  • Change Originator: Mesajın kaynağını değiştirme (örn. cihaz → müşteri)
  • To Email Message: Mesajı e-posta formatına dönüştürme

4. Aksiyon (Action)

Belirli koşullar sağlandığında sistemin yapması gereken işlemleri tanımlar.

Örnekler:

  • Create Alarm: Eşik değerine göre alarm oluşturma
  • Clear Alarm: Koşullar normale döndüğünde alarmı temizleme
  • Log: Mesajı platform loglarına yazma
  • Save Timeseries/Event/Attributes: Veriyi veritabanına kaydetme

5. Harici (External)

Üçüncü taraf sistemlerle veya iletişim kanallarıyla entegrasyonu sağlar.

Örnekler:

  • REST API Call: Harici sistemlere HTTP isteği gönderme (örn. webhook)
  • Send Email: E-posta bildirimleri tetikleme
  • MQTT / Kafka: Mesajları dış broker’lara aktarma

6. Akış (Flow)

Mesajların yönlendirilmesi, iş akışlarının düzenlenmesi veya farklı kural zincirlerinin birbirine bağlanması için kullanılır.

Örnekler:

  • Switch Node: Çoklu koşullara göre yönlendirme
  • Rule Chain Node: Mesajı başka bir kural zincirine yönlendirme
  • Input/Output Nodes: Zincirler arası giriş-çıkış noktaları tanımlama
  • Flow Control: Gecikme, tekrar deneme veya buffer ekleme

Adım Adım Kural Zinciri Oluşturma
  1. Input Node (örn. Telemetry) ile mesajları almaya başlayın.
  2. Filter Node ile koşulları kontrol edin ve yönlendirmeleri yapın.
  3. Enrichment ve Transformation düğümleriyle mesajı hazırlayın.
  4. İlgili koşullarda Action veya External düğümlerini tetikleyin.
  5. Flow düğümleriyle akışı düzenleyin veya diğer zincirlere bağlayın.

Örnek: Yüksek Sıcaklık Alarm Akışı
  1. Input: Telemetri üzerinden sıcaklık verisi alınır.
  2. Filter: Sıcaklık > 80 kontrol edilir.
  3. Enrichment: Cihaz adı ve konum bilgisi eklenir.
  4. Action: Alarm tetiklenir ve e-posta bildirimi gönderilir.
  5. Log: Olay platform loglarına kaydedilir.
  6. Flow: Mesaj, ikinci bir kural zincirine yönlendirilerek eskalasyon yapılır.

Bu modüler kural zinciri mimarisi, minimum kodlama ile güçlü ve gerçek zamanlı IoT veri işleme olanağı sağlar.

Related Posts

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir