Konfiguration: Verwendung von MQTT

Über

MQTT, das für Message Queuing Telemetry Transport steht, ist ein leichtes und effizientes Messaging-Protokoll, das in dem Internet der Dinge (IoT) häufig für die Kommunikation zwischen Geräten verwendet wird. Es ist für die Nutzung bei begrenzter Netzwerkbandbreite und mit stromsparenden Geräten ausgelegt, was es ideal für die Verbindung von Fernsensoren, mobilen Geräten und verschiedenen kleineren Gadgets mit dem Internet macht.

Agent DVR kann sowohl Ereignisse für MQTT veröffentlichen als auch Befehle darüber empfangen, was es zu einer flexiblen Brücke zwischen Ihren Kameras und Ihrem Smart-Home- oder Hausautomationssystem macht.

Verbindung herstellen

Verbinden Sie Agent DVR mit Ihrem MQTT-Server über das Menü Einstellungen. Nachdem die Verbindung hergestellt ist, können Sie Alert-Aktionen so konfigurieren, dass Meldungen an Ihren MQTT-Server veröffentlicht werden. Weitere Informationen finden Sie unter MQTT-Servereinstellungen.

Um dies zu konfigurieren, bearbeiten Sie Ihr Gerät und wählen Sie Aktionen im Menü. Fügen Sie eine Aktion für einen Alert (oder ein anderes Ereignis) hinzu und wählen Sie MQTT als Aufgabentyp. Hier können Sie das Topic und die zu veröffentlichende Meldung angeben.

Aktion für MQTT hinzufügen

Geben Sie das Topic an, in das veröffentlicht werden soll (z. B. Agent/alerts), und verfassen Sie Ihre Meldung entsprechend.

Senden von Befehlen

Agent DVR kann auch MQTT-Nachrichten zum Thema SERVER/commands empfangen und verarbeiten, wobei SERVER Ihr Servername ist (wird im Servermenü angezeigt und kann in den Einstellungen bearbeitet werden). 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 aufzunehmen: cmd=snapshot&ot=2&oid=1.

Mit mosquitto können Sie einen Befehl senden wie (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-Events, Status und Nutzungsstatistiken sendet. Um diese Funktion zu aktivieren, aktivieren Sie die Option "MQTT Events" auf der MQTT-Registerkarte beim Bearbeiten eines Geräts.

Diese Konfiguration umfasst Flags für Themen wie motion, connected, alert, recording, timelapse, alerts (Bewaffnungsstatus) und detector (Bewegungserkennung aktiviert oder deaktiviert).

Wenn Sie Home Assistant verwenden, müssen Sie nicht direkt mit diesen Themen arbeiten: siehe Home Assistant für automatische Einrichtung.

Fehlerbehebung

Wenn Sie häufige Verbindungstrennungen und Wiederverbindungen bei MQTT feststellen, deutet dies normalerweise darauf hin, dass die Client-ID, die in den Servereinstellungen unter MQTT angegeben ist, 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 in Home Assistant automatisch mithilfe von MQTT Discovery 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.
  • Warnungssensor: aktiv, während das Gerät warnt.
  • Verbindungssensor: ob das Gerät online ist.
  • Aufnahmesensor: aktiv, während das Gerät aufzeichnet.
  • Schalter "Aktiviert": schalten Sie das Gerät von Home Assistant aus ein oder aus.
  • Schalter "Warnungen": aktivieren oder deaktivieren Sie Warnungen von Home Assistant.
  • Schalter "Detektor": schalten Sie die Bewegungserkennung von Home Assistant aus ein oder aus.

Wenn Stats senden aktiviert ist, wird der Server auch als Gerät mit CPU-, Speicher- und Speicherplatz-Sensoren angezeigt. Alle Entitäten werden in Home Assistant als nicht verfügbar angezeigt, wenn Agent DVR offline geht.

Einrichtung

Sie benötigen einen MQTT Broker (typischerweise das Mosquitto Add-on auf Ihrem Home Assistant System) 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 genauso wie Home Assistant.

Bei einer Neuinstallation geben Sie einfach die Adresse Ihres Brokers und Ihre Anmeldedaten unter Home Assistant auf dem Willkommensbildschirm ein. Das war's: MQTT und Discovery sind für Sie aktiviert, und jede Kamera und jedes Mikrofon, das Sie später hinzufügen, wird automatisch in Home Assistant angezeigt.

Um dies später einzurichten (oder bei einer bestehenden Installation), gehen Sie zu Server Settings - MQTT, konfigurieren Sie Ihren Broker und aktivieren Sie sowohl Aktiviert als auch Home Assistant Discovery. Aktivieren Sie dann MQTT Events 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 Discovery aktiv ist, haben MQTT Events automatisch aktiviert; Geräte, die vorher vorhanden waren, behalten ihre aktuelle Einstellung.

Hinweise

  • Geräte werden in Home Assistant innerhalb von wenigen Sekunden angezeigt, nachdem Agent DVR sich mit dem Broker verbunden hat. Das Umbenennen eines Geräts oder das Umschalten von MQTT Events aktualisiert Home Assistant automatisch.
  • Das Discovery Prefix in den erweiterten MQTT-Einstellungen muss mit dem Discovery Prefix in der MQTT Integration von Home Assistant übereinstimmen. Lassen Sie beide auf dem Standard (homeassistant), es sei denn, Sie wissen, dass Sie es geändert haben.
  • Das Ausschalten von Home Assistant Discovery entfernt die Entitäten aus Home Assistant.
  • Die Schalter verwenden Agent DVR's MQTT Befehle im Hintergrund, daher können alle anderen Geräte in Ihrem MQTT Netzwerk die gleichen Befehle senden.