celestianctl
Tools/celestianctl.py adalah klien MQTT kecil untuk mengirim pengaturan dan perintah ke Sentinel serta memantau semua pesannya. Ia memakai paho-mqtt.
Menyiapkan
Section titled “Menyiapkan”python3 -m venv .venv && .venv/bin/pip install -r requirements.txtContoh di bawah memakai python3; ganti dengan .venv/bin/python bila paho-mqtt tidak terpasang di Python sistem.
Target broker
Section titled “Target broker”Bawaannya broker lokal Gateway DC (topik sentinel/<mac>/…, anonim):
| Opsi | Arti |
|---|---|
--host |
alamat broker (bawaan localhost; IP gateway, mis. 10.10.0.1) |
--port |
port (bawaan 1883; gateway: 11884 untuk MQTT 5, 11883 untuk MQTT 3.1.1) |
Untuk langsung lewat Celestian, tambahkan --workspace, --channel, dan --user <ID device>, dengan device key di environment variable CELESTIAN_DEVICE_KEY. Device itu butuh koneksi publish (dan subscribe untuk watch) ke channel. client_id otomatis diawali ID device sesuai kebijakan broker.
export CELESTIAN_DEVICE_KEY='<device key>'python3 Tools/celestianctl.py --host broker.contoh --workspace dc-magna --channel rak \ --user <ID device> cmd a2cb8ff8768d identifyPerintah
Section titled “Perintah”# konfigurasi (retained); nilai dibaca sebagai JSON bila bisapython3 Tools/celestianctl.py config a2cb8ff8768d cfg_ver=2 telemetry_interval_ms=30000 temp_alarm_c=38python3 Tools/celestianctl.py config a2cb8ff8768d d1_type=door t2_label=Bawah t2_alarm_c=30
# perintahpython3 Tools/celestianctl.py cmd a2cb8ff8768d rebootpython3 Tools/celestianctl.py cmd a2cb8ff8768d identify seconds=60python3 Tools/celestianctl.py cmd a2cb8ff8768d rescanpython3 Tools/celestianctl.py cmd a2cb8ff8768d ota url=/fw/snt-g1/edge-snt-g1-idf-0.21.1.bin
# rules (mengganti SELURUH set)python3 Tools/celestianctl.py rules a2cb8ff8768d --file Tools/rules-contoh.jsonpython3 Tools/celestianctl.py rules a2cb8ff8768d --file rules.json --confirm-s 120python3 Tools/celestianctl.py rules a2cb8ff8768d --confirm 8a3030f6python3 Tools/celestianctl.py rules a2cb8ff8768d --getpython3 Tools/celestianctl.py rules a2cb8ff8768d --clear
# sumber Modbus, profil, kelompok telemetri (opsi serupa: --file, --get, --clear, --confirm-s, --confirm, --rollback)python3 Tools/celestianctl.py sources a2cb8ff8768d --file Tools/sources-contoh-profil.jsonpython3 Tools/celestianctl.py profiles --listpython3 Tools/celestianctl.py profiles a2cb8ff8768d --sources Tools/sources-contoh-profil.jsonpython3 Tools/celestianctl.py tgroups a2cb8ff8768d --file tgroups.json
# pantau semua pesanpython3 Tools/celestianctl.py watchNama dan ROM yang bisa terbaca sebagai angka perlu tanda kutip JSON: t1_rom='"28a54dca18253061"'.
rules,sources,profiles, dantgroupsmemeriksa batas ukuran lebih dulu dan mencetakcrc32pesan yang dikirim;--getmembandingkannya denganhashyang dilaporkan node.--vermengatur nomor versi; bawaannya waktu sekarang (selalu naik).- Untuk
sources,--model snt-g1memakai batas G1. profiles --sourcesmeniru yang akan dilakukan server: menghitung profil yang dirujuk pemasangan dari pustakaTools/profil-modbus/dan mengirim hanya itu.