Turn a Dahua camera's own person and vehicle detection, and a video doorbell's button, into Indigo sensors.
Version: 1.25 | Author: CliveS & Claude | Needs: Indigo 2022.1 or later
Read the full guide — setting up, what everything means, and what to do when something goes wrong.
Most Dahua cameras from the last few years work out for themselves whether they are looking at a person or a vehicle. This plugin lets Indigo hear those detections straight from the camera, over your home network, so there is no video analysis server, no subscription, nothing studying pictures on the Indigo Mac, and no video leaving the house.
- Makes a sensor for each detection, named after the camera, such as
Drive PersonandDrive Vehicle, which switches on when the camera sees one. Use it in triggers, notifications and control pages like any other device. - Runs a trigger once per visit. A camera reports many short detections as someone moves about, so the sensor stays on until 20 seconds after the last one. You can change that for every camera or for one.
- Works with older cameras too, through a tripwire or intrusion zone drawn in the camera's own settings.
- Tells you when a doorbell is pressed, on a Dahua or Amcrest video doorbell.
- Asks the camera what it can do before you add it, and ticks the detections that will work.
- Says plainly when a detection cannot work, and why — the firmware cannot do it, it is switched off in the camera, or no tripwire or zone is drawn.
- Keeps the Event Log quiet. Each detection goes to the plugin's own log file unless you ask for it in the Event Log as well.
| In Indigo | Your camera |
|---|---|
| Person and Vehicle | A Dahua camera with Smart Motion Detection, which most have from about 2022 onward |
| Tripwire and Intrusion | An older Dahua camera, with a tripwire or intrusion zone drawn in its own settings |
| Pressed | A Dahua or Amcrest video doorbell. I use it on an Amcrest AD110 |
The plugin uses one camera username and password for every camera.
- Go to the Releases page and download
DahuaEvents.indigoPlugin.zip - Unzip the downloaded file — you will get
DahuaEvents.indigoPlugin - Double-click
DahuaEvents.indigoPlugin— Indigo will install it automatically
- Open Plugins → DahuaEvents → Configure, fill in the Camera username and Camera password, and click Save.
- Create a New Device with its Type set to DahuaEvents. In the camera dialog, give the camera a name such as
Driveand type in its network address — the four numbers, such as192.168.1.64, that its own web page or your router shows. - Click Check This Camera, which ticks the detections that will work, then click Close. You get one device for each ticked detection.
- Walk in front of the camera, and the Person device should switch on.
The full guide goes through each step, explains what to switch on in the camera, and covers what to do if something does not work.
v1.25 — A detection could reach Indigo up to five seconds late, or its end could, because the message sat unseen inside the plugin until the camera next sent anything. Now every message is passed on as soon as it arrives.
v1.24 — Some cameras report a detection as a single moment, with no separate start and stop. The plugin used to read that as a stop, so the device never switched on. Now it switches on, holds as usual, and switches off. Any message the plugin does not recognise is ignored, with one warning in the Event Log, rather than switching a device off.
v1.23 — Cameras on a Dahua NVR. A new NVR channel setting makes a device hear just that channel, and its checks look at that channel's settings. Before, every channel's detections reached the same device, and a detection ending on one channel could switch the device off while another channel was still seeing someone. Leave it blank for a camera, which works as before.
v1.22 — A wrong camera password no longer keeps the camera's account locked. Before, each try sent the wrong password six times and the plugin tried again every minute, which is enough for a Dahua camera to lock the account, for your NVR and phone app too. Now the camera is sent the wrong password once in all, even when the plugin starts and checks every device at the same moment. The devices show Camera refused the login, and the plugin waits 30 minutes before trying again. Saving a new password in Configure still reconnects straight away.
v1.21 — A device no longer stays on for hours when the camera's "stopped" message is lost, for instance because the camera rebooted mid-detection. When a camera's connection drops, any of its devices that are on switch off after the usual hold, and a new Longest detection setting, 10 minutes to start with, switches off one that hears nothing more. A second device for the same camera and detection is now refused.
v1.20 — A device that cannot work, such as one with no rule drawn on the camera, now keeps its red message until the problem is fixed. Before, the message vanished at midnight or when the camera's connection dropped, so the device looked healthy. It also goes back to its own message when the camera's connection returns, instead of staying on Reconnecting.
v1.19.1 — Since 1.18 the plugin swaps a camera's connection while it runs, and the old connection's last word was being written to every device on that camera, which Indigo refused and logged as an error. It is now ignored.
v1.19 — A new hold, camera username or password typed into Configure now takes effect when you click Save, with no reload, and so does a device's own hold. The plugin also comes with a template for the shared IndigoSecrets.py file.
Every version is listed in the version history.
Vibed into existence by CliveS, who knew what he wanted, argued until he got it, and tested it on a real house. Typed at inhuman speed by Claude (Anthropic), who mostly did as it was told.
© 2026 CliveS · MIT licence — copy it, fork it, bend it, break it, fix it, ship it. If it breaks, you get to keep both pieces.