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 | Örnek | Son değer | Ham geçmiş (ham pencereye kadar) | Dakika, saat ve gün özetleri | Uzun aralıklarda grafikler |
|---|---|---|---|---|---|
| Sayı | 21.5 | Evet | Evet | Evet (toplam, adet, min, maks, son) | Evet |
true / false | true | Evet, Açık / Kapalı olarak gösterilir | Saklanır | Hayır | Hayır |
| Metin | "running" | Evet | Saklanır | Hayır | Hayır |
| JSON | {"x": 1, "y": 2} | Evet | Saklanır | Hayır | Hayı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 yerine | Gö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:
- Message type anahtarından sonra, telemetri dalına bir Change bloğu ekleyin.
- Bir adım ekleyin:
msg.payload.door_opendeğerinimsg.payload.door ? 1 : 0ifadesine set edin. - Orijinal
dooranahtarını tutun veya yalnızca sayıyı saklamak için ikinci bir adım olarakmsg.payload.doordeğ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_xdeğerinimsg.payload.position.xolarak 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
| Belirti | Neden ve çözüm |
|---|---|
| Bir değer kartı değer gösteriyor, grafik Bu aralıkta değer yok diyor | Anahtar metin veya boolean. Sayısal bir kopya saklayın. |
| Bir anahtar sayı içermesine rağmen Telemetri sekmesinde Metin olarak görünüyor | Cihaz 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.

