Yeni: Yapay zekâ güvenlik duvarı tüm platformu izliyor ve her olayı sade bir dille açıklıyor. Nasıl çalıştığını görün

Yanıt: saha genelindeki 300 kontrolcüde rapor aralığı ve ölü bant değiştirme: öznitelikler mi yoksa komutlar mı?

Yapay zekâ tarafından English dilinden çevrildi ·

cfg.* paylaşımlı öznitelikleri kullanın, tam olarak bunun için tasarlandılar ve istenen ile raporlanan değer karşılaştırmasını ek bir çaba olmadan elde edersiniz.Anahtarları profilin Configuration keys sekmesinde tanımlayın (tür, etiket, sınırlar), ardından bunları paylaşımlı öznitelik olarak ayarlayın: cfg.telemetry.interval_s, cfg.pressure.deadband_bar, cfg.ntp.server. Cihaz değişiklikleri v1/attributes/set üzerinden alır, uygular ve uygulanan değeri aynı anahtarla istemci özniteliği olarak geri bildirir. Hermetry ikisini karşılaştırır ve Attributes sekmesinde her anahtar için In sync, Pending, Rejected veya Drifted durumunu gösterir.Cihaz tarafında, her bağlantıdan sonra:

SUBSCRIBE v1/attributes/set
PUBLISH   v1/attributes/req/1   {"sharedKeys": "cfg.*"}
# v1/attributes/res/1 üzerindeki yanıt -> hepsini uygula -> geri bildir:
PUBLISH   v1/attributes   {"cfg.telemetry.interval_s": 300, "cfg.pressure.deadband_bar": 0.05}

Kırsal sahalarınızı kapsayan şey bağlantıdan sonraki istektir: üç gündür çevrimdışı olan bir ünite geri geldiğinde tüm cfg.* anahtarlarını ister ve eksiklerini tamamlar. Bir ünite bir şeyi uygulayamazsa, bunu cfg_rejected içinde bildirin, örneğin {"cfg_rejected": {"cfg.ntp.server": "apply_failed"}}; satırda nedeniyle birlikte Rejected görünür. Uygulamayı idempotent yapın, bir mesaj iki kez gelebilir.300 ünite için, cihaz listesi üzerinde bir döngü içinde değerleri API ile yazın (POST …/attributes/shared, çağrı başına en fazla 100 anahtar). Temel değer ve toplu iş ekranları, ayar manifestosu yayınlayan cihazlar (lisanslı cihazlar) içindir; kendi yazılımınızla çalışan cihazlarda yol cfg.* üzerinden geçer. Durum tablosu için Attributes sayfasına bakın.

Timestamps in UTC or it didn't happen.
Kabul edilen çözüm♥ 7