[OBSOLETE] Integration with HoneyWell TotalConnect Alarm & Monitoring System

Yeah, I didn’t rewrite the SmartApp to be async so unfortunately that’s still not done yet and has the same root issue the DH had. I can also take a look at that if I’ve got some free time soon but it just needs to follow the same pattern established in the DH.

I already had an existant DH and discovered my locationid and deviceid previously. The other backup option is to make the calls manually using POSTman, which I had also done to verify they hadn’t changed when this initially broke. POST request using var=value&var2=value2 in the body to map out the params

FOR THOSE LOOKING TO FIND YOUR DEVICE and LOCATION ID

Type this into a browser replacing [yourUserName] and [yourPassword] (NOTE: don’t include the square brackets):
https://rs.alarmnet.com/TC21API/TC2.asmx/AuthenticateUserLogin?userName=[yourUserName]&password=[yourPassword]&applicationId=14588&applicationVersion=3.0.32

This should return an XML file with a SessionID (I made this one up but it should follow the same format):

<SessionID>3D97549F-0372-45ED-A2DD-DC058B0FA3AA</SessionID>

Now type this into your browser using the SessionID you just found:

https://rs.alarmnet.com/tc21api/tc2.asmx/GetSessionDetails?SessionID=[yourSessionID]&applicationId=14588&applicationVersion=3.0.32

This should return an XML file with your LocationID and DeviceID.

Cheers,
Henry

3 Likes

First of all I really want to thank every ones hard work on getting this app working from the beginning to now. It has been very useful for me and my family. Unfortunately I believe I have severally messed everything up by trying to copy and past new device handlers and smartapps when it stopped working recently. Is there any way one of you “much smarter than me” users can provide a step by step to get this this working again? Is it possible to start from scratch again with the correct smartapp and DH? Sounds like this is still a work in progress so maybe its not quite ready yet. If its not ready yet Ill just be patient. I have my User ID and Location ID. I also double checked it based on henryh74s method. Thank you for that @henryh74. Any help from anyone would be greatly appreciated!

Alright I futzed around during lunch and cleaned up the device tester and made it async:

hopefully that works, it should spit out the data into the live logger when installed or updated if successful

2 Likes

Damn it … you beat me to it. I was on my way to modify code to use Async, but you seem to have done most of the work for this. Thanks!

1 Like

You guys are really awesome! It’s great to see people working together for a common goal.

I still continue to get the same issue:

7feea83c-ab02-4f00-9efe-2c36a8e26950 3:32:25 PM: error groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Long#minus.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] @ line 377

Seems like it is having issues deciphering between letter and numerals?

Steps to get Total Connect Alarm Working again:

Get your DeviceID and LocationID following this.

[My Device Handlers]
Install @Oendaril Device Handler from Code:
TotalConnect Device (async)

[My Devices]
Create a new Alarm device and set the device handler type to TotalConnect Device (async) which you just created. Don’t forget to edit preferences:

applicationId: 14588 
applicationVersion: 3.0.32 (not sure this matters what it is)
deviceId: 
locationId:
userName:
password:

[My SmartApps]
Install @Oendaril SmartApp from Code:
TotalConnect Location and Device Details (async)

On your mobile device, add TotalConnect Location and Device Details (async) from My Apps and add your Username and Password.

Hopefully this works for everyone.

5 Likes

Thank you so much! I had to recreate the Alarm Device and then point it to the new Handler. I was trying to redirect the old Device to the new Handler and it wasn’t having it. For anyone having issues still, just delete your old Alarm Device and follow the steps listed here by @henryh74

To confirm, these prefrences as within the device themselves within the app? Or is there portion of the code that we have to also put these values into. Tried following your instruction but i’m still getting the error :confused:

groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Long#minus.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] @ line 373

When you save the device and go into it to view it already created you will be able to modify preferences.

thank you, that’s what i thought.

Exactly what I needed! Thank you very much!

New Async Device Handler working great so far. Was able to retrieve LocationID and DeviceID using the post from henryh74 a few posts back - thanks for your help

I started from scratch and followed everything, however i’m still getting this pesky error as a few other people:

groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Long#minus.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] @ line 373

Same error i was getting before i created a brand new alarm device. Have you created a new device and deleted the old one?

Yes, old device is deleted. I still have the old device handle, but i dont see if they would cause an issue?

I also still have the old handler but im using the new one on the device. Have you set up the preferences with your info like it describes above?

Manually arm/disarm from the device works great. However, my routines are not turning alarm on/off very reliably. I read a few post back to try uncommenting out the lines at the runIn(15) call . See below. I’d love to try that but not too sure what that means. Any insight would be greatly appreciated.

From post I was referring to above “I disabled the runIn(15) call at the end of the disarm/arm calls, because I personally just use pollster to ping it every minute anyways. Try uncommenting out those lines if you wish for it to still try a forced refresh.”

Yes, preference on both the device & smart app are configured. I re-checked my device ID & Location and confirmed my credentials are good. What else could generate such an error?

I followed this guide and it works great with one exception, routines seem a bit unreliable. Using a phone / proximity i can get it to auto arm using the goodbye and goodnight routines. However when disarming using the i’m back and good morning routines, i get a notification of the smart things user logging into totalconnect at the right time but no disarm event occurs. Running the routines manually or using the smart app to disarm works fine. Any ideas? Thanks all! Great to see active development on this, its quite helpful!