Configuración: Utilizando MQTT

Acerca de

MQTT, cuyas siglas significan Message Queuing Telemetry Transport, es un protocolo de mensajería ligero y eficiente ampliamente utilizado en el Internet de las Cosas (IoT) para la comunicación entre dispositivos. Está diseñado para funcionar bajo ancho de banda de red limitado y con dispositivos de bajo consumo, lo que lo hace ideal para conectar sensores remotos, dispositivos móviles y diversos gadgets de pequeña escala a internet.

Agent DVR puede tanto publicar eventos en MQTT como recibir Comandos a través de él, lo que lo convierte en un puente flexible entre tus Cámaras y tu hogar inteligente o sistema de automatización del hogar.

Conectando

Conecta Agent DVR a tu servidor MQTT usando el menú Ajustes. Una vez conectado, puedes configurar acciones de alertas para publicar mensajes en tu servidor MQTT. Consulta Configuración del servidor MQTT para más detalles.

Para configurar esto, edita tu dispositivo y selecciona Acciones en el menú. Añade una acción para una alerta (u otro evento) y elige MQTT como el tipo de tarea. Aquí, puedes especificar el tema y el mensaje a enviar.

Añadiendo acción para MQTT

Especifica el tema al que enviar (p. ej., Agent/alerts) y redacta tu mensaje en consecuencia.

Enviando Comandos

Agent DVR también puede recibir y procesar mensajes MQTT en el tema SERVIDOR/comandos, donde SERVIDOR es el nombre de su servidor (que se muestra en el menú del servidor, editable en Ajustes). Se eliminan las barras diagonales, guiones bajos y guiones del nombre del servidor para los temas MQTT. Estos comandos tienen un formato similar a la API HTTP. Solo tiene que reemplazar /comando con cmd=:

Para activar todos los dispositivos: cmd=allon.

Para tomar una foto en un dispositivo específico: cmd=snapshot&ot=2&oid=1.

Para restablecer los contadores de cruces de líneas de activación en una cámara: cmd=resettripwires&ot=2&oid=1.

Con mosquitto, puede enviar un comando como este (reemplace SERVIDOR por el nombre de su servidor):

mosquitto_pub -t 'SERVIDOR/comandos' -m 'cmd=record&ot=2&oid=1'
.

Agent DVR ejecutará el comando y enviará una respuesta JSON al tema SERVIDOR/respuestas.

Auto MQTT

Agent DVR cuenta con una configuración automática de MQTT que envía eventos predeterminados, estados y estadísticas de uso. Para activar esta función, habilite la opción "Eventos MQTT" en la pestaña MQTT mientras edita un dispositivo.

Los temas se publican en SERVIDOR/cámaras/NOMBRE/ o SERVIDOR/micrófonos/NOMBRE/, donde SERVIDOR es el nombre de su servidor y NOMBRE es el nombre del dispositivo (ambos en minúsculas, sin barras inclinadas). Esta configuración incluye indicadores para temas como movimiento, conectado, alerta, grabación, lapso de tiempo, alertas (estado armado) y detector (detección de movimiento activada o desactivada), además de resultados JSON del reconocimiento de inteligencia artificial de objetos, caras, placas y sonido.

Las cámaras que utilizan el detector de línea de disparo con Recuento activado también publican (v7.7.4.0+):

  • tripwire: un mensaje por cada cruce contado, por ejemplo
    {"wire":1,"direction":"left","left":3,"right":2,"total":5}
  • tripwire_left, tripwire_right, tripwire_total: los contadores actuales, retenidos para que estén disponibles en cuanto se suscriba. Se restablecen a 0 mediante el botón Restablecer Recuento, el comando resettripwires o un reinicio de la cámara.

Si utiliza Home Assistant no necesita trabajar directamente con estos temas: consulte Home Assistant para configuración automática.

Solución de problemas

Si experimenta desconexiones y reconexiones frecuentes en MQTT, esto típicamente indica que el ID de cliente especificado en Configuración del servidor bajo MQTT está siendo utilizado por múltiples clientes. Es importante asegurar que cada cliente conectado a MQTT tenga un ID de cliente único.

Home Assistant

Agent DVR puede anunciar sus dispositivos a Home Assistant automáticamente usando el descubrimiento MQTT. Sus cámaras y micrófonos aparecen entonces en Home Assistant como dispositivos con sensores e interruptores, listos para usar en paneles de control y automatizaciones sin configuración YAML.

Lo que obtiene

  • Sensor de movimiento: activo mientras el detector ve actividad.
  • Sensor de alerta: activo mientras el dispositivo está alertando.
  • Sensor de conexión: si el dispositivo está en línea.
  • Sensor de grabación: activo mientras el dispositivo está grabando.
  • Interruptor de Activado: encienda o apague el dispositivo desde Home Assistant.
  • Interruptor de alertas: active o desactive las alertas desde Home Assistant.
  • Interruptor de detector: active o desactive la detección de movimiento desde Home Assistant.
  • Sensores Recuento Izquierda, Recuento Derecha y Recuento Total: contadores de cruce para cámaras que utilizan el detector de línea de activación, para contar personas. (v7.7.4.0+)

Con Enviar estadísticas activado, el servidor también aparece como un dispositivo con sensores de uso de CPU, memoria y disco. Todas las entidades se muestran como no disponibles en Home Assistant cuando Agent DVR se desconecta.

Configurarlo

Necesita un intermediario MQTT (normalmente el complemento Mosquitto en su máquina Home Assistant) y la integración MQTT de Home Assistant conectada a él. No es necesario abrir puertos adicionales para Agent DVR: se conecta al intermediario igual que Home Assistant.

En una instalación nueva, simplemente ingrese la dirección y el inicio de sesión de su intermediario en Home Assistant en la pantalla de bienvenida. Eso es todo: MQTT y el descubrimiento se activan automáticamente, y cada cámara y micrófono que agregue después aparecerá en Home Assistant automáticamente.

Para configurarlo después (o en una instalación existente), vaya a Configuración del servidor - MQTT, configure su intermediario y active tanto Activado como Descubrimiento de Home Assistant. Luego active Eventos MQTT en cada dispositivo que desee publicar (pestaña MQTT al editar el dispositivo). Los dispositivos agregados mientras el descubrimiento está activo tienen eventos MQTT activados automáticamente; los dispositivos que existían antes conservan su configuración actual.

Notas

  • Los dispositivos aparecen en Home Assistant en unos pocos segundos después de que Agent DVR se conecta al intermediario. Cambiar el nombre de un dispositivo o alternar eventos MQTT actualiza Home Assistant automáticamente.
  • El Prefijo de Descubrimiento en la configuración avanzada de MQTT debe coincidir con el prefijo de descubrimiento en la integración MQTT de Home Assistant. Deje ambos en el valor predeterminado (homeassistant) a menos que sepa que lo ha cambiado.
  • Desactivar el descubrimiento de Home Assistant elimina las entidades de Home Assistant.
  • Los interruptores utilizan los comandos MQTT de Agent DVR internamente, por lo que cualquier otro elemento de su red MQTT puede enviar los mismos comandos.