[DEPRECATED] Enhanced GoControl GC-TBZ48 Z-Wave Thermostat Driver

Whole degrees only.

Having weird problem with my GoControl. One works perfectly. When I refresh the log reads all of the correct values.

The second thermostat in the room next door will only read the temperature value on refresh. None of the other values or commands work.

I'm using the HE native GoControl driver. Tried generic thermostat driver with no difference. Have repaired Zwave network, rebooted hub, removed and reinstalled thermostat, reset thermostat multiple times.

Thoughts

Well, this isn't a support thread for the in-box driver - you should start a new thread for that or contact support. This thread is for my Enhanced thermostat driver.

BUT, off the top of my head - did you try switching to the in-box driver AND hit configure on the device details page? Configure is what SHOULD setup any reporting settings. I say SHOULD because the in-box driver is not open source, so who knows what it actually does? Only Hubitat knows.

EDIT: To be clear, I'm not trying to be nasty to the Hubitat guys. Just trying to state a fact that one of the downsides to the in-box drivers is that we have no visibility to what it is doing in the code. I understand why they don't open source them, though (even if I find it annoying. :smile:) .

Oops...didn't mean to hijack your thread. Thanks for the advice.

I ended up getting it to work by re-pairing while in the range of the master hub instead of the repeater. Now just have to see if it will work when I put it back where it belongs...in the repeater's range.

Nice. Good thinking.

Most of the time, though, if you can't pair it in place you can't use it reliably in place either. You may need another plugin/hardwired zwave plus device to act as a repeater.

@JasonJoel I am still getting this error every 3 hours. Not sure what it means but has been there for quite some time. Seems to run ok.
2019-06-09 07:46:38.316 am errorgroovy.lang.MissingMethodException: No signature of method: goControlZWThermostat.pollDevice() is applicable for argument types: () values: [] Possible solutions: collect() (pollDevice)

My enhanced driver uses no poll methods or calls (feel free to search the code).

Not sure how the poll events started, but it happened to people using that thermostat with the generic in-box driver, too.

If you are getting poll messages, the only way to fix that is to remove the device from Hubitat and re-pair it. Mike Maxwell posted that on someone else's thread.

Actually, now that I look at my code. If you Save Preferences, it might stop it, as I do call unschedule() in there - which may/may not unschedule the poll schedule.

@JasonJoel Ouch, Ok I can remove it and re-include it. Thanks

As mentioned above, try to Save Preferences first.

If you look at the device detail of the thermostat, do you see the poll scheduled job near the bottom of the device details page (that is where it should list any scheduled items). If you do, then Save Preferences will likely help. If not, then it likely won't.

If its there, it should be at the bottom, like this (although this is obviously the turn debug logging off scheduled task):

@JasonJoel I didn't see that at the bottom so I had to remove and install again. Seems to be working now. Thanks for the help.

Ugh. Hate that you had to do that, but glad it worked.

Any idea what would cause this error?

Not off hand, but I'll take a peek at the code tomorrow.

EDIT: The battery report error is expected, as I didn't make code for that (all of mine are hardwired). I'll see about adding that.

The other error I've never seen, and am not sure what it is. Line 93 is a debug logging line... No and() function at all... So I'm stumped there.

Everything working ok otherwise?

Do you know if any manual actions were done when that error popped up?

Edit:
Updated to v1.3 adding in Battery Report support.

Edit:
Updated to v1.3.1 - Fixed a typo in BatteryReport code.

1 Like

I received another one of those parse errors I reported on GitHub today. Not sure what the "and" method is...the whole map thing is a little over my head. But figure I would let you know.

Thanks. I took a peek at this, and every once in a while the thermostat returns null junk. I don't know why, and can't reproduce it regularly.

I need to just put a check or try/catch in there to ignore those rare occurrences it sends a null for no obvious reason. Looks like the Hubitat built in driver fixed the same/similar issue in 2.1.7... :wink:

It shouldn't hurt anything in the meantime, but I will make a code change to stop the errors in any case.

EDIT: I uploaded a v1.4 that put a try/catch around the parse. Also have it log a debug message any time the catch triggers to try and get more details around the error. Note, I'm at work so didn't actually test the code (bad idea/precedent, I know... But I'll try it when I get home later.)

Try it out, and if you notice the debug message, please send it my way.

Yup, I can do that now. Will report back if I see anything.

Version 1.5 - 12/19/2019
Fixed an initial initialization error where scale was unknown until the first thermostat report was received from the device

1 Like