[OBSOLETE] Integration with HoneyWell TotalConnect Alarm & Monitoring System

@mhatrey

I have installed your SmartApp and entered my credentials for TotalConnect2.0 and nothing is happening as far as my alarm arming and disarming. My understanding of your app is that it automatically arms and disarms the alarm system based on the mode my smartthings app is set to. I have automations in place that turns off lights and TV’s and set the mode to away when everyone leaves home. The same automation switched to home mode when anyone arrives and to night mode when I run the goodnight automation. The alarm is not setting when the modes change. Can you offer any feedback? Thanks in advance!

I followed these direction to step 5. However when I click “done” I get the following in my live logging and the app says “error saving page” and does not install and as you can see I don’t get the device Id and location ID. Any idea what is going on?

c9857466-f43f-4690-964e-eefa17005c1f 4:23:45 PM: error java.net.SocketException: Connection reset @ line 106
c9857466-f43f-4690-964e-eefa17005c1f 4:23:45 PM: debug ===== Executed login =====

I believe you’ll get ‘connection reset’ if you’re using the synchronous version of the app, since those requests are now being blocked. Are you using the newer async version that was posted in this thread?

No I followed the directions and the links in the very first post of the thread. If that no longer works it would be great if it were deleted or updated. There are 205 posts in this thread so not easy to read them all and find a newer version. Can you point me to the post is need to look at for the updated code

It might be good to read through them as there are several version of the app, some that work differently depending on what you’re trying to do. However, this device handler is the Async version that you’re probably looking for:

For anyone who may be wondering what’s happening this time, the entire API at https://rs.alarmnet.com/TC21API/TC2.asmx is taking FOREVER to load so requests are timing out. You can’t even login to the website right now. Hopefully just a temporary issue.

As an aside, will others please check their DH to make sure it’s up to date with the latest and not spamming request retries to the server? Check in live logging.

edit: seems to be okay now… strange.

Thanks for the updated code. I’ll go back through the thread, but it is now 605 posts, so that will take some time. I used the code you posted and I’m still getting the same error. Here is what I’ve done.

  1. create a new, unique user in total connect and give in admin privledges and made sure that user code is unchecked.
  2. created a new device in smartthings IDE and pasted in the code you provided above.
  3. created a new device called TotalConnect Alarm and TOTALCONNECT_ALARM1 as the device network ID. I select my location and my hub from the drop downs.
  4. created a new smart app using the tester code using the “tester.groovy” code from the link in the very first post in this thread - create, save, publish, for me.
  5. on my phone I open the app in the marketplace, or “which?” is select the Total Connect device, I enter the username and password, for assign name it put "home alarm (not sure what this field is for) for set specific mode I set “away”, but I’ve tried several and it does not seem to matter.
  6. I click done and I get a message on my phone that says"Error Saving Page" and in the live logging I get
    Clear
    0686decd-905f-4e97-af80-9183f7e89ace 8:55:33 AM: error java.net.SocketException: Connection reset @ line 106
    0686decd-905f-4e97-af80-9183f7e89ace 8:55:32 AM: debug ===== Executed login =====

Any idea what I’m doing wrong? Is the tester code I’m using in step 4 to create the smart app out of date?

You might want to just read quickly through them starting from the bottom, because there’s several versions of these things posted, depending on what you’re trying to do.

Here’s the tester app:

Says that the repository for jhstroebel/Smartthings-TCv2 cannot be found

The link is to Oendaril’s repository. Are you sure you hit the correct link?

Sorry, I was replying to the information below. I can’t get the oendaril handler/smart app to work for me. I still get the error on line 106 message in live logging when I try to run it on my phone and it never returns a device or location id. When I run the tester in the simulator to get those I get an error -102 in the log and then it keep retrying until it lock my account our for 30 minutes. This may be what was getting total connect so upset about all the traffic. So, since I can’t get that to work I was going to try to install the app described below, but I cannot find that repository.

Hi All,

This is my first post here :).

I adapted @brianwilson’s code to use a Cloud NodeJS Server (I am using the free version of Heroku).
I agree that the long term solution is to make this work in a Raspberry Pi so it is not so easy for ST to block us.

I put this together in a couple of hours while learning Node (and groovy). I will put together some documentation as soon as time allows.

Device Handler:

NodeJS Server:

@jhstroebel I am trying to use your total connect 2.0 app but I keep getting the following error message

11:42:41 AM: error java.lang.NullPointerException: Cannot get property ‘data’ on null object @ line 290
11:42:41 AM: error Something unexpected went wrong: java.net.SocketException: Connection reset

And this message on my phone screen Any idea what is going on. I have confirmed that I have the correct total connect user name and password and can use them to login to total connect from my pc and from the TC app on my phone.

So, I’ve been trying to install this for a couple of days now and can’t get anything to work. I have confirmed that the login credentials for TC are correct and can login via the website using them, but I can’t get the SmartAp to load (I’ve tried oendaril’s and brianwilson’s. Neither will load on my phone. I also can’t get any of the tester apps to return my device and location id. And when I runoendaril’s it cause TC to lock out my username for 30 minutes due to excessive failed login attempts.

All I want to do is be able to set up a virtual switch in ST to arm and disarm my system. Anybody got any ideas?

I will rewrite my code to use this if you can provide me a bit to go off of!

Running with the unofficial API in SmartThings cloud is a lost cause. It’s just a matter of time when it will stop working. The more people that use it, the faster it will be blocked. Official API is the end goal. It is not there yet. This is a reasonable middle of the road solution that is unlikely to be blocked.

Hi Jeremy,

In my post you will find links to two github repos, the NodeJS API and the Groovy device handler (and smartApp for testing).

Curious about your approach/code. Can you share?

Thanks!

Nice! I made a proxy using Node as well that I’m running on the Raspberry Pi. I don’t have much experience with SmartThings so I’m having trouble getting responses back when hitting a local LAN device, which is apparently different for some reason than hitting an internet endpoint. :-/

You’ll see my original code in my Github (https://github.com/jhstroebel/SmartThings-TCv2). It brought in the streamlined preferences and including automation devices, etc.

I am having the same issue. :frowning_face:

Yes, Honeywell has apparently blocked connection from ST cloud to their cloud for this API. I was hoping to rewrite with the Node.js local integration, but have been swamped personally and professionally. Also hoping to use official APIs, but that is hitting a wall due to lack of functionality and an inability to update device status at ANY sort of interval. You could control things but have no idea what state they are in or if they changed.

1 Like