Lewati ke konten

Output digital

Empat output berada di pin P0…P3 PCF8574 (o1 = P0 … o4 = P3), di bus I2C yang sama dengan LCD dan SHT41. Pin P4…P7 dipakai tombol sentuh; keduanya satu chip.

Semua output mati secara default (oN_en = false): slot yang belum dihidupkan tidak ditampilkan, tidak dilaporkan, dan perintah output untuk slot itu ditolak. Hidupkan slot lewat konfigurasi, lalu nyalakan lewat perintah output atau rules. Semua key berlaku tanpa reboot.

Key Bawaan Fungsi
oN_en false slot dihidupkan. false = pin dipaksa MATI dan perintah ditolak
oN_active low level pin yang berarti HIDUP. low: HIDUP = pin ditarik rendah (cocok untuk LED atau modul relay aktif-rendah, dan membuat output tetap mati saat power-up). high: HIDUP = pin tinggi
oN_label O1…O4 nama untuk LCD, maks. 11 karakter
oN_name kosong nama metrik (mis. siren); kosong = ID slot. Unik di semua slot dan tidak boleh nama yang dicadangkan

Lewat topik cmd:

{"action":"output","output":"o1","state":true,"seconds":30,"id":"req-7"}
Field Wajib Keterangan
output ya o1…o4, atau nama metrik slot (oN_name) yang sedang dihidupkan
state ya true = HIDUP, false = MATI (boolean)
seconds tidak hanya dengan state: true: output MATI sendiri setelah 1…86400 detik (pulsa relay). Tanpa seconds, output tetap hidup sampai dimatikan atau reboot
id tidak dikembalikan di cmd/result

Hasil di cmd/result: {"ok":true,"msg":"siren HIDUP selama 30 s"}. Ditolak (ok:false) bila slot tidak dikenal atau oN_en = false, state bukan boolean, seconds lebih dari 86400, atau PCF8574 tidak menjawab.

Alternatif: python3 Tools/celestianctl.py cmd <mac> output output=o1 state=true seconds=30, out o1 on 30 di USB serial, atau tab Kontrol di antarmuka web.

  • Telemetri membawa metrik boolean oN_name untuk tiap slot yang dihidupkan (true = HIDUP, tidak bergantung pada oN_active).
  • Tiap perubahan (dari perintah, timer seconds, rule, atau slot dimatikan) dikirim sebagai event. Slot yang dimatikan saat HIDUP otomatis MATI, dan event MATI dikirim sekali sebelum metriknya hilang.
  • Telemetri membawa expander_ok (boolean). false = PCF8574 tidak menjawab: tombol mati, keadaan output tidak bisa dipercaya, dan perintah output ditolak.
  • LCD punya halaman OUTPUT bila ada slot yang dihidupkan: HIDUP / MATI, atau I/O ERR bila PCF8574 tidak menjawab.

Firmware menulis ulang keadaan output ke chip tiap 1 detik, jadi chip yang kehilangan catu sebentar kembali ke keadaan yang benar.

Rules di perangkat dapat menguasai output dengan aksi out (true, false, atau follow). Perintah manual tetap bekerja dan menang sampai transisi rule berikutnya pada output itu. Satu output hanya boleh dikuasai satu rule follow.