You are using an unsupported browser. Please update your browser to the latest version on or before July 31, 2020.

PDK DW Spectrum NVR Integration Tool - Two Way Integration

PDK & DW Spectrum Integration Documentation


Sending Events in to DW Spectrum

Generic Event

A Generic Event occurs when the server receives an HTTP request from an external system such as an alarm, access control device, or a monitoring system. This is a default event and allows commands to be sent from DW Spectrum to third-party systems such as

DW Spectrum allows devices 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. In addition, the event fields in the rule must match the corresponding fields in the HTTP request to be acted upon. The full server API documentation is accessed on any installed server from: 


NOTE: Values in the Event field are case-sensitive, and 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).


The resource that initiates the event: device (motion detection, input signal, etc.) or server (storage failure, server failure, etc.). The source parameter of the Generic Event is the name of the device in the system that generated the PDK io event.


Caption is an optional class value used to identify an object type. Entries in this field should match the corresponding field in the HTTP request and is case sensitive. If the field is empty, it will always be considered a match. The caption parameter of the Generic Event is determined by the corresponding event type that was generated. This can be any of the following values: Event Type

DW Spectrum IPVMS Generic Event Caption


Open (DPS)


The door position sensor detected the door open.

Close (DPS)


The door position sensor detected the door closed.

AutoOpen Enabled


Auto open became active on the device.

AutoOpen Disabled

Auto open became deactivated on the device.

Door Propped Alarm


The door propped alarm has triggered for the device.

Door Propped Alarm Clear

The door propped alarm has been cleared for the device.

All Prop Clear


All door propped alarms have been cleared.

Door Forced Alarm


The door forced alarm has triggered for the device.

Communication Loss


Communication to the connection has been lost.

Communication Loss Clear

Communication to the connection has been re-established.

No Person Associated with Credentials


An unknown credential was scanned and access was implicitly denied.

Access Allowed


A known credential was scanned and access was allowed.

Access Denied


A known credential was scanned and access was denied.

Duress PIN Entered


A duress PIN was used to authenticate at the reader.

Request to Exit Open


The request to exit was triggered on the door.

Request to Exit Closed

The request to exit was cleared on the door.

Card Scan Error


Bad data was received from the card reader connected to the door.


Description is an optional attribute value used to distinguish objects within a class. Entries in this field should match the corresponding field in the HTTP request and is case sensitive. The description parameter of the Generic Event is the same text that is generated for the info text of the Live Events in

NOTE: Generic Events created by do not have the following parameters defined; Metadata and Occurs are parameters defined only in DW Spectrum


Metadata, strictly a DW Spectrum parameter and not defined in, is used to pass a device identifier that will specify devices the event is limited to.

IMPORTANT: PDK does not define the Metadata parameter; the Force Acknowledgement option cannot be used when using the Show Notification action as part of a rule event.


Occurs is a DW Spectrum parameter and not defined in This is an optional field in DW Spectrum for the State. If there is no State field in the HTTP request, the event is considered instant. All Generic Events created by are considered instant Generic Events.

IMPORTANT: If a continuous action such as “device recording” or “repeat sound” is bound to an instant Generic Event (one without a State field) the rule will not work.

Triggering Actions in from DW Spectrum

After installing the NVR Integration Tool you will be able to trigger specific actions in from the DW Spectrum interface using Event rules with the Soft Trigger Event and Do HTTP Request Action.

The parameters of the Do HTTP Request Action must be populated as shown below for the actions to complete successfully in

NOTE: Refer to the fields in the right-side Action panel above for an example of how the content should appear in each of the fields described below. 

Do - Click on this field (or the Action panel in the list) to select from a menu of Actions.

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 - This is the HTTP link to the external system that will receive the request. It can also contain the request itself. The URL should be formatted as follows:


The {command-name} must be one of the following Command Names in the table below and the parameter /commands/ (as shown in the screen example above) precedes the command name(s) in the string of text. If more than one command name is used, each command name is separated by a comma (no spaces). 

Command Names

NOTE: The {command-name} is case sensitive and must be exactly as shown in this table. 


Action Performed in


Changes the relay associated with the device to the open state.


Changes the relay associated with the device to the closed state.


Toggles the do-not-disturb flag on the device.


Forces the relay associated with the device into the opposite of its current state regardless of holds or auto opens.


Performs an Open/Close action on the device which is the same as an access allowed scan in that it will:

  1. Change the relay associated with the device to the open state
  2. Leave the relay in the open state for the specified dwell time listed in the devices configuration in
  3. Change the relay associated with the device to the closed state.


Used to specify multiple other commands to be used

HTTP content - The HTTP content should be formatted as follows: 

{“panelid”:“{Cloud Node Serial Number}”,“doors”:[{Device ID number(s)}]}

as in the following: 


Note the use and placement of colons ( : ) commas ( , ) and brackets [ ] and that each parameter is enclosed in “double-quotes” with {curly brackets} at each end of this HTTP content string of text. 

{Cloud Node Serial Number} - This is the serial number labeled on the inside door of the appliance or it can also be found on the website. It will be something similar to 1070XXX (where XXX is a unique three-character alphanumeric designation). 

{Device ID number(s)} - This is a comma-separated list of the Device IDs that you would like the action performed on (no spaces). If performing the action on a single device, no comma is needed. The Device ID is found by navigating to the device’s configuration screen in and look in the browser URL bar. The number at the end is the Device ID. 

For example:

The Device ID for this device is 1.

Content type - Must be left at Auto.

Login and Password - Leave these two fields blank.

Authentication type - Must be left at Auto.

Request type - Must be left at Auto.

Click OK to accept the input changes for this screen. 


Advanced Use Cases

It is possible to have multiple actions triggered in using a single Soft Trigger Event. To do so in the Do HTTP Request Action, you will use the commands {command-name} in the HTTP URL and format the HTTP content similar to the following. 

{“Panelid”:“{Cloud Node Serial Number}”,“doors”:[{Device ID number(s)}],“commands”:[“{command-name},{command-name}”]}

{command-name} -      This value is a comma-separated list of the Command Name options listed above that you would like to have triggered. Each command name is surrounded by double-quotes. Multiple commands can be used, separated by a comma (no spaces), and must be preceded by “commands” as illustrated here. 


(This command string format would be entered in the HTTP content field.)

  • 211
  • 09-May-2020