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

IoT veri blokları

Telemetri kaydet, Öznitelik kaydet, Paylaşılan öznitelik ayarla, Alarm kuralları, Cihaz ayrıntıları, Son değerler, Profil ayrıntıları, İlgili veriler ve Okuma kaydet başvurusu.

Bu bloklar bir cihazın verisi üzerinde IoT ana makinesinde çalışır: okumaları ve öznitelikleri saklar, alarm kurallarını değerlendirir ve mesajlara cihaz bilgilerini ekler. Neredeyse hepsi kaynağı bir cihaz olan bir mesaj gerektirir: bir cihaz mesajı ya da bir kökün Run flow ile aktardığı bir mesaj. Bir zamanlama, inject, olay veya zamanlayıcı ile başlatılan mesajlar bir cihazla değil kuruluşla ilgilidir; bu bloklar bunları not_a_device ile reddeder.

Telemetri kaydet

Mesajın anahtar-değer çiftlerini cihazın telemetrisi olarak saklar. Telemetriyi yalnızca bu blok saklar: bu bloğu içermeyen bir dal hiçbir şey saklamaz. Yalnızca msg.payload saklanır, üst veriler asla.

AyarAnlamıVarsayılanDeğerler
anahtarlarYalnızca bu anahtarlarher anahtaranahtar adları
tsKaydın saklandığı zamankayıt zamanıkayıt zamanı (msg.metadata.recordTs), alım zamanı (msg.metadata.ts)
ts_pathKayıt zamanıyla: kaydı bu değerden yeniden zamanlaryokepoch milisaniyeye giden bir yol (sayı ya da sayısal metin)

Çıktılar: out (değerler kaydedildikten sonra), error ile msg.error.code:

KodAnlamı
not_a_deviceKaynak bir cihaz değil
invalid_valueYük bir nesne değil
bad_tsts_path üzerindeki zaman epoch milisaniye değil
too_oldKuruluşunuzun ham veriyi sakladığı süreden daha eski
no_valuesYükteki hiçbir şey saklanamaz
key_limitPlanın anahtar sınırı altında yeni bir anahtar için yer yok
save_failedVeritabanı satırı reddetti (msg.error.ts onun zamanıdır)
  • Mesajlar en fazla 500’lük dalgalar halinde yazılır ve cihazın bir sonraki mesajı kayıt onaylanana kadar bekler, böylece bu mesajın ssakladığını okur.
  • Aynı zamandaki aynı değerler bir kez saklanır; aynı zamandaki iki farklı mesaj ikisi de tutulur; en son değer yalnızca kesinlikle daha yeni bir zamana taşınır.
  • Veritabanına ulaşılamadığında hiçbir şey kaybolmaz: çalıştırma bekler ve yeniden erişilebilir olduğunda tekrar oynatılır.
  • Test çalıştırması hiçbir şey saklamaz.

Bkz. Okumalar nasıl saklanır ve Telemetri anahtarları.

Öznitelik kaydet

Mesajın anahtar-değer çiftlerini cihazın istemci öznitelikleri olarak saklar (cihazın kendisi hakkında bildirdikleri, örneğin yazılım sürümü).

AyarAnlamıVarsayılanDeğerler
scopeHangi özniteliklerclientclient
anahtarlarYalnızca bu anahtarlarher anahtaranahtar adları

Hatalar: not_a_device, invalid_value, save_failed. Yeniden teslim edilen bir mesaj hiçbir şeyi değiştirmez; daha eski bir mesaj asla daha yeni bir değerin üzerine yazmaz; değişmeyen bir değer yeniden yazılmaz. Bkz. Öznitelikler.

Paylaşılan öznitelik ayarla

Mesajın cihazının paylaşılan özniteliklerini ayarlar. Bağlı bir cihaz değişikliği hemen alır; çevrimdışı bir cihaz bir sonraki bağlantısında alır. Akışlar değişikliği attributes_updated mesajı olarak duyar.

AyarAnlamıDeğerler
öğelerAnahtar ve değer çiftlerizorunlu; en fazla 32. Anahtar: harfler, rakamlar, _, ., -, en fazla 57 karakter. Değer: bir sabit (true, 22.5, {"mode":"eco"}) ya da msg.payload.setpoint gibi bir yol.

Hatalar: not_a_device, device_not_found, invalid_value, bad_attribute, too_large, managed_by_settings (ayarları Ayarlar sekmesinde yönetilen bir cihazın cfg.* anahtarı), limit (cihaz son bir dakikada akışlardan çok fazla komut ve ayar aldı; varsayılan 30).

  • Kontrol seviyesi: dağıtım için Kontrol seviyesi düğümleri içeren akışları dağıt ve akışın adının yazılması gerekir.
  • _, fw_ ya da current_fw_ ile başlayan anahtarlar ile session_limits ve deleted platforma aittir ve ayarlanamaz.
  • Geç gelen bir mesaj hiçbir şeyi değiştirmez. Test çalıştırması neyi ayarlayacağını bildirir.

Alarm kuralları

Cihaz profilinin alarm kurallarını değerlendirir ve cihazın alarmlarını açar, günceller ya da temizler. Kurallar cihaz profilinde düzenlenir; bu blok kuralların akıştaki yerini belirler. Varsayılan kök bunu girişin hemen ardına koyar.

AyarAnlamıVarsayılanDeğerler
profile_rulesProfilin kurallarını değerlendironon, off
kurallarYalnızca bu alarm türleriher kuralprofilin kural türleri

Çıktılar:

  • out: mesaj, her zaman, değerlendirmeden sonra (bir sorun kaydedilir ve mesajı asla durdurmaz, bu nedenle sonrasındaki kaydetme blokları yine çalışır).
  • created, updated, cleared: msg.msgType değeri alarm olan, alarmı msg.payload içinde ve msg.metadata.alarm (transition, isNew, isSeverityUpdated, isCleared, repeats, durationMs, ruleId) içinde taşıyan mesajın bir kopyası.

Telemetri, anahtarlarından birini okuyan kurallara göre değerlendirilir; connect, disconnect, activity ve inactivity çevrimdışı kuralını yönetir. Geç ya da sırası karışık okumalar geriye dönük veri olarak değerlendirilir (geçmiş Backfilled olarak işaretlenir, kimse bilgilendirilmez). Bloğu kaldırırsanız alarm kuralları bu kökün cihazları için durur; geri koyarsanız devam eder. Bkz. Cihaz profillerinde alarm kuralları.

Cihaz ayrıntıları

Mesajın cihazının bilgilerini ve özniteliklerini mesaja ekler.

AyarAnlamıVarsayılanDeğerler
alanlarCihaz alanlarıname, profilename, label, type, serial, model, fw_version, status, online, last_activity (epoch ms), profile, profile_id, is_gateway, gateway
özniteliklerÖznitelikler: scope, key, mesajdaki adyoken fazla 50; scope client, shared ya da server
targetNesnenin yazıldığı yermsg.metadata.devicemsg.metadata ya da msg.payload altında bir yol
with_tsÖznitelikleri { ts, value } olarak yazoff
on_missingDeğeri olmayan bir alan ya da öznitelikerrorerror, skip, null

Örnek sonuç: { "name": "Boiler 1", "profile": "Boilers", "online": true, "setpoint": 21 }. gateway, bir ağ geçidinin arkasındaki bir cihaz için { id, name, online } biçimindedir. Ayrıntılar 30 saniye önbelleğe alınır; öznitelikler her seferinde taze okunur. Hatalar: missing (msg.error.keys ile), not_a_device, not_found, invalid_value, read_failed.

Son değerler

Cihazın seçilen anahtarlarının saklanan son değerlerini ekler.

AyarAnlamıVarsayılanDeğerler
anahtarlarTelemetri anahtarlarızorunluen fazla 50
targetNereyemsg.metadata.latestmsg.metadata ya da msg.payload altında
with_tsDeğer yerine { ts, value }off
on_missingSaklanmış değeri olmayan bir anahtarerrorerror, skip, null

İşlenmekte olan mesajın bir değeri, yalnızca Telemetri kaydet çalıştıktan sonra dahil edilir.

Profil ayrıntıları

Cihazın profilinin bilgilerini ekler.

AyarAnlamıVarsayılanDeğerler
alanlarProfil alanlarınamename, id, transport, inactivity_timeout_s, rpc_timeout_s, downlink_max_bytes, online_rule, expected_interval_s
targetNereyemsg.metadata.profilemsg.metadata ya da msg.payload altında
on_missingDeğeri olmayan bir alanerrorerror, skip, null

İlgili veriler

Mesajın cihazına ya da varlığına bağlı varlık ve cihazların verilerini ekler: bir cihazın yerleştirildiği saha, bir varlığın yönettiği cihazlar, üç seviye yukarıdaki bir ata.

AyarAnlamıVarsayılanDeğerler
directionİlişkileri kaynaktan izle ya da ona doğrufromfrom, to
relation_typesİzlenen ilişki türleriCONTAINSör. CONTAINS, MANAGES, FEEDS, MONITORS ya da kendi türünüz; none = herhangi
exclude_typesAsla izlenmeyen türleryok
depthSeviyeler11 ile 8 arası
last_level_onlyYalnızca son seviyeyi tutoff
entity_kindHangi varlıklaranyany, asset, device
profiles, kindsYalnızca bu profillerdeki cihazlar, bu türlerdeki varlıklarany
maxKaç varlık11 ile 100 arası (1 tek bir nesne, daha fazlası bir liste yazar)
dataNe okunurattributesattributes, latest values (devices), fields
scopeCihaz öznitelik kapsamıserverserver, shared, client
mappingOkunan anahtarlar ve mesajdaki adlarızorunluen fazla 50
targetNereyemsg.metadata.relatedmsg.metadata ya da msg.payload altında
with_ts, on_missingYukarıdaki gibioff, error

Varlık ağacı ve cihaz yerleşimleri CONTAINS ilişkisi sayılır: direction to, CONTAINS, depth 3, last level only; assets bir cihazın üç seviye yukarıdaki sahasını bulur. Sıra sabittir, bu nedenle max 1 her seferinde aynı varlığı seçer. Bkz. Varlık hiyerarşisi.

Okuma kaydet (Genel ana makine)

Anahtar-değer çiftlerini, akışlardan yazmayı kabul eden bir kayıt türünün okuması olarak saklar (örneğin planınıza dahilse varlık sayaçları). Cihaz verisi buraya asla kaydedilmez.

AyarAnlamıVarsayılanDeğerler
kindKayıt türüzorunluakış yazmalarını kabul eden bir tür
entity_pathKaydın kimliğinin yerimsg.originator.idbir UUID’ye giden bir yol
ts, ts_pathTelemetri kaydet için olduğu gibikayıt zamanı
anahtarlarYalnızca bu anahtarlarher anahtar

Hatalar: invalid_value, invalid_entity, unknown_kind, kind_not_writable, entity_not_writable, bad_ts, save_failed.

Metadatanın bittiği yer

msg.metadata altına yazılan değerler asla saklanmaz; msg.payload altındaki değerler sonraki bir Telemetri kaydet ile saklanır. Saklamak istemiyorsanız zenginleştirmeyi msg.metadata altına koyun.