ProdataKey’s DW NVR (Network Video Recorder) Integration Tool works in conjunction with DW (Digital Watchdog), a leading provider of video surveillance solutions, to bring together the technology and features of both applications to provide even more powerful security solutions. Digital Watchdog’s 'DW Spectrum' application is a customizable, IP-based video management platform that works in conjunction with ProdataKey’s powerful Cloud Node system to provide users with the ability to create tailored networked video surveillance projects that anyone can use on any device. See how these two platforms work together to create a seamlessly integrated experience: door activity, video pop-up, bookmarking, lock/unlock/lockdown doors, and more from one synchronized platform.
The ProdataKey/Digital Watchdog NVR Integration Tool provides the capability to create Generic Events in Digital Watchdog’s Spectrum IPVMS software DW Spectrum. Once the installation is complete and an event is generated in pdk.io, it will create a corresponding Generic Event in the Spectrum IPVMS software. The integration also allows for specific actions to be triggered in pkd.io from the DW Spectrum interface.
For more regarding the Digital Watchdog software, please refer to the in-depth article available here: Digital Watchdog Manual
Downloading the Installation Files
The ProdataKey/Digital Watchdog NVR Integration Tool is available for both Windows and Linux. For Linux installations, the operating system needs to be Ubuntu 16.04 LTS or newer.
Important: It is recommended that the NVR Integration Tool be installed on the same computer system on which the Digital Watchdog’s Spectrum software has been installed. The ProdataKey DW NVR Integration Tool requires that 'Nodejs', version 8.0.0 or above, is installed on the system where the Integration Tool will be installed.
NodeJS Windows Installation Download
Windows Installation Download
NVR Tool Download (for Windows)
Linux Installation Download
Installing the NVR Integration Tool
Important Note
Before beginning the installation process, either Windows or Linux, a PDK.io login for the integration will need to be created and completely configured. This will be used for communication between ProdataKey and Digitial Watchdog.
Important information before beginning
If the version of the Digital Watchdog software installed on the server is 4.0, proceed with the installation of the ProdataKey/Digital Watchdog NVR Integration Tool outlined below.
If the version of the Digital Watchdog software installed on the server is 5.0, then prior to downloading the ProdataKey/Digital Watchdog NVR Integration Tool there is an additional step that needs to be taken first. Open the Digital Watchdog software and then create a User named 'prodatakey', without the quotes. At the bottom of the User creation window, click on the option kabob (three vertical dots) and select 'Allow digest authentication for this user'. Then enter a new password for the user, as required by the DW software.
Windows Installation Instructions
For information regarding the Windows installation process, please to our article about Digital Watchdog Windows Installation Instructions.
Linux Installation Instructions
For information regarding the Linux installation, please to our article about Digital Watchdog Linux Installation Instructions.
Using Event Rules
Using DW events, many results can occur in response to ProdataKey Cloud Node events.
For example, it is possible to trigger a bookmark in the timeline if the value of the source is "Front Door", you can put "Front", "Door", "Front D", etc. in the 'Source contains' filter field to match to it (the single word "Door" will get all events with the word "Door" in Source event). Most of the time the full name of the door is used in this field.
Caption Filter
The caption filter field is used to choose which Cloud Node events trigger the creation of a bookmark. A list of the available event, labeled as 'DW Spectrum IPVMS Generic Event Caption', can be found below in the Generic Events section. Leaving this field blank will cause all events from the Cloud Node system to execute the rule action.
To only trigger an action on an Allow event, the appropriate caption value is 'door.request.allowed' and this event would need to be entered in the 'Caption contains' field.
To trigger an action any time an access is attempted, whether that attempt succeeds or fails, put a partial value such as 'door.access' in the 'Caption contains a' field to capture all events that start with the listed event.
Using the Event Rules List
There are several ways to open the Event Rules dialog.
- Use the Event Rules icon in the Notification Panel (shortcut Ctrl+E).
- Open System Administration (shortcut Ctrl+Alt+A) > General tab and click the Event Rules button.
- Use the device context menu and select Device Rules to list the rules that apply to that specific device.
- Click the Device Rules button in the Device Settings dialog.
Each row in the Event Rules list is a rule.
Invalid Rules
If a rule is not configured correctly, the rule will have a red background indicating it is invalid.
A small dot in the left-most # column indicates that an event has unsaved changes.
Filtering and Sorting the Event Rule List
Clicking each of the column headers sorts the rules in ascending or descending order by the values in that column.
The Filter field applies to devices (Source column) only. Filter results refresh as characters are entered and will include rules that apply to multiple devices if any one of the devices matches the criteria.
Rules that apply to <Any Device> will never be filtered out. To disable filtering, clear the field.
Editing Rules from the List
The Event Rules list provides basic editing functions. A click on any parameter in the list will open a pull-down menu , where the parameter value for the selected rule can be edited. A right-click on any parameter opens a context menu allowing the following actions: creating a New rule, Delete the selected rule, or set up a Schedule for the selected rule.
Editing Rules from the Advanced Settings Form
You can also configure rule parameters using the Advanced Settings form on the lower half of the dialog.
Using the Event Rules Form
The form opens in the lower half of the Event Rules dialog when you select a rule in the list or when you click the Add button. Often it includes parameters that are not available in the Event Rules list.
Adding an Event Rule from the Form
- Click the Add button (or right-click an existing rule in the list and click New in the context menu). The form will open and a new line for the rule is added to the list.
- Select the Event to be monitored and the Action to execute when that event occurs. Each requires one or more of these parameters.
For Events
- When – Click on this field in the form (or the Event field in the list) to select from the menu of events.
- Starts or Stops – Events that can occur continuously, such as a motion on a camera, require a state definition of either Starts or Stops.
- Device(s) – Click on the 'at' field in the form (or double-click the Source field in the list) to select one or more devices.
For Actions
- Do – Click on this field in the form (or the Action field in the list) to select from a menu of Actions.
- Device(s) – Click on the at field (or the Target field in the list) to select one or more devices that will execute the action. At least one device must be selected for a rule to be valid.
- User(s) – Click on the To field in the form (or the Target field in the list) to select one or more user roles as the recipient of the action. NOTE: At least one user must be selected for a rule to be valid.
- Schedule – Click this button to open a calendar for Setting up Schedule for Tracking Events.
- Comments – Enter any desired remarks.
- Interval of action and Fixed duration – Check this option to specify how long an action will last, typically in response to a continuous event. Enter the duration, in seconds; zero is not a valid entry, and depending on the action, there may be an upper limit to the duration.
Click Apply to accept changes and keep the dialog open. Click OK.
NOTE: If one or more rules are not correctly defined, you will get the error message: Some rules are not valid. Disable them?
- Click Yes to disable the invalid rules. Invalid rules will remain in the list but their On checkbox will not be checked.
- Click No to allow invalid rules to be active. The On checkbox will be checked and the rule will be highlighted in red.
In the Event Rule list, set or clear the On checkbox to enable or disable the rule.
IMPORTANT: Make sure notification for the event type is turned on in Global Notifications.
Selection Lists in Event Rules
Event rules use selection lists to choose devices and users. Selection and filtering behavior, described in the next topic, is consistent in both.
Continuous or Instant Events
Some events may be continuous, some can only be instant, and some may be either (Generic or Analytics Events).
- Continuous – Events that can occur continuously, such as motion on a camera, require a State definition of either Starts or Stops.
- Instant – These are events that occur instantly, without duration, such as a device being disconnected or a server starting. For Generic and Analytics events, instant events are labeled Occurs.
Instant, Interval, or Fixed Duration Actions
The following parameters are available for most Actions, depending on their intended behavior.
- Interval of action – Check this option to limit the frequency with which an Action will occur in response to an Event. Enter an integer value (1 - 999) in the No more than once per field, and select a corresponding time increment (sec, min, hrs, days). This feature is useful, for example, with an action such as show notification where the triggering event may be continuous but it is only necessary to be notified periodically.
- Instant – Uncheck this option so the Action will execute every time the Event occurs.
- Fixed duration – Check this option to specify how long an Action will last, typically in response to a continuous Event. Enter the duration, in seconds; zero (0) is not a valid entry. Depending on the Action, there may be an upper limit to the duration.
Generic Events
Generic Events occur when the DW server receives an HTTP from the Prodatakey Cloud Node system.
The DW Spectrum software allows the ProdataKey Cloud Node system to send an HTTP string known as a CreateEvent API call. The CreateEvent request must follow the proper format in order to be read by the server, and the Event fields in the rule must match the corresponding fields in the HTTP request to be acted upon. Full server API documentation is accessed on any installed server from
http://<serveripaddress>:<servernetworkport>/static/api.xml.
NOTE: Values in the Event field are case-sensitive; an empty string functions as a wildcard, where any value is considered a match.
When a Generic Event is created in the DW Spectrum System, there are three basic parameters associated with each event; each HTTP request contains these three parameter data pieces: the source, caption, and description.
These three data events are searched and filtered by the DW System. This can be leveraged in the Bookmark Log (Ctrl-B) when bookmarks are created from Events, and when creating Event Rules (Ctrl-E).
Source
The source parameter of the Generic Event is the name of the device in the pdk.io system that generated the PDK io event.
Caption
The caption parameter of the Generic Event is determined by the corresponding pdk.io event type that was generated. This can be any of the following values:
PDK.io Event Type | DW Spectrum IPVMS Generic Event Caption | Description |
Open (DPS) | door.input.dps.opened | The door position sensor detected the door open. |
Close (DPS) | door.input.dps.closed | The door position sensor detected the door closed. |
AutoOpen Enabled | door.autoopen.on | Auto open became active on the device. |
AutoOpen Disabled | door.autoopen.off | Auto open became deactivated on the device. |
Door Propped Alarm | door.alarm.propped.on | The door propped alarm has triggered for the device. |
Door Propped Alarm Clear | door.alarm.propped.off | The door propped alarm has been cleared for the device. |
All Prop Clear | door.alarm.propped.alloff | All door propped alarms have been cleared. |
Door Forced Alarm | door.alarm.forced | The door forced alarm has triggered for the device. |
Communication Loss | endpoint.alarm.commloss.on | Communication to the connection has been lost. |
Communication Loss Clear | endpoint.alarm.commloss.off | Communication to the connection has been re-established. |
No Person Associated with Credentials | door.request.unknown | An unknown credential was scanned and access was implicitly denied. |
Access Allowed | door.request.allowed | A known credential was scanned and access was allowed. |
Access Denied | door.request.denied | A known credential was scanned and access was denied. |
Duress PIN Entered | door.request.duress | A duress PIN was used to authenticate at the reader. |
Request to Exit Open | door.input.rex.on | The request to exit was triggered on the door. |
Request to Exit Closed | door.input.rex.off | The request to exit was cleared on the door. |
Card Scan Error | error.card.parse | Bad data was received from the card reader connected to the door. |
Description
The description parameter of the Generic Event is the same text that is generated for the info text of the Live Events in pdk.io.
Generic Events created by pdk.io do not have the following parameters defined (Metadata and Occurs). These are parameters that are defined in DW Spectrum.
Soft Trigger
The Soft Trigger Event type adds a button to one or more devices in layout. When a user clicks on a Soft Trigger button, the associated action is triggered. The Event can be instant (when the button is clicked), or continuous (triggers as long as the button is held). Soft Trigger buttons appear as a circular overlay in the lower-right region of an item and will display the contents of the Name field when the mouse cursor hovers over it.
For example, a Soft Trigger button can be created to start and stop a Bookmark recording when an operator sees suspicious activity. It can also be a panic button that starts a siren when an emergency situation is detected.
In addition to making it possible for a user to initiate an action from layout, a Soft Trigger that has a Perform HTTP Request action makes it possible to integrate third-party systems and devices, and to bundle multiple actions within an event.
For example, a Soft Trigger can be created with an HTTP request to a third-party device that initiates one or more of the actions the device is capable of, such as "if temperature that exceeds 110°F is detected, close door."
Basic Parameters
- at – Click in this field to select the device(s) that will have the Soft Trigger button. Note that if you choose to, the button will be placed on offline devices as well.
- Available to – Click in this field to select the users or user roles that are allowed to use the Trigger.
IMPORTANT: To be able to trigger an event on a device, the user or user role must have input permission on the device. If they do not, the following warning appears.
- Name – Enter a brief description of the event that will be triggered. Contents of this field are displayed on the layout when the mouse cursor hovers over the button.
- Icon – Select from the menu of available icons.
Available Actions
The reaction to an Event is an Action. Each Action has its own parameters. The common parameters Interval of action, Instant, and Fixed duration are described here.
- Interval of action – Check this box to limit the frequency with which an action will occur in response to an event. Enter an integer value (1 - 999) in the No more than once per field, and select a corresponding time increment (sec, min, hrs, days). This feature is useful, for example, with an action like show notification where the triggering event may be continuous but it is only necessary to be notified periodically. If unchecked, the action is instant and will occur whenever the event is triggered.
- Instant – These are events that occur instantly, without duration, such as a device being disconnected or a server starting. For Generic and Analytics events, instant events are labeled Occurs. By unchecking this option, the Action will execute every time the Event occurs.
- Fixed duration – The duration of the Bookmark. Applies to continuous events only (those with Starts and Stops attributes). It can be unchecked for continuous events such as motion on a camera, an input signal on a device, etc. If not checked, the Bookmark will continue until the event ends. Check this option to specify how long an Action will last, typically in response to a continuous Event. Enter the duration, in seconds; zero (0) is not a valid entry. Depending on the Action, there may be an upper limit to the duration.
Bookmark
Creates a Bookmark in the archive of one or more cameras when an event occurs.
NOTE: Recording must be enabled on the selected cameras for Bookmarks to be saved. A Bookmark is automatically named with this syntax: <Event> on <Device>
Basic Parameters
- at – Camera(s) for which Bookmarks will be recorded. To specify cameras see Selection Lists in Event Rules. At least one device must be selected.
Advanced Parameters
- Fixed duration – The duration of the Bookmark. Applies to continuous events only (those with Starts and Stops attributes). It can be unchecked for continuous events such as motion on camera, an input signal on a device, etc. If not checked, the Bookmark will continue until the event ends.
- Pre-Recording – If checked, used to specify an amount of time to include in the Bookmark before the event occurs.
- Post-Recording – If checked, used to specify an amount of time to include in the Bookmark after the event occurs.
- Tags – Optional descriptors that can be added to help identify and search for Bookmarks.
May be caused by
- All Events
- Notifications with Force Acknowledgment enabled will create the Bookmark when an acknowledgment is complete.
Why Action may work incorrectly
- Recording is not enabled on a selected camera.
- The event is not configured properly.
Device Output
Generates output on a device when an event occurs, starts, or stops.
IMPORTANT: Output must be supported on the selected devices.
Basic Parameters
- at – Device(s) on which output will be triggered. To specify devices see Selection Lists in Event Rules. At least one device must be selected.
NOTE: A warning notification will open if one or more of the selected devices does not have an output relay. These devices will be highlighted in red.
Advanced Parameters
Output ID – The I/O Module port ID to route the signal to.
May be caused by
- Any Event
- Generic Event
- Soft Trigger
- Input Signal on Device - Synchronous output. Output stops when motion or input stops.
Why Action may work incorrectly
- Output is not supported on some devices.
- The event is not configured properly.
Device Recording
Starts recording on selected cameras when the event occurs.
Basic Parameters
- at – Devices to record. To specify cameras see Selection Lists in Event Rules. At least one device must be selected.
- Click on the at field to open the Select Devices dialog.
- Optionally, use the filter field to locate cameras.
- Check specific cameras to record, or select all cameras on a server by checking the corresponding box. (It is also possible to drag-and-drop the selected cameras from the Resource Tree into this field.
- Click OK.
IMPORTANT: At least one camera must be selected, and recording must be enabled on the selected cameras for this rule to be functional.
- Interval of action – Check this option to aggregate the number of times the action will be triggered. For No more than once per a given amount of time, or instance, enter an integer value (1 - 999) and select a time interval from the menu (seconds, minutes, hours, or days). If unchecked, the action is instant and will occur whenever the event is triggered. This feature is useful, for example, with an action such as show notification where the triggering event may be continuous but it is only necessary to be notified periodically.
Advanced Parameters
- Quality – Select the desired recording parameter for these options: Lowest, Low, Medium, High, Best.
- FPS – Enter a value for frames per second (up to 30). The camera's maximum FPS will be used if the FPS value entered exceeds the camera's capability.
Select one of the following:
- Post-recording – For continuous events (those with Starts and Stops attributes), you can enter the number of seconds that recording will continue after the triggering event.
- Fixed duration – Records for a specified amount of time in seconds when the event occurs.
May be caused by:
- Generic Event
- Soft Trigger
Why Action may work incorrectly
- The recording is not enabled on the camera.
- The event is not configured properly
Do HTTP Request
A Do HTTP Request is an Action that would be done when creating a rule event in DW Spectrum in order to send a command to PDK io. The Do HTTP Request sends an HTTP request to a targeted external device or system (a floodlight switch, access control trigger, or an alarm system, for example) which can then be used in those devices or systems to trigger additional actions. The request must follow the proper format in order to be read by the receiving device.
This action generates an HTTP GET, POST, PUT, or DELETE request in response to any event triggered in DW Spectrum. Together with the Generic Event, which can receive an HTTP request as an event, a bi-directional API communication can be created between DW Spectrum and PDK io.
For example, a manufacturer has a restricted area with an ACS card reader at the entry point and cameras that monitor the area surrounding the entry point. DW Spectrum has a standard rule to send a notification when abnormal duration motion is detected in the entry area. If someone tampers with the card reader in an unauthorized attempt to enter the restricted area, DW Spectrum triggers one action to notify the surveillance center that motion is detected in the area, and a second HTTP request action to the manufacturer's call center server, which in turn runs a security procedure to activate an alarm and generate a phone call to the factory floor security personnel.
Example
http://123.12.8.1:7001/api.clickandcall.com/http/sendmsg?user=WitnessVMS&password=123456& api_id=3612726$MO=1&from15554567890&to=15551234567$text=Visitor+is+outside+front+door
This example sends an API request to the clickandcall system to send an SMS message to the specified phone number (15551234567 in the example above). It could be coupled, for example, with a Generic Event that can trigger a third-party device to unlock the front door. Refer to the example above for use of each of the following parameters.
- sendmsg – Sends data to a server at IP Address 123.12.8.1 port 7001
- user and password – Credentials required by the receiver to allow the request access to their system
- api_id – Required account number with receiving entity
- from – Phone number from which the message will be sent
- to – Phone number to which the message is sent
- text – The message text, in this case, "Visitor is outside front door"
Basic Parameters
- Interval of action – Check this option to aggregate the number of times the action will be triggered. For No more than once per a given amount of time or instance, enter an integer value (1 - 999) and select a time interval from the menu (seconds, minutes, hours, or days). If unchecked, the action is instant and will occur whenever the event is triggered.
- HTTP URL – The HTTP link to the external system that will receive the request. It can also contain the request itself.
- HTTP content – The body of the HTTP request, if needed
- Login and Password – If required by the external system, enter credentials for authentication
- Content type – Enter the body of the request. Select from Auto, text/plain, text/html, application/html, application/json, or application/xml format according to the requirements of the receiving system. Auto selects the best format based on your entry.
- Authentication type – Level of authentication required (Auto or Basic)
- Request type – Type of request (Auto, GET, POST, PUT or DELETE)
Why the Action may work incorrectly
- The event is not configured properly.
- HTTP request syntax is incorrect or does not meet receiver requirements.
- The external system requires authorization; no credentials or incorrect credentials were specified.
Comments
0 comments
Please sign in to leave a comment.