TapHome

Dahua Kamera — Senzor pohybu

Packet Parser → HTTP
Přidal
Poslední aktualizace: 04. 2026
Dahua Kamera — Senzor pohybu

Dahua Technology patří mezi největší výrobce IP kamer na trhu. Každá kamera Dahua (IPC, PTZ i termální) s detekcí pohybu zpřístupňuje HTTP CGI endpoint, který vrací aktuální stav pohybu — TapHome tento endpoint využívá k tomu, aby z libovolné Dahua kamery udělal binární senzor pohybu pro spouštění scén, nahrávek nebo notifikací.

Šablona každou sekundu čte jediný CGI endpoint a odpověď mapuje na reed kontakt: pohyb detekován nebo bez pohybu. Není potřeba žádný další hardware, cloudový účet ani RTSP stream — TapHome a kamera komunikují přímo v lokální síti přes nezabezpečené HTTP.

Konfigurace

Síť

Šablona komunikuje s kamerou na TCP portu 80 přes nešifrované HTTP. Při importu šablony v TapHome zadej IP adresu kamery (doporučujeme DHCP rezervaci nebo statickou IP — Dahua kamery neposkytují stabilní mDNS jméno hosta).

ParametrHodnota
ProtokolHTTP (port 80)
Poll interval1000 ms
Endpoint/cgi-bin/eventManager.cgi?action=getEventIndexes&code=VideoMotion
Autentizacežádná (viz upozornění níže)

Šablona posílá neautentizované HTTP GET požadavky. Novější firmware Dahua vyžaduje HTTP Basic nebo Digest autentizaci u každého CGI volání a bez přihlašovacích údajů vrátí HTML stránku 401 Unauthorized. Toto HTML tělo neobsahuje řetězec Error:No Events, takže šablona by přepnula na trvalý stav „pohyb aktivní". Musíš tedy buď povolit anonymní přístup na eventManager.cgi na kameře, nebo vypnout HTTP autentizaci v bezpečnostním nastavení kamery. Pokud tvé prostředí vyžaduje autentizovaný přístup, nasaď před kameru lokální reverzní proxy, která vkládá přihlašovací údaje.

Šablona má natvrdo nastavené UseHttps=False a používá port 80. Firmware vyžadující výhradně HTTPS není podporován. Pokud tvá kamera HTTPS vynucuje, vypni ho ve webovém rozhraní v Setting → Network → HTTPS.

Zapnutí detekce pohybu na kameře

Aby getEventIndexes&code=VideoMotion vrátil aktivní stav, detekce pohybu musí být na kameře explicitně zapnuta. U mnoha modelů Dahua je z výroby vypnutá.

  1. Přihlaš se do webového rozhraní kamery na http://<ip-kamery>/
  2. Přejdi na Setting → Event → Video Detection → Motion Detection
  3. Zaškrtni Enable a klikni na Save
  4. Nastav detekční oblast (Area) — vyznač region(y), kde se má pohyb sledovat. Předvolené je aktivní celé snímání.
  5. Nastav citlivost Sensitivity (0 – 100, vyšší = snadnější spuštění) a práh Threshold (0 – 100, nižší = snadnější spuštění) podle živé waveform. Červená = detekovaný pohyb, zelená = bez pohybu.
  6. Nakonfiguruj časové okno Period (aktivační rozvrh) tak, aby pokrývalo hodiny, kdy má TapHome reagovat na pohyb (typicky 24/7).
  7. Nastav Anti-dither na 1 – 5 s, pokud chceš krátké časové rozestupy mezi po sobě jdoucími událostmi.

Kamera musí mít také uživatelský účet s právy Operator nebo vyššími (potřebné pro čtení eventManager.cgi v případě, že je autentizace vynucena).

Možnosti zařízení

Stav pohybu

Šablona poskytuje jedno reed-kontaktové zařízení, které odráží aktuální stav pohybu z kamery:

  • Pohyb — kamera právě hlásí aktivní událost VideoMotion
  • Bez pohybu — kamera odpovídá řetězcem Error:No Events

Stav se odvozuje ze skriptu s jednosekundovým pollingem:

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

Po skončení pohybu kamera drží událost aktivní ještě EventHandler.Delay sekund (předvoleně 30 s), než vrátí Error:No Events. Senzor v TapHome tedy zůstává aktivní až 30 sekund po posledním pohybu, i když PIR logika kamery už stav uvolnila. Pokud chceš kratší dobu držení, sniž hodnotu Delay v nastavení událostí kamery.

TapHome senzor používá standardní i18n označení Pohyb (aktivní) a Bez pohybu (klid), stejně jako ostatní binární senzory pohybu v systému.

Kompatibilní modely

Jakákoli IP kamera Dahua, která zpřístupňuje standardní HTTP API v1.40 (nebo novější) s endpointem eventManager.cgi — tedy převážná většina sérií IPC-H, IPC-K, IPC-E, PTZ a termálních kamer vydaných od roku 2013. Šablona je nezávislá na rozlišení, kodeku a objektivu — čte pouze binární příznak události.

Řešení potíží

Senzor je trvale ZAPNUTÝ (pořád ukazuje pohyb)

Jde o nejčastější problém se dvěma typickými příčinami:

  1. Na kameře je vynucena HTTP autentizace. Neautentizovaný požadavek šablony dostane v odpovědi HTML stránku 401 Unauthorized. Protože tato stránka neobsahuje řetězec Error:No Events, šablona ji interpretuje jako „pohyb aktivní". Oprava: povol anonymní přístup na eventManager.cgi nebo vypni autentizaci na kameře.
  2. Velmi starý firmware vrací prázdné tělo místo Error:No Events, když je klid. Prázdný řetězec také neobsahuje hledaný marker, takže šablona hlásí pohyb neustále. Oprava: aktualizuj firmware kamery na verzi, která vrací správnou idle odpověď.

Otevři http://<ip-kamery>/cgi-bin/eventManager.cgi?action=getEventIndexes&code=VideoMotion v prohlížeči a prohlédni si surovou odpověď. Zdravá idle odpověď je textové tělo obsahující Error:No Events.

Senzor je trvale VYPNUTÝ (nikdy neukazuje pohyb)
  1. Detekce pohybu je na kameře vypnutá — znovu zkontroluj Setting → Event → Video Detection → Motion Detection → Enable
  2. Aktuální čas leží mimo nakonfigurované okno Period (aktivační rozvrh)
  3. Detekční oblast Area nepokrývá část scény, kde k pohybu dochází
  4. Sensitivity je příliš nízká nebo Threshold příliš vysoký — dolad’ je pomocí živé waveform ve webovém rozhraní
  5. Kamera se právě nachází v Anti-dither back-off okně po předchozí události
Žádná odpověď / timeout
  1. Ověř, že je kamera dostupná: ping <ip-kamery> a otevři http://<ip-kamery>/ v prohlížeči
  2. Zkontroluj, že je HTTP na portu 80 zapnuto v Setting → Network → Port
  3. Zkontroluj, že je HTTPS vypnuto (nebo alespoň ne vynuceno) v Setting → Network → HTTPS
  4. Ověř, že TapHome CCU a kamera jsou ve stejné podsíti / VLAN

Dostupná zařízení

Dahua Kamera Modul
Senzor pohybu Jazýčkový kontakt Pouze ke čtení

Binární stav pohybu odvozený z toku událostí VideoMotion — hlásí Pohyb, když kamera má aktivní událost, a Bez pohybu, když endpoint vrátí 'Error:No Events'

boolean text_contains

Senzor pohybu

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

return(INDEXOF(VideoMotionEvent.Content, "Error:No Events") = -1);
Možná vylepšení (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.

Zdroje