Über
MQTT, which stands for Message Queuing Telemetry Transport, ist ein leichtgewichtiges und effizientes Nachrichtenprotokoll, das in dem Internet der Dinge (IoT) weit verbreitet ist und für die Kommunikation zwischen Geräten verwendet wird. Es ist für die Arbeit unter begrenzter Netzwerkbandbreite und mit stromsparenden Geräten konzipiert und daher ideal für die Verbindung von Fernbedienungssensoren, mobilen Geräten und verschiedenen kleinen Gadgets mit dem Internet geeignet.
Agent DVR kann sowohl Ereignisse in MQTT veröffentlichen als auch Befehle über MQTT empfangen, was es zu einer flexiblen Verbindung zwischen Ihren Kameras und Ihrem Smart-Home- oder Hausautomationssystem macht.
Verbindung wird hergestellt
Verbinden Sie Agent DVR mit Ihrem MQTT-Server über das Menü Einstellungen. Nach der Verbindung können Sie Alarmaktionen so einstellen, dass sie Nachrichten an Ihren MQTT-Server veröffentlichen. Weitere Informationen finden Sie unter MQTT Server-Einstellungen.
Um dies zu konfigurieren, bearbeiten Sie Ihr Gerät und wählen Sie Aktionen im Menü aus. Fügen Sie eine Aktion für einen Alarm (oder ein anderes Ereignis) hinzu und wählen Sie MQTT als Aufgabentyp. Hier können Sie das Thema und die Nachricht festlegen, die veröffentlicht werden soll.
Geben Sie das Thema an, in dem veröffentlicht werden soll (z. B. Agent/alerts), und erstellen Sie Ihre Nachricht entsprechend.
Befehle senden
Agent DVR kann auch MQTT-Nachrichten zum Thema SERVER/commands empfangen und verarbeiten, wobei SERVER Ihr Servername ist (angezeigt im Servermenü, bearbeitbar in Einstellungen). Alle Schrägstriche, Unterstriche und Bindestriche werden aus dem Servernamen für MQTT-Themen entfernt. Diese Befehle sind ähnlich wie die HTTP-API formatiert. Ersetzen Sie einfach /command durch cmd=:
Um alle Geräte einzuschalten: cmd=allon.
Um ein Foto auf einem bestimmten Gerät zu machen: cmd=snapshot&ot=2&oid=1.
Um die Zähler für Drahtauslöser-Überquerungen auf einer Kamera zurückzusetzen: cmd=resettripwires&ot=2&oid=1.
Mit mosquitto können Sie einen Befehl wie folgt senden (ersetzen Sie SERVER durch Ihren Servernamen):
mosquitto_pub -t 'SERVER/commands' -m 'cmd=record&ot=2&oid=1'.
Agent DVR führt den Befehl aus und sendet eine JSON-Antwort zum Thema SERVER/responses.
Auto MQTT
Agent DVR verfügt über eine automatische MQTT-Konfiguration, die Standard-Ereignisse, Status und Verwendungsstatistiken sendet. Um diese Funktion zu aktivieren, aktivieren Sie die Option "MQTT-Ereignisse" auf der MQTT-Registerkarte beim Bearbeiten eines Geräts.
Themen werden unter SERVER/cameras/NAME/ oder SERVER/microphones/NAME/ veröffentlicht, wobei SERVER Ihr Servername und NAME der Gerätename ist (beide Kleinbuchstaben, ohne Schrägstriche). Diese Konfiguration umfasst Markierungen für Themen wie Bewegung, Verbunden, Alarm, Aufnahme, Zeitraffer, Alarme (Aktivierungszustand) und Detektor (Bewegungserkennung an oder aus), plus JSON-Ergebnisse aus KI-Objekt-, Gesichts-, Kennzeichen- und Tonerkennung.
Kameras, die den Stolldraht-Detektor mit aktivierter Anzahl verwenden, veröffentlichen auch (v7.7.4.0+):
- tripwire: eine Nachricht pro gezählter Überquerung, z. B.
{"wire":1,"direction":"left","left":3,"right":2,"total":5} - tripwire_left, tripwire_right, tripwire_total: die aktuellen Zähler, beibehalten, sodass sie verfügbar sind, sobald Sie sich anmelden. Werden auf 0 durch die Schaltfläche „Anzahl zurücksetzen", den Befehl „resettripwires" oder einen Kamera-Neustart zurückgesetzt.
Wenn Sie Home Assistant verwenden, müssen Sie nicht direkt mit diesen Themen arbeiten: siehe Home Assistant für die automatische Einrichtung.
Fehlerbehebung
Wenn Sie häufige Trennungen und Wiederverbindungen bei MQTT feststellen, deutet dies normalerweise darauf hin, dass die in den Server-Einstellungen unter MQTT angegebene Client-ID von mehreren Clients verwendet wird. Es ist wichtig sicherzustellen, dass jeder mit MQTT verbundene Client eine eindeutige Client-ID hat.
Home Assistant
Agent DVR kann seine Geräte Home Assistant automatisch über MQTT-Erkennung ankündigen. Ihre Kameras und Mikrofone erscheinen dann in Home Assistant als Geräte mit Sensoren und Schaltern, bereit zur Verwendung in Dashboards und Automatisierungen ohne YAML-Konfiguration.
Was Sie erhalten
- Bewegungssensor: aktiv, während der Detektor Aktivität erkennt.
- Alarmsensor: aktiv, während das Gerät einen Alarm auslöst.
- Verbindungssensor: ob das Gerät online ist.
- Aufnahmesensor: aktiv, während das Gerät aufnimmt.
- Schalter „Aktiviert": Schalten Sie das Gerät von Home Assistant aus ein oder aus.
- Schalter „Alarme": Aktivieren oder deaktivieren Sie Alarme von Home Assistant aus.
- Schalter „Detektor": Schalten Sie die Bewegungserkennung von Home Assistant aus ein oder aus.
- Anzahl Links, Anzahl Rechts und Anzahl Gesamt Sensoren: Überschreitungszähler für Kameras, die den Bewegungsmelder für Drahtauslöser verwenden, zum Zählen von Personen. (v7.7.4.0+)
Mit aktiviertem Statistiken senden erscheint der Server auch als Gerät mit Sensoren für CPU-, Speicher- und Festplattennutzung. Alle Entitäten werden in Home Assistant als „Nicht verfügbar" angezeigt, wenn Agent DVR offline geht.
Einrichtung
Sie benötigen einen MQTT-Broker (normalerweise das Mosquitto-Add-on auf Ihrer Home Assistant-Maschine) und Home Assistants MQTT-Integration, die damit verbunden ist. Für Agent DVR müssen keine zusätzlichen Ports geöffnet werden: Es verbindet sich mit dem Broker, genau wie Home Assistant.
Bei einer Neuinstallation geben Sie einfach die Adresse und Anmeldedaten Ihres Brokers unter Home Assistant auf dem Willkommensbildschirm ein. Das war's: MQTT und die Erkennung sind für Sie aktiviert, und jede Kamera und jedes Mikrofon, das Sie danach hinzufügen, erscheint automatisch in Home Assistant.
Um dies später (oder bei einer bestehenden Installation) einzurichten, gehen Sie zu Server-Einstellungen - MQTT, konfigurieren Sie Ihren Broker und aktivieren Sie sowohl Aktiviert als auch Home Assistant-Erkennung. Aktivieren Sie dann MQTT-Ereignisse auf jedem Gerät, das Sie veröffentlichen möchten (MQTT-Registerkarte beim Bearbeiten des Geräts). Geräte, die hinzugefügt werden, während die Erkennung aktiviert ist, haben MQTT-Ereignisse automatisch aktiviert; Geräte, die vorher vorhanden waren, behalten ihre aktuelle Einstellung.
Notizen
- Geräte erscheinen in Home Assistant innerhalb weniger Sekunden, nachdem sich Agent DVR mit dem Broker verbunden hat. Das Umbenennen eines Geräts oder das Umschalten von MQTT-Ereignissen aktualisiert Home Assistant automatisch.
- Das Entdeckungspräfix in den erweiterten MQTT-Einstellungen muss mit dem Erkennungspräfix in Home Assistants MQTT-Integration übereinstimmen. Lassen Sie beide auf der Voreinstellung (homeassistant), es sei denn, Sie wissen, dass Sie dies geändert haben.
- Das Deaktivieren der Home Assistant-Erkennung entfernt die Entitäten aus Home Assistant.
- Die Schalter verwenden Agent DVRs MQTT-Befehle im Hintergrund, sodass alles andere in Ihrem MQTT-Netzwerk die gleichen Befehle senden kann.