Lewati ke konten

Topik MQTT

Sentinel memakai MQTT 5 dengan QoS 1 untuk semua pesan yang dikirimnya. Semua subtopik berada di bawah sentinel/<mac>/ (lokal, di broker gateway) dan dipetakan gateway ke m/<workspace>/c/<channel>/<mac>/ (Celestian). <mac> adalah MAC Ethernet node, huruf kecil tanpa pemisah (mis. 001a2b3c4d5e), sama dengan Serial device di Celestian. Pada mode langsung node langsung memakai topik Celestian.

Subtopik Format Isi
telemetry SenFlat / SenML rutin (bawaan tiap 10 detik) dan lebih awal saat suhu, daya, atau tingkat alarm berubah
event SenFlat / SenML perubahan pintu/input, output, alarm (alarm_…), rule (rule_…), mode pemeliharaan; tombol identify
status SenFlat / SenML, retained state online/offline, fw, ip, gateway. Offline dikirim broker lewat LWT, 30 detik setelah node hilang
config/reported JSON, retained konfigurasi yang berlaku, cfg_ver, rejected, status firmware
cmd/result JSON hasil perintah
rules/reported, rules/current JSON laporan rules (retained); isi set apa adanya (balasan get_rules, tidak retained)
sources/reported, sources/current JSON laporan sumber Modbus; isi set
profiles/reported, profiles/current JSON laporan profil Modbus; isi set
tgroups/reported, tgroups/current JSON laporan kelompok telemetri; isi set
Subtopik Format Isi
config JSON, retained konfigurasi + cfg_ver (config)
cmd JSON perintah (perintah)
rules JSON, retained set rules + rules_ver (rules)
sources JSON, retained sumber Modbus + sources_ver (sumber)
profiles JSON, retained profil Modbus + profiles_ver (profil)
tgroups JSON, retained kelompok telemetri + tgroups_ver (kelompok)
Lokal Celestian
sentinel/<mac>/… m/<workspace>/c/<channel>/<mac>/…
sentinel/<mac>/telemetry, event (SenFlat v2) m/<workspace>/c/<channel>/<ID-gateway>/telemetry, event: banyak node digabung dalam satu pesan, oleh komponen history

Rinciannya di Bridge ke Celestian.

  • QoS 1 untuk semua pesan keluar node. Pesan masuk bersifat retained untuk pengaturan, jadi node yang baru menyala menerima yang terakhir.
  • Payload kosong pada topik pengaturan diabaikan (cara menghapus pesan retained di broker).
  • Content type MQTT 5 mengikuti format: application/senml+json untuk SenML, selain itu application/json.
  • LWT: status offline dikirim broker bila node tidak kembali dalam 30 detik, jadi putus-sambung singkat tidak membuat status berkedip. Pesan LWT selalu SenFlat v1 (atau SenML bila payload_format = senml).
  • Ukuran: pesan telemetri maksimum 12.086 B; pesan pengaturan dibatasi per jenis (Batas).
  • Node membuat client_id otomatis berawalan ID device sesuai kebijakan broker Celestian di mode langsung.