[OBSOLETE] Integration with HoneyWell TotalConnect Alarm & Monitoring System

Makes sense. I will do some playing around and see what I can come up with.

1 Like

OK @fordcrews , so I have made the modifications to the code to check the state first to make sure that it wouldn’t try to perform the same function again. Now if it is disarmed, it won’t try to again (therefor it will not wake people up.) I also added in checks to make sure that if you were in Armed Stay (or Armed Away) and tried the opposite arming function, that it would not attempt it but would still run a refresh to validate.

I also changed the delay time to 15 seconds just in case network or cellular connections are slower than expected for the refresh to run.

I added all of your modifications to my github version. Things seem to work well for me. Now if we could get down the zones and a parent/child SmartApp so that status would be updated every x minutes/seconds, then we’d be set.

I am not sure how/why, but twice since using your code with the if statements, I was home and the system was disarmed, my wife came home and and I hear disarmed, ready to arm. Some reason even when checking the status, it still disarms anyway.

Check the logs and see what is happening. You should see a message like alarm is “already disarmed.” Sorry not at a spot where I can look at the code. May need to turn on debugging for the response to the metadata to see.

Did you have a zone bypassed by any chance? If so it will pass a 102111 and not a 10200 which could cause it. If needed we can just add another if state check.

So far I haven’t had live logging open when it happens, I haven’t been able to make it happen when manually issuing I’m back, clicking disarm, etc. I have “I’m Back” set to automatically unlock the alarm when someone arrives home, I don’t think it currently has the ability to only do that if the house is empty which isn’t a big deal, just bugs me…

The check for 10211 would be a good idea just in case zones are bypassed. Also when disarming you should set lock status to unlocked and switch status to off, cause currently how you disarm the status can get strange where it’s locked and off.

Love what you guys have done with this since I’ve been away. Looks really smooth :slight_smile: @brianwilson any chance you could add some versioning info into the code so it’s easier to look at the device handler code and validate that i’m on the most recent one?

hmmm…I can’t seem to get the device to actually arm my Total Connect System. It says “ARMING” but then it doesn’t do anything. I’m seeing this in the live logs:

c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:54 AM: debug Smart Things has successfully logged out
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:53 AM: debug During logout - E1E160AA-E8E8-4E57-95BC-BE9A624EC61A
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:53 AM: debug Status is: Disarmed
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:53 AM: debug
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:53 AM: debug Doing refresh
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:53 AM: debug Smart Things has logged In. SessionID: E1E160AA-E8E8-4E57-95BC-BE9A624EC61A
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:52 AM: debug Executed login
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:37 AM: debug Smart Things has successfully logged out
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:36 AM: debug During logout - 7678CAFC-2FE2-4B86-B1A3-DB49F42BAC43
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:36 AM: debug Status is: Arming
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:36 AM: debug
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:35 AM: debug Smart Things has logged In. SessionID: 7678CAFC-2FE2-4B86-B1A3-DB49F42BAC43
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:35 AM: debug Executed login
c0513233-501d-4359-bdf6-ddd18ea011c8 12:24:35 AM: debug Executing ‘Arm Stay’

Did you make sure your Total Connect user didn’t need a user code to arm/disarm the alarm. Seems like that is what mine was doing before I created a new user just for automation that didn’t need a code to arm in Total Connect.

Well, I am one step closer to being able to get zone info from TC through SmartThings and thought I’d share. I’m out of time to play around this evening but I was able to generate this as a log file:

zonemetaID:23456789101112131415161718192021495051529599, zonemetadescription:Basement Side Left WindowBasement Side Right WindowBasement Front WindowOffice Front WindowOffice Side WindowBasement Bathroom WindowLiving Room WindowLiving Room WindowLiving Room WindowFront House DoorGarage Entry DoorDining Room DoorOutside Garage DoorFamily Room WindowFamily Room WindowMain Garage DoorSecond Garage DoorFire Detector FireFire Maintenance OtherFreeze Detector Environmental4 Button4 Button4 Button4 ButtonFirePolice, zonemetastatus:00000000000000000000000000

zonemetaID = the ID number for each zone (starts with 2 and goes through 99)
zonemetadescription = self explanatory
zonemetastatus=status code for each zone

Still got some work to do, but it is getting there.

1 Like

I’m having an impossible time getting this to work. I ran the Tester.groovy to get the location and device IDs (which you can also get and confirm using your browser’s inspector tools when on the total connect website). And I setup a device using the very latest code in bdwilson’s github repo.

However, it’s almost like it’s not executing the httpPost to get the alarmcode or any other httpPosts. I simply see this in my logs when trying to disarm:

9:51:24 PM: debug Smart Things has successfully logged out
9:51:24 PM: debug During logout -
9:51:23 PM: debug Status is: Disarming
9:51:23 PM: debug
9:51:23 PM: debug Smart Things has logged In. SessionID:
9:51:22 PM: debug Executed login
9:51:22 PM: debug Executing ‘Disarm’

Any thoughts why I might be having so much trouble?

Thanks for this guys…looking forward to getting this working. Awesome by everyone…

Trying to make sure I’ve set this up right, I’ve logged into TC 2.0 and the user account I created for this is an administrator and I have unchecked the box for “Prompt for User Code” is there something else I should be doing to the account?

In the App I DO see when I change the state of my alarm manually so I know it’s polling the information correctly it just doesn’t allow me to change the alarm state in the Smartthings Honeywell TotalConnect Device

Seems like mine didn’t work, until I made a new account just for the alarm, not sure why.

Woohoo, can’t wait to see the code, I spent several hours trying to get that information out of it, with zero luck. Just being able to check to see if the sonemetastatus = 0, is a huge step forward.

@fordcrews yeah I am using a new account just for the alarm

It doesn’t appear that you are actually Logging into the TC site. The debugging messages you see in the log are merely text (not actual messages returned from the web service.). After the successful login you should see the session ID which is represented by the ‘token’ value in the code.

Go back in and check your setup in total connect (you may actually have to log into total connect site as the user you setup to finalize the setup) and validate the email address or phone number for notifications. Also check to see if you have the variables for location and device ID in the right fields (I accidentally flipped them to begin with).

Already did both and in my logs I have a session ID: “debug Smart Things has logged In. SessionID: 7678CAFC-2FE2-4B86-B1A3-DB49F42BAC43”

It appears to be logging in but nothing is actually happening. I’m going to try to use a headless browser today to see if I can do this outside of SmartThings to rule the TC interface out.

Did you by chance know to only use the first 6 digits of the Device ID that is returned in Live Logging when you install the SmartApp? For me it returned a really long number but I found if I used only the first 6 digits it worked.