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. Foi projetado para funcionar com largura de banda de rede limitada e com dispositivos de baixo consumo, tornando-o ideal para conectar sensores remotos, dispositivos móveis e vários gadgets de pequena escala à internet.

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

Conectando

Conecte Agent DVR ao seu servidor MQTT usando o menu Configurações. Uma vez conectado, você pode definir ações de alerta para publicar 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 tipo de tarefa. Aqui, você pode especificar o tópico e a mensagem a serem publicados.

Adicionando ação para MQTT

Especifique o tópico a ser publicado (por exemplo, Agent/alerts) e crie sua mensagem adequadamente.

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). Barras, underscores e hífens são removidos do nome do servidor para tópicos MQTT. Esses comandos são formatados de forma semelhante à HTTP API. Apenas substitua /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.

Usando mosquitto, você pode enviar um comando como (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 automática MQTT que envia eventos padrão, status e estatísticas de uso. Para ativar esse recurso, ative a opção "MQTT Events" na aba MQTT ao editar um dispositivo.

Esta configuração inclui sinalizadores para tópicos como motion, connected, alert, recording, timelapse, alerts (armed state) e detector (motion detection on or off).

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

Solução de problemas

Se você encontrar desconexões e reconexões frequentes em MQTT, isso normalmente indica que o Client ID especificado em Server Settings sob MQTT está sendo usado por múltiplos clientes. É importante garantir que cada cliente conectado ao MQTT tenha um Client ID único.

Assistente Residencial

Agent DVR pode anunciar seus dispositivos para Home Assistant automaticamente usando MQTT discovery. Suas câmeras e microfones aparecerão no Home Assistant como dispositivos com sensores e switches, prontos para usar em dashboards 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 de conexão: se o dispositivo está online.
  • Sensor de gravação: ativado enquanto o dispositivo está gravando.
  • Switch de ativação: ative ou desative o dispositivo no Home Assistant.
  • Switch de alertas: arme ou desarme alertas no Home Assistant.
  • Switch de detector: ative ou desative a detecção de movimento no Home Assistant.

Com Send Stats 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íveis no Home Assistant quando Agent DVR fica offline.

Configurando

Você precisa de um broker MQTT (normalmente o add-on 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 broker assim como Home Assistant faz.

Em uma nova instalação, basta inserir o endereço do seu broker e login em Home Assistant na tela de boas-vindas. É isso: MQTT e discovery estão ativados para você, e todas as câmeras e microfones que você adicionar depois aparecerão no Home Assistant automaticamente.

Para configurar depois (ou em uma instalação existente), acesse Server Settings - MQTT, configure seu broker e ative tanto Enabled quanto Home Assistant Discovery. Em seguida, ative MQTT Events em cada dispositivo que você deseja publicar (aba MQTT ao editar o dispositivo). Dispositivos adicionados enquanto discovery está ativado têm MQTT Events ativados automaticamente; dispositivos que existiam antes mantêm sua configuração atual.

Notas

  • Dispositivos aparecem no Home Assistant dentro de alguns segundos após Agent DVR conectar ao broker. Renomear um dispositivo ou alternar MQTT Events atualiza Home Assistant automaticamente.
  • O Discovery Prefix nas configurações MQTT avançadas deve corresponder ao prefixo de discovery na integração MQTT do Home Assistant. Deixe ambos no padrão (homeassistant) a menos que você saiba que os alterou.
  • Desativar Home Assistant Discovery remove as entidades do Home Assistant.
  • Os switches usam comandos MQTT do Agent DVR nos bastidores, então qualquer outra coisa em sua rede MQTT pode enviar os mesmos comandos.