---
id: dscalarm
label: DSC Alarm
title: DSC Alarm - Bindings
type: binding
description: "The DSC PowerSeries Alarm System is a popular do-it-yourself home security system, which can be monitored and controlled remotely through a standard web-browser or mobile device."
logo: images/addons/dscalarm.png
install: auto
---
{% include base.html %}
# DSC Alarm Binding
The DSC PowerSeries Alarm System is a popular do-it-yourself home security system, which can be monitored and controlled remotely through a standard web-browser or mobile device.
This is the binding for the DSC PowerSeries Alarm System, utilizing either the EyezOn Envisalink 4/3/2DS interface or the DSC IT-100 RS-232 interface.
It provides connectivity to the DSC Alarm panel via a TCP socket connection to the EyesOn Envisalink 4/3/2DS interface or a RS-232 serial connection to the DSC IT-100 interface.
Additionally, there is provision to connect to the DSC IT-100 interface through a TCP serial server.
## Supported Things
This binding supports the following Thing types
| Thing | Thing Type | Description |
|------------|------------|------------------------------------------------------------------------|
| envisalink | Bridge | The EyezOn Envisalink 3/2DS interface. |
| it100 | Bridge | The DSC IT-100 RS-232 interface. |
| tcpserver | Bridge | The DSC IT-100 TCP Server network interface. |
| panel | Thing | The basic representation of the DSC Alarm System. |
| partition | Thing | Represents a controllable area within a DSC Alarm system. |
| zone | Thing | Represents a physical device such as a door, window, or motion sensor. |
| keypad | Thing | Represents the central administrative unit. |
## Binding Configuration
There are essentially no overall binding configuration settings that need to be set.
Most settings are through thing configuration parameters.
## Discovery
The DSC Alarm binding incorporates a discovery modes in order to find DSC Alarm systems.
There is the Envisalink bridge discovery mode which performs a network query for any Envisalink adapters and adds them to the discovery inbox.
This bridge discovery mode is started manually through the UI.
After a bridge is discovered and available to openHAB, the binding will attempt to discover DSC Alarm things and add them to the discovery inbox.
The TCP Server bridge does not implement bridge discovery but will utilize thing discovery once it is online.
Note:
The Envisalink Bridge discovery does a TCP scan across your local network to find the interface.
This may create issues on the network so it is suggested that caution be used when trying this discovery.
The recommended method would be to manually add and configure the bridge through the 'dscalarm.thing' file or the UI.
And then allow the binding to discover the DSC Alarm things.
## Thing Configuration
DSC Alarm things can be configured either through the online configuration utility via discovery, or manually through the 'dscalarm.things' configuration file.
The following table shows the available configuration parameters for each thing.
Thing | Configuration Parameters |
envisalink | ipAddress - IP address for the Envisalink adapter - Required. | port - TCP port for the Envisalink adapter - Not Required - default = 4025. | password - Password to login to the Envisalink bridge - Not Required. | connectionTimeout - TCP socket connection timeout in milliseconds - Not Required - default=5000.
| pollPeriod - Period of time in minutes between the poll command being sent to the Envisalink bridge - Not Required - default=1. |
|
it100 | serialPort - Serial port for the IT-100s bridge - Required. | baud - Baud rate of the IT-100 bridge - Not Required - default = 9600. | pollPeriod - Period of time in minutes between the poll command being sent to the IT-100 bridge - Not Required - default=1. |
|
tcpserver | ipAddress - IP address for the TCP Server - Required. | port - TCP port for the TCP Server - Required. | connectionTimeout - TCP socket connection timeout in milliseconds - Not Required - default=5000.
| pollPeriod - Period of time in minutes between the poll command being sent to the TCP Server bridge - Not Required - default=1. | protocol - The protocol used to interact with the DSC Alarm. Valid values are 1 for IT100 API or 2 for Envisalink TPI. The default is 1. - Not Required. |
|
panel | userCode - User code for the DSC alarm panel - Not Required. | suppressAcknowledgementMsgs - Suppress the display of acknowledgement messages when received - Not Required - default = false. |
|
partition | partitionNumber - Partition number (1-8) - Required. |
zone | partitionNumber - Partition number (1-8) - Not Required - default=1. | zoneNumber - Zone number (1-64) - Required. |
|
keypad | No parameters |
The binding can be configured manually if discovery is not used.
A thing configuration file in the format 'bindingName.things' would need to be created, and placed in the 'conf/things' folder.
Here is an example of a thing configuration file called 'dscalarm.things':
```perl
Bridge dscalarm:envisalink:MyBridgeName [ ipAddress="192.168.0.100" ] {
Thing panel panel
Thing partition partition1 [ partitionNumber=1 ]
Thing zone zone1 [ partitionNumber=1, zoneNumber=1 ]
Thing zone zone9 [ partitionNumber=1, zoneNumber=9 ]
Thing zone zone10 [ partitionNumber=1, zoneNumber=10 ]
Thing zone zone11 [ partitionNumber=1, zoneNumber=11 ]
Thing zone zone12 [ partitionNumber=1, zoneNumber=12 ]
Thing zone zone13 [ partitionNumber=1, zoneNumber=13 ]
Thing zone zone14 [ partitionNumber=1, zoneNumber=14 ]
Thing zone zone15 [ partitionNumber=1, zoneNumber=15 ]
Thing zone zone21 [ partitionNumber=1, zoneNumber=21 ]
Thing zone zone22 [ partitionNumber=1, zoneNumber=22 ]
Thing zone zone23 [ partitionNumber=1, zoneNumber=23 ]
Thing zone zone24 [ partitionNumber=1, zoneNumber=24 ]
Thing zone zone25 [ partitionNumber=1, zoneNumber=25 ]
Thing keypad keypad
}
```
## Channels
DSC Alarm things support a variety of channels as seen below in the following table:
Channel | Item Type | Description |
bridge_reset | Switch | (Writable) Reset the bridge connection. |
send_command | Switch | (Writable) Send a DSC Alarm command. See here for a list of commands. |
panel_message | String | Event messages received from the DSC Alarm system. |
panel_system_error | String | DSC Alarm system error. |
panel_trouble_message | String | Displays any trouble messages the panel might send. |
panel_trouble_led | Switch | The panel trouble LED is on. |
panel_service_required | Switch | Service is required on the panel. |
panel_ac_trouble | Switch | The panel has lost AC power. |
panel_telephone_trouble | Switch | Telephone line fault. |
panel_ftc_trouble | Switch | Failure to communicate with monitoring station. |
panel_zone_fault | Switch | There is a fault condition on a zone/sensor. |
panel_zone_tamper | Switch | There is a tamper condition on a zone/sensor. |
panel_zone_low_battery | Switch | There is a low battery condition on a zone/sensor. |
panel_time_loss | Switch | Loss of time on the panel. |
panel_time | DateTime | DSC Alarm system time and date. |
panel_time_stamp | Switch | (Writable) Turn DSC Alarm message time stamping ON/OFF. |
panel_time_broadcast | Switch | (Writable) Turn DSC Alarm time broadcasting ON/OFF. |
panel_fire_key_alarm | Switch | A fire key alarm has happened. |
panel_panic_key_alarm | Switch | A panic key alarm has happened. |
panel_aux_key_alarm | Switch | An auxiliary key alarm has happened. |
panel_aux_input_alarm | Switch | An auxiliary input alarm has happened. |
partition_status | String | A partitions current status. |
partition_arm_mode | Number | (Writable) A partitions current arm mode. The possible values are:
0=disarmed
1=armed away
2=armed stay
3=away no delay
4=stay no delay
|
partition_armed | Switch | A partition has been armed. |
partition_entry_delay | Switch | A partition is in entry delay mode. |
partition_exit_delay | Switch | A partition is in exit delay mode. |
partition_in_alarm | Switch | A partition is in alarm. |
partition_opening_closing_mode | String | Displays the opening/closing mode of a partition. |
zone_status | Contact | A zones general (open/closed) status. |
zone_message | String | A zone status message. |
zone_bypass_mode | Switch | A zone bypass mode (OFF=Armed, ON=Bypassed). |
zone_in_alarm | Switch | A zone is in alarm. |
zone_tamper | Switch | A zone tamper condition has happened. |
zone_fault | Switch | A zone fault condition has happened. |
zone_tripped | Switch | A zone has tripped. |
keypad_ready_led | Number | Keypad Ready LED Status. The values are:
0=OFF
1=ON
2=Flashing
|
keypad_armed_led | Number | Keypad Armed LED Status. The values are:
0=OFF
1=ON
2=Flashing
|
keypad_memory_led | Number | Keypad Memory LED Status. The values are:
0=OFF
1=ON
2=Flashing
|
keypad_bypass_led | Number | Keypad Bypass LED Status. The values are:
0=OFF
1=ON
2=Flashing
|
keypad_trouble_led | Number | Keypad Trouble LED Status. The values are:
0=OFF
1=ON
2=Flashing
|
keypad_program_led | Number | Keypad Program LED Status. The values are:
0=OFF
1=ON
2=Flashing
|
keypad_fire_led | Number | Keypad Fire LED Status. The values are:
0=OFF
1=ON
2=Flashing
|
keypad_backlight_led | Number | Keypad Backlight LED Status. The values are:
0=OFF
1=ON
2=Flashing
|
keypad_ac_led | Number | Keypad AC LED Status. The values are:
0=OFF
1=ON
2=Flashing
|
keypad_lcd_update | String | Text Changes of the IT-100 LCD Menu. |
keypad_lcd_cursor | String | LCD Cursor Position for The IT-100 |
## Example
The following is an example of an item file (dscalarm.items):
```java
Group DSCAlarm
Group DSCAlarmPanel (DSCAlarm)
Group DSCAlarmPartitions (DSCAlarm)
Group DSCAlarmZones (DSCAlarm)
Group DSCAlarmKeypads (DSCAlarm)
/* Groups By Device Type */
Group:Contact:OR(OPEN, CLOSED) DSCAlarmDoorWindow