TapHome

Telecamera Dahua — Sensore di movimento

Packet Parser → HTTP
Inviato da
Ultimo aggiornamento: 04. 2026
Telecamera Dahua — Sensore di movimento

Dahua Technology è uno dei maggiori produttori di telecamere IP per videosorveglianza. Ogni telecamera Dahua (IPC, PTZ e termica) con rilevamento del movimento espone un endpoint HTTP CGI che restituisce lo stato corrente — TapHome usa questo endpoint per trasformare qualsiasi telecamera Dahua in un sensore di movimento binario capace di attivare scenari, registrazioni o notifiche.

Il template interroga ogni secondo un singolo endpoint CGI e mappa la risposta su un reed-contact: movimento attivo oppure nessun movimento. Non servono hardware aggiuntivi, account cloud o stream RTSP — TapHome e la telecamera comunicano direttamente sulla rete locale in HTTP non cifrato.

Configurazione

Rete

Il template dialoga con la telecamera sulla porta TCP 80 via HTTP non cifrato. Durante l’import del template in TapHome inserisci l’indirizzo IP della telecamera (consigliata una prenotazione DHCP o IP statico — le telecamere Dahua non pubblicano un hostname mDNS stabile).

ParametroValore
ProtocolloHTTP (porta 80)
Intervallo di polling1000 ms
Endpoint/cgi-bin/eventManager.cgi?action=getEventIndexes&code=VideoMotion
Autenticazionenessuna (vedi nota sotto)

Il template invia richieste HTTP GET non autenticate. I firmware Dahua più recenti richiedono autenticazione HTTP Basic o Digest a ogni chiamata CGI e, in assenza di credenziali, restituiscono una pagina HTML 401 Unauthorized. Il corpo HTML non contiene la stringa Error:No Events, quindi il template passerebbe stabilmente a “movimento attivo”. Devi quindi abilitare l’accesso anonimo a eventManager.cgi sulla telecamera, oppure disabilitare l’autenticazione HTTP nelle impostazioni di sicurezza. Se l’ambiente richiede accesso autenticato, metti davanti alla telecamera un reverse-proxy locale che inietti le credenziali.

Il template ha UseHttps=False cablato e usa la porta 80. I firmware che accettano solo HTTPS non sono supportati. Se la tua telecamera forza HTTPS, disabilitalo dall’interfaccia web in Setting → Network → HTTPS.

Abilitare il rilevamento del movimento sulla telecamera

Perché getEventIndexes&code=VideoMotion restituisca lo stato attivo, il rilevamento del movimento deve essere esplicitamente abilitato sulla telecamera. Su molti modelli Dahua è disabilitato di fabbrica.

  1. Accedi all’interfaccia web della telecamera su http://<ip-telecamera>/
  2. Vai a Setting → Event → Video Detection → Motion Detection
  3. Spunta Enable e clicca Save
  4. Definisci l’area di rilevamento (Area) — disegna la/le regione/i dove il movimento deve essere tracciato. Per default l’intero fotogramma è attivo.
  5. Regola Sensitivity (0 – 100, più alto = più facile da attivare) e Threshold (0 – 100, più basso = più facile da attivare) tramite la waveform live. Rosso = movimento rilevato, verde = nessun movimento.
  6. Configura la finestra temporale Period (piano di attivazione) per coprire le ore in cui TapHome deve reagire al movimento (tipicamente 24/7).
  7. Imposta Anti-dither a 1 – 5 s se desideri un breve back-off tra eventi consecutivi.

La telecamera deve avere anche un account utente con permessi Operator o superiori (necessari per leggere eventManager.cgi quando l’autenticazione è forzata).

Capacità del dispositivo

Stato del movimento

Il template espone un singolo dispositivo reed-contact che riflette lo stato corrente del movimento:

  • Movimento — la telecamera sta segnalando un evento VideoMotion attivo
  • Nessun movimento — la telecamera risponde con Error:No Events

Lo stato è derivato da uno script di polling a un secondo:

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

Quando il movimento cessa, la telecamera mantiene l’evento attivo per EventHandler.Delay secondi (default 30 s) prima di restituire Error:No Events. Il sensore TapHome resta quindi attivato fino a 30 secondi dopo l’ultimo movimento, anche se la logica PIR della telecamera ha già rilasciato. Per un tempo di mantenimento più breve, riduci il valore Delay nella configurazione eventi della telecamera.

Il sensore TapHome usa le etichette i18n standard Movimento (attivo) e Nessun movimento (inattivo), in modo coerente con gli altri sensori di movimento binari del sistema.

Modelli compatibili

Qualsiasi telecamera IP Dahua che esponga la HTTP API standard v1.40 (o successiva) con endpoint eventManager.cgi — copre la grande maggioranza delle serie IPC-H, IPC-K, IPC-E, PTZ e termiche rilasciate dal 2013 in poi. Il template è agnostico rispetto a risoluzione, codec e ottica — legge soltanto il flag binario dell’evento.

Risoluzione problemi

Il sensore è costantemente ON (mostra sempre movimento)

È il problema più comune e ha tipicamente due cause:

  1. L’autenticazione HTTP è forzata sulla telecamera. La richiesta non autenticata del template riceve una pagina HTML 401 Unauthorized. Poiché quella pagina non contiene la stringa Error:No Events, il template la interpreta come “movimento attivo”. Soluzione: abilita l’accesso anonimo a eventManager.cgi oppure disabilita l’autenticazione sulla telecamera.
  2. Firmware molto vecchio restituisce un body vuoto invece di Error:No Events in stato di riposo. Anche una stringa vuota non contiene il marker, quindi il template segnala movimento in continuazione. Soluzione: aggiorna il firmware della telecamera a una versione che restituisca la risposta idle corretta.

Apri http://<ip-telecamera>/cgi-bin/eventManager.cgi?action=getEventIndexes&code=VideoMotion nel browser e ispeziona la risposta grezza. Una risposta idle sana è un body testuale che contiene Error:No Events.

Il sensore è costantemente OFF (non mostra mai movimento)
  1. Il rilevamento del movimento è disabilitato sulla telecamera — ricontrolla Setting → Event → Video Detection → Motion Detection → Enable
  2. L’orario corrente cade fuori dalla finestra Period configurata (piano di attivazione)
  3. L’Area di rilevamento non copre la parte di scena in cui avviene il movimento
  4. La Sensitivity è troppo bassa o la Threshold troppo alta — ritaratura tramite la waveform live nell’interfaccia web
  5. La telecamera è nella finestra di back-off Anti-dither dopo l’evento precedente
Nessuna risposta / timeout
  1. Verifica la raggiungibilità della telecamera: ping <ip-telecamera> e apri http://<ip-telecamera>/ nel browser
  2. Conferma che HTTP sulla porta 80 sia abilitato in Setting → Network → Port
  3. Conferma che HTTPS sia disabilitato (o almeno non forzato) in Setting → Network → HTTPS
  4. Verifica che la CCU di TapHome e la telecamera siano sulla stessa sottorete / VLAN

Dispositivi disponibili

Telecamera Dahua Modulo
Sensore di movimento Contatto reed Solo lettura

Stato binario del movimento derivato dal flusso di eventi VideoMotion — segnala Movimento quando la telecamera ha un evento attivo, Nessun movimento quando l'endpoint risponde 'Error:No Events'

boolean text_contains

Sensore di movimento

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

return(INDEXOF(VideoMotionEvent.Content, "Error:No Events") = -1);
Possibili miglioramenti (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.

Fonti