Kural sorun giderme

Kural zincirleri karmaşık veri akışlarını yönettiğinden, bazen kuralların beklendiği gibi çalışmadığı durumlarla karşılaşabilirsiniz. Bu rehber, en sık karşılaşılan sorunları sistematik bir yaklaşımla teşhis etmenize ve gidermenize yardımcı olacaktır.

Hata Ayıklama Süreci

Bir sorunla karşılaştığınızda bu adımları sırasıyla izleyin.

Mesajı Tetikle

Kural zincirini Debug modunda çalıştırın ve test telemetri verisi gönderin.

Log Çıktısını İncele

Her node'daki giriş/çıkış verilerini ve hata mesajlarını kontrol edin.

Node'u İzole Et

Sorunu yaratan node'u belirleyip bağlantısını keserek ayrıca test edin.

Düzelt & Doğrula

Gerekli değişikliği yapın, tekrar test edin ve davranışı onaylayın.

Yaygın Sorunlar ve Çözümleri

Kural zinciri geliştirme sırasında sıkça rastlanan durumları ve nasıl aşılacağını inceleyin.

Mesaj Zincire Girmiyor

En sık karşılaşılan sorun. Kural zincirinin Cihaz Profiline atanmış olduğundan emin olun. Birden fazla profil varsa her birini kontrol edin. Ayrıca Root Rule Chain'in aktif olduğunu doğrulayın.

  • Cihaz Profili → Kural Zinciri alanını kontrol edin
  • Kural Zinciri → Etkin/Devre Dışı durumunu doğrulayın
  • MQTT bağlantısında client_id çakışmasını kontrol edin
Root Rule ChainCihaz ProfiliMQTT

Script Node Hatası

Script node'larında syntax hatası veya undefined erişimi en yaygın hata kaynağıdır. Node debug çıktısında Failure bağlantısını her zaman bir Log node'una bağlayın.

  • msg.payload yerine doğru alanı kullandığınızdan emin olun
  • Null guard ekleyin: if (msg && msg.data)
  • Script editöründeki test aracıyla önce izole edin
JavaScriptTransformationScript

Alarm Oluşmuyor

Create Alarm node'u çalışıyor ama alarm görünmüyorsa; alarm severity ve tipi, cihaz üzerindeki mevcut açık alarmla çakışıyor olabilir. Alarm dedup mekanizması aynı tipte yeni alarm oluşturmayı engeller.

  • Mevcut açık alarmları Alarm panelinden kontrol edin
  • Clear Alarm node'unu doğru bağladığınızı doğrulayın
  • Severity ve Type değerlerinin eşleştiğine dikkat edin
AlarmEşikCondition

REST API Çağrısı Başarısız

REST API Call node'unda 401 veya 500 hataları alıyorsanız; kimlik doğrulama header'larını ve hedef endpoint URL'ini kontrol edin. Platform dış ağa erişebilmek için gerekli izinlere sahip olmalıdır.

  • Authorization header'ının doğru formatta olduğunu doğrulayın
  • Timeout değerini artırmayı deneyin (varsayılan: 10 sn)
  • HTTPS sertifika doğrulama ayarlarını kontrol edin
REST APIWebhookHTTP

Debug Modunu Kullanmak

SolarTools kural zinciri editörü yerleşik bir debug araçlarına sahiptir.

01

Debug Modunu Aç

Kural zinciri editöründe sağ üst köşedeki Debug geçiş düğmesine tıklayın. Aktif olduğunda her node üzerinde mesaj sayacı görünür.

02

Test Mesajı Gönder

Sol paneldeki "Test mesajı gönder" butonuyla manuel bir telemetri paketi tetikleyebilirsiniz. Gerçek cihaz olmadan da akışı simüle edebilirsiniz.

03

Node Çıktısını İncele

Herhangi bir node'a tıklayarak gelen ve giden mesajın tam JSON içeriğini görüntüleyin. Hata durumunda kırmızı kenarlıkla işaretlenir.

Log Node her zaman kullanın

Kural zincirinin kritik noktalarına Log node'ları ekleyin. Bu node'lar üretim ortamında ek yük yaratmaz ve mesaj akışını izlemek için en hızlı yöntemdir.

Failure bağlantısını asla boş bırakmayın

Her Script, REST API Call ve Save Telemetry node'unun Failure çıkışını mutlaka bir Log ya da Create Alarm node'una bağlayın. Aksi takdirde sessiz hatalar tespiti güçleştirir.

Performans Sorunları

Kural zinciri gecikmeli çalışıyorsa veya mesajlar birikiyorsa aşağıdaki kontrolleri yapın.

Script Optimizasyonu

Ağır döngüler veya senkron HTTP çağrıları içeren scriptler tüm işleme havuzunu bloke eder. Async/await kullanın ve gereksiz hesaplamaları dışarıya taşıyın.
ScriptPerformans

Mesaj Kuyruğu

Yüksek frekanslı telemetri için Throttle node'u ekleyin. Saniyede çok sayıda mesaj gelen cihazlar kuyruğu doldurabilir ve diğer zincirleri etkiler.
QueueThrottleRate Limit

Paralel Zincirleri Denetle

Aynı cihaza birden fazla aktif kural zinciri bağlıysa her mesaj tüm zincirlerde işlenir. Kullanılmayan zincirleri devre dışı bırakın.
ProfilParalellik

Sorun Giderme Kontrol Listesi

Sorunu çözdükten sonra üretime almadan önce bu maddeleri teyit edin.

  • Kural zinciri doğru Cihaz Profiline atanmış
  • Root Rule Chain etkin durumda
  • Tüm script node'ları test edilmiş ve hata vermiyor
  • Failure çıkışları log veya alarm node'larına bağlı
  • Alarm tipleri ve severity değerleri tutarlı
  • REST API kimlik bilgileri güncel ve geçerli
  • Debug modunda gerçekçi test verisiyle doğrulandı
  • Yüksek frekanslı cihazlar için throttle yapılandırıldı

Hâlâ çözülmüyorsa

Lütfen kural zincirinin adını, hata mesajını ve log çıktısını kopyalayarak destek ekibimize iletin. Debug modunda alınan ekran görüntüleri sorunun hızlı çözülmesine büyük katkı sağlar.
Kural sorun giderme | SolarTools