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

Sayılar, metin ve true/false değerleri

Her tür değerin nasıl saklandığı, grafiklerin ve toplulaştırmaların neyi okuyabildiği ve durumların ile olayların geçmişi kullanılabilir kalsın diye nasıl saklanacağı.

Bir telemetri değeri sayı, true/false, metin veya bir JSON nesnesi ya da dizisi olabilir. Dördü de saklanır, ancak daha sonra aynı ölçüde işe yaramazlar: yalnızca sayıların grafiğe dökülebilen bir geçmişi ve özetleri vardır. Cihazlarınız devreye girmeden önce her anahtarın türüne karar verin.

Her türün size sağladıkları

TürÖrnekSon değerHam geçmiş (ham pencereye kadar)Dakika, saat ve gün özetleriUzun aralıklarda grafikler
Sayı21.5EvetEvetEvet (toplam, adet, min, maks, son)Evet
true / falsetrueEvet, Açık / Kapalı olarak gösterilirSaklanırHayırHayır
Metin"running"EvetSaklanırHayırHayır
JSON{"x": 1, "y": 2}EvetSaklanırHayırHayır

Metin olarak yazılan sayılar ("21.5") sayı olarak değil, metin olarak saklanır. Sayıları JSON sayısı olarak gönderin.

Sayı olmayanlar neden grafiğe dökülmez

  • Özetler sayısaldır. Dakikalık iş sayıları toplar, sayar ve karşılaştırır. Metin, boolean ve JSON değerlerinin dakika, saat veya gün özeti yoktur.
  • Uzun aralıklar özetleri okur. 24 saatten uzun bir aralıktaki grafik veya API okuması özetleri okur; bu yüzden metin veya boolean bir anahtarın orada noktası olmaz.
  • Kısa aralıklar ham satırları okur, ancak cihazın Telemetri sekmesi ve çizgi grafikler yalnızca sayısal noktaları çizer; sayısal olmayan nokta çizilmez.

Dolayısıyla metin veya boolean bir anahtar değer kartında (son değer) iyi görünür, ancak bir trendde boşluk bırakır; üzerindeki increase, ortalama veya adet de boş çıkar.

Durumları sayı olarak saklayın

Bir durumun geçmişini istiyorsanız bir sayı gönderin (veya türetin):

Bunun yerineGönderin
"door": true / false"door_open": 1 / 0
"state": "running" / "stopped" / "fault""state_code": 1 / 0 / 2; isterseniz görüntüleme için "state": "running" değerini de tutun
"zone": "Hall B""zone_id": 12
"event": "sos""event_code": 3

0/1 değerleriyle:

  • bir saat boyunca ortalama, örneklerin 1 olanlarının oranıdır (örneğin pompanın çalıştığı örneklerin oranı; sabit aralıkla rapor veren bir cihazda bu, sürenin oranı anlamına gelir);
  • bir gün boyunca maks, olayın hiç gerçekleşip gerçekleşmediğini söyler;
  • olay başına 1 değeri gönderilen bir anahtarın toplamı olayları sayar.

İnsanlar sayı değil kelime görsün diye kodları cihaz profilinin Etiket alanında ve panonuzun değer eşlemelerinde adlandırın.

Bir akışta dönüştürme

Cihazı değiştiremiyorsanız Save telemetry öncesinde kök akışta dönüştürün. Örneğin boolean bir door değerinden door_open eklemek için:

  1. Message type anahtarından sonra, telemetri dalına bir Change bloğu ekleyin.
  2. Bir adım ekleyin: msg.payload.door_open değerini msg.payload.door ? 1 : 0 ifadesine set edin.
  3. Orijinal door anahtarını tutun veya yalnızca sayıyı saklamak için ikinci bir adım olarak msg.payload.door değerini delete edin.

Metin durumları için msg.payload.state üzerinde, her durum için bir kural içeren bir Switch kullanın; her birinin ardından msg.payload.state_code değerini ayarlayan bir Change gelsin, ardından dalları Save telemetry bloğunda birleştirin. Bkz. Türetilmiş değerler.

Profilde boolean değerler

Cihaz profilinde anahtarın Türünü Evet / hayır olarak ayarlayın. Panolar da değeri bir bayrak olarak gösterir (değer kartlarında, anahtarlarda ve durum lambalarında). Bu, son değerin nasıl gösterildiğini değiştirir, geçmişin nasıl saklandığını değil.

Metin sınırları

  • Metin: en fazla 1.024 karakter. Daha uzun metin anahtarın atılmasına neden olur (string_too_long).
  • JSON: JSON olarak yazıldığında en fazla 4 KiB (üstünde value_too_large).
  • Bir JSON değeri bütün olarak saklanır. Alanlarından birini trend olarak istiyorsanız, o alanı kendi sayısal anahtarı olarak saklayın; örneğin msg.payload.pos_x değerini msg.payload.position.x olarak ayarlayan bir Change bloğuyla.

Konumlar

Harita kartı enlem ve boylamı sayısal anahtarlardan okur (örneğin lat ve lng). Bunları sayı olarak gönderin. Bir JSON nesnesinin içindeki konum grafiğe dökülemez ve rota tekrarı için kullanılamaz.

Sorun giderme

BelirtiNeden ve çözüm
Bir değer kartı değer gösteriyor, grafik Bu aralıkta değer yok diyorAnahtar metin veya boolean. Sayısal bir kopya saklayın.
Bir anahtar sayı içermesine rağmen Telemetri sekmesinde Metin olarak görünüyorCihaz sayıları metin olarak gönderiyor ("21.5"). Bunların özeti yoktur ve trend için işaretlenemez. JSON sayısı gönderin veya bir akışta number(msg.payload.key) ile dönüştürün.
Olayların adedi veya ortalaması hep boşOlay metin. Her olay için 1 değerini (veya bir olay kodunu) sayı olarak saklayın.

Ayrıca bkz. Pano veri göstermiyor.