Workaround for Google Home which sends setpoint changes in C even though it knows the thermostat is in F. Solves setpoint change errors primarily experienced when thermostat is in Auto mode, but also addresses some other cases.
Added the Alarm Clock program icon for programs named “Awake” and “Wakeup” (also for Hold: Awake and Hold: Wakeup)
You can install/publish this update on top of your existing installation of this Suite.
Question: Does the DTH expose all the thermostat features on its own, such that I could use webcore to do as I wish without having to mess with the other stuff?
What I’d like is, for example, to be able to have webcore do things based on which comfort setting is currently in use.
I installed the new thermostat device driver (I have the E3 Lite, no external sensors).
I’m not getting anywhere near that list of current states in IDE.
Any idea why?
PS - I’m seeking to utilize the various program names in webcore.
I see the CurrentProgramName as an available item, but when I try to match it to what is actually running on the thermostat it fails.
Not sure why you don’t see all of them - they are all populated by my code, regardless of which version of Ecobee thermostat you are using. It may take a few minutes after installation for them all to get updated (unless you set the Polling Interval to 1 minute)…
If it still isn’t showing everything I listed, then my initial suspicion is that you haven’t properly/completely installed my Suite, and you are running (at the very least) the Ecobee Thermostat device from SmartThings.
Check the version reported by the running code on your mobile device - open the gear icon for the Ecobee Thermostat device, and it should show the version just below the Update Icon text, in the form “Ecobee Thermsotat Version 1.2.12”.
Also check the Ecobee (Connect) SmartApp version - scroll all the way to the bottom and find “Ecobee (Connect) version 1.2.7”.
I’m not sure what you are matching with, but you probably want to use currentProgram and not currentProgramName - the latter is the display name I use in the UI, the former is what the ecobee API says the thermostat is running.
Man… I hate to post and bother you but I’m having a hell of a time with this. I’ve gone through install twice and still can’t figure out the issue.
I don’t appear to be able to control the thermostat at all from within SmartThings. Any time I try to use any button at all when using your DTH or use any commands with a piston in webcore I get some form of the following error:
groovy.lang.MissingMethodException: No signature of method: script_app_Ecobee__Co_fcabcc79_899f_48ce_9c2b_f389e9674c28_ver_1_5.pollChildren() is applicable for argument types: (null, java.lang.Boolean) values: [null, false]
Possible solutions: pollChildren(), pollChildren(java.lang.Object), pollChild()
I try to use away method through webCoRE but seems Ecobee 3 doesn’t change the current program to Away. Also I try to do the same thing using smartApp, still not working. I have Ecobee Thermsotat Version 1.2.12 and Ecobee (Connect) version 1.2.7.
First, it’s always helpful to tell me the version numbers, as reported inside the SmartApps and in the settings page for the devices. Finding these helps ensure you are indeed running 100% of your device using my Suite.
A couple of things to check:
Make sure you aren’t using the SmartThings-supplied version of Ecobee (Connect) - you can’t install this one along side that you - you need to delete the ST version before installing my Suite.
Ditto for the Ecobee Thermostat and Sensor devices, although you usually know you have the wrong ones because mine uses Ecobee-like icons and theirs uses stock ST UI components.
It is imperative that you fully delete the old stuff before starting a new install, otherwise devices won’t be properly set up as children to the main app. Sometimes you may need assistance from SmartThings support to delete certain components (see elsewhere in this thread for instructions on the proper removal sequence).
Make sure that you didn’t install the devices (or Helper SmartApps) manually - Ecobee (Connect) will create everything as you need it.
I would recommend not running any WebCoRe automations until you know the thermostat DTH is running properly. It may take a few minutes for the initial updates to start. Once running, verify that you can change the thermostat mode (heat to auto or cool) from the device on your mobile device. If not, please PM me the log for Ecobee (Connect) and the Thermostat device at the time of your attempted change…
I click the away button from the interface below, same error. seems parameters didn’t pass for setThermostatProgram in DTH execution properly.
Added: @12:01PM
I have tested using Ecobee app to set as hold away. I can see you are using sendEvent calling to change the program. But in the code of SetThermostat, I didn’t find the way to send Away to Ecobee.
All 3 buttons home, away, sleep have the same issue.
ac04735c-aaf5-477a-bd67-dd1257cd033f 9:14:54 AM: error groovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.null() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl) values: [LOG: setThermostatProgram(Away, null, 2)]
Possible solutions: dump(), plus(java.util.Map), plus(java.util.Collection), putAll(java.util.Map), putAll(java.util.Map), putAll(java.util.Collection)
ac04735c-aaf5-477a-bd67-dd1257cd033f 9:14:54 AM: trace LOG: away()
Something is wrong with your installation, since nobody else is reporting the problem (i just double-checked all 5 of my Ecobees running the latest code).
So, as I suggested before:
Please send me the version numbers of the Ecobee (Connect) SmartApp and the Ecobee Thermostat devices
You might want to re-install the source code for my Suite form the Github repository - it could be that one or more of the files got corrupted. Be sure that the SmartApps are installed as SmartApps, and the DTH’s are installed as device handlers.
When in doubt, backtrack and retry - I can assure you that once installed properly, it does all work - the fact that the Home/Away/Sleep buttons don’t work for you means that something is installed wrong…
Thank you for the reply. Actually I reinstalled twice today. still have the same issue. I follow all instructions step by step.
Tested fan auto,fan off, HVAC off, resume , Fan: circulate , all are ok.
My guess the issue is in the DTH, since I can run/show the error through webcore . and probably in the code for setThermostatProgram… just for your reference
2db582ae-f6f5-4c77-9624-bc2c6fb80f62 21:43:09: info LOG: Using holdType indefinite
2db582ae-f6f5-4c77-9624-bc2c6fb80f62 21:43:09: debug LOG: setThermostatFanMode(auto)
2db582ae-f6f5-4c77-9624-bc2c6fb80f62 21:43:09: trace LOG: fanAuto()
2db582ae-f6f5-4c77-9624-bc2c6fb80f62 21:41:49: error groovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.null() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl) values: [LOG: setThermostatProgram(Away, null, 2)]
Possible solutions: dump(), plus(java.util.Map), plus(java.util.Collection), putAll(java.util.Map), putAll(java.util.Map), putAll(java.util.Collection)
2db582ae-f6f5-4c77-9624-bc2c6fb80f62 21:41:49: trace LOG: away()