UNPKG

homebridge-dahua-alerts

Version:

Routes motion alerts for Dahua, Alhua and Lorex camera streams to `homebridge-camera-ffmpeg`

142 lines (121 loc) 5.4 kB
# homebridge-dahua-alerts [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins) [![npm version](https://badge.fury.io/js/homebridge-dahua-alerts.svg)](https://www.npmjs.com/package/homebridge-dahua-alerts) [![npm total downloads](https://img.shields.io/npm/dt/homebridge-dahua-alerts.svg)](https://www.npmjs.com/package/homebridge-dahua-alerts) Routes motion alerts for Dahua, Alhua, Amcrest and Lorex camera streams to homebridge-camera-ffmpeg Like this plugin? -> [Buy me a coffee](https://www.buymeacoffee.com/kusha) ### This plugin **only** supports **VideoMotion** alerts, not any SmartMotion detection. You must disable those features in order for this plugin to work correctly. [Please check issue #15 if you have compatible hardware and would like to contribute SmartMotion dectection](https://github.com/kushagharahi/homebridge-dahua-alerts/issues/15) --- Confirmed working with: | Dahua DVR | Dahua/Amcrest Standalone Camera | Lorex DVR | | - | - | - | | - | IP3M-943B | - | | - | IP5M-B1186EB | - | | - | DH-IPC-HDW3641TMP | - | | NVR4208-8P | - | - | | - | -| LHV1004 DHV | | DHI-HCVR4116HS-S3 | - | - | | DH-XVR5116HS-X | - | - | | - | DH-IPC-HDBW4631R-S | - | | DHI-NVR4104HS-P-4Ks2 | - | - | | - | - | NR818 | | - | N43AJ52-B | - | but lots of Dahua/Lorex NVRs and standalone cameras share this VideoMotion api. ## Installation 1. Install Homebridge using the [official instructions](https://github.com/homebridge/homebridge/wiki). 2. Install [`homebridge-camera-ffmpeg`](https://github.com/Sunoo/homebridge-camera-ffmpeg) 3. Configure your RTSP streams in `homebridge-camera-ffmpeg` 1. Configure `"porthttp": 8088` for `Http-based Automation`](https://sunoo.github.io/homebridge-camera-ffmpeg/automation/http.html) 2. Configure `"motion": true` for the camera streams you want motion detection 3. Configure `"motionTimeout": 0` to disable automatically resetting the motion after 1 second default 4. (Optional) Configure `"localhttp": true` to ensure HTTP automations only work from same device (for enhanced security) 4. Install [`homebridge-dahua-alerts`](https://www.npmjs.com/package/homebridge-dahua-alerts). 5. Configure your NVR and camera settings. - Ensure you have enabled `https` or port 443 on your device if you're getting `ECONNREFUSED` in the debug logs. Not required by all. ## Sample config.json * Configuration for one NVR with multiple cameras ### homebridge-camera-ffmpeg ```javascript { "name": "Camera FFmpeg", "porthttp": 8088, "localhttp": true, "cameras": [ { "name": "Driveway", "motion": true, "motionTimeout": 0, "videoConfig": { "source": "-i rtsp://admin:<snip>@192.168.1.XX:554/cam/realmonitor?channel=1&subtype=1" } }, { "name": "Porch", "motion": true, "motionTimeout": 0, "videoConfig": { "source": "-i rtsp://admin:<snip>@192.168.1.XX:554/cam/realmonitor?channel=2&subtype=1" } }, { "name": "Backdoor", "motion": true, "motionTimeout": 0, "videoConfig": { "source": "-i rtsp://admin:<snip>@192.168.1.XX:554/cam/realmonitor?channel=4&subtype=1" } } ], "platform": "Camera-ffmpeg" } ``` ### homebridge-dahua-alerts ```javascript { "cameras": [ { "index": 0, "cameraName": "Driveway" }, { "index": 1, "cameraName": "Porch" }, { "index": 3, "cameraName": "Backdoor" } ], "homebridgeCameraFfmpegHttpPort": 8088, "host": "XX.XX.XX.XX", "user": "admin", "pass": "XX", "platform": "dahua-alerts" } ``` - `homebridgeCameraFfmpegHttpPort` must match the `porthttp` config in the `homebridge-camera-ffmpeg` config - `host` is the IP of the NVR or camera - `user` is username of the NVR or camera - `pass` is the password of the NVR or camera - `useHttp` (optional) use HTTP instead of HTTPS to connect to host For each camera you want to monitor, add a new entry to the `cameras` array. - `index` if the camera's channel number substracted by 1 (the index starts from 0, the camera channel starts from 1) - `cameraName` must match the `name` of the camera specified in the `homebridge-camera-ffmpeg` config #### Override Camera Connection Credentials This is useful if you have standalone IP Camera(s) (not going through an NVR), a mix of IP Cameras and NVR(s), or multiple NVRs. To define a host/user/pass on a camera simply add the `cameraCredentials` object. If you have a top level host/user/pass defined, this object will override it. ```javascript "cameras": [ { "index": 0, "cameraName": "Driveway" "cameraCredentials": { "host": "XX.XX.XX.XX", "user": "admin", "pass": "XX" } }, ``` * If using a standalone camera, the index will always be `0` ### Local development - `npm run build` to get JS output in `dist` ## Credits Referenced [nayrnet/node-dahua-api](https://github.com/nayrnet/node-dahua-api) for the Dahua/Lorex motion alerts API.