Configuração: Usando MQTT

Sobre

MQTT, que significa Message Queuing Telemetry Transport, é um protocolo de mensagens leve e eficiente amplamente utilizado na Internet das Coisas (IoT) para comunicação entre dispositivos. É projetado para funcionar com largura de banda limitada e com dispositivos de baixa potência, tornando-o ideal para conectar sensores remotos, dispositivos móveis e vários gadgets em pequena escala à internet.

Agent DVR pode publicar eventos em MQTT E receber Comandos através dele, tornando-o uma ponte flexível entre suas Câmeras E seu sistema de casa inteligente ou automação residencial.

Conectando

Conecte Agent DVR ao seu servidor MQTT usando o menu de Configurações. Após conectado, você pode configurar ações de alertas para postar mensagens no seu servidor MQTT. Consulte Configurações do servidor MQTT para detalhes.

Para configurar isso, edite seu dispositivo e selecione Ações no menu. Adicione uma ação para um alerta (ou outro evento) e escolha MQTT como o tipo de tarefa. Aqui, você pode especificar o tópico e a mensagem a postar.

Adicionando ação para MQTT

Especifique o tópico a postar (por exemplo, Agent/alerts) e elabore sua mensagem de acordo.

Enviando Comandos

Agent DVR também pode receber e processar mensagens MQTT no tópico SERVER/commands, onde SERVER é o nome do seu servidor (exibido no menu do servidor, editável em Configurações). Todas as barras, sublinhados e hífens são removidos do nome do servidor para os tópicos MQTT. Esses comandos são formatados de forma semelhante à API HTTP. Basta substituir /command por cmd=:

Para ativar todos os dispositivos: cmd=allon.

Para capturar uma foto em um dispositivo específico: cmd=snapshot&ot=2&oid=1.

Para redefinir os contadores de cruzamento de arame de disparo em uma Câmera: cmd=resettripwires&ot=2&oid=1.

Usando mosquitto, você pode enviar um comando como este (substitua SERVER pelo nome do seu servidor):

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

Agent DVR executará o comando e enviará uma resposta JSON para o tópico SERVER/responses.

Auto MQTT

Agent DVR possui uma configuração MQTT automática que envia eventos padrão, status e estatísticas de uso. Para ativar este recurso, habilite a opção "Eventos MQTT" na aba MQTT ao editar um dispositivo.

Os tópicos são publicados em SERVER/cameras/NAME/ ou SERVER/microphones/NAME/, onde SERVER é o nome do seu servidor e NAME é o nome do dispositivo (ambos em minúsculas, com barras removidas). Esta configuração inclui sinalizadores para tópicos como movimento, conectado, alerta, gravação, lapso de tempo, alertas (estado armado) e detector de movimento (detecção de movimento ativada ou desativada), além de resultados JSON do reconhecimento de objetos de IA, rosto, placa e som.

As câmeras que usam o detector de linha de contagem com Contagem ativada também publicam (v7.7.4.0+):

  • tripwire: uma mensagem por cruzamento contado, por exemplo
    {"wire":1,"direction":"left","left":3,"right":2,"total":5}
  • tripwire_left, tripwire_right, tripwire_total: os contadores atuais, retidos para que estejam disponíveis assim que você se inscrever. Redefinidos para 0 pelo botão Redefinir Contagem, pelo comando resettripwires ou por uma reinicialização da câmera.

Se você usar Home Assistant, não precisa trabalhar com estes tópicos diretamente: consulte Home Assistant para configuração automática.

Solução de problemas

Se você encontrar desconexões e reconexões frequentes em MQTT, isso geralmente indica que o ID do cliente especificado em Configurações do servidor sob MQTT está sendo usado por vários clientes. É importante garantir que cada cliente conectado a MQTT tenha um ID do cliente exclusivo.

Home Assistant

Agent DVR pode anunciar seus dispositivos ao Home Assistant automaticamente usando descoberta MQTT. Suas câmeras e microfones aparecem no Home Assistant como dispositivos com sensores e interruptores, prontos para usar em painéis e automações sem configuração YAML.

O que você obtém

  • Sensor de movimento: ativado enquanto o detector vê atividade.
  • Sensor de alerta: ativado enquanto o dispositivo está alertando.
  • Sensor conectado: se o dispositivo está online.
  • Sensor de gravação: ativado enquanto o dispositivo está gravando.
  • Interruptor ativado: ative ou desative o dispositivo do Home Assistant.
  • Interruptor de alertas: arme ou desarme alertas do Home Assistant.
  • Interruptor do detector: ative ou desative a detecção de movimento do Home Assistant.
  • Sensores de Contagem Esquerda, Contagem Direita e Contagem Total: contadores de cruzamento para câmeras que utilizam o detector de fios de disparo, para contagem de pessoas. (v7.7.4.0+)

Com Enviar estatísticas ativado, o servidor também aparece como um dispositivo com sensores de uso de CPU, memória e disco. Todas as entidades aparecem como Indisponível no Home Assistant quando Agent DVR fica offline.

Configurando

Você precisa de um intermediário MQTT (geralmente o complemento Mosquitto em sua máquina Home Assistant) e a integração MQTT do Home Assistant conectada a ele. Nenhuma porta extra precisa ser aberta para Agent DVR: ele se conecta ao intermediário assim como o Home Assistant faz.

Em uma nova instalação, apenas insira o endereço do seu intermediário e as credenciais de acesso em Home Assistant na tela de boas-vindas. Pronto: MQTT e descoberta são ativados para você, e cada câmera e microfone que você adicionar depois aparecerá no Home Assistant automaticamente.

Para configurar depois (ou em uma instalação existente), acesse Configurações do servidor - MQTT, configure seu intermediário e ative tanto Ativado quanto Descoberta do Home Assistant. Em seguida, ative Eventos MQTT em cada dispositivo que deseja publicar (guia MQTT ao editar o dispositivo). Dispositivos adicionados enquanto a descoberta está ativada têm eventos MQTT ativados automaticamente; dispositivos que existiam antes mantêm sua configuração atual.

Notas

  • Os dispositivos aparecem no Home Assistant dentro de alguns segundos de Agent DVR se conectar ao intermediário. Renomear um dispositivo ou alternar eventos MQTT atualiza o Home Assistant automaticamente.
  • O Prefixo de Descoberta nas configurações MQTT avançadas deve corresponder ao prefixo de descoberta na integração MQTT do Home Assistant. Deixe ambos no padrão (homeassistant) a menos que saiba que o tenha alterado.
  • Desativar Descoberta do Home Assistant remove as entidades do Home Assistant.
  • Os interruptores usam comandos MQTT do Agent DVR internamente, portanto qualquer outra coisa em sua rede MQTT pode enviar os mesmos comandos.