New App: Integration with HoneyWell TotalConnect Alarm & Monitoring System

smartapp_security
project_security

(Yogesh Mhatre) #1

Hello Guys

All the Updates are on Reply #2 in this Thread

I had developed an app that features an integration with Honeywell’s TotalConnect System. This is forked from topic - Return Parameter from a function to another function and I thought of having a dedicated topic for this app where I can update my efforts and share it with every one.

I have been using this app for a good year now. My wife loves it. I haven’t shared it with the community as its not polished. But it always gets the job done. I’d be happy to share the code with you and also elaborate on how it works. Will PM you with the code. Code is now on Github, no need of PM

= Explaination on Triggers =
In General, Triggers are based on the in built modes (Away, I’m Back, Morning & Night). Of course you can configure them.

I have setup ST to put home in Morning state at 6:30 AM and in Night state at 10:45 AM automatically. Also Away & “I’m back” mode are triggered based on the presence sensor in my case, Mobile Phones of myself and wife. Even if you don’t use your phone as presence sensor, the modes can be triggered from the SmartThings widgets (You know it).

At 10:45 PM - Night mode is triggered by ST, which Triggers the ArmStay mode of TotalConnect
At 6:30 AM - Morning Mode is triggered by ST which Triggers the DisArm mode of TotalConnect

When phones are not at home - Away mode is triggered by ST, which Triggers the ArmAway mode of Total Connect. You always need your ST app on phone running in background for location services to work well Or you could use the widgets from the App to set the appropriate Away or ImBack modes.

For the App, I have created a separate profile at Total connect Console - https://rs.alarmnet.com/totalconnect2#/ (recommended).

That all said, there are some quirks that I need to iron out before I could actually publish the app for the community. TotalConnect APIs do not make it easy for me to work on this, and also Im not a programmer by nature of my work.

I will explain those quirks in the PM. Hopefully I will get some time to figure out those, some day. Quirks are iron out, no need to PM, Check the update

== Some ScreenShots ==

How App looks, What input it accepts, how it logs and How it reflects on the Total Connect web portal. Hope this helps to you and other folks using ST and HoneyWell Total Connect


Honeywell Vista and Older ADT Security Panels
Upgrading from traditional monitored based home security
DSC/Vista Alarm Smartapp and devices based on AlarmServer
DSC Alarm Integration - and Alarms in General
Return Parameter from a function to another function
Connection to Honeywell Tuxedo Touch
New to ST SmartApp Help
Honeywell / ADT Compatibility
Smartthings + Total Connect 2.0
(Yogesh Mhatre) #2

Alright, thanks to @Oendaril and his implementation of Async API calls, I was able to modify the original code that I had written. I have been using it for 2 days and it is working well. Though I’ll appreciate any one that wants to use it and let me know if it works or not.

NOTE: There are many awesome implementations for TotalConnect Alarm by folks in this thread which you should consider if you want full control. I’ll try to do justice to them (but I may fail) by listing what they do.

List of Apps/DeviceHandlers for TotalConnect

You only need one of this installed. Please dont install all apps/device handlers together. We really need the 1st post to echo these below, but unfortunately its too old for me to edit, so here we go:

1. SmartApp based on modes/Smart Home Monitor Status


Mode based Code: https://github.com/mhatrey/TotalConnect/blob/master/ModesBased.groovy | Author: @mhatrey

I wrote this SmartApp for simple automation based modes/routines of SmartThings. This is a very minimalistic app and I prefer not to dwindle much besides this, but there’s lot more you can do using rest of the apps/device handlers written by folks in this thread. Functionality of the app -

  • SmartThings away mode = Arm Away
  • SmartThings night mode = Arm Stay
  • SmartThings I’m back, Good Morning mode = Disarm

With this latest version, I have implemented a way of automatically pulling LocationID & DeviceID, so all you need to enter are your user credentials.

Per request from @berg03191, I have added a SmartApp based on Smart Home Monitor Status

SHM based Code: https://github.com/mhatrey/TotalConnect/blob/master/SHMBased.groovy | Author: @mhatrey

2. DeviceHandler that act as Panel as well as Virtualized Lock/Switch


Code: https://github.com/Oendaril/TotalConnectAsync/blob/master/TCAsync.groovy | Author: @Oendaril

This device handler is written to as a SmartThings Device i.e. a virtualized Lock & Light and performs arming actions based on Lock ON/OFF & Switch ON/OFF. Notably

  • Switch On = Armed Stay
  • Lock On = Armed Away
  • Switch/Lock Off = Disarm

After installing the code as Device Handler, you will need to create SmartThings Device, by clicking “New Device” at the top right and then filling up rest of information.

Be sure to select “Device Type” by pointing to the Device Handler (Scroll to the bottom, you will TotalConnect Device) created before. Give it a name of your choice and device ID (Anything unique, thats not matching your existing devices)

Once the device is created you will have to edit and fill in preferences that contain your login credentials for TotalConnect.

To find LocationID & DeviceID @Oendaril has written a crafty SmartApp that you can run in the simulator to fetch that. Install the following code as a SmartApp and get that - https://github.com/Oendaril/TotalConnectAsync/blob/master/TCTesterAsync.groovy

3. Complete TotalConnect Panel


Code: Go to SmartApps > Click Settings (Top Right) > Add a Repository with the following information

  • Owner: jhstroebel
  • Name: SmartThings-TCv2
  • Branch: master

Author: @jhstroebel

This app is a different beast in all together and gives you lot of flexibility. I have not installed this app, so I have no experience using it.


Hope this was helpful. Cheers!

By the way, @Oendaril, @jhstroebel, if you have a moment, check my code at the following line - https://github.com/mhatrey/TotalConnect/blob/master/ModesBased.groovy#L77. I wrote this to pull Location information for users that have multiple Alarms. I’m not particularly happy about implementing a pause and a while loop, but if you can a) use the following/similar logic in your code to completely automate this for your app users and b) help me write a better logic in implementing this, it would be appreciated. Thanks!


(Steve Villebrun) #3

I would love to get access to your code. I have installed an evl3 and got integration working in the past but it was unreliable and relied on a server to coordinate all the pieces. I often thought a better approach would be through the totalconnect and I’m very excited to get a chance to try it.


(Yogesh Mhatre) #4

Sure thing. Code is now at github. I’ll PM you with instructions on how to go about it, Basically its about fetching your DeviceID & LocationID.

Im also working on v0.3 but I have seem to hit some road blocks. Will try my best to see if I can iron it out.


Endpoint null is blacklisted
(Michael Langkilde) #5

@mhatrey Great job. It has been working great! Love what you have been able to do! I appreciate it. Saves me ST Shield and using an extra key fob that I was using to do the same thing this app does.


#6

@mhatrey Thanks for your work on this. It is very helpful! I have Honeywell TC with my TuxedoTouch control panel. I have read all the threads on integrating ST with Vista 20P, etc. This is much easier and provides the TC app as backup which is nice. I would love to get the details on setting this up.


(Jackson Johnson) #7

Anyone know how to sniff the application ID and Location ID’s? I would love to get this setup on my system.


(Jack Johnson) #8

So it looks like i just need the application ID. Not sure where to get this. Anyone?


(DB) #9

were you able to make progress on the zone information?


(Michael Langkilde) #10

He has not responded to any of my messages and it has been over a month…


(Brandon De Young) #11

Hi @mhatrey, I am a homebuilder and we include a ST Hub with every new home build. We also offer the Honeywell Lynx Touch 5200 alarm system as an upgrade. That said, I am VERY interested in getting these two to integrate. It looks like your app does exactly that!

However, I have a question: it looks like this Lynx 5200 does indeed work with Honeywell’s Total Connect 2.0 app, so does that mean it automatically will work with your integration?

I see Yogesh hasn’t responded in awhile…has anyone else been able to get this working well? Some users were saying they got stuck while trying to find the application and location IDs. @chrisb, perhaps you can help with this? If not, do you know of anyone else that might be able to pick up where Yogesh left off?

Thanks!


(Brandon De Young) #12

In the Total Connect 2.0 app under Help Topics > About I see TC2 API Version 3.5.1 Android App Version: 3.5.1. Are these two numbers the Application ID and Application Version that your SmartApp is asking for?? Based on your screenshots up at the top of this thread it doesn’t look like Application ID is correct, but it does look like this is where to find the Application Version #.


(Brandon De Young) #13

Hi @zuperman4ever, based on a post of yours up above it appears you actually got this integration working? Can you confirm? If so, what did you use for the Application ID? Once you get that input and tap Done, how do you set it up from there? Doesn’t seem quite clear to me.

Any help is much appreciated!


#14

Anyone figure out how to get this to work. Would be incredibly useful to many of us I’m sure.


(Brandon De Young) #15

I was actually able to touch base with the app developer. He says 14588 should be the Application ID for everyone. However, I tried it to no avail. He was nice enough to schedule a time for us to troubleshoot it on Monday. Once I get it working I’ll report back.

I’ll also encourage him to jump back on here to help others out, although it sounds like he’s going to be real busy until after Black Friday.


(Michael Langkilde) #16

I had to use firefox and follow the instructions. As you have firefox open and have the windows open to follow the scripting for the window you have to go to total connect and login and at that time in the scripting it will give the information you are needing for the smartapp.


(Brandon De Young) #17

Hey @zuperman4ever, so the Application ID for you was different than 14588?

I was actually playing around with that too, but couldn’t seem to find the right information. Definitely not a developer so I’m not real sure where to look. I’m using Chrome so I clicked the settings button at the top right, then More tools, then Developer tools, but once that’s opened side-by-side next to the browser screen I don’t know where to look while I login. Any help would be appreciated!


(Michael Langkilde) #18

I was in your same boat. I just downloaded firefox and did it that way. I did not use chrome for that fact of me not being a programmer and not knowing how to find it using chrome. I would just suggest downloading firefox and then uninstall it after you get the information.


(T.J. Thomas) #19

I just got it working. I used AppID 14588 and AppVer 3.5.1

Also created a new user made sure it had a code and user assigned.

Setup modes and seems to be working now.


(Yogesh Mhatre) #20

Ouch. Sorry guys, I have been super busy and got easily distracted from this project. Too much happening/happened at my work.

@zuperman4ever, have not made further progress since we last time we chatted. Im pretty tight till Black Friday to work on this. @triggertact posed me with an interesting scenario where he has multiple locations and my code was acting funky in relaying it back to total connect. I know what I need to work on next or at least provide a quick fix. Note my plan to provide v0.4 is still in place and I wont accept a defeat on that. Its actually 90% done.

Also I found out another issue in v0.3 and soon will release v0.3.1 to fix it. Hang tight guys, I will write the code and perform the changes, but as always if you would like to contribute to this code, please feel free so.