TapHome

Dahua Kamera — Bewegungssensor

Packet Parser → HTTP
Eingereicht von
Zuletzt aktualisiert: 04. 2026
Dahua Kamera — Bewegungssensor

Dahua Technology zählt zu den größten Herstellern von IP-Überwachungskameras weltweit. Jede Dahua-Kamera (IPC, PTZ und Wärmebild) mit Bewegungserkennung bietet einen HTTP-CGI-Endpunkt, der den aktuellen Bewegungsstatus liefert — TapHome nutzt diesen Endpunkt, um aus jeder Dahua-Kamera einen binären Bewegungssensor zu machen, der Szenen, Aufzeichnungen oder Benachrichtigungen auslösen kann.

Die Vorlage pollt einmal pro Sekunde einen einzigen CGI-Endpunkt und bildet die Antwort auf einen Reed-Kontakt ab: Bewegung aktiv oder keine Bewegung. Keine zusätzliche Hardware, kein Cloud-Konto und kein RTSP-Stream nötig — TapHome und Kamera kommunizieren direkt im lokalen Netzwerk über unverschlüsseltes HTTP.

Konfiguration

Netzwerk

Die Vorlage spricht die Kamera auf TCP-Port 80 über unverschlüsseltes HTTP an. Gib beim Vorlagenimport in TapHome die IP-Adresse der Kamera ein (eine DHCP-Reservierung oder statische IP ist empfehlenswert — Dahua-Kameras veröffentlichen keinen stabilen mDNS-Hostnamen).

ParameterWert
ProtokollHTTP (Port 80)
Poll-Intervall1000 ms
Endpunkt/cgi-bin/eventManager.cgi?action=getEventIndexes&code=VideoMotion
Authentifizierungkeine (siehe Hinweis unten)

Die Vorlage sendet nicht authentifizierte HTTP-GETs. Neuere Dahua-Firmware verlangt HTTP-Basic- oder Digest-Authentifizierung bei jedem CGI-Aufruf und liefert ohne Zugangsdaten eine HTML-Seite 401 Unauthorized. Dieser HTML-Body enthält den String Error:No Events nicht, daher würde die Vorlage dauerhaft auf „Bewegung aktiv" schalten. Du musst daher entweder anonymen Zugriff auf eventManager.cgi an der Kamera zulassen oder die HTTP-Authentifizierung in den Sicherheitseinstellungen der Kamera deaktivieren. Falls authentifizierter Zugriff zwingend ist, setze vor der Kamera einen lokalen Reverse-Proxy ein, der die Zugangsdaten injiziert.

In der Vorlage ist UseHttps=False fest gesetzt und Port 80 wird verwendet. Firmware, die ausschließlich HTTPS erlaubt, wird nicht unterstützt. Falls deine Kamera HTTPS erzwingt, deaktiviere es in der Weboberfläche unter Setting → Network → HTTPS.

Bewegungserkennung in der Kamera aktivieren

Damit getEventIndexes&code=VideoMotion einen aktiven Status liefert, muss die Bewegungserkennung in der Kamera explizit aktiviert sein. Ab Werk ist sie bei vielen Dahua-Modellen deaktiviert.

  1. Logge dich in die Weboberfläche der Kamera unter http://<kamera-ip>/ ein
  2. Navigiere zu Setting → Event → Video Detection → Motion Detection
  3. Setze den Haken bei Enable und klicke auf Save
  4. Definiere die Detektionszone (Area) — markiere die Region(en), in der Bewegung erkannt werden soll. Standardmäßig ist das gesamte Bild aktiv.
  5. Stelle Sensitivity (0 – 100, höher = leichter auslösbar) und Threshold (0 – 100, niedriger = leichter auslösbar) anhand der Live-Waveform ein. Rot = Bewegung erkannt, Grün = keine Bewegung.
  6. Konfiguriere das Zeitfenster Period (Scharfschaltplan) so, dass es die Stunden abdeckt, in denen TapHome auf Bewegung reagieren soll (typischerweise 24/7).
  7. Setze Anti-dither auf 1 – 5 s, falls du kurze Abstände zwischen aufeinanderfolgenden Ereignissen möchtest.

Die Kamera benötigt außerdem einen Benutzer mit Berechtigungen Operator oder höher (erforderlich für das Lesen von eventManager.cgi, wenn Authentifizierung erzwungen wird).

Gerätefunktionen

Bewegungsstatus

Die Vorlage exponiert ein einzelnes Reed-Kontakt-Gerät, das den aktuellen Bewegungsstatus der Kamera widerspiegelt:

  • Bewegung — die Kamera meldet gerade ein aktives VideoMotion-Ereignis
  • Keine Bewegung — die Kamera antwortet mit Error:No Events

Der Status wird aus einem Polling-Skript mit 1-Sekunden-Takt abgeleitet:

1
2
var VideoMotionEvent := SENDHTTPREQUEST("/cgi-bin/eventManager.cgi?action=getEventIndexes&code=VideoMotion");
return(INDEXOF(VideoMotionEvent.Content, "Error:No Events") = -1);

Endet die Bewegung, hält die Kamera das Ereignis noch EventHandler.Delay Sekunden (Standard 30 s) aktiv, bevor sie Error:No Events liefert. Der TapHome-Sensor bleibt daher bis zu 30 Sekunden nach der letzten Bewegung ausgelöst, auch wenn die PIR-Logik der Kamera bereits freigegeben hat. Für eine kürzere Haltezeit den Wert Delay in der Ereigniskonfiguration der Kamera reduzieren.

Der TapHome-Sensor verwendet die Standard-i18n-Labels Bewegung (aktiv) und Keine Bewegung (Ruhe) — konsistent mit anderen binären Bewegungssensoren im System.

Kompatible Modelle

Jede Dahua IP-Kamera, die die Standard-HTTP-API v1.40 (oder neuer) mit dem Endpunkt eventManager.cgi bereitstellt — das umfasst die meisten Serien IPC-H, IPC-K, IPC-E, PTZ und Wärmebildkameras ab Baujahr 2013. Die Vorlage ist unabhängig von Auflösung, Codec und Objektiv — sie liest ausschließlich das binäre Ereignis-Flag.

Fehlersuche

Sensor ist dauerhaft EIN (meldet ständig Bewegung)

Das häufigste Problem, üblicherweise mit zwei Ursachen:

  1. Auf der Kamera ist HTTP-Authentifizierung aktiv. Die nicht authentifizierte Anfrage der Vorlage wird mit einer HTML-Seite 401 Unauthorized beantwortet. Da diese Seite den String Error:No Events nicht enthält, interpretiert die Vorlage sie als „Bewegung aktiv". Behebung: anonymen Zugriff auf eventManager.cgi zulassen oder Authentifizierung an der Kamera deaktivieren.
  2. Sehr alte Firmware liefert im Ruhezustand einen leeren Body statt Error:No Events. Ein leerer String enthält den Marker ebenfalls nicht, daher meldet die Vorlage durchgehend Bewegung. Behebung: Firmware auf eine Version aktualisieren, die die korrekte Idle-Antwort liefert.

Öffne http://<kamera-ip>/cgi-bin/eventManager.cgi?action=getEventIndexes&code=VideoMotion im Browser und prüfe die Rohantwort. Eine gesunde Idle-Antwort ist ein Plain-Text-Body, der Error:No Events enthält.

Sensor ist dauerhaft AUS (meldet nie Bewegung)
  1. Die Bewegungserkennung ist an der Kamera deaktiviert — erneut Setting → Event → Video Detection → Motion Detection → Enable prüfen
  2. Die aktuelle Zeit liegt außerhalb des konfigurierten Zeitfensters Period (Scharfschaltplan)
  3. Die Detektionszone Area deckt den Bildbereich, in dem Bewegung stattfindet, nicht ab
  4. Sensitivity ist zu niedrig oder Threshold zu hoch — per Live-Waveform in der Weboberfläche nachjustieren
  5. Die Kamera befindet sich im Anti-dither-Backoff-Fenster nach dem letzten Ereignis
Keine Antwort / Timeout
  1. Erreichbarkeit prüfen: ping <kamera-ip> und http://<kamera-ip>/ im Browser öffnen
  2. HTTP auf Port 80 unter Setting → Network → Port aktiviert?
  3. HTTPS unter Setting → Network → HTTPS deaktiviert (oder zumindest nicht erzwungen)?
  4. TapHome-CCU und Kamera im selben Subnetz / VLAN?

Verfügbare Geräte

Dahua Kamera Modul
Bewegungssensor Reed-Kontakt Nur lesen

Binärer Bewegungsstatus aus dem VideoMotion-Ereignisstrom — meldet Bewegung, wenn an der Kamera ein aktives Ereignis anliegt, und Keine Bewegung, wenn der Endpunkt 'Error:No Events' zurückgibt

boolean text_contains

Bewegungssensor

Lesen
var VideoMotionEvent := SENDHTTPREQUEST("/cgi-bin/eventManager.cgi?action=getEventIndexes&code=VideoMotion");

return(INDEXOF(VideoMotionEvent.Content, "Error:No Events") = -1);
Mögliche Verbesserungen (10)
  • Realtime motion push (Attach stream) — Long-lived multipart HTTP stream pushing Start/Stop events without polling. Would lower latency and bandwidth, but needs a streaming parser.
  • Smart motion — human detection — AI-filtered event that only triggers on humans; reduces false positives from rain, insects, shadows.
  • Smart motion — vehicle detection — AI-filtered event that only triggers on vehicles (cars, bikes, trucks).
  • Tripwire (line crossing) — Triggers when an object crosses a user-defined line — useful for directional detection.
  • Intrusion (region entry) — Triggers when an object enters or leaves a user-defined polygon region.
  • Camera local alarm input — State of the camera's on-board alarm input terminal (dry contact). Not exposed by this template.
  • Video loss — Useful as a diagnostic — indicates the camera sensor has lost the video signal.
  • Snapshot capture — Returns a JPEG still image — could be wired to an action trigger, but out of scope for a binary sensor template.
  • HTTP authentication — Template issues unauthenticated GETs. User must disable auth on the camera or allow anonymous access to eventManager.cgi — otherwise a 401 HTML body can be misread as permanent motion.
  • HTTPS transport — Template has UseHttps=False hardcoded and uses port 80. HTTPS-only firmware is not supported.

Quellen