Konfigurasi: Menggunakan MQTT

Tentang

MQTT, yang merupakan singkatan dari Message Queuing Telemetry Transport, adalah protokol pesan yang ringan dan efisien yang banyak digunakan dalam Internet of Things (IoT) untuk komunikasi perangkat ke perangkat. Protokol ini dirancang untuk bekerja dengan lebar pita jaringan terbatas dan dengan perangkat bertenaga rendah, menjadikannya ideal untuk menghubungkan sensor jarak jauh, perangkat mobile, dan berbagai gadget skala kecil ke internet.

Agent DVR dapat menerbitkan peristiwa ke MQTT dan menerima perintah melaluinya, menjadikannya jembatan fleksibel antara kamera Anda dan sistem rumah pintar atau otomasi rumah Anda.

Menghubungkan

Hubungkan Agent DVR ke server MQTT Anda menggunakan menu Pengaturan. Setelah terhubung, Anda dapat mengatur tindakan peringatan untuk menerbitkan pesan ke server MQTT Anda. Lihat Pengaturan Server MQTT untuk detail selengkapnya.

Untuk mengkonfigurasi ini, sunting perangkat Anda dan pilih Tindakan dalam menu. Tambahkan tindakan untuk peringatan (atau peristiwa lainnya) dan pilih MQTT sebagai tipe tugas. Di sini, Anda dapat menentukan topik dan pesan yang akan diposting.

Menambahkan tindakan untuk MQTT

Tentukan topik untuk diposting (misalnya, Agent/alerts) dan susun pesan Anda sesuai kebutuhan.

Mengirim Perintah

Agent DVR juga dapat menerima dan memproses pesan MQTT di topik SERVER/commands, di mana SERVER adalah nama server Anda (ditampilkan di Menu server, dapat disunting di Pengaturan). Semua garis miring, garis bawah, dan tanda hubung dihapus dari nama server untuk topik MQTT. Perintah-perintah ini diformat serupa dengan HTTP API. Cukup ganti /command dengan cmd=:

Untuk menghidupkan semua perangkat: cmd=allon.

Untuk mengambil foto di perangkat tertentu: cmd=snapshot&ot=2&oid=1.

Untuk mengatur ulang penghitung penyeberangan kawat pemicu pada sebuah Kamera: cmd=resettripwires&ot=2&oid=1.

Dengan menggunakan mosquitto, Anda dapat mengirim perintah seperti (ganti SERVER dengan nama server Anda):

mosquitto_pub -t 'SERVER/commands' -m 'cmd=record&ot=2&oid=1'
.

Agent DVR akan menjalankan perintah dan mengirim respons JSON ke topik SERVER/responses.

MQTT Otomatis

Agent DVR memiliki konfigurasi MQTT otomatis yang mengirimkan peristiwa default, status, dan statistik penggunaan. Untuk mengaktifkan fitur ini, aktifkan opsi "MQTT Events" pada tab MQTT saat menyunting perangkat.

Topik dipublikasikan di bawah SERVER/cameras/NAME/ atau SERVER/microphones/NAME/, di mana SERVER adalah nama server Anda dan NAME adalah nama perangkat (keduanya huruf kecil, dengan garis miring dihapus). Konfigurasi ini mencakup flag untuk topik seperti motion, connected, alert, recording, timelapse, alerts (status siaga) dan detector (deteksi gerakan aktif atau mati), ditambah hasil JSON dari pengenalan objek AI, wajah, plat dan suara.

Kamera yang menggunakan detektor trip wire dengan Jumlah diaktifkan juga mempublikasikan (v7.7.4.0+):

  • tripwire: satu pesan per penyeberangan yang dihitung, misalnya
    {"wire":1,"direction":"left","left":3,"right":2,"total":5}
  • tripwire_left, tripwire_right, tripwire_total: penghitung saat ini, dipertahankan sehingga tersedia segera setelah Anda berlangganan. Atur ulang ke 0 dengan tombol Atur ulang Jumlah, perintah resettripwires atau mulai ulang kamera.

Jika Anda menggunakan Home Assistant, Anda tidak perlu bekerja dengan topik-topik ini secara langsung: lihat Home Assistant untuk pengaturan otomatis.

Pemecahan Masalah

Jika Anda mengalami putus sambung dan sambung kembali yang sering di MQTT, biasanya menunjukkan bahwa ID Klien yang ditentukan di Pengaturan Server di bawah MQTT sedang digunakan oleh beberapa klien. Penting untuk memastikan bahwa setiap klien yang terhubung ke MQTT memiliki ID Klien yang unik.

Home Assistant

Agent DVR dapat mengumumkan perangkatnya ke Home Assistant secara otomatis menggunakan penemuan MQTT. Kamera dan mikrofon Anda kemudian muncul di Home Assistant sebagai perangkat dengan sensor dan sakelar, siap digunakan dalam dasbor dan otomasi tanpa konfigurasi YAML.

Yang Anda dapatkan

  • Sensor Gerakan: aktif saat detektor melihat aktivitas.
  • Sensor Peringatan: aktif saat perangkat sedang memberi peringatan.
  • Sensor Terhubung: apakah perangkat sedang daring.
  • Sensor Perekaman: aktif saat perangkat sedang merekam.
  • Sakelar Diaktifkan: nyalakan atau matikan perangkat dari Home Assistant.
  • Sakelar Peringatan: aktifkan atau nonaktifkan peringatan dari Home Assistant.
  • Sakelar Detektor: nyalakan atau matikan deteksi gerakan dari Home Assistant.
  • Sensor Jumlah Kiri, Jumlah Kanan dan Jumlah Total: penghitung persilangan untuk kamera menggunakan detektor kawat pemicu, untuk penghitungan orang. (v7.7.4.0+)

Dengan Kirim Statistik diaktifkan, server juga muncul sebagai perangkat dengan sensor penggunaan CPU, memori, dan disk. Semua entitas ditampilkan sebagai Tidak tersedia di Home Assistant ketika Agent DVR luring.

Cara mengaturnya

Anda memerlukan broker MQTT (biasanya add-on Mosquitto di mesin Home Assistant Anda) dan Integrasi MQTT Home Assistant yang terhubung dengannya. Tidak perlu membuka port ekstra untuk Agent DVR: ini menghubung keluar ke broker seperti halnya Home Assistant.

Pada instalasi baru, cukup masukkan alamat broker dan login di bawah Home Assistant di layar sambutan. Itu saja: MQTT dan penemuan diaktifkan untuk Anda, dan setiap kamera dan mikrofon yang Anda tambahkan sesudahnya akan muncul di Home Assistant secara otomatis.

Untuk mengaturnya nanti (atau pada instalasi yang sudah ada), buka Pengaturan Server - MQTT, konfigurasi broker Anda dan aktifkan Diaktifkan dan Penemuan Home Assistant. Kemudian aktifkan Peristiwa MQTT pada setiap perangkat yang ingin Anda publikasikan (tab MQTT saat menyunting perangkat). Perangkat yang ditambahkan saat penemuan aktif memiliki Peristiwa MQTT diaktifkan secara otomatis; perangkat yang ada sebelumnya mempertahankan pengaturan saat ini mereka.

Catatan

  • Perangkat muncul di Home Assistant dalam beberapa detik setelah Agent DVR terhubung ke broker. Mengganti nama perangkat atau mengalihkan Peristiwa MQTT memperbarui Home Assistant secara otomatis.
  • Prefix Penemuan dalam pengaturan MQTT lanjutan harus sesuai dengan prefix penemuan di Integrasi MQTT Home Assistant. Biarkan keduanya pada default (homeassistant) kecuali Anda tahu Anda telah mengubahnya.
  • Mematikan Penemuan Home Assistant menghapus entitas dari Home Assistant.
  • Sakelar menggunakan perintah MQTT Agent DVR di balik layar, jadi apa pun yang lain di jaringan MQTT Anda dapat mengirim perintah yang sama.