Video Integrations
Since access control and video surveillance often work hand-in-hand, integrations between these systems are particularly valuable to security dealers and their customers. Below are some of the features that can be supported through an integration:
- Indexing access control events in recorded video.
- Sending lock and unlock commands directly from camera views.
- Verifying access control events using facial recognition.
- Automatically opening vehicle barriers using license plate recognition (LPR).
Since cameras are the eyes and ears of a security system, we find that most users prefer the video system to be the "single pane of glass" that they interact with most often. We do not currently display video within the access control system.
Mapping Cameras
In order to support any of the features mentioned above, users must be able to map cameras to PDK devices. This interface can take many forms, but ideally the user would be able to see the camera views (not just the camera names) when selecting the devices within view. The screenshot below shows the camera mapping interface from the DW Spectrum integration.
It often makes sense to allow multiple cameras to be mapped to a single PDK device, since multiple cameras may be pointing at the same access point (e.g. to capture multiple angles). Conversely, it may also make sense to allow a single camera to be mapped to multiple PDK devices (e.g. if multiple access points are visible in a single camera view), though this may require additional effort when it comes to sending commands, since users will need to indicate which device the command is intended for.
Indexing Events
To begin indexing access control events, you'll need to subscribe to webhook notifications for specific events. When those events occur, notifications will immediately be sent to your cloud service for handling. However, with 85 events to choose from (some of which are overlapping), deciding which events to subscribe to is not a trivial task.
To help streamline the decision process, we’ve identified 20 events that are likely to coincide with meaningful video data. Ideally, users would be able to choose which events are indexed by your video service.
Event | Message |
---|---|
device.alarm.forced | deviceName forced alarm activated |
device.alarm.forced.cleared | deviceName forced alarm deactivated |
device.alarm.propped.off | deviceName prop alarm deactivated |
device.alarm.propped.on | deviceName prop alarm activated |
device.autoopen.off | deviceName auto open deactivated |
device.autoopen.on | deviceName auto open activated |
device.autoopen.override.off | deviceName auto open override deactivated |
device.autoopen.override.on | deviceName auto open override activated |
device.forceclose.off | deviceName DND deactivated |
device.forceclose.on | deviceName DND activated |
device.forceopen.off | deviceName force unlock deactivated |
device.forceopen.on | deviceName force unlock activated |
device.input.dps.closed | deviceName closed |
device.input.dps.opened | deviceName opened |
device.input.relay.off | deviceName locked |
device.input.relay.on | deviceName unlocked |
device.input.rex.on | deviceName REX activated |
device.request.allowed | holderName allowed access to deviceName |
device.request.denied | holderName denied access to deviceName |
device.request.unknown | Unknown user denied access to deviceName |
Sending Commands
If your video system is capable of sending arbitrary HTTP requests from configurable on-screen buttons, you can utilize this functionality to send commands to devices. In this scenario, an HTTP request is sent from the video system to your integration, which verifies the request before sending the appropriate command to PDK.