Rehberler

Yükü çözün

Ham baytları, kurallarınızın ve hedeflerinizin kullanabileceği adlandırılmış ölçümlere dönüştürün.

Cihaz 00018d460000300040e12402 gönderir. Faturalama sisteminiz index: 18.061 ister. Aradaki iş çözücüdür.

Çözmeyi erken yapmak işe yarar: kurallar çözülmüş alanlara göre süzer ve özel çıktı düzenleyicisi yalnızca bir çözücünün ürettiğini gördüğü alanları önerebilir.

Çözücü nerede yaşar

Bir çözücü bir cihaza değil, bir cihaz profilinin teknolojisine bağlanır. Model için bir kez tanımlarsınız, o profildeki her cihaz aynı biçimde çözülür.

Nerede: Yazmak için Profiller → Çözücüler, sonra profilin teknolojisinde bağlayın. Ya da işleme hattı görünümünden aynı şey olan Akış → Çözücüler.

Bir tür seçin

Gramer
Yükün alanlarını bildirimsel olarak tanımlayın — konumlar, genişlikler, tipler, ölçekleme. Kod yok. Doğru varsayılan budur.
JavaScript
Bir gramerin ifade edemeyeceği yükler için: koşullu düzenler, mesaj tipine göre değişen bit paketleme, arama tabloları.
Yok
Yükü olduğu gibi iletin. Alıcı sistem cihazın ham biçimini zaten anlıyorsa doğru seçimdir.

Uyduğu sürece grameri tercih edin. Sonsuz döngüye giremez, beklenmedik biçimde hata veremez ve yük biçiminin belgesi gibi okunur.

İki çıktı grubu

Bir çözücü ölçümleri iki grup hâlinde döndürür ve bu ayrım hedefinize kadar taşınır:

{
  "telemetry": { "index": 18.061, "unit": "m3", "battery": 100 },
  "meta": { "seqNumber": 18, "rssi": -103.41 }
}

telemetry, cihazın ölçtüğüdür. meta, iletimle ilgilidir. Alanları doğru gruba koyun — bazı çıktı biçimleri yalnızca birini iletir ve meta altına konmuş bir ölçüm, telemetri bekleyen bir hedefte kaybolur.

JavaScript sandbox'ı

JavaScript çözücüler yalıtılmış bir V8 sandbox'ında çalışır:

  • Ağ yok, dosya sistemi yok. Bir çözücü dışarı çağrı yapamaz.
  • Bellek ve süre sınırlıdır. Kontrolden çıkan bir betik yalnızca o mesajı başarısız kılar; işleme hattı çalışmaya devam eder.
  • TypeScript sözdizimi kabul edilir; tipler çalıştırmadan önce ayıklanır.
Sandbox kapatılabilir
Çözücü çalıştırma bu kurulum için kapalıysa, JavaScript çözücüler saklanır ama çalıştırılmaz ve yükler ham iletilir. Sağlıklı görünen bir işleme hattında bir JS çözücü hiçbir şey yapmıyor gibiyse, bunu Merkez'i işleten kişiyle kontrol edin.

Çözme başarısız olduğunda

Çözme, elinden geleni yapar. Hata veren bir çözücü, çözücüsü olmayan bir profil veya hiç yük taşımayan bir callback mesajı başarısız kılmaz — elindekiyle devam eder.

Bu bilinçlidir: bir ölçümü kaybetmek, onu çözülmemiş iletmekten kötüdür. Ama şu anlama gelir: bir hedef aynı cihaz için iki farklı biçim görebilir.

Yanlış görünen bir mesajda payload.decodeError alanına bakın. "Çözücü bozuk" ile "bu callback'in zaten çözülecek bir yükü yoktu" arasındaki fark budur.

Her Sigfox callback'i veri taşımaz
Yalnızca DATA_UPLINK, DATA_BIDIR ve SERVICE_DATA_ADVANCED bir yük çerçevesi içerir. Durum, onay, tekrarlayıcı ve hata callback'lerinde çözülecek bir şey yoktur ve geldikleri gibi iletilirler — bu bir çözücü hatası değildir. Hedefiniz bunları görmemeliyse bir kuralla süzün.

Şifre çözme

Profil şifreleme tanımlıyorsa yük, cihazın bağlamasındaki anahtar kullanılarak çözmeden önce deşifre edilir. Anahtarlar şifrelenerek saklanır ve bir daha gösterilmez — düzenlerken saklı değeri korumak için alanı boş bırakın.

Test edin

Gerçek bir uplink gönderin, sonra o kaynağı kullanan bir çift için Akış → Yönlendirme'yi açın. Önizleme, çözücünüzün gerçek alan adları ve son görülen değerleriyle, iletimi yapan kodun aynısıyla oluşturulur — yani gördüğünüz, hedefin aldığıdır.

Bir çözücü bir kez çalışana kadar önizlenecek bir şey yoktur ve düzenleyici bunu söyler. Bir mesaj gönderin, alanlar belirir.

Sırada

Hedefin ne alacağını seçin
Artık alanlarınız var; hangilerinin iletileceğine karar verin.
Kurallarla süzün
Çözülmüş değerlere göre davranın — atın, yönlendirin veya uyarın.
Copyright © 2026