Giới thiệu
MQTT, viết tắt của Message Queuing Telemetry Transport, là một giao thức tin nhắn nhẹ và hiệu quả được sử dụng rộng rãi trong Internet of Things (IoT) để giao tiếp giữa các thiết bị. Nó được thiết kế để hoạt động dưới điều kiện băng thông mạng hạn chế và với các thiết bị tiêu thụ điện năng thấp, làm cho nó lý tưởng để kết nối các cảm biến từ xa, thiết bị di động và các gadget nhỏ khác nhau với internet.
Agent DVR có thể vừa xuất bản các sự kiện đến MQTT và nhận Lệnh qua nó, làm cho nó trở thành một cây cầu linh hoạt giữa các Camera của bạn và hệ thống nhà thông minh hoặc tự động hóa nhà của bạn.
Đang kết nối
Kết nối Agent DVR với máy chủ MQTT của bạn bằng cách sử dụng trình đơn Cài đặt. Sau khi được kết nối, bạn có thể đặt các hành động cảnh báo để xuất bản các thông báo đến máy chủ MQTT của bạn. Xem Cài đặt máy chủ MQTT để biết chi tiết.
Để cấu hình điều này, chỉnh sửa thiết bị của bạn và chọn Các hành động trong trình đơn. Thêm một hành động cho một cảnh báo (hoặc sự kiện khác) và chọn MQTT làm loại tác vụ. Ở đây, bạn có thể chỉ định chủ đề và thông báo để đăng.
Chỉ định chủ đề để đăng (ví dụ: Agent/alerts) và soạn thông báo của bạn cho phù hợp.
Gửi Lệnh
Agent DVR cũng có thể nhận và xử lý các tin nhắn MQTT trên chủ đề SERVER/commands, trong đó SERVER là tên máy chủ của bạn (hiển thị trong menu máy chủ, có thể chỉnh sửa trong Cài đặt). Mọi dấu gạch chéo, dấu gạch dưới và dấu gạch ngang sẽ bị xóa khỏi tên máy chủ cho các chủ đề MQTT. Những lệnh này được định dạng tương tự như HTTP API. Chỉ cần thay thế /command bằng cmd=:
Để bật tất cả thiết bị: cmd=allon.
Để chụp ảnh trên một thiết bị cụ thể: cmd=snapshot&ot=2&oid=1.
Để đặt lại bộ đếm vượt qua dây kích hoạt trên một camera: cmd=resettripwires&ot=2&oid=1.
Sử dụng mosquitto, bạn có thể gửi một lệnh như (thay thế SERVER bằng tên máy chủ của bạn):
mosquitto_pub -t 'SERVER/commands' -m 'cmd=record&ot=2&oid=1'.
Agent DVR sẽ thực thi lệnh và gửi phản hồi JSON đến chủ đề SERVER/responses.
MQTT Tự động
Agent DVR có tính năng cấu hình MQTT tự động gửi các sự kiện mặc định, trạng thái và thống kê sử dụng. Để kích hoạt tính năng này, hãy bật tùy chọn "MQTT Events" trên tab MQTT khi chỉnh sửa một thiết bị.
Các chủ đề được xuất bản dưới SERVER/cameras/NAME/ hoặc SERVER/microphones/NAME/, trong đó SERVER là tên máy chủ của bạn và NAME là tên thiết bị (cả hai viết thường, không có dấu gạch chéo). Cấu hình này bao gồm các cờ cho các chủ đề như chuyển động, đã kết nối, cảnh báo, ghi hình, timelapse, cảnh báo (trạng thái đã kích hoạt) và bộ dò (chuyển động bật hoặc tắt), cộng với kết quả JSON từ nhận dạng đối tượng AI, khuôn mặt, biển số và âm thanh.
Camera sử dụng bộ dò dây cảm ứng với Số lượng đã bật cũng xuất bản (v7.7.4.0+):
- tripwire: một thông báo trên mỗi lần đếm được, ví dụ:
{"wire":1,"direction":"left","left":3,"right":2,"total":5} - tripwire_left, tripwire_right, tripwire_total: các bộ đếm hiện tại, được giữ lại để chúng có sẵn ngay khi bạn đăng ký. Đặt lại thành 0 bằng nút Đặt lại số lượng, lệnh resettripwires hoặc khởi động lại camera.
Nếu bạn sử dụng Home Assistant, bạn không cần phải làm việc với các chủ đề này trực tiếp: xem Home Assistant để thiết lập tự động.
Khắc phục sự cố
Nếu bạn gặp các lần ngắt kết nối và kết nối lại thường xuyên trong MQTT, điều này thường chỉ ra rằng ID máy khách được chỉ định trong Cài đặt máy chủ dưới MQTT đang được sử dụng bởi nhiều máy khách. Điều quan trọng là đảm bảo rằng mỗi máy khách được kết nối với MQTT có một ID máy khách duy nhất.
Home Assistant
Agent DVR có thể công bố các thiết bị của nó cho Home Assistant tự động bằng cách sử dụng khám phá MQTT. Các camera và microphone của bạn sẽ xuất hiện trong Home Assistant dưới dạng các thiết bị có cảm biến và công tắc, sẵn sàng để sử dụng trong bảng điều khiển và tự động hóa mà không cần cấu hình YAML.
Những gì bạn nhận được
- Cảm biến chuyển động: bật khi bộ dò phát hiện hoạt động.
- Cảm biến cảnh báo: bật khi thiết bị đang cảnh báo.
- Cảm biến kết nối: cho biết thiết bị có trực tuyến hay không.
- Cảm biến ghi hình: bật khi thiết bị đang ghi hình.
- Công tắc được bật: bật hoặc tắt thiết bị từ Home Assistant.
- Công tắc cảnh báo: vũ trang hoặc giải vũ trang cảnh báo từ Home Assistant.
- Công tắc bộ dò: bật hoặc tắt phát hiện chuyển động từ Home Assistant.
- Cảm biến Số lượng Trái, Số lượng Phải và Số lượng Tổng cộng: bộ đếm vượt qua cho camera sử dụng bộ dò dây cảnh báo, để đếm người. (v7.7.4.0+)
Khi Gửi thống kê được bật, máy chủ cũng xuất hiện dưới dạng một thiết bị có các cảm biến sử dụng CPU, bộ nhớ và đĩa. Tất cả các thực thể sẽ hiển thị là không khả dụng trong Home Assistant khi Agent DVR ngoại tuyến.
Cài đặt nó
Bạn cần một broker MQTT (thường là add-on Mosquitto trên máy Home Assistant của bạn) và tích hợp MQTT của Home Assistant được kết nối với nó. Không cần mở bất kỳ cổng bổ sung nào cho Agent DVR: nó kết nối ra broker giống như Home Assistant làm.
Trên một cài đặt mới, chỉ cần nhập địa chỉ broker của bạn và đăng nhập dưới Home Assistant trên màn hình chào mừng. Đó là tất cả: MQTT và khám phá được bật cho bạn, và mỗi camera và microphone mà bạn thêm sau đó sẽ tự động xuất hiện trong Home Assistant.
Để cài đặt nó sau (hoặc trên một cài đặt hiện có), hãy đi tới Cài đặt máy chủ - MQTT, cấu hình broker của bạn và bật cả Đã bật và Khám Phá Trợ Lý Tại Nhà. Sau đó bật Sự kiện MQTT trên mỗi thiết bị mà bạn muốn công bố (tab MQTT khi chỉnh sửa thiết bị). Các thiết bị được thêm khi khám phá được bật sẽ tự động bật Sự kiện MQTT; các thiết bị tồn tại trước đó sẽ giữ lại cài đặt hiện tại của chúng.
Ghi chú
- Các thiết bị xuất hiện trong Home Assistant trong vòng vài giây sau khi Agent DVR kết nối với broker. Đổi tên thiết bị hoặc chuyển đổi Sự kiện MQTT sẽ cập nhật Home Assistant tự động.
- Tiền tố Khám Phá trong các cài đặt MQTT nâng cao phải khớp với tiền tố khám phá trong tích hợp MQTT của Home Assistant. Để cả hai ở mặc định (homeassistant) trừ khi bạn biết mình đã thay đổi nó.
- Tắt Khám Phá Trợ Lý Tại Nhà sẽ loại bỏ các thực thể khỏi Home Assistant.
- Các công tắc sử dụng lệnh MQTT của Agent DVR bên dưới, do đó bất cứ thứ gì khác trên mạng MQTT của bạn đều có thể gửi các lệnh tương tự.