Kütüphane codec’leri çıktı anahtarlarını her cihaz üreticisinin kendi yöntemine göre adlandırır. Bir üreticinin sıcaklığı temperature, bir diğerinin ki temperature_red‘dir; bir otopark sensörü "occupied" değerini metin olarak, bir diğeri ise 1 olarak bildirir. Farklı üreticileri karıştırırsanız, tüm cihazlar aynı anahtarları aynı biçimde bildirdiğinde gösterge panelleriniz ve alarm kurallarınız kolaylaşır. Bu sayfa buna ulaşmanın iki yolunu gösterir: bir akışta değerleri değiştirmek ya da codec’i değiştirmek.
Seçenek 1: Akışta temizleme
Her cihaz mesajı saklanmadan önce bir kök akıştan geçer: kuruluşunuzun kök akışı veya profilin kendi kök akışı varsa o. Temizleme adımlarını Telemetriyi kaydet bloğundan önce, bu akışa ekleyin. Böylece saklanan değerler temizlenmiş olanlar olur.
Şunlar için uygundur: codec’e dokunmadan anahtarları yeniden adlandırmak, birimleri dönüştürmek, metni sayıya çevirmek ve istemediğiniz anahtarları kaldırmak.
En iyi uygulama: her sensör türüne kendi LoRaWAN profilini ve kendi kök akışını verin; böylece her akış yalnızca tek bir yük biçimiyle ilgilenir.
Bir anahtarı yeniden adlandırma
Değiştir bloğunu bir move adımıyla veya bir set adımı ardından bir delete adımıyla kullanın:
| Adım | Yol | Değer |
|---|---|---|
set | msg.payload.temperature | msg.payload.temperature_red |
delete | msg.payload.temperature_red |
Bir değeri dönüştürme
Hesapla bloğunu kullanın. Örnekler:
| İhtiyaç | İfade | Hedef |
|---|---|---|
| mV’den V’ye | round(msg.payload.battery / 1000, 2) | msg.payload.battery_v |
| °F’den °C’ye | round((msg.payload.temp_f - 32) * 5 / 9, 1) | msg.payload.temperature |
| Metin durumundan sayıya | msg.payload.parking_status == "occupied" ? 1 : 0 | msg.payload.occupied |
| Sayısal metinden sayıya | number(msg.payload.level) | msg.payload.level |
Metin üzerinde aritmetik işlem başarısız olur, "21.5" gibi sayısal metinlerde bile: önce number(...) ile dönüştürün.
İhtiyaç duymadığınız anahtarları kaldırma
delete adımlarına sahip bir Değiştir bloğunu ya da bir desenle delete keys işlemini kullanın (örneğin debug_.*). Telemetriyi kaydet bloğu da yalnızca listelediğiniz anahtarlarla sınırlanabilir.
Radyo anahtarlarını koruma
lora.* anahtarları (lora.rssi, lora.snr ve diğerleri) aynı msg.payload içinde gelir. Alım geçmişini istiyorsanız bunları bırakın.
Değerlerin akışa ulaşması
Cihaz mesajı tetikleyicisi telemetriyi kayıt başına bir mesaj olarak, { key: value } biçiminde düz bir msg.payload ile gönderir. İç içe codec çıktısı zaten noktalarla düzleştirilmiştir; bu nedenle probe.temperature değeri "probe.temperature" anahtarıdır. Anahtarı tam adıyla okuyun.
Blokların ayrıntıları için bkz. Veri dönüştürme blokları ve Ana bilgisayarlar, kök akış ve profil kök akışları.
Seçenek 2: Codec’i değiştirme
Kütüphane codec’inin bir kopyasını kaydedin ve düzenleyin. Bkz. Kendi codec’inizi yazın.
Şunlar için uygundur: doğru anahtar adlarını ve birimlerini kaynağında elde etmek, böylece her akış, gösterge paneli ve dışa aktarma bunları görür.
| Değişiklik | Tabloda nasıl yapılır |
|---|---|
| Bir anahtarı yeniden adlandırma | Alanın field adını değiştirin. |
| Bir değeri ölçeklendirme | scale ayarlayın (ve ondalık basamaklar için digits). |
| Birim etiketini değiştirme | unit ayarlayın. |
| Kod yerine metin | Sayıları sözcüklere eşlemek için enum kullanın ya da sayıyı korumak için kaldırın. |
Revizyon kuralını hatırlayın: codec’iniz yayımlandıktan sonra yeni bir revizyon anahtarları kaldıramaz veya yeniden adlandıramaz. Adları yayımlamadan önce belirleyin ya da yeni bir kimlik altında yayımlayın.
Hangi seçeneği seçmeli
| Durum | Seçim |
|---|---|
| Yeniden adlandırılacak ya da dönüştürülecek birkaç anahtar | Akış |
| Bir modelden çok sayıda sensör var ve her yerde temiz anahtarlar istiyorsunuz | Codec kopyası |
| Değerleri birleştirme (örneğin sıcaklık ve nemden çiğlenme noktası) | Akış |
| Kütüphane codec’i bir çerçeveyi yanlış çözümlüyor | Codec kopyası |
Metin, sayı ve doğru/yanlış
Her anahtarı zaman içinde tek bir türde tutun: bazen sayı, bazen metin olan bir anahtarı grafiğe dökmek ve karşılaştırmak zordur. Grafiğe dökmek veya karşılaştırmak istediğiniz durumları (açık/kapalı, dolu/boş) akışta sayıya ya da doğru/yanlışa çevirin. Bkz. Sayı, metin ve doğru/yanlış değerleri.
Sonucu kontrol etme
- Bir sonraki yukarı bağlantıdan sonra, cihazın Telemetri sekmesini veya akışın hata ayıklama çıktısını açın.
- Anahtar adlarını ve değerleri kontrol edin.
- Gösterge panellerini ve alarm kurallarını yeni anahtar adlarına göre güncelleyin.

