Going to put together a quick tutorial while this is all fresh in my head.
I ran into a number of challenges and want to share it with this community.
Objective: Start using OpenHab to control and monitor the DSC alarm panel and stop using the Eyezon cloud service.
Topics Covered:
- Add Envisalink Thing
- Arm and Disarm DSC alarm using openhab app for Android or BasicUI
Note: As stated, I was previous using the Eyezon cloud service eyezon .com to monitor and receive alert emails, check the status and arm/disarm as needed while away from home. I now want to control this with openHab.
Equipment:
- DSC Alarm panel
- Envisalink 3 Internet module (EVL-3)
- Openhab2
- DSCAlarm Binding installed
Additional Comments:
- If you don’t activate the Envisalerts like on the screenshot below no information is sent to the cloud, everything can work on your local network only. read more
I was having trouble connecting via PaperUI and read that the module will only accept 1 connection. So what I did was remove/disconnect the module from my eyezon account. I also rebooted the EVL board by lifting the RED keypad wire from the module to powercycle with the hopes of freeing up the socket that appeared to still be connected to the remote server.
Local Login to Envisalink
Ensure you can login locally - this will help ensure you have the right password and settings that will be used in PaperUI to configure the thing.
Connect to Envisalink within local network at http:// :80 (i prefer to set a static IP or apply MAC address binding in the router)
login using user:user is the default login/password combination.
If you are like me, you will have forgotten the password you set months ago and will need to do a factory reset on the EVL-3
Envisalink Reset Default Settings & Password
To reset password on the EVL3, follow these steps read more
- Power down the EVL by carefully removing the RED Keypad wire from EVL module (lights will go out)
- Short SI and SO together with a jumper wire (Pin 2 and Pin 5 on the H3 connector counting from the left-hand side of the board when holding the board with the text upright.
- Power on the EVL for 10 seconds (lights will do some flicker while resetting to default settings)
- Power down the EVL and remove jumper
- Reconnect power by connecting red keypad wire
Your module’s local password and static IP have been returned to factory defaults and DHCP is now on.
Setting up Thing - Envisalink
PaperUI --> Configuration --> Things
- Click the + to add new thing.
- Choose the DSCAlarm Binding
- Click " Add Manually"
- Select “EyezOn Envisalink”
- Enter IP address, port and password (default port 4025, default password is user )
- click the check box to save. ( Thing Added message should flash appear in bottom right corner, click ‘Show Thing’)
The Result
You should now see the EyezOn Envisalink with a status of “ONLINE”.
Now, OpenHab will start to auto detect new items and your inbox will soon populate with dozens of new items.(Panel, Partitions 1-4, Keypad, Zones 1-64
Setting up Thing - Keypad & Panel
PaperUI - Inbox, Click on “Keypad” and ADD THING.
PaperUI - Inbox, Click on “Panel” and ADD THING.
Doing it the Manual way.
To ensure a clean setup and no conflicts, first make sure you remove anything related to the DSCAlarm that you setup using PaperUI (envisalink, panel, keypad, partition, zone etc.). I used PaperUI remove, HabMin–>Configuration–>things Delete and yes, I even edited some of the .json files manually when i had trouble removing everything. I also restarted openhab.
Okay…
Open Eclipse & create new .things file
THING
Bridge dscalarm:envisalink:f59cebdc [ ipAddress="192.168.34.93",password="secretpasswordhere"]
{
Thing panel panel "DSC Alarm Panel" [ userCode="123456", suppressAcknowledgementMsgs=true ]
Thing partition partition1 [ partitionNumber=1 ]
Thing zone zone1 [ partitionNumber=1, zoneNumber=1 ] // Front Door
Thing zone zone4 [ partitionNumber=1, zoneNumber=4 ] // Back Door
Thing zone zone5 [ partitionNumber=1, zoneNumber=5 ] // Front Motion
Thing zone zone6 [ partitionNumber=1, zoneNumber=6 ] // Kitchen Motion
// Thing zone zone8 [ partitionNumber=1, zoneNumber=8 ]
Thing zone zone9 [ partitionNumber=1, zoneNumber=9 ] // Living Rm Window
Thing zone zone10 [ partitionNumber=1, zoneNumber=10 ] // Dining Rm Window (Bay)
Thing zone zone11 [ partitionNumber=1, zoneNumber=11 ] // Kitchen Window
Thing zone zone12 [ partitionNumber=1, zoneNumber=12 ] // Family Room Window
Thing zone zone13 [ partitionNumber=1, zoneNumber=13 ] // Den Window
Thing zone zone14 [ partitionNumber=1, zoneNumber=14 ] // Laundry Window
Thing keypad keypad
}
Items
Group DSCAlarm
Group DSCAlarmPanel (DSCAlarm)
Group DSCAlarmPartitions (DSCAlarm)
Group DSCAlarmZones (DSCAlarm)
Group DSCAlarmKeypads (DSCAlarm)
/* Groups By Device Type */
Group:Contact:OR(OPEN, CLOSED) DSCAlarmDoorWindow <door>
Group:Contact:OR(OPEN, CLOSED) DSCAlarmMotion <motion>
/* Group:Contact:OR(OPEN, CLOSED) DSCAlarmSmoke <smokeDetector> */
/* DSC Alarm Items */
Switch BRIDGE_CONNECTION {channel="dscalarm:envisalink:f59cebdc:bridge_reset"}
String SEND_DSC_ALARM_COMMAND "Send a DSC Alarm Command" {channel="dscalarm:envisalink:f59cebdc:send_command"}
/* DSC Alarm Partition Items */
String PARTITION1_STATUS "Partition 1 Status: [%s]" (DSCAlarmPartitions) {channel="dscalarm:partition:f59cebdc:partition1:partition_status"}
Number PARTITION1_ARM_MODE "Partition 1 Arm Mode:" <alarm> (DSCAlarmPartitions) {channel="dscalarm:partition:f59cebdc:partition1:partition_arm_mode"}
Switch PARTITION1_ARMED (DSCAlarmPartitions) {channel="dscalarm:partition:f59cebdc:partition1:partition_armed"}
Switch PARTITION1_ENTRY_DELAY (DSCAlarmPartitions) {channel="dscalarm:partition:f59cebdc:partition1:partition_entry_delay"}
Switch PARTITION1_EXIT_DELAY (DSCAlarmPartitions) {channel="dscalarm:partition:f59cebdc:partition1:partition_exit_delay"}
Switch PARTITION1_IN_ALARM (DSCAlarmPartitions) {channel="dscalarm:partition:f59cebdc:partition1:partition_in_alarm"}
String PARTITION1_OPENING_CLOSING_MODE "Opening/Closing Mode: [%s]" (DSCAlarmPartitions) {channel="dscalarm:partition:f59cebdc:partition1:partition_opening_closing_mode"}
/* DSC Alarm Keypad Items */
Number KEYPAD_READY_LED "Ready LED Status" <selfshield> (DSCAlarmKeypads) {channel="dscalarm:keypad:f59cebdc:keypad:keypad_ready_led"}
Number KEYPAD_ARMED_LED "Armed LED Status" <alarm_armed_led> (DSCAlarmKeypads) {channel="dscalarm:keypad:f59cebdc:keypad:keypad_armed_led"}
Number KEYPAD_MEMORY_LED "Memory LED Status" <memoryLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:f59cebdc:keypad:keypad_memory_led"}
Number KEYPAD_BYPASS_LED "Bypass LED Status" <bypassLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:f59cebdc:keypad:keypad_bypass_led"}
Number KEYPAD_TROUBLE_LED "Trouble LED Status" <troubleLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:f59cebdc:keypad:keypad_trouble_led"}
Number KEYPAD_PROGRAM_LED "Program LED Status" <programLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:f59cebdc:keypad:keypad_program_led"}
Number KEYPAD_FIRE_LED "Fire LED Status" <fireLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:f59cebdc:keypad:keypad_fire_led"}
Number KEYPAD_BACKLIGHT_LED "Backlight LED Status" <backlightLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:f59cebdc:keypad:keypad_backlight_led"}
Number KEYPAD_AC_LED "AC LED Status" <acLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:f59cebdc:keypad:keypad_ac_led"}
/* DSC Alarm Zones Items */
Contact ZONE1_STATUS "Front Door (Zone 1)" <door> (DSCAlarmZones, FrontFoyer, DSCAlarmDoorWindow) {channel="dscalarm:zone:f59cebdc:zone1:zone_status"}
String ZONE1_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:f59cebdc:zone1:zone_message"}
Switch ZONE1_BYPASS_MODE "Fs Mode" (DSCAlarmZones) {channel="dscalarm:zone:f59cebdc:zone1:zone_bypass_mode"}
Switch ZONE1_IN_ALARM "Zone 1 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:f59cebdc:zone1:zone_in_alarm"}
Switch ZONE1_TRIPPED <switch> (DSCAlarmZones) {channel="dscalarm:zone:f59cebdc:zone1:zone_tripped"}
Add to SITEMAP
Frame label="SECURITY SYSTEM" {
Group item=PARTITION1_STATUS label="Alarm Status" {
Default item=PANEL_MESSAGE
Default item=ZONE1_STATUS
Default item=ZONE4_STATUS
Default item=ZONE5_STATUS
Default item=ZONE6_STATUS
Default item=ZONE9_TRIPPED
// Switch item=ZONE9_TRIPPED mappings=[OFF="closed", ON="open"]
// Switch item=ZONE10_TRIPPED mappings=[OFF="closed", ON="open"]
Default item=ZONE10_TRIPPED
Default item=ZONE11_TRIPPED
Default item=ZONE12_TRIPPED
Default item=ZONE13_TRIPPED
Default item=ZONE14_TRIPPED
}
Switch item=PARTITION1_ARM_MODE label="" mappings=[0="Disarm", 1="Away", 2="Stay", 3="No Entry Delay", 4="With User Code"]
}