Driver Details

ELK / Ness Products

By: RTI
Updated: Jan. 6, 2023
Version: 1.07

Description:

This driver supports the ELK-M1 and Ness-M1 security panel through a direct RS-232 connection to the panel or through the ELK-M1XEP Ethernet Interface.

Version History:

Version 1.01: fixes alarm state and status events.

Version 1.02: fixes a problem where zone lists might show duplicates.

Version 1.03: adds entry/exit timer, dynamic naming to areas, and changed sample file to apex.

Version 1.04: Adds new debug option, fixes connection issues.

Version 1.05: Fixes hang ups on bad data returns during intialization

Version 1.06: Adds Dynamic Naming and Source ID's for zones, Updated sample file to include examples of SourceID

Version 1.07: Fixes issue with certain variable not showing properly on certain RTI controllers
 

ELK M1 Security and Automation System

This driver controls the ELK M1 Security System via RS-232 directly or ethernet via the ELK-M1XEP Ethernet Interface. Initial setup of the system requires retrieving significant amount of data from the panel and it goes MUCH quicker over IP

You can connect directly to the panel using the processors supplied RJ45 to DB9 adapter

Revision History
1.0
The initial release of the driver. The driver was developed with a panel running firmware version 5.2.4
1.01 Fixed driver events for Arming Status, Armed State and Alarm State
1.02 Fixed a problem with zones in lists duplicating themselves

1.03 Added entry/exit timer, added dynamic naming to areas, and changed sample file to apex

1.04 Adds new debug option, fixes connection issues

1.05 Fixes hang ups on bad data returns during intialization

1.06 Adds Dynamic Naming and Source ID's for zones, Updated sample file to include examples of SourceID

1.07 Fixes issue with certain variable not showing properly on certain RTI controllers

Programming the System

The driver relies on the ELK system to supply information on its internal state. This requires that all status broadcasting information be turned on. In the Globals Menu of the Installation Programming section there are several settings that must be configured in order for the ELK to transmit this information. Options G35 through G40 should all be turned on.

Arming

At it's heart this system is about security. The driver arming commands support all 7 possible arming levels through 9 arming parameters. They can be sent directly to any of the ELK's areas without requiring a code to be entered simultaneously. You still need the code for the system though, it is entered either as a parameter of the button or it can be entered into the driver configuration.

In addition the commands can be sent requiring code entry. These commands require the keypads to work so rather than being sent to an area they take a keypad number as a parameter. When a code is required there is a variable (Expecting Code Entry) that can be used to highlight or make keypads visible. There is also a pair of driver events to allow a page flip before and after the code is entered.

Keypads

Keypad commands are available but there is no 'Virtual Keypad' functionality to allow buttons that act like an actual keypad. You can emulate the function keys of any of the keypads, including their highlighting and names if desired. The numeric keypads will allow a code to be entered at any time, if no arming command has been sent from that keypad address then a completed and correct user code will toggle between disarmed and away.

Zones

Zones can be in one of 4 states: normal, bypassed, violated or trouble. There is a list variable for all zones that will notate the state of the zone, and there are separate lists for all the non-normal states. You can select a zone from any of these lists and toggle the bypassed state of the zone. There are also commands to bypass all the violated zones as well as one to remove the bypass from all the zones.

Automation

The ELK system is a full blown automation controller in its own right with significant ability to interface with the outside world. It also contains a sophisticated macro programming system. All of these are accessible from the RTI side.

'Controls' are the logic/relay outputs of the system. They are fully controllable through the driver. They can be turned on and off via separate commands or a single command can activate one for a selected amount of time. In addition, if any of the control outputs (including 1 and 2) are triggered from the ELK side a driver event will fire allowing action to be taken on the RTI side as well.

Tasks are the key to the macro part of the ELK system. Tasks can be triggered by driver commands and any tasks that are triggered on the ELK side trigger a driver event on the RTI side.

Logs

The ELK system keeps a log of all significant events. This driver will extract the last 100 of these on startup and will receive log data on a continuing basis. The driver will start trimming the older log items when the number of items passes 500. These log items can be viewed in a list and selected from the list to be viewed in a more verbose fashion. In addition the most recent log item is always displayable through a separate set of variables.

Voice

The ELK system has a preprogrammed vocabulary of words and phrases. These are all available as parameters to the 'Speak' driver commands. The list of vocabulary is found at the end of the M1 Installation manual.

Driver Events

The driver has a huge number of driver events, responding to almost all state changes in the system:

Armed Status: Disarmed, Stay, Away, etc all trigger events by area

Arming State: Ready or Not Ready to Arm States, Exit Timer and Fully Armed Events

Alarm State: Not just alarm events but each type of alarm gets it's own event

Keypad Events: Events to switch to a keypad page if neeed as well as events when valid or invalid codes are entered

Zones: An event when a zone state changes but also events for what happens to a zone: violated, bypassed, or tampered (trouble)

Automation: Tasks and Control Outputs trigger driver events whenever activated.

System Trouble: Events for trouble occurring and another for when the trouble is cleared. Not just an event, each trouble source has its own pair

Troubleshooting and start-up

When starting up the driver has to extract the current state of the ELK Panel, including the names of all the objects. It also gets the latest 100 log entries. This can take a while so a Connection State variable has been added to allow you to track it as it happens. The variable will begin at 'Starting Up' and switch to 'Initializing' fairly quickly; you might not actually even see them. It will eventually get to 'Getting Names' and then to 'Getting Logs', these can take a couple minutes over the serial connection but are usually 30 seconds or so via ethernet. Finally the variable will change to show 'Connected' and you're ready to go.

If contact is lost for more than 30 seconds the variable will switch to showing 'Disconnected'. Once that happens, any reconnect will cause the driver to reacquire all the names and logs once again.