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.