[OBSOLETE] GoControl Door/Window Sensor, Motion Sensor, and Siren DTH

GoControl Contact Sensor v1.10


This update may temporarily cause the primary tile to display the wrong state. It will correct itself the next time the device wakes up or you can force it to immediately correct itself by opening the settings and tapping Done. The values of the capabilities that other SmartApps use are not effected.


  • New setting that allows you to display the main tile as a garage door sensor.

  • Removed the ability to manually change the icon because when that’s enabled the Android app is unable to display different icons for open vs closed. I’m not sure if that problem effects the iOS app.

  • Improved Health Check integration which should reduce the number of false offline statuses. Due to the way SmartThings implemented the Health Check feature the device will appear offline/unavaiable every time the Hub goes offline and won’t change back to online until it is opened/closed or wakes up. I recommend setting the “Checkin Interval” setting to 2 Hours so that if the status shows offline for more than 2 hours you’ll know that it really is offline.

  • Switched to SmartThings new color theme.

  • Added tile that displays the last activity time which is the last time that the device communicated with the hub.

  • The items in the recently tab are only kept for 7 days so beyond that you have no way of knowing when the sensor was last opened and/or closed so I’ve added tiles that display those times.

Let me know if you run into any problems with this version or have any comments about the changes that I’ve made.

Also let me know if you think I should move the Contact Sensor int its own Topic.


I appreciate your work on these and the polling piece so it works well with Simple Device Viewer, which is outstanding also. Only issue I have is battery reporting. I have 2 Motion Sensors and 4 contact sensors that report 100% battery life and have reported that since I got them almost a year ago. Any thoughts or things to try? Other than that everything else works seamlessly.

These devices report their battery level every 4 hours, but they either report 100 or a code indicating the battery is low.

Once it indicates the battery is low, the number being displayed will drop to 1%, but since I haven’t had a battery get low enough, I’m not sure how long it waits before reporting that it’s low.

The siren reports an actual battery level, but the number jumps up and down a lot so I have no idea how reliable it is.

Good to know. Thanks for the quick response and great work.

I just released a new version that fixes a bug where after pairing the device, it didn’t set the initial value of the battery or open/close state causing things to be out of sync until you open and closed it a couple of times.

I was mistaken in my previous post, this device can report a battery level less than 100%, but it only does it once and only after inserting the batteries.

I think it’s an issue with the device so there’s no way to fix it from the DTH.

I’m pretty sure that when the battery does drop to around 5-10% it will report a low battery, but I don’t have a battery low enough to test it.

Can you open one of them up, take the battery out for about 15 seconds, then put it back in and close the cover.

The battery level will most likely drop to a low number after doing that, but then if you take the back cover off for about 5 seconds the battery level will most likely go back to 100% when you put the cover back on.

I first updated the DTH, then did as you suggested and now have battery levels at something other than 100%. However, when I took the cover off the second time for about 10 seconds and then replaced it the battery level did not change. So it appears to me that its working. I’ll keep an eye on it and let you know if anything changes. Let me know if there is anything more I can do to help. Again, thanks for your work!

After you got it to display something other than 100%, I meant just take the back cover off, wait about 5 seconds and put it back on without taking the batteries out.

That’s really not necessary because if it’s going to reset back to 100%, you’ll know within 4 hours.

That’s exactly what I did, sorry if I wasn’t clear.


After updating all my GoControl devices to the Contact sensor device type you published, I’m not able to get any sort of open/close status at all, seems like something’s not quite right here. I’ve tried resetting the hub, as well as refreshing the device by taking out battery and putting back in and quickly configuring the device as well, no open/close update. Any thoughts?

These were pre-existing devices that were of type Z-Wave Open/Close sensor (generic) Updated device type through IDE in My Devices.

Thanks In Advance


I think I figured out, for some reason your device type doesn’t allow for the External Switch Connection, which i use on all my GoControl sensors to monitor multiple windows. Any chance you can take a look and see what’s missing in the device type to support that?

I’ll be posting a new version shortly, but I’ll need you to test it.

I just released version 1.6 that supports the external contacts.

The main contact will reflect the state of which ever one changed last.

I also added attributes for internalContact and externalContact so you can use a SmartApp like CoRE to detect which one changed.

The most recent version can be found in the first post of this topic.

I’ve released the official version that supports this functionality so would you mind deleting that post or at least the code shown in it.

I never post the code anywhere except the first post of the topic because it confuses people and makes it harder to find the most recent version.

Cleaned up my posts :slight_smile: Thanks Kevin!

Any idea why I’m getting the following error code when adding your code to IDE?

No signature of method: script1467863570785367724868.metadata() is
applicable for argument types:
(script1467863570785367724868$_run_closure1) values:
Possible solutions: getMetadata(), getState(),
setState(java.lang.Object), metaClass(groovy.lang.Closure)

That usually happens if you’re pasting code for a Device Handler into the “My SmartApps” section. T

The other reason that will happen is if you didn’t click the RAW button on GitHub before copying the code because if you copy it from the main page, it’s really easy to accidentally copy some content from the page that’s not part of the code.

Unfortunately, I did click on RAW and paste it into IDE “My Smart Apps” section.

the code still fails.

Any other ideas?

Put in device handler section, not smart apps.

1 Like

Awesome thank you that worked!