
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).
| Parametro | Valore |
|---|---|
| Protocollo | HTTP (porta 80) |
| Intervallo di polling | 1000 ms |
| Endpoint | /cgi-bin/eventManager.cgi?action=getEventIndexes&code=VideoMotion |
| Autenticazione | nessuna (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 stringaError:No Events, quindi il template passerebbe stabilmente a “movimento attivo”. Devi quindi abilitare l’accesso anonimo aeventManager.cgisulla 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=Falsecablato 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.
- Accedi all’interfaccia web della telecamera su
http://<ip-telecamera>/ - Vai a Setting → Event → Video Detection → Motion Detection
- Spunta Enable e clicca Save
- Definisci l’area di rilevamento (Area) — disegna la/le regione/i dove il movimento deve essere tracciato. Per default l’intero fotogramma è attivo.
- 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.
- Configura la finestra temporale Period (piano di attivazione) per coprire le ore in cui TapHome deve reagire al movimento (tipicamente 24/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
VideoMotionattivo - Nessun movimento — la telecamera risponde con
Error:No Events
Lo stato è derivato da uno script di polling a un secondo:
| |
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:
- L’autenticazione HTTP è forzata sulla telecamera. La richiesta non autenticata del template riceve una pagina HTML
401 Unauthorized. Poiché quella pagina non contiene la stringaError:No Events, il template la interpreta come “movimento attivo”. Soluzione: abilita l’accesso anonimo aeventManager.cgioppure disabilita l’autenticazione sulla telecamera. - Firmware molto vecchio restituisce un body vuoto invece di
Error:No Eventsin 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)
- Il rilevamento del movimento è disabilitato sulla telecamera — ricontrolla Setting → Event → Video Detection → Motion Detection → Enable
- L’orario corrente cade fuori dalla finestra Period configurata (piano di attivazione)
- L’Area di rilevamento non copre la parte di scena in cui avviene il movimento
- La Sensitivity è troppo bassa o la Threshold troppo alta — ritaratura tramite la waveform live nell’interfaccia web
- La telecamera è nella finestra di back-off Anti-dither dopo l’evento precedente
Nessuna risposta / timeout
- Verifica la raggiungibilità della telecamera:
ping <ip-telecamera>e aprihttp://<ip-telecamera>/nel browser - Conferma che HTTP sulla porta 80 sia abilitato in Setting → Network → Port
- Conferma che HTTPS sia disabilitato (o almeno non forzato) in Setting → Network → HTTPS
- Verifica che la CCU di TapHome e la telecamera siano sulla stessa sottorete / VLAN