• No results found

Paradox API

N/A
N/A
Protected

Academic year: 2021

Share "Paradox API"

Copied!
64
0
0

Loading.... (view fulltext now)

Full text

(1)

Paradox API

Paradox API

Software Development Kit

Software Development Kit

V2.6

V2.6

(Control Panel Integration)

(Control Panel Integration)

(2)

Page 2 of 64

Table of Contents

Table of Contents

1.

1. DOCUMENT DOCUMENT HISTORY HISTORY LOG LOG ... 4... 4

2. 2. PROJECT PROJECT OVERVIEW OVERVIEW ... .. 55 2.1. FEATUREOVERVIEW...5

2.1.1. Paradox API - Driver ... 5

2.1.2. Paradox API – Installation ... 5

2.1.3. Paradox API - Demo Application ... 5

2.1.4. Paradox API Paradox Video Player ... 6

2.2. APIDEFINITION ...7

2.2.1. Paradox API - Command List ... 7

1. Get Driver Version ... 7

2. Discover Module (Command) ... 7

3. Connect Panel (Command) ... 9

4. Disconnect Panel (Command) ... 10

5. Retrieve Panel Info (Command) ... 11

6. Start IPDOX “Receiver” (Command) ... 12

7. Delete IPDOX Account (Command) ... 13

8. Start Monitoring (Command) ... 14

9. Read Monitoring (Command) ... 14

10. Register Panel (Command) ... 14

11. Control Area (Command) ... 15

12. Area Status (Command)... 15

13. Control Zone (Command) ... 17

14. Zone Status (Command) ... 17

15. Control PGM (Command) ... 18

16. PGM Status (Command) ... 19

17. Control Door (Command) ... 19

18. Door Status (Command) ... 20

19. IP Reporting Status (Command) ... 21

20. System Troubles (Command)... 22

21. Read Panel Time Stamp (Command) ... 25

22. Read Panel Date and Time (Command)... 26

23. Write Panel Date and Time (Command) ... 26

24. Read All Areas (Command) ... 26

25. Read Area (Command) ... 26

26. Read All Zones (Command) ... 29

27. Read Zone (Command) ... 29

28. Read All PGMs (Command) ... 31

29. Read PGM (Command) ... 31

30. Read All Doors (Command) ... 32

31. Read Door (Command) ... 32

32. Write Door (Command) ... 34

33. Read All Schedules (Command) ... 35

34. Read Schedule (Command) ... 35

35. Write Schedule (Command) ... 35

36. Read All Access Level (Command) ... 36

37. Read Access Level (Command) ... 36

38. Write Access Level (Command) ... 37

39. Read Holidays (Command) ... 38

40. Write Holidays (Command) ... 38

41. Read All Users (Command) ... 38

42. Read User (Command) ... 39

43. Write Multiple Users (Command) ... 40

44. Write User (Command)... 40

45. Read IP Reporting (Command) ... 42

(3)

Page 3 of 64

47. Read Buffer Events (Command) ... 44

48. Read Buffer Events EX (Command) ... 44

49. Get Site from PMH (Command) ... 44

50. Configure Video Server (Command) ... 45

51. Get Video Alarm Files (Command) ... 46

52. Start Video on Demand (Command) ... 47

53. Start Video on Demand EX (Command) ... 48

54. Stop Video on Demand (Command) ... 49

55. Connection Status Changed (Event) ... 49

56. Progress Changed (Event) ... 50

57. Progress Error (Event) ... 50

58. SMS Request (Event) ... 52

59. Receive Reporting Event (Event) ... 53

60. Account Registration (Event) ... 54

61. Account Update (Event) ... 55

62. Account Link (Event) ... 55

63. Receive Buffer Event (Event) ... 56

64. Receive Live Event (Event) ... 57

65. Monitoring Status Changed (Event) ... 58

66. RX Status Changed (Event) ... 58

67. TX Status Changed (Event) ... 59

68. IP Module Detected (Event) ... 59

69. IPDOX Socket Changed (Event) ... 60

70. Unregister All (Command) ... 60

(4)

Page 4 of 64

1. Document History Log

1. Document History Log

Document

Document Version Version Date Date Change Change By By DescriptionDescription 1.0 2015-06-30 Jerome Lepage Initial Document

1.0.1 2015-08-10 Jerome Lepage Added all commands 1.0.2 2015-08-20 Jerome Lepage Added all parameters definition 2.0.1 2015-09-08 Jerome Lepage Added EVO control panel 2.0.2 2015-09-21 Jerome Lepage Added Read All Zones, User,

Doors

2.0.3 2015-09-27 Jerome Lepage Added Read All Schedules, Access Levels

2.0.5 2015-09-28 Jerome Lepage Added “Write Multiple Users” command

2.0.6 2015-09-29 David Watherhouse Added status column description 2.1.1 2015-10-06 Jerome Lepage Added Configure Video Server, Get

Video Alarm Image, Video Live Streaming

2.1.2 2015-10-15 Jerome Lepage Added Start VOD EX 2.1.3 2015-10-21 Jerome Lepage Revised doc

2.2.2 2015-10-28 Jerome Lepage Fixed timeout command and index out of bound issues in

ParadoxAPI.dll

2.3.1 2016-01-05 Jerome Lepage Disable monitoring polling to reduce CPU usage (via the MonitoringPollingEnabled property) 2.4.1 2016-01-14 Jerome Lepage Added connected UserNo and

UserPartitionAccess to RetrievePanelInfo command 2.5.1 2016-01-18 Jerome Lepage Fixed read buffer events from

SP4000

2.6.1 2016-02-05 Jerome Lepage Added ReadBufferEventsEx API. Use to retrieve new events only. Compatible with SP4000 and EVO panels

(5)

Page 5 of 64

2. Project Overview

2. Project Overview

2.1. Feature Feature OverviewOverview

2.1.1. Paradox API - DriverParadox API - Driver Features:

1. Windows “flat” DLL that implements stdcall functions 2. Compatible with all MG and SP Series panels

3. Auto-detect panel via serial, IP or PCS (GPRS) connection 4. Connect to panel via serial, IP or PCS (GPRS) connection 5. Control panel status (Area, Zone and PGM)

6. Monitor panel status (Area, Zone, PGM and Troubles)

7. Read panel programming (Labels, Areas, Zones, PGMs, Schedules, Users and IP Reporting) 8. Write panel programming (Labels, Schedules, Users and IP Reporting programming) 9. Read panel buffer and live events

10. Register panel to IP receiver

11. Receive account registration and event reporting via IP 2.1.2. Paradox APIParadox API – – InstallatioInstallationn

The Paradox API SDK package contains three DLL files, which must be copied to the same directory. Features:

1. ParadoxNetwork.dll handles panel communication 2. IPDOX.dll handles panel registration and reporting 3. ParadoxAPI.dll provides the API interface for integration

(6)

Page 6 of 64 Allows the software integrator to review and test the Paradox API integration.

Features:

1. Demo application and source code are included (written in C#) ParadoxApiDemo.exe.

2.1.4. Paradox APIParadox API – – Paradox Video Player Paradox Video Player

Allows the software integrator to execute Apple HTTP live streaming from a m3u8 file *see ParadoxVideoPlayer.exe

Features:

1. Application uses ffmpeg library (decoder only) http://www.DelphiFFmpeg.com 2. Select m3u8 filename (from toolbar/open)

3. Play (start) live streaming 4. Stop live streaming

5. Auto select and start live streaming from shellexecute command

6. *ShellExecute(0, 'open', PChar('ParadoxVideoPlayer.exe'), PChar(Format(''file=%s proxy=%s'', [m3u8FileName, proxyURL])), '', SW_SHOWNORMAL);

(7)

Page 7 of 64 2.2. API Definition API Definition

2.2.1. Paradox API - Command ListParadox API - Command List

 All commands are accessible from the exported ParadoxAPI.dll API

 All commands are synchronized methodssynchronized methods, they return when the action is completed  For maximum performance, we recommend creating thread orthread poolthread pool to communicate

with each control panel

1.

1. Get Get Driver Driver VersionVersion

 Use to retrieve Paradox API driver version  Request (Pascal STDCALL)

function GetDriverVersion(out Version: WideString): HResult; stdcall;

 Answer

1. Function call returns HResult (see 2.2.2Result Code List ) 2. Function parameter (Version) returns version # (x.x.x.x)

2.

(8)

Page 8 of 64

 Use to discover all Paradox’s IP modules connected to a selected network  Command broadcasts a UDP packet over the Ethernet

 Each Paradox IP module answers command with its definition  Request (Pascal STDCALL)

function DiscoverModule(out XMLInfo: WideString): HResult; stdcall;

 Answer

1. Function call returns HResult (see 2.2.2Result Code List ) 2. Function parameter (XMLInfo) returns XMLData; see below:

<?xmlversion="1.0"?> <objects>

<objectobjectname="TModuleInfoXML"name="Module1">

<published<methodname> ="MacString"readonly="True"type="UnicodeString"></method> <methodname="NetMaskString"readonly="True"type="UnicodeString"></method> <methodname="DHCPString"readonly="True"type="UnicodeString"></method> <methodname="TypeString"readonly="True"type="UnicodeString"></method> <methodname="IPString"readonly="True"type="UnicodeString"></method> <methodname="SiteNameString"readonly="True"type="UnicodeString"></method> <methodname="SiteIDString"readonly="True"type="UnicodeString"></method> <methodname="VersionString"readonly="True"type="UnicodeString"></method> <methodname="IPPortString"readonly="True"type="UnicodeString"></method> <methodname="WebPortString"readonly="True"type="UnicodeString"></method> <methodname="LanguageString"readonly="True"type="UnicodeString"></method> <methodname="SerialNoString"readonly="True"type="UnicodeString"></method> <methodname="HTTPSPortString"readonly="True"type="UnicodeString"></method> <methodname="DiscoverOnLAN"readonly="True"type="Boolean">False</method> <methodname="UseHTTPSString"readonly="True"type="UnicodeString"></method> <methodname="RegisteredToPMH"readonly="True"type="Boolean">False</method> <methodname="NetworkInterfaceIpAddress"readonly="True"type="UnicodeString"></method> </published>

</object> </objects>

 Parameter definition

methodname Definition

"MacString" The MAC address of the detected IP module "NetMaskString" The NETMASK of the detected IP module

"DHCPString" If the detected IP module uses DHCP mode (DHCP enable) "TypeString" Possible Values

"IP100" "IP150" "PCS250" "PCS250G" "IPR512" "HD77"

"IPString" The IP address of the detected IP module

"SiteNameString" The Site Identification (Name) of the detected IP module

"SiteIDString" The Site ID (used to access the module via ParadoxMyHome) of the detected IP module "VersionString" The version (version.revision.build) of the detected IP module

"IPPortString" The IP port # (used to connect to the module via end-user/installer software) of the detected IP module

"WebPortString" The WEB port # (use to connect to the module via the web page) of the detected IP module "LanguageString" The current language of the detected IP module

"SerialNoString" The serial # of the control panel connected to the detected IP module "HTTPSPortString" The HTTPS port # of the detected IP module

(9)

Page 9 of 64 "UseHTTPSString" If the detected IP module use HTTPS

"RegisteredToPMH" If the detected IP module is registered to ParadoxMyHome "NetworkInterfaceIp

Address"

The network interface (IP address) where the IP module has been detected

3.

3. Connect Connect Panel Panel (Command)(Command)

 Use to connect to a control panel via serial, IP or PCS (GPRS) connection

 PCS (GPRS) connection can be established on a private network using the SMS callback

mechanism

 Command auto-detect panel type and version *specify panel type to speed up the connection

process

Request (Pascal STDCALL)

function ConnectPanel(const PanelID: Cardinal; XMLSettings: WideString; WaitTimeOut: Cardinal): HResult; stdcall;

1. PanelID parameter identifies the control panel connection. This parameter must be defined by the client and must be unique to the entire system.

2. WaitTimeOut parameter identifies command timeout in second (0=infinite) 3. XMLSettings parameter must contain XML data; see below:

<?xmlversion="1.0"?> <objects>

<objectobjectname="TPanelSettingsXML"name="Settings"> <published>

<methodname="PanelType"readonly="False"type="UnicodeString"></method> <methodname="ComType"readonly="False"type="UnicodeString"></method> <methodname="SiteID"readonly="False"type="UnicodeString"></method> <methodname="SerialNo"readonly="False"type="UnicodeString"></method> <methodname="IPAddress"readonly="False"type="UnicodeString"></method> <methodname="IPPort"readonly="False"type="Integer ">0</method> <methodname="ComPort"readonly="False"type="Integer ">0</method> <methodname="BaudRate"readonly="False"type="Integer ">0</method> <methodname="SMSCallback"readonly="False"type="Boolean">False</method> <methodname="IPPassword"readonly="False"type="UnicodeString"></method> <methodname="UserCode"readonly="False"type="UnicodeString"></method>

<methodname="SystemAlarmLanguage"readonly="False"type="UnicodeString"></method> <methodname="MonitoringPollingEnabled"readonly="False"type="Boolean">True</method> </published>

</object> </objects>

 Parameter definition

methodname Definition

"PanelType" Possible Values Description

"" or "Auto Detect" Auto detect panel type "SP4000" SP4000 control panel "SP5500" SP5500 control panel "SP6000" SP6000 control panel "SP7000" SP7000 control panel "SP65" SP65 control panel "MG5000" MG5000 control panel "MG5050" MG5050 control panel "EVO192" EVO192 control panel "EVOHD" EVOHD control panel "ComType" Possible Values Description

"SERIAL" Connect to control panel via serial cable "IP" Connect to control panel via IP module (IP socket)

(10)

Page 10 of 64 "DNS" Connect to control panel via IP module (IP socket) using

ParadoxMyHome

"GPRSSTATIC" Connect to control panel via PCS module (GPRS) "GPRSPRIVATE" Connect to control panel via PCS module (GPRS), enable

SMSCallback property to use SMS callback mechanism "SiteID" The SiteID in ParadoxMyHome to use for "DNS" connection

"SerialNo" Future use

"IPAddress" The static IP address to use for "IP" or "GPRSSTATIC" or "GPRSPRIVATE" connection "IPPort" The IP port to use for "IP" or "GPRSSTATIC" or "GPRSPRIVATE" connection "ComPort" The COM port to use for "SERIAL" connection

"BaudRate" Possible Values Description

0 Auto detect baud rate

9600 9600bps

38400 38400bps

57600 57600bps

"SMSCallback" Use SMS callback mechanism for "GPRSPRIVATE" connection. With that feature enabled, the ParadoxAPI.dll opens a socket server and waits for the callback PCS module connection. The connection is established via a SMS message that has to be sent by the client to the PCS module.

The SMS message to send is returned by ParadoxAPI.DLL via theSMS Request callback event.

"IPPassword" The IP password to use for "IP" or "GPRSSTATIC" or "GPRSPRIVATE" connection. The IP password must exist in the IP or GPRS module.

"UserCode" The user code to use for connection to the control panel. The user code must exist and have sufficient rights in the control panel.

"SystemAlarmLanguage" The labels such as (Area, Zone labels) will be formatted into the following language

Possible Values Possible Values

"ENGLISH" "SLOVAK" "FRENCH" "CHINESE" "SPANISH" "SERBIAN" "ITALIAN" "MALAY" "SWEDIS" "SLOVENIAN" "POLISH" "LITHUANIAN" "PORTUGUESE" "FINNISH" "GERMAN" "ESTONIAN" "TURKISH" "BELGIAN" "HUNGARIAN" "LATVIAN" "CZECH" "MACEDONIA" "DUTCH" " ALBANIAN" "CROATIAN" "NORWEGIAN" "GREEK" " ARABICPERSAIN" "HEBREW" " ARABICWESTERN" "RUSSIAN" " ARABICEASTERN" "BULGARIAN" "ROMANIAN"

"MonitoringPollingEnabled" If enabled, the monitoring statuses (such as Area, Zone, PGM and Trouble) are read automatically (every x seconds) from the control panel, and stored within the driver. This operation could be CPU intensive if several control panels are connected to the driver. You can disable the feature to reduce the CPU usage. If disabled, the CMS will have to call the Read Monitoring command every time it needs to update the monitoring status.

Answer1. Function call returns HResult (see 2.2.2 Result Code List )

4.

4. Disconnect Disconnect Panel Panel (Command)(Command)

(11)

Page 11 of 64

 Request (Pascal STDCALL)

function DisconnectPanel(const PanelID: Cardinal): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to disconnect

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List )

5.

5. Retrieve Retrieve Panel Panel Info Info (Command)(Command)

 Use to retrieve the control panel definition such as version, area count, zone count  Request (Pascal STDCALL)

function RetrievePanelInfo(const PanelID: Cardinal; out XMLInfo: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve information

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. Function parameter (XMLInfo) returns XMLData; see below:

<objects>

<objectobjectname="TPanelInfoExXML"name="PanelInfoEx"> <published>

<methodname="Description"readonly="True"type="UnicodeString"></method> <methodname="ProductID"readonly="True"type="Integer ">0</method> <methodname="SerialNo"readonly="True"type="UnicodeString"></method> <methodname="Version"readonly="True"type="Integer ">0</method> <methodname="Revision"readonly="True"type="Integer ">0</method> <methodname="Build"readonly="True"type="Integer ">0</method> <methodname=" AreaCount"readonly="True"type="Integer ">0</method> <methodname="ZoneCount"readonly="True"type="Integer ">0</method> <methodname="PGMCount"readonly="True"type="Integer ">0</method> <methodname="UserCount"readonly="True"type="Integer ">0</method> <methodname="DoorCount"readonly="True"type="Integer ">0</method> <methodname="ReceiverCount"readonly="True"type="Integer ">0</method> <methodname="ScheduleCount"readonly="True"type="Integer ">0</method> <methodname=" AccessLevelCount"readonly="True"type="Integer ">0</method> <methodname="UserNo"readonly="True"type="Integer ">0</method>

<methodname="User PartitionAccess"readonly="True"type=" UnicodeString "></method> </published>

</object> </objects>

 Parameter definition

methodname Definition

"Description" The product name of the control panel

"ProductID" Possible values Description

0xAE53 SP4000 0xA41E SP5500 0xA41F SP6000 0xA420 SP7000 0xAE54 SP65 0xA524 MG5000 0xA526 MG5050 0xA123 EVO192 0xA16D EVOHD "SerialNo" The serial # of the connected control panel

"Version" The version # of the connected control panel "Revision" The revision # of the connected control panel "

AreaCount" The quantity of Area in the connected control panel "ZoneCount" The quantity of Zone in the connected control panel

(12)

Page 12 of 64 "PGMCount" The quantity of PGM in the connected control panel

"UserCount" The quantity of User in the connected control panel "DoorCount" The quantity of Door in the connected control panel "ReceiverCount" The quantity of IP receiver in the connected control panel "ScheduleCount" The quantity of schedule in the connected control panel "

AccessLevelCount" The quantity of access level in the connected control panel "UserNo" The connected user #

"UserPartitionAccess" The connected user area access (comma-delimited, for example“1,2”)

6. Start

6. StartIPDOX “IPDOX “Receiver Receiver ”” (Command) (Command)

 Use to configure and activate the build in IP receiver

Receive account registration and Ademco CID or SIA reporting event

 Forward reporting event to an automation software in ADEMCO685, RADIONIX6500 or

SURGARDMLR2DG format via IP or serial link

 Account registration is received via the Account Registration callback function  Reporting event is received via theReceive Reporting Event callback function  Request (Pascal STDCALL)

function ConfigureIPDOX(XMLSettings: WideString): HResult; stdcall;

1. Function parameter (XMLSettings) must contain XMLData; see below:

<?xmlversion="1.0"?> <objects>

<objectobjectname="TIPDOXSettingsXML"name="Settings"> <published>

<methodname="IPPassword"readonly="False"type="UnicodeString"></method> <methodname=" ACCFilePath"readonly="False"type="UnicodeString"></method> <methodname="LogEnabled"readonly="False"type="Boolean">False</method> <methodname="LogLevel"readonly="False"type="Integer ">0</method> <methodname="LogInterval"readonly="False"type="Integer ">0</method> <methodname="LogFileLifeTime"readonly="False"type="Integer ">0</method> <methodname="LogMaxDiskSize"readonly="False"type="Integer ">0</method> <methodname="LogFileDir "readonly="False"type="UnicodeString"></method> <methodname="OutputEnabled"readonly="False"type="Boolean">False</method> <methodname="OutputType"readonly="False"type="UnicodeString"></method> <methodname="OutputCOMPort"readonly="False"type="Integer ">0</method> <methodname="OutputBaudRate"readonly="False"type="Integer ">0</method> <methodname="OutputUDP"readonly="False"type="Boolean">False</method> <methodname="OutputIPPort"readonly="False"type="Integer ">0</method> <methodname="OutputIPAddress"readonly="False"type="UnicodeString"></method> <methodname="OutputProtocolID"readonly="False"type="UnicodeString"></method> <methodname="OutputReceiverNo"readonly="False"type="Integer ">0</method> <methodname="OutputLineNo"readonly="False"type="Integer ">0</method> <methodname="OutputHeaderID"readonly="False"type="Integer ">0</method> <methodname="OutputTrailerID"readonly="False"type="Integer ">0</method> <methodname="OutputAckNack"readonly="False"type="Boolean">False</method> <methodname="OutputWaitForAck"readonly="False"type="Integer ">0</method> <methodname="OutputTestMessage"readonly="False"type="Boolean">False</method> <methodname="OutputTestMsgDelay"readonly="False"type="Integer ">0</method> <methodname="OutputForcePartition"readonly="False"type="Boolean">False</method> <methodname="OutputPartitionNo"readonly="False"type="Integer ">0</method>

<methodname="OutputUseMACAddress"readonly="False"type="Boolean">False</method> <methodname="MonitoringAccountNo"readonly="False"type="UnicodeString"></method> <methodname="WANId"readonly="False"type="Integer ">0</method>

<methodname="WANEnabled"readonly="False"type="Boolean">False</method> <methodname="WANPort"readonly="False"type="Integer ">0</method> <methodname="WANAddress"readonly="False"type="UnicodeString"></method> </published>

(13)

Page 13 of 64

</objects>

 Parameter definition

methodname Definition

Mandatory Mandatory

"IPPassword" The receiver IP password "

ACCFilePath" The directory to store the .ACC file. The ACC file contains all keys required to communicate with the registered accounts. This file is used by the ParadoxAPI driver for internal storage.

"WANId" ALWAYS PUT 1 (only 1 WAN is supported)ALWAYS PUT 1 (only 1 WAN is supported) "WANEnabled" Enable receiver WAN interface

"WANPort" Set the port # to use to receive IP reporting

"WANAddress" Set the network interface adapter to use to receive IP reporting

"MonitoringAccountNo" Set the account # to use for internal reporting event to send to the automation software

Optional Optional

"OutputEnabled" Convert and send the reporting event to an external automation software

"OutputType" Select the media type to use to send reporting event to the external automation software

Possible values

"SERIAL" "IP"

"OutputCOMPort" Select the port # to use to send reporting event via "Serial" "OutputBaudRate" Select the baud rate to use to send reporting event via "Serial"

"OutputUDP" Use UDP instead of TCP for packet transmission to the automation software "OutputIPPort" Select the port # to use to send reporting event via "IP"

"OutputIPAddress" Select the IP address where to send the reporting event via "IP"

"OutputProtocolID" Select the reporting event format to send to the external automation software

Possible values

" ADEMCO685" "RADIONIX6500" "SURGARDMLR2DG"

"OutputReceiverNo" Set the receiver # to send to the automation software "OutputLineNo" Set the line # to send to the automation software "OutputHeaderID" Set the header ID to send to the automation software "OutputTrailerID" Set the trailer ID to send to the automation software

"OutputAckNack" Enable ACK mechanism between the ParadoxAPI and the automation software "OutputWaitForAck" Set the ACK wait time out in seconds

"OutputTestMessage" Enable test message to automation software "OutputTestMsgDelay" Set test message interval in seconds

"OutputForcePartition" Enable transmit custom partition # (always) to automation software "OutputPartitionNo" Set the custom partition # to transmit

"OutputUseMACAddress" Append account’s MAC address toevery reporting event to send to the automation software

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List )

7.

7. Delete Delete IPDOX IPDOX Account Account (Command)(Command)

 Use to delete a registered account in the receiver storage file (.ACC file)  Request (Pascal STDCALL)

(14)

Page 14 of 64

function DeleteIPDOXAccount(MACAddress: WideString): HResult; stdcall;

1. MACAddress parameter identifies the account # to delete

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List )

8.

8. Start Start Monitoring Monitoring (Command)(Command)

 Use to initialize and retrieve (read) all system status

 Command retrieves all system status such as area, zone, pgm and trouble status from the

connected control panel

 Client will be notified on status change via theMonitoring Status Changed event callback  Request (Pascal STDCALL)

function StartMonitoring(const PanelID: Cardinal): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to start monitoring

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List )

9.

9. Read Read Monitoring Monitoring (Command)(Command)

 Use to refresh (read) all system status

 Command retrieves all system status changes from the connected control panel

 Client will also be notified on status change via theMonitoring Status Changed event callback  Request (Pascal STDCALL)

function ReadMonitoring(const PanelID: Cardinal; out XMLMonitoring: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve system status

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. Function parameter (XMLMonitoring) returns XMLData; see below:

<?xmlversion="1.0"?> <PanelInfo>

<AreaStatus Area1="Ready,Armed" Area2="Ready,Armed"/>

<ZoneStatusZone1="Closed" "Zone2="Closed"Zone3="Closed"Zone4="Closed"

Zone5="Closed"Zone6="Closed"Zone7="Closed"Zone8="Closed"Zone9="Closed"

Zone10="Closed"Zone11="Closed"Zone12="Closed"Zone13="Closed"Zone14="Closed"

Zone15="Closed"Zone16="Closed"/> …

</PanelInfo>

 Parameter definition

1. See Area Status, Zone Status and PGM Statusfunctions

10. Register Panel (Command) 10. Register Panel (Command)

 Use to register the connected control panel to the programmed IP receiver, see Write IP

Reporting command for IP receiver settings

 Registration status can be retrieved via the Registration Status command

 Registration allows client to receive account registration and event reporting from the control panel  Client is notified every time an event is reported via the Receive Reporting Event

event callback

 Request (Pascal STDCALL)

function RegisterPanel(const PanelID: Cardinal; XMLAction: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to register

 Answer

(15)

Page 15 of 64 11. Control Area (Command)

11. Control Area (Command)

 Use to control (arm, disarm..) areas

 Area status can be retrieved via the Area Status command

 Client is notified every time an area status changes via the Monitoring Status Changed

event callback

 Request (Pascal STDCALL)

function ControlArea(const PanelID: Cardinal; XMLArea: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to control area(s)

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. XMLArea parameter must contain XML data; see below:

<?xmlversion="1.0"?> <objects>

<objectobjectname="TPanelControlXML"name=" Action"> <published>

<methodname="Command"readonly="False"type="UnicodeString"></method> <methodname="Timer "readonly="False"type="Integer ">0</method> <methodname="Items"readonly="False"type="UnicodeString"></method> </published>

</object> </objects>

 Parameter definition

methodname Definition

"Command" Possible Values Description

" ARM" Arm selected area(s) "FORCE" Force arm selected area(s) "STAY" Stay arm selected area(s) "SLEEP" Sleep arm selected area(s) "INSTANT" Instant arm selected area(s) "DISARM" Disarm selected area(s) "Timer " Not used

"Items" All area # to affect, comma delimited ex: (1,2,3)

12. Area Status (Command) 12. Area Status (Command)

 Use to retrieve (read) all area status  Request (Pascal STDCALL)

function AreaStatus(const PanelID: Cardinal; out XMLStatus: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve the area status

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. Function parameter (XMLStatus) returns XMLData; see below:

<?xmlversion="1.0"?> <PanelInfo>

<AreaStatus Area1="Ready,Armed" Area2="Ready,Armed"/> </PanelInfo>

 Parameter definition

(16)

Page 16 of 64

AreaStatus Area%d All area status comma delimited ex : "Ready,Armed"

Possible Values Description

"Ready" Area is ready to arm " Armed" Area is armed

" Armed Away" Area is armed in Away mode (full armed) " Armed Stay" Area is armed in Stay mode

" Armed No Entry" Area is armed in Instant mode

" Arm with voice module" Area has been armed via the voice module " Armed With Remote" Area has been armed with a remote control " Auto-Arm" Area has auto-armed

" Auto Stay Arm" Area has auto-armed in Stay mode "Sleep Armed" Area has been armed in Sleep mode "Pulse Alarm" Area is in alarm, siren is pulsed "Force Armed" Area is Force armed "In Alarm" Area is in alarm

"Silent Alarm" Area is in alarm, siren is silent " Audible Alarm" Area is in alarm, siren is audible

"24Hr Buzzer " Area is in alarm from 24hr zone, only keypad buzzer is activated

"Fire Alarm" Area is in fire alarm "In Exit Delay" Area is in Exit delay "In Entry Delay" Area is in Entry delay "In Fire Delay" Area is in Fire delay "In Lockout" Area is in lockout "In Intellizone Delay" Area is in Intellizone delay

"Police Code Delay" Area in Police code delay, waiting for a second zone to go into alarm before sending the police code to central monitoring station

"In Trouble" Area has a trouble present

" Alarm In Memory" During previous armed period, an alarm occurred in this area

"Bypassed" Zones are bypassed in this area "In Programming Mode" System is in programming mode "In StayD" Area has StayD activated

"Lockout" Area in lockout, too many invalid codes have been entered

"Zone In Memory" Area has a zone in memory "Follow Become Delay When

Bypassed"

Area has its delay zone bypassed, therefore it is using the Follow zone as a delay2

"Zones Supervision Trouble" Area has a zone supervision trouble "Cancel Alarm Reporting On

Disarming"

Area has canceled reporting due to disarming (user code entered)

"System Recently Closed" An alarm has been triggered during the recent closing delay

"Panic Alarm" A panic alarm has triggered an alarm in this area "Panic Medical Alarm" A medical panic has triggered an alarm in this area "Panic Fire Alarm" A fire panic has triggered an alarm in this area "Police Code Alarm" A second zone alarm was triggered during the

Police Code delay

"Strobe" Area in Strobe alarm, only deactivates at user code entry after alarm

"Burglary Alarm" Area in Burglary alarm "Global Memory" Area has a Global Memory "Global Bypass" Area has a global Bypass "Zone Exit Delay" Area has a zone in exit delay "Exit End" Area’s exit delay has ended "Entry Delay End" Area’s entry delay has ended "Intellizone End" Intellizone delay has ended

(17)

Page 17 of 64 "Bell Delay" Siren is activated and timed

"Bell End" Siren has turned off after the bell cutoff time "Tx. Delay" Transmission delay has been activated "Tx. Delay End" Transmission delay has elapsed

"No Exit Delay" Area has been armed, exit delay has been skipped "Remote Path" Entry path (in StayD) has been disable by a remote

control

"Pre-Alarm Delay" A zone with a pre-alarm delay has been activated "Bell Activated" Siren is activated

"In Disarm Delay" Area is in disarm delay

"Zones Low Battery" Area has zones indicating low battery "Zones Fire Loop Trouble" Area has zones in fire loop trouble "Zones Tampered" Area has zones tampered

13. Control Zone (Command) 13. Control Zone (Command)

 Use to control (bypass, unbypass) zones

 Zone status can be retrieved via the Zone Status command

 Client is notified every time a zone status changes via the Monitoring Status Changed

event callback

 Request (Pascal STDCALL)

function ControlZone(const PanelID: Cardinal; XMLZone: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to control zone

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. XMLZone parameter must contain XML data; see below:

<?xmlversion="1.0"?> <objects>

<objectobjectname="TPanelControlXML"name=" Action"> <published>

<methodname="Command"readonly="False"type="UnicodeString"></method> <methodname="Timer "readonly="False"type="Integer ">0</method> <methodname="Items"readonly="False"type="UnicodeString"></method> </published>

</object> </objects>

 Parameter definition

methodname Definition

"Command" Possible Values Description

"BYPASS" Bypass selected zone(s) "UNBYPASS" Unbypass selected zone(s) "Timer " Not used

"Items" All zone # to affect, comma delimited ex: (1,2,3)

14. Zone Status (Command) 14. Zone Status (Command)

 Use to retrieve (read) all zone status  Request (Pascal STDCALL)

function ZoneStatus(const PanelID: Cardinal; out XMLStatus: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve the zone status

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. Function parameter (XMLStatus) returns XMLData; see below:

(18)

Page 18 of 64

<?xmlversion="1.0"?> <PanelInfo>

<ZoneStatusZone1="Closed"Zone2="Closed"Zone3="Closed"Zone4="Closed"

Zone5="Closed"Zone6="Closed"Zone7="Closed"Zone8="Closed"Zone9="Closed"

Zone10="Closed"Zone11="Closed"Zone12="Closed"Zone13="Closed"Zone14="Closed"

Zone15="Closed"Zone16="Closed"/> </PanelInfo>

 Parameter definition

Sectionname Key name Definition

ZoneStatus Zone%d All zone status comma delimited ex : "Opened,In Alarm"

Possible Values Description

"Closed" Zone is closed "Enabled" Zone is programmed "Opened" Zone is opened "Tampered" Zone is tampered "In Alarm" Zone is in alarm

"In Entry Delay" Entry delay zone is triggered and is counting down

"Bypassed" Zone is bypassed

"Intellizone Delay" Intellizone delay has been initiated and the panel is waiting for another Intellizone to trigger for an alarm to be generated

"Supervision Trouble" Zone is in Supervision Trouble (wireless zone not communicating)

"Transmission Delay" Zone is in alarm and waiting for the transmission delay to expire to send reporting into the central monitoring station

"Shutdown" Zone has reached the maximum number of alarms in one armed period and has been shutdown by the panel

"In Fire Delay" Fire zone has triggered and is in Fire Delay " Alarm In Memory" An alarm memory is present on this zone (an

alarm happened in the last arming period)

15.

15. Control PControl PGM GM (Command)(Command)

 Use to control (activate, deactivate, etc.) PGMs

 PGM status can be retrieved via the PGM Status command

 Client is notified every time a PGM status changes via the Monitoring Status Changed

event callback

 Request (Pascal STDCALL)

function ControlPGM(const PanelID: Cardinal; XMLPGM: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to control pgm

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. XMLPGM parameter returns XML data; see below:

<?xmlversion="1.0"?> <objects>

<objectobjectname="TPanelControlXML"name=" Action"> <published>

<methodname="Command"readonly="False"type="UnicodeString"></method> <methodname="Timer "readonly="False"type="Integer ">0</method> <methodname="Items"readonly="False"type="UnicodeString"></method> </published>

(19)

Page 19 of 64

</object> </objects>

 Parameter definition

methodname Definition

"Command" Possible Values Description

"ON" Activate selected PGM(s) "OFF" Deactivate selected PGM(s) "TEST" Test PGM(s), activate for few seconds "Timer " Activation time (duration) in seconds (not yet implementednot yet implemented)

"Items" All PGM # to affect, comma delimited ex: (1,2,3)

16. PGM Status (Command) 16. PGM Status (Command)

 Use to retrieve (read) all PGM status  Request (Pascal STDCALL)

function PGMStatus(const PanelID: Cardinal; out XMLStatus: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve the PGM status

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. Function parameter (XMLStatus) returns XMLData; see below:

<?xmlversion="1.0"?> <PanelInfo>

<PGMStatusPGM1="On,TimerMSec=100"PGM2="Off "PGM3="Unavailable"

PGM4="Unavailable"/> </PanelInfo>

 Parameter definition

Sectionname Key name Definition

PGMStatus PGM%d All PGM status comma delimited ex :"On,TimerMSec=100"

Possible Values Description

"On" PGM is currently in the On position "Off " PGM is currently in the Off position "Tampered" PGM module has detected a tamper "Power Failure" Power failure detected on the PGM module "Low Battery" Low battery on the PGM module "Supervision Trouble" PGM module in supervision trouble "Timed" PGM is activated in timed mode "TimerMSec=%d" (%d =

remaining time in milliseconds)

PGM is activated in timed mode and this value indicates the remaining time before the PGM will deactive

"Slow Pulse Mode" PGM is pulsing slowly (on panel armed status)

"Fast Pulse Mode" PGM is pulsing quickly (on panel alarm status)

"Steady" PGM activated in steady mode "Unavailable" PGM status is unavailable

17. Control Door (Command) 17. Control Door (Command)

 Use to control (unlock or lock) doors

 Door status can be retrieved via the Door Status command

(20)

Page 20 of 64 event callback

 Request (Pascal STDCALL)

function ControlDoor(const PanelID: Cardinal; XMLDoor: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to control door

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. XMLDoor parameter returns XML data; see below:

<?xmlversion="1.0"?> <objects>

<objectobjectname="TPanelControlXML"name=" Action"> <published>

<methodname="Command"readonly="False"type="UnicodeString"></method> <methodname="Timer "readonly="False"type="Integer ">0</method> <methodname="Items"readonly="False"type="UnicodeString"></method> </published>

</object> </objects>

 Parameter definition

methodname Definition

"Command" Possible Values Description

"Lock" Lock selected door(s)

"Unlock"or “Unlock Steady” Unlock selected door(s) (steady mode) "Unlock Preset Time" Unlock selected door(s) (use preset time) "Unlock Custom Time" Unlock selected door(s) (use custom time) "Timer " Set custom unlock time in seconds

"Items" All door # to affect, comma delimited ex: (1,2,3)

18. Door Status (Command) 18. Door Status (Command)

 Use to retrieve (read) all door status  Request (Pascal STDCALL)

function DoorStatus(const PanelID: Cardinal; out XMLStatus: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve the door status

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. Function parameter (XMLStatus) returns XMLData; see below:

<?xmlversion="1.0"?> <PanelInfo>

<DoorStatusDoor1="Unlocked, REX"Door2="Locked" /> </PanelInfo>

 Parameter definition

Sectionname Key name Definition

DoorStatus Door%d All PGM status comma delimited ex : "Opened, REX"

Possible Values Description

"Disabled" Door is not programmed

"Opened" Door contact is in the Open position "Locked" Door is locked (relay not active) "REX" Request to Exit had been triggered "Left Open Pre-Alarm" Door Left Open Pre-Alarm time has elapsed "Left Open Alarm" Door Left Open Alarm has elapsed "Forced Alarm" Door Forced Alarm has been triggered

(21)

Page 21 of 64 "Fire Alarm" Door has received a fire alarm from the panel

and, depending on the programming, may have unlocked

"Unlocked Timed by PC" Door has been Unlocked by the PC in Timed mode, will relock at the end of the period "Unlocked Steady by PC" Door has been Unlocked by the PC in Steady

mode, needs to be relocked manually "Tampered" Tamper detected on the door module " Access Granted" Access Granted has been received

"Unlocked by Schedule" Door has been unlocked by an Unlock Schedule "Unlocked by PC" Door has been unlocked by the PC

"Unlocked on Reader " Door has been unlocked by the reader "Unlocked in Shabbat" Door has been unlocked by the Shabbat mode "Door Armed" Door is armed, therefore locked

"Unlocked Delay Engaged"

Door unlocked delay has been activated

19. IP Reporting Status (Command) 19. IP Reporting Status (Command)

 Use to retrieve (read) the IP reporting registration status  Request (Pascal STDCALL)

function IPReportingStatus(const PanelID: Cardinal; out XMLStatus: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve the registration status

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. Function parameter (XMLStatus) returns XMLData; see below:

<?xmlversion="1.0"?> <objects>

<objectobjectname="TPanelReportingStatusXML"name="IPReportingStatus"> <published>

<methodname="Registered"readonly="True"type="Boolean">False</method> <methodname="RegistrationStatus"readonly="True"type="UnicodeString"></method> <methodname="RegistrationError "readonly="True"type="UnicodeString"></method> </published>

</object> </objects>

 Parameter definition

methodname Definition

"Registered" The control panel is registered to an IP receiver "RegistrationStatus" Possible Values Description

"Unregistered" The control panel is not registered to any receiver "Registered" The control panel is registered to a receiver "Registration In Progress" The control panel is currently in registration process

with a receiver

"Registration Error " There is a registration error (see registration error bellow)

"RegistrationError " Possible Values Description

"No IP Module" There’s no IP module connected to the control panel "DHCP Error " The IP address of the IP module is invalid "No IP Address" The IP address of the IP module is invalid "No IP Port" The IP port of the IP module is invalid

"No IP Account" There’s no IP account # programmed in the control panel

"No Access Point Name" There’s no access point programmed in the control panel

(22)

Page 22 of 64 "Cannot Connect" Unable to connect to the receiver

"Invalid Profile" The profile ID programmed in the control panel is invalid

"Invalid Format" The reporting format programmed in the control panel is invalid

" Account in Use" The account # is already registered in the receiver "IP Full" The receiver is full (no more account available)

20. System Troubles (Command) 20. System Troubles (Command)

 Use to retrieve (read) all system troubles  Request (Pascal STDCALL)

function SystemTroubles(const PanelID: Cardinal; out XMLTroubles: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve the PGM status

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. Function parameter (XMLTroubles) returns XMLData; see below:

<?xmlversion="1.0"?> <PanelInfo>

<PanelTroubleTrouble1="AC Failure"Trouble2="Zone Tampered:1A000001"/> </PanelInfo>

 Parameter definition

Sectionname Key name Definition

PanelTrouble Trouble%d All system troubles

Trouble (Name and Format) Parametereter

"Zone Tampered:%s" Separator = : , %s = Module Serial #

"Battery Failure" None "

AC Failure" None

"Wireless Low Battery:%s" Separator = : , %s = Module Serial #

"Fire Loop Trouble:%s" Separator = : , %s = Module Serial #

"Zone Supervision Trouble:%s" Separator = : , %s = Module Serial #

"

Auxiliary Current Limit" None "Bell Current Limit" None "Bell Absent" None "Dialer Trouble" None

"ROM/RAM Error:%s" Separator = : , %s = Module Serial #

"Smoke Detector CleanME:%s" Separator = : , %s = Module Serial #

"IP Unregistered" None "RF Siren Battery Fail" None "RF Siren AC Fail" None

"RF Repeater AC Fail:%s" Separator = : , %s = Module Serial #

"RF Repeater BATT Fail:%s" Separator = : , %s = Module Serial #

"RF Keypad AC Fail:%s" Separator = : , %s = Module Serial #

(23)

Page 23 of 64 Serial #

"IP Receiver 1 Fail to comm" None "IP Receiver 2 Fail to comm" None

"PGM Tamper:%d" Separator = : , %d = PGM # "PGM RF Supervision Trouble:%d" Separator = : , %d = PGM # "RF Zone Supervision Trouble:%s" Separator = : , %s = Module

Serial #

"Pulsed Alarm:%d" Separator = : , %d = Area # "Buzzer Alarm:%d" Separator = : , %d = Area # "Silent Alarm:%d" Separator = : , %d = Area # "In Alarm:%d" Separator = : , %d = Area # "RAM Error " None

"Panic Medical:%d" Separator = : , %d = Area # "Zone in Alarm:%d" Separator = : , %d = Zone # "

Alarm In Memory:%d" Separator = : , %d = Area # "TLM Trouble" None

"Clock Trouble" None

"Module TLM Trouble:%s" Separator = : , %s = Module Serial #

"Panel Failed To Communicate" Separator = : , %s = Module Serial #

"Module Tamper:%s" Separator = : , %s = Module Serial #

"Bus Module Communication Fault:%s"

Separator = : , %s = Module Serial #

"Module Failed to communicate:%s" Separator = : , %s = Module Serial #

"Module Printer Fault:%s" Separator = : , %s = Module Serial #

"Module AC Failure:%s" Separator = : , %s = Module Serial #

"Module Battery Failure:%s" Separator = : , %s = Module Serial #

"Module Supply Output Trouble:%s" Separator = : , %s = Module Serial #

"Module Supervision Loss Trouble:%s"

Separator = : , %s = Module Serial #

"Missing Keypad:%s" Separator = : , %s = Module Serial #

"Missing Module:%s" Separator = : , %s = Module Serial #

"Safety Mismatch" None "Global Bus Failure" None

"General communication failure:%s" Separator = : , %s = Module Serial #

"Bus Overload" None "Bus Module Misunderstand" None

"Wireless Missing Module:%s" Separator = : , %s = Module Serial #

"485 Power:%s" Separator = : , %s = Module Serial #

"Bus Failure:%s" Separator = : , %s = Module Serial #

"Module Overheat:%s" Separator = : , %s = Module Serial #

(24)

Page 24 of 64 Serial #

"Module Blown Fuse:%s" Separator = : , %s = Module Serial #

"Module RF Jam:%s" Separator = : , %s = Module Serial #

"Module VBus Failure:%s" Separator = : , %s = Module Serial #

"Module Anti-Mask Failure:%s" Separator = : , %s = Module Serial #

"Module X10 Failure:%s" Separator = : , %s = Module Serial #

"Module Overload Failure:%s" Separator = : , %s = Module Serial #

"Module Too Cold:%s" Separator = : , %s = Module Serial #

"Ethernet Link" None "Reporting Link" None "Reporting Report" None "IP Module No Service" None

"Zone Tamper:%d" Separator = : , %d = Zone # "Fire loop trouble" None

"GSM No Service" None "GSM No Service" None "Fail to communicate to pager report" None "Fail to communicate to personnal

channel 1"

None "Fail to communicate to personnal

channel 2"

None "Fail to communicate to personnal

channel 3" None "Fail to communicate to personnal

channel 4"

None "Fail to communicate to personnal

channel 5"

None "Fail to communicate to personnal

channel 6"

None "Fail to communicate to personnal

channel 7" None "Fail to communicate to personnal

channel 8"

None "Fail to communicate CSTN Path 1" None "Fail to communicate CSTN Path 2" None "Fail to communicate CSTN Path 3" None "Fail to communicate CSTN Channel GPRS 1"

None "Fail to communicate CSTN Channel GPRS 2"

None "Fail to communicate CSTN Channel

IP 1" None

"Fail to communicate CSTN Channel IP 2"

None "Fail to communicate CSTN Channel Land 1" None "Fail to communicate CSTN Channel Land 2" None "Fail to communicate CSTN Channel GSM 1" None

(25)

Page 25 of 64 "Fail to communicate CSTN Channel

GSM 2"

None "Land Line no service" None "Time lost" None "Console No Battery" None "Console Low Battery" None "Console AC Failure" None "Console Tamper " None "Console AC Overload" None "Global RF Tamper " None "Global RF Power Failure" None "Global RF Low Battery" None "Global RF Supervision Lost" None "RF Interference" None "GSM Missing Module" None "GSM Missing SIM Card 1" None "GSM Missing SIM Card 2" None "GPRS No Service" None "IP Missing Module" None "IP No Service" None "Internal Landline No Service" None "Internal GSM No Service" None "Internal GPRS No Service" None "Internal IP No Service" None

"Transparency Mask Trouble:%s" Separator = : , %s = Module Serial #

"Proximity Mask Trouble:%s" Separator = : , %s = Module Serial #

"Infrared Blind Attempt Mask Trouble:%s"

Separator = : , %s = Module Serial #

"Lens Dirty Warning Trouble:%s" Separator = : , %s = Module Serial #

"IP Receiver Supervision Failure:%s" Separator = : , %s = Module Serial #

"IP Receiver Unregistered:%s" Separator = : , %s = Module Serial #

"Module LAN Failure:%s" Separator = : , %s = Module Serial #

"Module WAN Failure:%s" Separator = : , %s = Module Serial #

21. Read Panel Time Stamp (Command) 21. Read Panel Time Stamp (Command)

 Use to read the control panel current time stamp

 Compare with local (DB) value to detect programming changes in the control panel  Request (Pascal STDCALL)

function ReadTimeStamp(const PanelID: Cardinal; BlockID: Cardinal; out XMLTimeStamp: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve the time stamp 2. BlockID parameter identifies the time stamp to retrieve (0 = global)

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. XMLTimeStamp parameter returns time stamp

(26)

Page 26 of 64

methodname Definition

"BlockID" Retrieve time stamp on a specific section in control panel

Possible Values Description

0x00 Global time stamp (all programming)

0x01 Area programming time stamp

0x02 Zone programming time stamp

0x03 PGM programming time stamp

0x04 User programming time stamp

0x05 Door programming time stamp

0x06 Schedule programming time stamp

0x07 Holidays time stamp

0x08 Access Level programming time stamp

0x09 IP Reporting programming time stamp

22.

22. Read Panel Read Panel Date and Date and Time (Command)Time (Command)

 Use to retrieve (read) control panel current date and time  Request (Pascal STDCALL)

function ReadDateTime(const PanelID: Cardinal; var DateTime: Double): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve the date and time

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. DateTime parameter returns time value in double format

23.

23. Write Panel Write Panel Date and Date and Time (Command)Time (Command)

 Use to update (write) control panel current date and time  Request (Pascal STDCALL)

function WriteDateTime(const PanelID: Cardinal; DateTime: Double): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to update the date and time

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List ) 2. DateTime parameter must contain the new time value in double format

24. Read All Areas (Command) 24. Read All Areas (Command)

 Use to retrieve (read) all areas programming  Request (Pascal STDCALL)

function ReadAllAreas(const PanelID: Cardinal; out XMLAreas: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve information

 Answer

1. Function call returns HResult (see 2.2.2 Result Code List )

2. Function parameter (XMLAreas) returns XMLData, see TPanelAreaXML

25.

25. Read Read Area Area (Command)(Command)

 Use to retrieve (read) area programming  Request (STDCALL)

function ReadArea(const PanelID: Cardinal; AreaNo: Cardinal; out XMLArea: WideString): HResult; stdcall;

1. PanelID parameter identifies the connected control panel to retrieve information 2. AreaNo parameter identifies the area # to read programming

(27)

Page 27 of 64 1. Function call returns HResult (see 2.2.2 Result Code List )

2. Function parameter (XMLArea) returns XMLData; see below:

<?xmlversion="1.0"?> <objects>

<objectobjectname="TPanelAreaXML"name=" Area1"> <published>

<methodname=" AreaNo"readonly="True"type="Integer ">0</method>

<methodname=" AreaLabel"readonly="False"type="UnicodeString"> Area</method> <methodname=" AreaEnabled"readonly="True"type="Boolean">False</method> <methodname=" AreaExitDelay"readonly="False"type="Integer ">60</method> <methodname=" AreaBellCutOffTimer "readonly="True"type="Integer ">240</method> <methodname=" AreaAutoArmingTime"readonly="False"type="Double">0</method> <methodname=" AreaNoMovementTimer "readonly="False"type="Integer ">0</method> <methodname=" AreaEntryDelay1"readonly="False"type="Integer ">0</method> <methodname=" AreaEntryDelay2"readonly="False"type="Integer ">0</method> <methodname=" AreaSpecialExitDelay"readonly="False"type="Integer ">0</method>

<methodname=" AreaNoMovementScheduleStartTimeA"readonly="False"type="Double">0</method> <methodname=" AreaNoMovementScheduleEndTimeA"readonly="False"type="Double">0</method> <methodname=" AreaNoMovementScheduleDaysA"readonly="False"type="UnicodeString"></method> <methodname=" AreaNoMovementScheduleStartTimeB"readonly="False"type="Double">0</method> <methodname=" AreaNoMovementScheduleEndTimeB"readonly="False"type="Double">0</method> <methodname=" AreaNoMovementScheduleDaysB"readonly="False"type="UnicodeString"></method> <methodname=" AreaArmingReportScheduleStartTimeA"readonly="True"type="Double">0</method> <methodname=" AreaArmingReportScheduleEndTimeA"readonly="True"type="Double">0</method> <methodname=" AreaArmingReportScheduleDaysA"readonly="True"type="UnicodeString"></method> <methodname=" AreaArmingReportScheduleStartTimeB"readonly="True"type="Double">0</method> <methodname=" AreaArmingReportScheduleEndTimeB"readonly="True"type="Double">0</method> <methodname=" AreaArmingReportScheduleDaysB"readonly="True"type="UnicodeString"></method> <methodname=" AreaDisarmingReportScheduleStartTimeA"readonly="True"type="Double">0</method> <methodname=" AreaDisarmingReportScheduleEndTimeA"readonly="True"type="Double">0</method> <methodname=" AreaDisarmingReportScheduleDaysA"readonly="True"type="UnicodeString"></method> <methodname=" AreaDisarmingReportScheduleStartTimeB"readonly="True"type="Double">0</method> <methodname=" AreaDisarmingReportScheduleEndTimeB"readonly="True"type="Double">0</method> <methodname=" AreaDisarmingReportScheduleDaysB"readonly="True"type="UnicodeString"></method> <methodname=" AreaNoExitDelayViaRemote"readonly="True"type="Boolean">False</method> <methodname=" AreaBellSirenEnable"readonly="True"type="Boolean">False</method> <methodname=" AreaSquawkOnAutoArm"readonly="False"type="Boolean">False</method> <methodname=" AreaSquawkOnArm"readonly="False"type="UnicodeString"></method> <methodname=" AreaSquawkOnDelay"readonly="False"type="UnicodeString"></method> <methodname=" AreaRingBackOption"readonly="False"type="UnicodeString"></method> <methodname=" AreaSquawkOnRemoteArm"readonly="False"type="Boolean">False</method> <methodname=" AreaOneTouchRegularArm"readonly="True"type="Boolean">False</method> <methodname=" AreaOneTouchStayArm"readonly="True"type="Boolean">False</method> <methodname=" AreaOneTouchInstantArm"readonly="True"type="Boolean">False</method> <methodname=" AreaOneTouchForceArm"readonly="True"type="Boolean">False</method> <methodname=" AreaOneTouchInstantDisarm"readonly="True"type="Boolean">False</method> <methodname=" AreaBypassProgramming"readonly="False"type="Boolean">False</method> <methodname=" AreaFollowAreas"readonly="True"type="UnicodeString"></method> <methodname=" AreaSwitchToStayIfNoEntry"readonly="True"type="Boolean">False</method> <methodname=" AreaSwitchToForceIfRegularArm"readonly="True"type="Boolean">False</method> <methodname=" AreaSwitchToForceIfStayArm"readonly="True"type="Boolean">False</method> <methodname=" AreaSwitchToEntryDelay2AfterDelay"readonly="True"type="Boolean">False</method> <methodname=" AreaMaxZoneBypassed"readonly="True"type="Integer ">0</method>

<methodname=" AreaAutoArmEnabled"readonly="True"type="Boolean">False</method> <methodname=" AreaPostPoneAutoArm"readonly="True"type="Integer ">0</method> <methodname=" AreaAutoArmingMethod"readonly="True"type="UnicodeString"></method>

<methodname=" AreaNoMovementAutoArmEnabled"readonly="False"type="Boolean">False</method> <methodname=" AreaPanic1"readonly="True"type="UnicodeString"></method>

(28)

Page 28 of 64

<methodname=" AreaPanic3"readonly="True"type="UnicodeString"></method>

<methodname=" AreaAutoZoneShutdownCounter "readonly="True"type="Integer ">0</method> <methodname=" AreaRecentClosing"readonly="True"type="Integer ">0</method>

<methodname=" AreaInvalidCodesBeforeLockout"readonly="True"type="Integer ">0</method> <methodname=" AreaKeypadLockoutDuration"readonly="True"type="Integer ">0</method> <methodname=" AreaRecycleAlarmDelay"readonly="True"type="Integer ">0</method> <methodname=" AreaRecycleCount"readonly="True"type="Integer ">0</method> <methodname=" AreaPoliceCodeDelay"readonly="True"type="Integer ">0</method>

<methodname=" AreaPoliceCodeOnZoneClosingOnly"readonly="True"type="Boolean">False</method> </published>

</object> </objects>

 Parameter definition

methodname Definition

(MG/SP/EVO panels) (MG/SP/EVO panels)

"

AreaNo" Area # "

AreaLabel" Area label (up to 16 characters) "

AreaEnabled" Area is enabled (active) in the control panel "

AreaExitDelay" Area exit delay in seconds "

AreaBellCutOffTimer " Area bell cut off timer in seconds "

AreaAutoArmingTime" Area auto arming time (date time in double) "

AreaNoMovementTimer " Area no movement timer (value x 15 minutes) "

AreaEntryDelay1" Area entry delay 1

(EVO panel only) (EVO panel only)

"

AreaEntryDelay2" Area entry delay 2 "

AreaSpecialExitDelay" Area special exit delay (while arming from software) “

AreaNoMovementScheduleStartTimeA" Area arm no movement schedule 1, start time "

AreaNoMovementScheduleEndTimeA" Area arm no movement schedule 1, end time "

AreaNoMovementScheduleDaysA" Area arm no movement schedule 1, days (comma delimited, ex:“sun, tue”)

"

AreaNoMovementScheduleStartTimeB" Area arm no movement schedule 2, start time "

AreaNoMovementScheduleEndTimeB" Area arm no movement schedule 2, end time "

AreaNoMovementScheduleDaysB" Area arm no movement schedule 2, days (comma delimited, ex:“sun, tue”)

"

AreaArmingReportScheduleStartTimeA" Area report arming schedule 1, start time "

AreaArmingReportScheduleEndTimeA" Area report arming schedule 1, end time "

AreaArmingReportScheduleDaysA" Area report arming schedule 1, days (comma delimited, ex:“sun, tue”) "

AreaArmingReportScheduleStartTimeB" Area report arming schedule 2, start time "

AreaArmingReportScheduleEndTimeB" Area report arming schedule 2, end time "

AreaArmingReportScheduleDaysB" Area report arming schedule 2, days (comma delimited, ex:“sun, tue”) "

AreaDisarmingReportScheduleStartTimeA

"

Area report disarming schedule 1, start time "

AreaDisarmingReportScheduleEndTimeA" Area report disarming schedule 1, end time "

AreaDisarmingReportScheduleDaysA" Area report disarming schedule 1, days (comma delimited, ex:“sun, tue”) "

AreaDisarmingReportScheduleStartTimeB

"

Area report disarming schedule 2, start time "

AreaDisarmingReportScheduleEndTimeB" Area report disarming schedule 2, end time "

AreaDisarmingReportScheduleDaysB" Area report disarming schedule 2, days (comma delimited, ex:”sun, tue”) "

AreaNoExitDelayViaRemote" Area arm instantly (no exit delay) via remote "

AreaBellSirenEnable" Area bell siren is enabled and will trig upon alarm "

AreaSquawkOnAutoArm" Area squawk on auto arm is enabled "

AreaSquawkOnArm" Area squawk on arm is enabled "

AreaSquawkOnDelay" Area squawk on exit delay is enabled "

AreaRingBackOption" Area ring back option:

Possible Values

"Bell Squawk & Keypad Beep" "Bell Squawk"

References

Related documents

Bundling IP Services Secure Managed Broadband PCI Compliance Alarm/Event Monitoring Managed Digital Voice Interactive Video Surveillance Managed Access Control Fire/Life

1) Record the occurrence of the event, the time of occurrence and the device initiating the event. Receipt of a trouble signal at the fire alarm control shall cause the

Event notification Set the active, trouble, disable, prealarm, alarm verify, maintenance alert, and test event information by choosing one and then setting the

Upon the alarm panel at the state of disarming, follow the steps below to delete remote control to panel. press the [SET] key once and release immediately, alarm panel returns

Standard shock sensor (built into the main control unit). Arming and disarming the security system with the vehicle key. Remote door lock and unlock... 5. Enabling and disabling

An Alarm Group defines the area/s, Alarm control functions and User menu options available to the User or Arming Station to which it is assigned?. Alarm Groups 1 to 10 are Hard

Once the Alarm Control feature has been enabled and the access control network has been updated, two columns (Alarm Control Reader Type and Allow Access While Alarm System Offline)

High hydrogen lamp Grab sample solenoid Grab sample lamp Reset sampler lamp Trouble beacon Trouble remote alarm Horn.. Gas temp low lamp Trouble beacon Trouble remote