Kurallar
Gerekli Yetki: Sistem Yöneticisi erişimi | Roller: Yalnızca Sistem Yöneticisi
Modül Nedir?
Kurallar modülü, Retmes MES'in olay güdümlü otomasyon motorudur. Her kural bir tetikleyici (trigger) ve bu tetikleyici gerçekleştiğinde çalışacak eylem kodundan oluşur. Tetikleyiciler; IoT etiket değeri değişimleri, üretim sayacı eşikleri veya zaman bazlı olaylar gibi sistem olaylarına dayanır. Eylem kodu ise JavaScript/Monaco Editor tabanlı bir kod bloğunda yazılır ve e-posta gönderme, alarm oluşturma, kayıt yazma gibi işlemleri gerçekleştirebilir.
İki şablon modu sunar: Gelişmiş (Advanced) — tam JavaScript kodlama esnekliği sağlar; Temel (Basic) — önceden hazırlanmış örnek kural şablonlarıyla hızlı yapılandırma imkânı sunar. Gelişmiş modda Monaco kod editörü kullanılır; sözdizimi renklendirmesi, oto-tamamlama ve hata vurgulama özellikleri desteklenir.
Kural logları (/rules/logs/:id) aracılığıyla bir kuralın son çalışma geçmişi, çalışma zamanı hataları ve eylem sonuçları incelenebilir. Bu sayede otomasyonların sağlıklı çalışıp çalışmadığı denetlenebilir.
Yetenekler
- Tetikleyici bazlı olay güdümlü otomasyon (koşul → eylem)
- IoT etiket (tag) değerleri üzerinde eşik bazlı tetikleme
- JavaScript ile özelleştirilebilir eylem kodu (Monaco Editor)
- Temel şablonlar: hazır kural örnekleriyle hızlı başlangıç
- E-posta bildirimi, alarm oluşturma ve veri yazma eylemleri
- Zaman bazlı tetikleyiciler (belirli bir saatte veya periyodik)
- Kural çalışma geçmişi ve hata logları
- IoT etiketleri üzerinde akıllı oto-tamamlama (editörde
$Tag[...]sözdizimi) - Kural aktif/pasif durumu kontrolü
Ekran Açıklaması
Ekran görüntüsü yakında eklenecektir.
Liste Ekranı
| Alan | Açıklama |
|---|---|
| Ad | Kuralın tanımlayıcı adı |
| Açıklama | Kuralın ne yaptığının kısa açıklaması |
| Şablon | Advanced (Gelişmiş) / Basic (Temel) |
| Tetikleyici Tipi | Olayın türü (tag değeri, zaman, vb.) |
| Son Çalışma | Kuralın en son tetiklendiği tarih ve saat |
| Durum | Aktif / Pasif |
| İşlemler | Düzenle, Log Görüntüle, Sil |
Oluşturma / Düzenleme Formu
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| Ad | Metin | Evet | Kuralın adı (ör. "Sıcaklık Alarm Kuralı") |
| Şablon | Seçim | Evet | advanced (özel kod) veya basic (hazır şablon) |
| Açıklama | Metin | Hayır | Kuralın amacının açıklanması |
| Tetikleyici Tipi | Seçim | Evet | Kuralı çalıştıracak olayın türü |
| Süre | Zaman (ss:dd:sn) | Zamanla bağlıysa Evet | Periyodik tetiklenme aralığı |
| Etiketler (Tags) | Çoklu Seçim | Tag bazlı tetikleyicide | İzlenecek IoT etiketleri |
| Eylem Kodu | Kod Editörü | Evet | JavaScript formatında çalışacak eylem mantığı |
| Örnek Kural | Seçim (Basic mod) | Basic modda Evet | Hazır şablondan seçim |
Adım Adım Kullanım
- Sol menüden Sistem Yönetimi → Kurallar yolunu izleyin.
- Sağ üstteki + Oluştur düğmesine tıklayın.
- Ad ve varsa Açıklama girin.
- Şablon olarak
BasicveyaAdvancedseçin:- Basic: Örnek Kural listesinden bir şablon seçin ve parametreleri doldurun.
- Advanced: Monaco editörde JavaScript kodunuzu yazın.
- Tetikleyici Tipini seçin.
- Tag bazlı tetikleyici için Etiketler alanından IoT etiketlerini seçin.
- Editörde
$Tag['EtiketAdı']yazarak etiket değerlerine erişin.
- Zamanla tetikleme için Süre alanını
SS:DD:SSformatında girin. - Eylem kodunu yazın ve sözdizimini doğrulayın.
- Kaydet düğmesine tıklayın.
- Kuralın çalıştığını doğrulamak için Log Görüntüle bağlantısına tıklayın.
Eylem kodları sunucu tarafında çalışır. Hatalı bir kural kodu, sürekli hata fırlatan bir döngüye girebilir ve sistem performansını olumsuz etkileyebilir. Kural oluşturulduktan sonra logları takip ederek istisna (exception) olmadığını doğrulayın.
Use Case Senaryoları
Senaryo 1 — Enerji Yönetimi (Cam Üretimi)
Bir cam üretim fabrikasında fırın sıcaklığını izleyen bir IoT sensörü Retmes'e bağlı. Sistem yöneticisi bir kural oluşturdu: fırın sıcaklığı 1.450°C'yi aştığında ilgili mühendise e-posta gönder, alarm kaydı oluştur. Kural $Tag['FirinSicakligi'] değerini her 30 saniyede kontrol ediyor ve eşik aşılırsa eylemi tetikliyor.
Senaryo 2 — Bakım Otomasyonu (Baskı-Ambalaj)
Bir baskı-ambalaj fabrikasında makinenin toplam sayacı 10.000 baskıya ulaştığında otomatik olarak bakım talebi kaydı oluşturulması gerekiyor. Sistem yöneticisi sayaç etiketini izleyen, 10.000 eşiğini kontrol eden ve eşik aşıldığında bakım modülüne otomatik kayıt yazan bir kural tanımladı. Böylece bakım görevlileri manuel takip yapmak zorunda kalmıyor.
Modüller Arası Bağlantılar
| İlişki | Modül | Açıklama |
|---|---|---|
| Veri kaynağı | Retgate & IoT > Etiketler | IoT etiket değerleri tetikleyici olarak kullanılır |
| E-posta | Sistem Ayarları | E-posta eylemi için SMTP yapılandırması gereklidir |
| İzleme | CRUD Kayıtları | Kural değişiklikleri denetim loguna kaydedilir |
| Çalışma geçmişi | Kural Logları (/rules/logs/:id) | Her kuralın çalışma geçmişi ve hataları görüntülenebilir |