View unanswered posts | View active topics It is currently Mon May 20, 2013 12:29 pm



Reply to topic  [ 256 posts ]  Go to page: 1, 2, 3, 4, 5 ... 18  Next
 DSC Alarm Plugin 
Author Message
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post DSC Alarm Plugin
What is the DSC Alarm Plugin
This plugin interfaces Indigo 5 to a DSC PowerSeries alarm system using one of the interfaces below. It lets Indigo see the status of the entire alarm system. Triggers can be created for any alarm or zone change, actions can be created to Arm, Disarm, or trip the alarm.

What It Needs
To use the DSC Alarm Plugin you'll need a DSC PowerSeries alarm system, as well as either an Envislink 2DS (ethernet interface), DSC IT-100 or PC-5401 (both serial interfaces). The PC-5401 is no longer available, it is the older version of the board. New buyers should look for the Envisalink 2DS or the IT-100. The 2DS is a little cheaper and has way more features than the IT-100, I'd recommend it for any new installations.

Download the Plugin
DSC_Alarm_Plugin.zip - Version (1.0.9), IT-100 and Envisalink 2DS/3 Support
See Change History below for details on what's been changed in each version.

Installation
1. Download the plugin from the link above.

2. Double-click on the DSC Alarm.indigoPlugin file, Indigo should launch and ask if you'd like it to install the plugin.

3. The plugin's config screen should pop up. Select the serial port your interface is using and enter your alarm's code.
Image

4. Create one Keypad device. This device holds global alarm states like if the system is armed/disarmed, LCD Messages and LED states. It's also the device you use to Arm/Disarm the alarm.
Image

5. Create Alarm Zone devices for each of your alarm zones. If you don't know which of your zones correspond to which zone number, turn on 'Enable Debugging" in the plugin's config and watch the Event Log as you open and close each zone.
Image

6. Create triggers to go off when the alarm state changes, or when a zone state changes.
Image

7. Create actions to arm/disarm the alarm.
Image

8. Create a cool control page keypad like the one below. All the LED states and LCD messages are updated in real-time just like a physical keypad. The background and LED images I used to create this control page can be downloaded here. Open the zip file and copy the contained images to the /Library/Application Support/Perceptive Automation/Indigo 5/IndigoWebServer/images/controls/devices/ folder.

Image

Change History
Version 1.0.9 (Nov 14, 2012):
- Quick fix for compatibility with Indigo 6 beta.

BETA Version 1.0.7 (Apr 2, 2012):
- Fixed for 2DS: Time bug where 12pm showed as 12am
- Fixed for ALL: "Create Variables" would cause plugin to get stuck in an endless loop

BETA Version 1.0.6 (Mar 31, 2012):
- Fixed for 2DS: Login bug that popped up when 2DS was updated to 1.07.65
- Fixed for 2DS: Plugin will now announce open zones if attempt is made to arm alarm from plugin
- Fixed for 2DS: Configuration issue where an IT-100 serial port needed to be selected for proper plugin startup
- Fixed for 2DS: Ping errors are now suppressed unless they happen 3 times in a row
- Added for 2DS: Date/Time now displayed in keypad state variables for 2DS users
- Added for ALL: Trigger events for Alarm Disarmed, Tripped, Failed to Arm
- Removed for ALL: Removed Failed To Arm keypad state (use above trigger event instead)

Version 1.0.0 (Nov 28, 2011):
- Lots of minor enhancements.
- Fixed a bug where the plugin would hog CPU on first launch. (credit to mrcandy for finding this one)
- Changes to alarm devices now take effect immediately without having to restart the plugin.
- Added an action to set the time of the alarm to the same as the computer. Setup a schedule to run this nightly to keep your alarm's clock in check and to adjust for changes in Daylight Savings Time.

Version 0.9.3 (Jun 28, 2011):
- Device states now show up properly in the Device List. Unfortunately existing devices have to be deleted and recreated for this to take effect.
- Added ability to trigger Fire, Medical, and Panic alarms.
- Added ability to send keypad key presses or even key strings
- Added events that trigger when the alarm is armed or disarmed by a particular user

Version 0.9.1 (Jun 27, 2011):
- Fixed LCD parsing for some alarm panels
- Added support for temperature sensors

Version 0.9.0 (Jun 26, 2011):
- Initial release of the DSC Alarm Plugin (version 0.9.0)


Last edited by travisc on Wed Nov 14, 2012 1:36 pm, edited 17 times in total.



Fri Jun 03, 2011 10:17 pm
Profile WWW
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post Re: DSC Alarm Plugin
Some advantages and disadvantages of each interface. The purpose of this list is to help would-be purchasers understand the differences between the interfaces before they buy. I'll try to keep these up to date as others chime in.

Serial IT-100 Interface:
Pros:
    - Sends updates in real-time, Indigo is updated instantly of all zone and alarm states.
    - Extremely lightweight on resources. The plugin just sits and waits for status updates (no polling).

Cons:
    - Requires USB to Serial Adapter.
    - The interface module must be located at most 25 feet from your computer.

Ethernet TL-150 Interface:
Pros:
    - Network interface means this module can be located anywhere within 100m of a network connection.

Cons:
    - The web page needs to be polled and parsed before updates can be sent to Indigo. This will likely only happen once every 5 - 30 seconds or so?
    - No option to arm the alarm in Stay mode. UPDATE: This may not be accurate.


Last edited by travisc on Mon Jun 06, 2011 1:24 pm, edited 1 time in total.



Fri Jun 03, 2011 11:19 pm
Profile WWW
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post Re: DSC Alarm Plugin
@raneil

There is no provision to "Arm Stay"; only "Arm Away". And no detail as to the nature of any "Error" status. These are limitations of the TL-150.

Ouch. I use that feature every night via a KeypadLinc on my nightstand. :(

Incidentally, the TL-150 also reports (individually for each zone) the number of minutes (up to 1 hour, I think) that have elapsed since the zone's status changed. I find that to be very handy. This is not shown in the screen shot since that information is only displayed as a tooltip if you hover the cursor over a zone in the grid (can't capture that in a screenshot). But, since the information is in the HTML, it's easily parsed and can therefore be made available to Indigo via the plugin.


That's a great feature. The serial module doesn't export this data directly but I can easily keep track of it in the plugin. My pre-Indigo implementation of the plugin showed different colors for each zone based on the last time it was opened. We'll definitely include an option for this information to be exported to Indigo variables.

First, I think we'll need to clearly define exactly what we want the plugin to do. Personally, I'm of the Keep It Simple philosophy. I would propose a plugin that simply updates a collection of user-named Indigo variables that represent the current System Status, the status of each zone, and optionally, the elapsed time since the most recent status chagne for each zone. The user could then decide what to do with those variables.


Agreed. One feature I use now and will also be adding at some point is the option to have the plugin speak the names of zones when the alarm is tripped or fails to arm. I have speakers placed around the house that are connected to the Indigo server. So for example, if I try to arm the alarm but a window is open it will simply say "The alarm failed to arm, the dining room window is still open". Or if the alarm is tripped, it will constantly repeat "Warning, the alarm has detected movement at the following zones: basement window, basement motion".


Image

Looks good! So, you can arm/disarm the system from your phone without entering an access code? I debated myself endlessly about that, and finally decided to require the code. It shouldn't be hard to make that part optional, though; let the user decide.


I opted for the no code option on the phone since I have the passcode feature enabled which means I have to enter a 4 digit code before I can access anything on the phone. More security can certainly be an option.


Fri Jun 03, 2011 11:40 pm
Profile WWW
User avatar

Joined: Oct 18, 2006
Posts: 96
Location: Mas
Post Re: DSC Alarm Plugin
I am using the IT-100 with Serial Bridge and the DSC script found here http://www.perceptiveautomation.com/userforum/viewtopic.php?f=6&t=875&start=60 which i tweaked numerous times. It works great. It allows me to do just about everything with the alarm. The only issue is Serial Bridge. It keeps on freezing so I have a timed action to restart Serial Bridge every hour and that seems to solve the problem.
Image
Image





I am curious, are you using the same thing to create your interface? If not, please explain. A plug in would be great for the IT-100 & the TL-150.

Sum info that the TL-150 provides.
Image Image

_________________
www.powerhs.com


Sat Jun 04, 2011 5:15 pm
Profile WWW
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post Re: DSC Alarm Plugin
peppop wrote:I am curious, are you using the same thing to create your interface? If not, please explain. A plug in would be great for the IT-100 & the TL-150.


I chose not to go the Serial Bridge/Applescript route and wrote my own interface in Perl using Sean Adam's Automogator extension (http://www.google.ca/search?sourceid=chrome&ie=UTF-8&q=automogator). It has worked great for almost a year now, no lockups. My script simply updates Inidigo variables that are monitored by Indigo for various lighting/HVAC purposes. The control page itself I created using Indigo's control page editor with a custom background image.

What are you using for the DSC to get interior and exterior temperatures?

peppop wrote:Sum info that the TL-150 provides.
Image


Do you also have a TL-150 ethernet interface? Are those screenshots of? They show an option to arm the alarm in STAY mode. Raneil had mentioned that wasn't possible with the TL-150.


Sun Jun 05, 2011 10:29 am
Profile WWW
User avatar

Joined: Oct 18, 2006
Posts: 96
Location: Mas
Post Re: DSC Alarm Plugin
Yes i have the LT-150 & IT-100, I also have an IP100D from EnvisaLink. It is the same module, it looks identical. Even the on board web interface looks the same except it has their name on it.
They provide a free log-on service that gives you that interface.
There is also an iPhone APP for both modules.
EnvisaLink
https://www.eyez-on.com/EZMAIN/
iPhone app
http://itunes.apple.com/us/app/dsc-alarm-monitor/id390093212?mt=8

For the temp I use a DSC Escort module & DSC thermostat.
http://www.dsc.com/index.php?n=products&o=view&id=18

Maybe these files will help with the plugin process.
http://peppo.com/images/Indigo2/DSC.zip

Like to try your script, will you post it, with directions on how to?

_________________
www.powerhs.com


Sun Jun 05, 2011 4:43 pm
Profile WWW
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post Re: DSC Alarm Plugin
peppop wrote:Like to try your script, will you post it, with directions on how to?


Let me update it to the new plugin architecture then I'll be happy to share it. It will take me longer to write a howto for the old version than it will to port it over. :)

I should have something usable within a week.

Thanks for the information!


Mon Jun 06, 2011 1:18 pm
Profile WWW
User avatar

Joined: Oct 18, 2006
Posts: 96
Location: Mas
Post Re: DSC Alarm Plugin
KO thanks.

_________________
www.powerhs.com


Mon Jun 06, 2011 4:39 pm
Profile WWW

Joined: Feb 11, 2011
Posts: 32
Location: Grapevine, Texas
Post Re: DSC Alarm Plugin
peppop wrote:Sum info that the TL-150 provides.
Image Image


It would appear that EYEZ-ON have replaced the TL-150's firmware with a significantly improved version! Much more information available, and greater capability (STAY arming, codeless arming, *9 arming, Toggle PGM, etc.)

Were the pages in these screen shots generated by accessing the EYEZ-ON device locally, or by accessing it via their website over the Internet? The Quick Installation Guide available from their website gives instructions for setting up an account on their website to gain remote access to the device. I'm hoping that's not required to utilize the improved functionality over the TL-150.


Fri Jun 10, 2011 9:20 am
Profile

Joined: Feb 11, 2011
Posts: 32
Location: Grapevine, Texas
Post Re: DSC Alarm Plugin
I should have spent a bit more time researching before I posted my question... It would appear that the local interfaces (and therefore, capabilities) of the two devices are essentially the same. The extra functionality is provided only through the EYEZ-ON web portal -- at least for the time being.


Fri Jun 10, 2011 9:34 am
Profile
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post Re: DSC Alarm Plugin
I've completed the first version of this plugin. More info on the first forum post: http://www.perceptiveautomation.com/userforum/viewtopic.php?f=19&t=6891


Sun Jun 26, 2011 7:49 pm
Profile WWW

Joined: Jun 27, 2011
Posts: 3
Post Re: DSC Alarm Plugin
Does this release of the plugin support the tl250? I have both the it-100 and the tl 250.

Thanks in advance.

Oops. Just read further thru the forum and discovered the pros and cons message. I guess it makes sense to use the IT-100.. Thank you for developing this plugin!

Jeff


Mon Jun 27, 2011 6:21 am
Profile
Site Admin
User avatar

Joined: Jan 27, 2003
Posts: 11688
Location: Texas
Post Re: DSC Alarm Plugin
Great contribution. Thanks Travis!

_________________
Image


Mon Jun 27, 2011 6:38 am
Profile WWW
User avatar

Joined: Oct 18, 2006
Posts: 96
Location: Mas
Post Re: DSC Alarm Plugin
It looks good thank you.
I'm getting thees errors
Code: Select all
 DSC Alarm Error                 Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
  File "plugin.py", line 84, in runConcurrentThread
  File "/Library/Application Support/Perceptive Automation/Indigo 5/Plugins/DSC Alarm.indigoPlugin/Contents/Server Plugin/DSC.py", line 488, in startComm
  File "/Library/Application Support/Perceptive Automation/Indigo 5/Plugins/DSC Alarm.indigoPlugin/Contents/Server Plugin/DSC.py", line 207, in readPacket
<type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte 0xdf in position 7: ordinal not in range(128)

  DSC Alarm Error                 plugin runConcurrentThread function returned or failed; will attempt

_________________
www.powerhs.com


Mon Jun 27, 2011 6:45 am
Profile WWW
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post Re: DSC Alarm Plugin
peppop wrote:It looks good thank you.
I'm getting thees errors


Interesting. Looks like your system is sending out some different characters for the LCD update. I've made a small change to help me track this down. Download this version of the plugin here and let it run. Turn on Enable Debugging in the plugin's config. Post the log lines you see from the moment the plugin starts up, to the moment you see the error. In particular I need to see the lines marked RX and LCD DEBUG.

Are you using the IT-100 or PC-5401?


Mon Jun 27, 2011 7:44 am
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 256 posts ]  Go to page: 1, 2, 3, 4, 5 ... 18  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.   Template designed by STSoftware.