À propos
MQTT, qui signifie Message Queuing Telemetry Transport, est un protocole de messagerie léger et efficace largement utilisé dans l'Internet des objets (IoT) pour la communication entre périphériques. Il est conçu pour fonctionner avec une bande passante réseau limitée et avec des périphériques à faible consommation d'énergie, ce qui le rend idéal pour connecter des capteurs à distance, des appareils mobiles et diverses petites installations à Internet.
Agent DVR peut à la fois publier des événements vers MQTT et recevoir des commandes via celui-ci, ce qui en fait un pont flexible entre vos caméras et votre maison intelligente ou système de domotique.
Connexion en cours
Connectez Agent DVR à votre serveur MQTT en utilisant le menu Paramètres. Une fois connecté, vous pouvez définir les actions d'alerte pour publier des messages vers votre serveur MQTT. Voir Paramètres du serveur MQTT pour plus de détails.
Pour configurer ceci, modifiez votre périphérique et sélectionnez Actions dans le menu. Ajoutez une action pour une alerte (ou un autre événement) et choisissez MQTT comme type de tâche. Ici, vous pouvez spécifier le sujet et le message à publier.
Spécifiez le sujet vers lequel publier (par exemple, Agent/alerts) et composez votre message en conséquence.
Envoi de Commandes
Agent DVR peut aussi recevoir et traiter les messages MQTT sur le sujet SERVER/commands, où SERVER est le nom de votre serveur (affiché dans le menu du serveur, modifiable dans Paramètres). Tous les barres obliques, tirets bas et traits d'union sont supprimés du nom du serveur pour les sujets MQTT. Ces commandes sont formatées de manière similaire à l'API HTTP. Il suffit de remplacer /command par cmd= :
Pour activer tous les périphériques : cmd=allon.
Pour prendre une photo sur un périphérique spécifique : cmd=snapshot&ot=2&oid=1.
Pour réinitialiser les compteurs de traversée de fil de déclenchement sur une Caméra : cmd=resettripwires&ot=2&oid=1.
En utilisant mosquitto, vous pouvez envoyer une commande comme (remplacez SERVER par le nom de votre serveur) :
mosquitto_pub -t 'SERVER/commands' -m 'cmd=record&ot=2&oid=1'.
Agent DVR exécutera la commande et enverra une réponse JSON au sujet SERVER/responses.
Auto MQTT
Agent DVR dispose d'une configuration MQTT automatique qui envoie les événements par défaut, les statuts et les statistiques d'utilisation. Pour activer cette fonctionnalité, activez l'option « Événements MQTT » sur l'onglet MQTT lors de la modification d'un périphérique.
Les rubriques sont publiées sous SERVEUR/cameras/NOM/ ou SERVEUR/microphones/NOM/, où SERVEUR est le nom de votre serveur et NOM est le nom du périphérique (tous deux en minuscules, les barres obliques étant supprimées). Cette configuration comprend des drapeaux pour les rubriques telles que mouvement, connecté, alerte, enregistrement, accélération temporelle, alertes (état armé) et détecteur (détection de mouvement activée ou désactivée), ainsi que les résultats JSON de la reconnaissance d'objet IA, de visage, de plaque et de son.
Les caméras utilisant le détecteur de fil de détection avec le Compteur activé publient également (v7.7.4.0+) :
- tripwire : un message par franchissement compté, par exemple
{"wire":1,"direction":"left","left":3,"right":2,"total":5} - tripwire_left, tripwire_right, tripwire_total : les compteurs actuels, conservés pour qu'ils soient disponibles dès que vous vous abonnez. Réinitialisé à 0 par le bouton Réinitialiser le Compteur, la commande resettripwires ou un redémarrage de caméra.
Si vous utilisez Home Assistant, vous n'avez pas besoin de travailler directement avec ces rubriques : consultez Home Assistant pour une configuration automatique.
Dépannage
Si vous rencontrez des déconnexions et reconnexions fréquentes dans MQTT, cela indique généralement que l'ID client spécifié dans les Paramètres du serveur sous MQTT est utilisé par plusieurs clients. Il est important de s'assurer que chaque client connecté à MQTT dispose d'un ID client unique.
Assistant Domotique
Agent DVR peut annoncer automatiquement ses périphériques à Home Assistant en utilisant la découverte MQTT. Vos caméras et microphones apparaissent alors dans Home Assistant en tant que périphériques dotés de capteurs et d'interrupteurs, prêts à être utilisés dans les tableaux de bord et les automations sans configuration YAML.
Ce que vous obtenez
- Capteur de mouvement : actif tant que le détecteur détecte une activité.
- Capteur d'alerte : actif tant que le périphérique signale une alerte.
- Capteur de connexion : indique si le périphérique est en ligne.
- Capteur d'enregistrement : actif tant que le périphérique enregistre.
- Interrupteur d'activation : activez ou désactivez le périphérique depuis Home Assistant.
- Interrupteur d'alertes : activez ou désactivez les alertes depuis Home Assistant.
- Interrupteur de détecteur : activez ou désactivez la détection de mouvement depuis Home Assistant.
- Capteurs Compteur Gauche, Compteur Droite et Compteur Total : compteurs de passage pour les caméras utilisant le détecteur de fil de déclenchement, pour le comptage de personnes. (v7.7.4.0+)
Avec Envoyer les statistiques activé, le serveur apparaît également en tant que périphérique avec des capteurs d'utilisation du processeur, de la mémoire et de l'espace disque. Toutes les entités apparaissent comme Indisponible dans Home Assistant quand Agent DVR se déconnecte.
Configuration
Vous avez besoin d'un courtier MQTT (généralement le module complémentaire Mosquitto sur votre machine Home Assistant) et de l'intégration MQTT de Home Assistant connectée à celui-ci. Aucun port supplémentaire ne doit être ouvert pour Agent DVR : il se connecte au courtier tout comme le fait Home Assistant.
À l'installation initiale, entrez simplement l'adresse de votre courtier et vos identifiants sous Home Assistant sur l'écran d'accueil. C'est tout : MQTT et la découverte sont activés pour vous, et chaque caméra ou microphone que vous ajoutez par la suite apparaîtra automatiquement dans Home Assistant.
Pour le configurer ultérieurement (ou sur une installation existante), allez à Paramètres du serveur - MQTT, configurez votre courtier et activez à la fois Activé et Découverte de Home Assistant. Ensuite, activez Événements MQTT sur chaque périphérique que vous souhaitez publier (onglet MQTT lors de la modification du périphérique). Les périphériques ajoutés pendant que la découverte est activée ont les événements MQTT activés automatiquement ; les périphériques qui existaient auparavant conservent leur paramètre actuel.
Remarques
- Les périphériques apparaissent dans Home Assistant quelques secondes après la connexion d'Agent DVR au courtier. Le renommage d'un périphérique ou l'activation/désactivation des événements MQTT met automatiquement à jour Home Assistant.
- Le Préfixe de découverte dans les paramètres MQTT avancés doit correspondre au préfixe de découverte de l'intégration MQTT de Home Assistant. Laissez les deux à la valeur par défaut (homeassistant) sauf si vous savez que vous l'avez modifiée.
- La désactivation de la découverte de Home Assistant supprime les entités de Home Assistant.
- Les interrupteurs utilisent les commandes MQTT d'Agent DVR en arrière-plan, de sorte que tout autre élément de votre réseau MQTT peut envoyer les mêmes commandes.