Reolink NVR Service Manager & Component Drivers for Hubitat
I created an app and set of drivers because I couldn't find any existing Reolink integrations for Hubitat that reliably handled the key capabilities of my Reolink NVR (RLN8-410), cameras, and doorbell —such as controlling camera spotlight/floodlight states, toggling IR LEDs and push notifications, and accurately capturing both standard motion and specific AI detection types (person, vehicle, animal).
Note: I am not a Groovy developer by trade! I built this code with significant help from Gemini and Grok. Feedback, bug reports, and code improvements/suggestions from the Hubitat community are very welcome!
Key Features
-
Centralized Auth & Network Communication: The parent application holds the NVR IP and credentials, handles all session tokens, and executes HTTP calls. Component drivers hold no network configurations or credentials.
-
Auto-Discovery: Scans the NVR for all configured channels, automatically matching them with either standard IP camera or doorbell component drivers.
-
AI Event Parsing: Differentiates between standard motion and AI-detected entities (Person, Vehicle, Animal).
-
Smart Motion Burst Polling: Triggers a rapid polling window (1s, 3s, 5s, 7s, 9s) on motion detection to capture quick state transitions, protected by a cooldown mechanism to keep scheduled jobs lightweight.
-
Device Control: Toggles push notifications, IR LED states, and white spotlight/floodlight outputs.
Driver & App Overview
| Component | Type | Import URL |
|---|---|---|
| Reolink NVR (Service Manager) | Parent App | https://raw.githubusercontent.com/gomce62/Hubitat/refs/heads/apps/Reolink%20NVR%20Service%20Manager |
| Reolink IP Camera (RLN8-410) | Child Driver | https://raw.githubusercontent.com/gomce62/Hubitat/refs/heads/Drivers/Reolink%20IP%20Camera%20RLN8-410%20driver |
| Reolink Doorbell (Auto-Detect NVR Channel) | Child Driver | https://raw.githubusercontent.com/gomce62/Hubitat/refs/heads/Drivers/Reolink%20Doorbell%20Auto-Detect%20NVR%20Channel%20driver |
Note: Reolink's local NVR API (api.cgi) does not expose physical doorbell button presses via local polling. Doorbell motion and AI object detection are fully supported.
Installation Instructions
1. Install Driver Code
-
In your Hubitat Elevation hub, navigate to Developer Tools > Drivers Code.
-
Click + New Driver, choose Import, and paste the URL for the Reolink IP Camera driver. Click Save.
-
Repeat the process for the Reolink Doorbell driver code.
2. Install App Code
-
Navigate to Developer Tools > Apps Code.
-
Click + New App, choose Import, and paste the URL for the Reolink NVR (Service Manager) app.
-
Click Save.
3. Initial Configuration
-
Navigate to Apps > + Add User App and select Reolink NVR (Service Manager).
-
Enter your NVR IP Address, Username, and Password.
-
Click Discover / Manage Channels.
-
Tap Scan NVR Now to query your NVR channels.
-
Review found channels, adjust device types if needed (Auto-detect, IP Camera, or Doorbell), and select which channels to create.
-
Click Done to save and spawn the child devices.