I can’t get the TC Contact Tester device to generate events in the log so I can grab the zone and row information that I need to create the contact sensor device. Everything else is working properly with the alarm arming status and arming/disarming.
Do you have to have a certain tier of TotalConnect service that exposes the zone status information for it to show up? I heard that they have different levels that provide less or more detailed information from the alarm. I have a feeling I just have the basic service to arm/disarm. I can log in to the alarmnet site and also on the app and see the status of the zones so you would think this should just work.
If you hold up a few more days I’ll have a more elegant solution… I don’t like that zones are identified via order instead of by zone number in the setup that is out there. Also I’ve found in testing the last few days that getPanelMetaDataAndFullStatus is returning a value for the ZoneStatus but its not right (which is what that is using) and pullling that data from another command returns a completely different ZoneStatus (which happens to be correct).
I’m down to writing the service manager polling method and making some decisions on how to handle certain scenarios. Hoping to finish up today, but it may be early next week. Should allow you to pick all devices from TC 2.0 you want to include, poll them, and send commands with minimal manual entry or work.
Here is a first release of a full on service manager & device handlers for TC2.0… It implements a centralized updating process and integrates alarm, zone sensors, and automation devices (really only the garage door handler is fully fleshed out, as that is not a zwave device that can be added to SmartThings). Preferences only really asks for username and password and walks you through the rest (no manual App version, locationId, deviceId, or even zoneIds).
Occasionally preferences fail to load or fail to update (there is alot of stuff going on and sometimes I think it just times out), but if you try again it will work.
There still alot of cleanup and improvements to go. Updates should happen Asynchronously with the new beta async methods, but that requires a reconfiguration of all that code but will solve some of the timeouts caused by TC’s online service being mediocre at best.
Code here (you need the smartapp and the device handlers):
Let me know if anyone else tries it and finds issues/things they would add/change. I only have a few contact sensors and a few motion sensors so I don’t have enough information to code in any other Honeywell sensors (smoke, glassbreak, theft, water, etc), but could if provided data on them.
What you have done is simply amazing!
I installed it this morning and it works like a charm. Allowed me to configure the smart home monitor in the Smartthings mobile app.
Do you have any opinion on the right polling frequency to set?
This is awesome, thanks so much! I just installed, but running into an issue. I enter my username and password, which pulls back the location that I am able to select. But I can’t go on to the next page from there, it tells me that a required input is missing. It looks like it needs a value in “Security Device ID - Do not change” but mine is blank. Am I doing something wrong?
I’d have to see what it’s throwing. Do you get messages in live logging from the IDE? Any chance you can send me what it says? Also what alarm system do you have? Maybe it has a different format than mine…
If you’re not doing zone sensors you need quicker responses you’ll have most reliable results with 1 minute or more (my non zone sensors are set to 1 minute). Those use the runEvery scheduling or cron which is way more dependable than the manual scheduling you have to do under a minute.
Hello,
I was getting your same error.
What i did to get past this was manually type in the same values depicted under the “Do not change section” then for the blank one put in the same value as automation id…
So it fills in the location ID and automation ID, but not the security ID? My guess was you’ll only have an automation ID if you have a zwave card in your panel. Most of this is guessing based on what I see on my panel only since there is almost no documentation from Honeywell on most of this.
Android or iOS?
It could be your panel reports its IDs differently… Would be willing to work with you to see whats going on. On my panel my security ID is 1 less than my automationID. (Ex. automationID 1647347 would be securityID 1647346).
This would be helpful to figure out what I need to change likely for the different panel type (I have a lynx touch so it may report back slightly different data):
Use the SessionID you copied and the same ApplicationID 14588, and ApplicationVersion 3.0.32.
Hit Invoke. This is where all the data comes from…
I’d love to see a copy of this output but there is a ton of sensitive information in it, so don’t do that… Really I think the part we care about for this problem is under .
Do you have a SecurityDeviceID here (above )?
What DeviceName objects are under ? Mine shows a “Security Panel”, “Automation”, “Front Door” (since my zwave front door lock is a secure device) and thats it. Do you not have “Security Panel” but maybe have something else?
I have a tuxedo touch WIFI with Z wave controller built into it.
Yes i have the two zwave device and the GSM Moduel listed.
With the links you provided i was able to find the below … I will input these values manually and see what happens.
DeviceID (same as your automation ID)
SecurityDeviceID ( in my case the GSM MOduel)
LocationID (my location Id)
Did my app pull any of those 3 values for you originally (assuming locationId at least)? Were they correct if so?
Were those values under DeviceList like mine (if so, what was the “DeviceName” filed listed with them)? or only listed above like SecurityDeviceID? mine was listed both as a DeviceID and above (the Security Panel DeviceID and the SecurityDeviceID matched)
While you are working on that portion…is there an easy way to Add the “Armed Stay” to your app? you already have the "Armed stay instant"
I notice a few instances of that in your .groovy file but i have no icon/option on the smartapp.
Updated the SmartApp with tweaks that based on your data and mine will make the automatic detection of DeviceIDs work (using DeviceClassID instead of the name since 1 seems to be the security panel no matter what the name and 3 is the zwave automation device). Update from GitHub
As for Armed Stay Instant, you cannot trigger it at the moment based on another action or with a routine (still trying to figure out how to make that work using standard methods), but you should be able to do it in the device. When its disarmed, hit “Delay” and it will change to instant. Then when you arm stay, it will arm stay - instant. It then resets back to delay on your next arm, but will show “Armed Stay - Instant” as the status.
Not sure about your panel, but mine has both an armed stay instant and an armed night mode which are technically different. I have not implemented the armed night mode, but could… I believe its just adding a UI button, I think the methods are already written in there.
One thought was to make the instant/delay a switch action, but the arming uses that to differentiate between arm stay (switch) and arm away (lock). To easily trigger with actions we’d have to have something normal to use to activate both commands and the opposite to disarm.
Maybe could do a preference for the alarm to default to instant for arm stay?
bamarayne
(Jason "The Enabler" as deemed so by @Smart)
428
I’ve got a question…
I’ve got four of the lyric Wi-Fi leak/freeze detectors.
Looks like this might be exposed through a different set of APIs (which in your case is a good thing b/c the undocumented stuff in this App is a pain).