Dahua Smart-Home-Integration, kostenlos und Open Source

Dahua-Kameras, Rekorder und Türsprechanlagen lokal: Bilder, Erkennungen, Klingeln, Steuerung.
Bindet Dahua-Kameras, -Rekorder (NVR, XVR) und -Türsprechanlagen (VTO) lokal über ihre HTTP-API in Gladys ein: Kamerabilder, Bewegung, Regeln für Linienüberschreitung und Eindringen, Personen und Fahrzeuge, Audioalarme, Klingeln an der Tür und die Steuerung der Kameras, die das können (Bewegungserkennung, Nachtsicht, Flutlicht, Sirene, Privatsphäre-Maske). Funktioniert auch mit den Marken auf Dahua-Basis, die deren API behalten, etwa Amcrest und Lorex. Kein Cloud-Konto, nichts verlässt dein Netzwerk.
Developed without the hardware: feedback welcome. Diese Integration wurde nach der öffentlichen HTTP-API von Dahua, der Arbeit der Home-Assistant-Integration
dahuaund echten Antworten von Geräten geschrieben, ohne ein Dahua-Gerät zur Hand. Wenn etwas nicht wie beschrieben funktioniert, eröffne bitte ein Ticket auf github.com/guim31/gladys-dahua/issues mit den Protokollen der Integration (LOG_LEVEL=debug).Diese Integration ist nicht mit Dahua verbunden. Dahua, Amcrest und Lorex sind Marken ihrer Inhaber.
Was du brauchst
- Eine Dahua-Kamera, einen Rekorder oder eine Türsprechanlage (oder ein White-Label-Modell mit Dahua-Firmware), die Gladys in deinem Netzwerk erreicht, mit funktionierender Weboberfläche (Port 80, oder 443 in HTTPS).
- Ein lokales Konto des Geräts, am besten ein Administratorkonto: Ein Konto ohne die Rechte kann lesen, aber keine Einstellungen ändern. Auf neueren Firmwares muss die Authentifizierung Digest MD5 zulassen (die Standardeinstellung).
- Gladys 5.1 oder neuer.
Marken, die auf eine reine Cloud-App umgestiegen sind (IMOU- / Lechange-Modelle ohne lokale Weboberfläche), können nicht verwendet werden.
Einrichtung
Einstellungen
Öffne in Gladys die Integration, dann ihren Reiter Konfiguration:
- Adressen der Geräte: die IP-Adressen (oder Namen) deiner Geräte, durch
Kommas getrennt, mit
:Port, falls nicht 80, undhttps://davor für HTTPS. Bei einem Rekorder genügt seine Adresse: Jede seiner Kameras wird ein Gerät in Gladys. Schreibe nie ein Passwort in eine Adresse. - Benutzername und Passwort: das Konto dieser Geräte (standardmäßig
admin). Das Passwort wird nur an die Geräte gesendet, nie an eine Cloud. - Adressen der anderen Geräte, Deren Benutzername, Deren Passwort (optional): Geräte mit anderen Zugangsdaten, typischerweise die Türsprechanlage.
- Kamerabilder: wie oft das Bild jeder zu Gladys hinzugefügten Kamera erneuert wird (standardmäßig alle 5 Minuten, oder nur bei Ereignissen). Eine Person oder ein Klingeln sendet immer ein neues.
- Sirenen steuern: fügt den Kameras mit Sirene einen Schalter Sirene hinzu. Standardmäßig aus.
- Öffnen der Tür erlauben: erlaubt Szenen, die Tür oder das Tor an einer Dahua-Türsprechanlage zu öffnen. Standardmäßig aus, siehe Türsprechanlagen.
- Sprache der Namen: die Sprache der Funktionsnamen und der Texte für Szenen (standardmäßig Französisch). Die Namen werden beim Hinzufügen eines Geräts zu Gladys festgelegt.
Speichere: Der Status unter dem Namen der Integration wechselt auf verbunden, und die Geräte erscheinen im Reiter Entdecken. Füge die gewünschten hinzu.
Ein falsches Passwort wird nur einmal versucht. Ein Dahua-Gerät sperrt das Konto nach einigen abgelehnten Passwörtern für 5 bis 30 Minuten: Bei der ersten Ablehnung hört die Integration auf, mit diesem Gerät zu sprechen (die anderen laufen weiter), bis du die Konfiguration änderst oder auf Verbindung testen klickst.
Konfigurationsaktionen
- Verbindung testen: liest jedes Gerät neu und zeigt für jedes sein Modell, seine Art und seine Anzahl an Kanälen, oder warum es nicht antwortet. Versucht außerdem ein zuvor abgelehntes Passwort noch einmal.
- Adresse des Videostreams anzeigen: Wähle eine Kamera, und die
RTSP-Adresse ihres Videostreams erscheint unter der Schaltfläche, bereit für
die Integration „RTSP-Kamera“ von Gladys (siehe
Live-Video). Das Passwort wird nie angezeigt: Ersetze
PASSWORDselbst.
Die Geräte
Kameras
Ein Gerät pro Kamera, mit den Funktionen, die ihre eigenen Einstellungen zeigen:
- Bild: das Kamerabild, im gewählten Abstand, bei jeder Person und jedem Klingeln und auf Anfrage erneuert;
- Online: an, solange das Gerät antwortet;
- Bewegung: an, solange die Kamera Bewegung meldet;
- Linienüberschreitung, Eindringen: an, solange eine Stolperdraht- oder Eindringregel (IVS) der Kamera ausgelöst ist — nur, wenn eine aktive Regel existiert;
- Person, Fahrzeug: an, solange die intelligente Bewegungserkennung eines sieht, oder 10 Sekunden lang, wenn eine Regel eine Person oder ein Fahrzeug meldet;
- Audioalarm: an, solange die Kamera ein plötzliches Geräusch meldet. Erscheint beim ersten Audioalarm: Klicke im Reiter Entdecken bei der Kamera auf Aktualisieren;
- Bewegungserkennung: schaltet die Bewegungserkennung der Kamera ein oder aus;
- Nachtsicht: das Infrarotlicht, Auto, An oder Aus;
- Flutlicht: das weiße Licht der Kameras, die eines haben. Einschalten erzwingt es; Ausschalten gibt ihm seinen vorherigen Modus zurück;
- Sirene: lässt die Sirene der Kameras mit Sirene ertönen, nur wenn Sirenen steuern aktiviert ist. Die Sirene stoppt nach 10 bis 15 Sekunden von selbst;
- Privatsphäre-Maske: verdeckt das Objektiv (Privatsphäre-Modus). Solange sie aktiv ist, erneuert der Zeitgeber das Kamerabild nicht.
Eine Regel, die nach dem Hinzufügen des Geräts aktiviert wurde, erscheint nach einer Suche im Reiter Entdecken, dann Aktualisieren.
Rekorder
Ein Rekorder ist kein Gerät in Gladys: Jede seiner Dahua-Kameras ist eines, benannt wie im Rekorder, mit Bild, Online, Bewegung, Bewegungserkennung, und Person und Fahrzeug auf den Kanälen mit intelligenter Bewegungserkennung. Per ONVIF hinzugefügte Kameras lassen sich nicht über die Dahua-API steuern und werden ausgelassen. Ein Rekorder hat einen einzigen Ereignisstrom für alle seine Kameras.
Türsprechanlagen
Eine Dahua-Türsprechanlage (VTO) ist eine Kamera mit Türklingel: Diese Funktion geht bei jedem Druck auf die Taste für 10 Sekunden an, und Gladys zeigt, wann es zuletzt geklingelt hat.
Das Öffnen der Tür ist standardmäßig deaktiviert und nie ein Schalter: Kein Dashboard-Schalter, kein Sprachassistent kann sie versehentlich öffnen. Ist Öffnen der Tür erlauben aktiviert, kann nur die Szenenaktion Tür einer Türsprechanlage öffnen es tun, und der Befehl wird einmal gesendet, nie wiederholt.
Dashboard
Das Widget Dahua zeigt auf einen Blick:
- die Kameras online (3/4) und die Personen und Klingeln der letzten 24 Stunden;
- die letzten Personen und Klingeln, die neuesten zuerst, jeweils mit dem Bild des Moments;
- den Zustand jeder Kamera.
Wähle in seinen Einstellungen eine Kamera, um nur diese anzuzeigen. Die Ereignisse werden im Speicher gehalten: Die Liste beginnt nach einem Neustart der Integration leer.
Szenen
Auslöser
- Person von einer Kamera erkannt: Eine Kamera hat eine Person gesehen. Filter: die Kamera, und was sie erkannt hat (intelligente Erkennung, Linienüberschreitungsregel, Eindringregel); leer gelassen passt alles. Die Aktionen können den Namen der Kamera, die Erkennungsart und den Namen der Regel verwenden. Ein Ereignis pro Kamera in 15 Sekunden: Eine von zwei Regeln gesehene Person startet die Szene einmal. Beim Start der Szene ist das Bild der Kamera in Gladys bereits das der Erkennung.
- Jemand klingelt an der Tür: Die Taste einer Türsprechanlage wurde gedrückt. Filter: die Türsprechanlage. Die Aktionen können ihren Namen verwenden. Das Bild der Türsprechanlage in Gladys ist bereits das des Klingelns.
Die Zustände der Geräte (Bewegung, Linienüberschreitung, Audioalarm…) stehen auch dem üblichen Auslöser „Gerätezustand“ von Gladys zur Verfügung.
Aktionen
- Kamerabild aktualisieren: nimmt ein neues Bild einer Kamera für Gladys auf, damit die nächste Aktion („Kamerabild senden“ in einer Nachricht) sendet, was die Kamera jetzt sieht.
- Tür einer Türsprechanlage öffnen: öffnet Tür 1 oder 2 einer Türsprechanlage. Abgelehnt, solange Öffnen der Tür erlauben nicht aktiviert ist.
Szenenideen
- Es klingelt: Auslöser „Jemand klingelt an der Tür“, dann „Kamerabild senden“ der Türsprechanlage an dein Telefon mit der Nachricht „Jemand an der Tür“.
- Person in der Einfahrt bei Nacht: Auslöser „Person von einer Kamera erkannt“ (Kamera Einfahrt), eine Bedingung auf die Uhrzeit, dann die Gartenbeleuchtung 5 Minuten lang einschalten.
- Ruhe, wenn du zu Hause bist: Wenn das Haus belegt ist, Bewegungserkennung der Innenkameras ausschalten; wieder einschalten, wenn alle gehen.
- Nachtsicht und Lampe am Eingang: Wenn die Eingangslampe angeht, Nachtsicht der Eingangskamera auf Aus stellen (keine Spiegelung im Glas); zurück auf Auto, wenn sie ausgeht.
Live-Video
Die Funktion Bild zeigt Standbilder. Für Live-Video nutze die Integration „RTSP-Kamera“ von Gladys:
- Starte Adresse des Videostreams anzeigen mit der Kamera.
- Füge die Kamera in der Integration „RTSP-Kamera“ mit dieser Adresse hinzu
und ersetze
PASSWORDdurch das Passwort des Geräts (rtsp://admin:PASSWORD@<Adresse>:554/cam/realmonitor?channel=1&subtype=0;subtype=1liefert den leichteren Nebenstream).
Aktualisierung und Grenzen der API
Gladys fragt diese Geräte nie ab: Die Integration folgt dem Ereignisstrom jedes Geräts live und liest die Einstellungen alle 5 Minuten neu (jede Minute, solange ein Ereignisstrom unterbrochen ist). Die Werte werden nur bei einer Änderung an Gladys gesendet, sonst erneut alle 6 Stunden.
Der Webserver eines Dahua-Geräts ist klein: Die Integration sendet höchstens zwei Anfragen gleichzeitig an jedes Gerät, liest ganze Tabellen (ein Rekorder kostet dieselben wenigen Anfragen wie eine Kamera) und wartet höchstens 20 Sekunden auf eine Antwort. Bilder: höchstens eines alle 6 Sekunden pro Kamera (Gladys nimmt 12 pro Minute an). Jede Anfrage erscheint im Protokoll des Geräts: Eine Aktualisierung alle 5 Minuten hält es lesbar.
Fehlerbehebung
- „Das Gerät antwortet nicht“: Prüfe die Adresse, ob das Gerät an ist und ob Gladys es erreicht (gleiches Netzwerk, Firewall).
- „Passwort abgelehnt“: Korrigiere Benutzername oder Passwort dieses Geräts, speichere und klicke dann auf Verbindung testen. Hat das Gerät das Konto gesperrt, warte auf die Entsperrung (5 bis 30 Minuten) oder starte es neu.
- „Keine Dahua-HTTP-API unter dieser Adresse“: Die Adresse ist nicht die des Geräts, oder die CGI-API ist dort deaktiviert (auf neueren Firmwares: Netzwerk, Port oder Sicherheit, „CGI“).
- „Dieses Konto darf das nicht“: Verwende ein Administratorkonto.
- „Das Gerät hat die Einstellung abgelehnt“: Dieses Modell oder dieser Kanal unterstützt sie nicht; die Funktion bleibt, wie sie war.
- „die Live-Ereignisse sind unterbrochen“: Die Zustände folgen weiter, jede Minute; Personen und Klingeln warten auf die Rückkehr des Stroms. Er verbindet sich von selbst neu.
- Eine Regel, ein Licht oder eine Maske fehlt: Aktiviere es auf dem Gerät, dann Suche im Reiter Entdecken und das Gerät Aktualisieren.
- Kein Bild: Die Integration verkleinert Bilder bis 4K; ein progressives JPEG größer als 1080p lässt sich im Speicher des Containers nicht verkleinern. Die Protokolle sagen es einmal.
- Für mehr Details setze
LOG_LEVEL=debugauf der Integration und lies ihre Protokolle. Diese enthalten nie ein Passwort.
Grenzen
- Ohne die Hardware entwickelt: getestet gegen echte Antworten der API und ein simuliertes Gerät, nicht gegen echte Geräte.
- Das Klingeln der Türsprechanlage wird aus dem HTTP-Ereignisstrom gelesen
(
BackKeyLight,PhoneCallDetect). Manche Türsprechanlagen melden es nur über ihr anderes Protokoll (DHIP, Port 5000), das noch nicht genutzt wird: Sag uns Bescheid, wenn ein Klingeln nicht erscheint. - Sirenen werden bei den Modellen erkannt, die bekanntlich eine haben, und bei Kameras, die einen Lautsprecher melden; die Sirene der Kameras hinter einem Rekorder wird nicht gesteuert.
- Keine PTZ-Steuerung, keine Steuerung der Aufnahme oder des Alarms, kein Gegensprechen.
- Multisensor-Kameras: Nur ihr erster Kanal wird verwendet.
- Die Ereignisliste des Widgets beginnt bei jedem Neustart leer.
- Bilder werden auf höchstens 960 Pixel Breite verkleinert (die Grenze von Gladys ist 150 KB pro Bild).
Konfigurationseinstellungen
Diese Einstellungen fragt Dahua in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Deine Dahua-Geräte | section | Nein | Kameras, Rekorder (NVR, XVR) und Türsprechanlagen (VTO) von Dahua und den darauf basierenden Marken (Amcrest, Lorex…), in deinem Netzwerk, über ihre HTTP-API. Verwende ein lokales Konto des Geräts, am besten ein Administratorkonto. Nichts läuft über eine Cloud. |
| Adressen der Geräte | string | Ja | IP-Adressen oder Namen, durch Kommas getrennt, mit :Port, falls nicht 80, https:// für HTTPS. Bei einem Rekorder genügt seine Adresse: Jede Kamera wird ein Gerät. |
| Benutzername | string | Nein | |
| Passwort | secret | Ja | Wird nur an die Geräte gesendet, nie an eine Cloud. Ein Gerät sperrt das Konto nach einigen Fehlversuchen: Die Integration stoppt bei der ersten Ablehnung. |
| Geräte mit anderen Zugangsdaten | section | Nein | Optional: eine Türsprechanlage oder Kamera, deren Benutzername oder Passwort von den obigen abweicht. |
| Adressen der anderen Geräte | string | Nein | |
| Deren Benutzername | string | Nein | |
| Deren Passwort | secret | Nein | |
| Kamerabilder | select | Nein | Wie oft das Bild jeder hinzugefügten Kamera erneuert wird. Eine Person oder ein Klingeln sendet immer ein neues. |
| Sirenen steuern | boolean | Nein | Fügt den Kameras mit Sirene einen Sirenenschalter hinzu. Standardmäßig aus: Eine versehentliche Sirene weckt die Nachbarschaft. |
| Öffnen der Tür erlauben | boolean | Nein | Erlaubt Szenen, die Tür oder das Tor einer Dahua-Türsprechanlage zu öffnen (nur Szenenaktion, nie ein Schalter). Standardmäßig aus. |
| Sprache der Namen | select | Nein | Sprache der Funktionsnamen und der Texte für Szenen. Die Namen werden beim Hinzufügen festgelegt. |
So installierst du Dahua in Gladys
- Öffne in Gladys Integrationen: Dahua erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-dahua:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-dahua.
Dahua benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
Dahua ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle Integrationen durchsuchen, native und aus der Community
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation