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
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.payloadyerine 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
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
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
Debug Modunu Kullanmak
SolarTools kural zinciri editörü yerleşik bir debug araçlarına sahiptir.
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.
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.
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
Failure bağlantısını asla boş bırakmayın
Performans Sorunları
Kural zinciri gecikmeli çalışıyorsa veya mesajlar birikiyorsa aşağıdaki kontrolleri yapın.
Script Optimizasyonu
Mesaj Kuyruğu
Paralel Zincirleri Denetle
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ı