Integration with sensors
Integration Overview
Common VMS integrations include the following sensor types:
Access control systems.
Fire alarm panels.
Smoke detectors.
Water leak detectors.
External motion sensors.
Point-of-sale (POS) systems.
AI/ML-based sensors.
Assumptions and Prerequisites
API, SDK, and/or vendor documentation for each sensor.
Assigned IP addresses or hostnames for all sensors.
Authentication credentials (API keys, usernames/passwords, or certificates).
Network, Time, and Security
Network: Sensors and the VMS must be routable (LAN/VPN). Required ports opened bidirectionally as per vendor docs.
Time sync: All devices (sensors, VMS, middleware) synchronized via NTP to the same time source.
Security: Use TLS where supported; store credentials securely; principle of least privilege for API tokens.
Integration Steps
Recommended approach: implement a lightweight Python service that performs the following steps:
Keep a list of all sensors with their IP addresses and credentials.
Associate each sensor with 1 or several cameras in VMS.
Use camera access token that you can retrieve either using VMS API or Web UI.
Authenticate access to the sensors.
Listen to events from the sensors.
When an event is received trigger a “custom event” on VMS.
Use the access tokens of cameras associated with this sensor.
Call “trigger custom event” VMS API function.
Pass all the metadata from the sensor to the function.
VMS UI
To visualize the results in the VMS UI, you can do the following
Associate a “custom event” with one of the “known types”.
Create an Alert Rule using the “known type”.
Optional. Add AI or Gen AI for post processing.
Now you should see the custom events in the Alerts page and also in the Player’s timeline. For deeper integration and visualization of sensor specific data changes in the VMS UI will be required (VMS UI comes with full source code).
VMS API
Using the VMS API or UI you can now perform the following tasks:
Search for sensor events and related metadata.
Retrieve images and video associated with each event.