[DEPRECATED] Universal Ecobee Suite, version 1.7.**

Thanks - I have a bunch of updates coming later today, I added this to the bunch.

Universal Ecobee Suite Updates posted 19 May 2019 at 3:45pm

Spent a lot of time squashing bugs across the Suite, mostly related to data type handling in the Thermostat device. In the process, learned that Hubitat caches sendEvent() data where SmartThings always returns the latest value. Fortunately, the fix is straight forward, but it was tedious to catch all the possible escapes.

I also optimized the way data is being written to atomicState variables, which should both significantly reduce the writes sent to the backing store (state/atomicState). This will improve both performance and the longevity of the Flash storage on Hubitat.

Most (but not all) of the files where updated. SmartThings users who are taking advantage of either the GitHub integration or the ST-Community-Installer just have to run the normal update process. If you’re doing it by hand, 11 of the 14 files were updated, so take your time and be sure to get ALL the files.

1 Like

Universal Ecobee Suite updates posted 20 May 2019 at 11:15am EDT

Fixes include:

  • Ecobee Suite Manager version 1.7.06: Fixed deleteSensorFromProgram()
  • Ecobee Suite Thermostat version 1.7.06: More data type optimizations

These updates are recommended for ALL users


Just updated to 1.7.06. I am still getting an error trying to use the New Contacts & Switches Helper. I just get the spinning wheel in the app till I close it and restart. All the other helpers are working.

1:53:46 PM: error java.lang.NullPointerException: Cannot invoke method contains() on null object @line 85 (doCall)


Universal Ecobee Suite update posted 20 May 2019 at 2:45pm

  • Ecobee Suite Contacts & Switches version 1.7.02. Fixes SmartThings initialization error

This update is recommended for ALL users

Awesome, thanks. This has resolved the issue with New Contacts & Switches Helper.

1 Like

One thing I’m trying to automate, and haven’t found the best way yet, is a window fan in the bedroom at night. I’d like to control it similar to the Smart Circulation Helper but use a smart switch instead of the HVAC fan. Any suggestions?

Bob -

Smart Switches or maybe even Smart Vents might do what you want - they can automatically turn on/off/dim one or more switches when the thermostat’s operating state changes (Smart Switches) or when the temperature is out of range (Smart Vents).

Not sure if this helps.

There are other SmartApps out there that will turn on a switch if its too hot/cold in a room - they’re generally presented as controlling a window A/C or a room heater, but it could just as well be a fan.

If you literally want Smart Circulation that runs the fan until multiple temperature sources converge, that’s something outside the scope of my Ecobee Suite, but you could take the Smart Circulation code as a starting place to build your own. The challenge is that Smart Circulation just increases/decreases the fanMinOnTime value - the Ecobee handles deciding if/when to turn on/off the fan.

I am getting this same error. The New Mode/Routine/Switches Program Helper worked fine. But every time I try the New Contacts & Switches Helper I get a blank line under Configured Helper SmartApps. Live Logging displayas the following: 7:26:14 PM: error java.lang.NullPointerException: Cannot invoke method contains() on null object @line 85 (doCall)

Now I cannot uninstall the smartapp at all. “An unexpected error occured”.

Are you using this one?

I’m pretty sure you weren’t using the latest version of the Contacts & Switches Helper when you hit that error. After you update, you shouldn’t have any problem creating a new instance.

But you do now have one or more “zombie” Contacts & Switches Helpers, each with a blank name (thus the blank entries under Configured Helper SmartApps. After you upgrade to the latest version of Contacts & Switches, you should go open each of those “blank” ones and Remove them…

Universal Ecobee Suite updates posted 21 May 2019 at 4:45pm EDT

Fixes include:

  • Ecobee Suite Manager version 1.7.07:
    • More main loop optimizations
    • Added a “Check Wifi” notice on the label if Ecobee reports the wifiAlert to us (HE only, for now)
  • Ecobee Suite Thermostat version 1.7.06:
    • Fixed setFanMinOnTime()
  • Ecobee Suite Mode/Switches/(Routines)/Program Helper version 1.7.05
    • Fixed thermostatHold type comparison

These updates are recommended for ALL users!

1 Like

You’re right Barry. My problem stemmed from pulling code from the wrong repository - from one of my other smartapps. Blame my lack of full understanding of Github integration. But I figured out that I needed to get “black” text, the correct repo and published status then everything started working. And as you said, I was able to kill off the zombie instances once the code base was corrected. Thanks for the help.

1 Like

I trying to use the new Working From Home helper, but it doesn’t seem to be working as expected. Here’s how I currently have it configured:

Name Type Value
days enum
modes mode
myThermostats device.ecobeeSuiteThermostat EcobeeTherm: My ecobee
notify bool false
onAway bool true
people capability.presenceSensor Person 1, Person 2
setHome bool true
setMode mode “”
statMode enum
tempDisable bool false
timeOfDay time “”
wfhPhrase enum “”

I haven’t read through the code yet, but based on your descriptions, I would expect this to monitor the thermostat program, and if it goes to away and one of the presence sensors is present, set it back to home. I’ve had this running the past two days where my Ecobee schedule transitions to away at 0900, a presence sensor was present at that time, but the program change wasn’t overridden. In the smart app details, I see there are no event subscriptions, but I would expect that the app should at least be subscribing to the thermostat’s currentProgram.

I think I tracked down the bug. On line 173, you are subscribing to settings.theThermostats instead of settings.myThermostats

1 Like

@astephon88 Thanks!

That isn’t the only problem, though - just finishing up some other fixes that were delaying mode & program changes being reported by the thermostat devices. Updates being posted soon (within the hour)!!!

Trying to decide between this and My Ecobee Device to manage 3 - Ecobee3 Lite’s in my house plus 2 sensors.

I like that My Ecobee Device can incorporate temperature, presence, humidity, etc. from non-Ecobee devices. Can this app do something like that?

Mainly looking to override my current fixed Ecobee schedules so that the HVAC only operates when someone is truly home vs. on a schedule.


Universal Ecobee Suite updates posted 22 May 2019 at 5:45pm EDT

Updated modules include:

Ecobee Suite Manager, version 1.7.08


  • Cleans up condition updates (was causing mystery errors across the entire Suite. Bug squased!

Ecobee Suite Contacts & Switches Helper, version 1.7.03


  • Do uncached currentValue() on Hubitat
  • Cosmetic Cleanup only

Ecobee Suite Modes/Routines/Switches/Programs Helper, version 1.7.06


  • Cosmetic Cleanup only

Ecobee Suite Thermal Protection Helper, version 1.7.01


  • Optimizations
  • Cosmetic Cleanup

Ecobee Suite Working From Home, version 1.7.04


  • Fixed myThermostats subscription
  • Fixed mal-formed sendMsg

These updates are HIGHLY RECOMMENDED for ALL 1.7.** users!

1 Like

@DavidAg02 -

My Ecobee Suite works with your presence, temperature and humidity sensors for many of the automations provided by the Helper apps - you can read about them on my GitHub site. With these, you can have SmartThings/Hubitat location modes drive the thermostats’ programs - set the thermostat Away when your Location goes into Away mode and the like. You can have the HVAC mode (heat/cool/auto) changed based on temperature and humidity readings inside and/or out, and you can override setpoints based on these readings as well. You can have the Ecobees change your location mode, run a routine or turn on/off switches based on its Programs - I like being able to use Ecobee’s scheduling of Vacations to automate shutting down my house when I’m on holiday. There are Helpers that will manage the notion of “Thermal Comfort” based on preferences you set, so that it keeps you comfortable with the least amount of heating/cooling possible, driven by your specified activity and clothing levels (“thermal comfort” is mainly about managing ambient temperature as the humidity levels change inside your house). You can use Smart Vents, and set a target temperature in a room (using whatever sensors you have, or even just have it track the thermostat’s setpoints) , and it will open/close vents when the HVAC pushes hot/cold as it tries to reach the target temperature - optionally only when the room is occupied (but its hard to keep things cool this way - you really need HVAC to be used all the time, even when nobody is in the room, if only because there is no such thing as “instant recovery.”. And all this works in conjunction with the Ecobee’s own remote sensor automation, where it changes its actual temperature measurements based off of (changable) combinations of different sensors for each program/schedule/climate.

There is much, much more that Ecobee Suite can do for you, but the one thing I have intentionally NOT added is the attempt to utilize non-Ecobee remote sensors to control the setpoints of the thermostat, and this for one simple reason: Wife Approval Factor. See, what nobody can do is change what shows on the thermostat as the current temperature (except of course when using Ecobee sensors, it will show the averaged temperature of all the settings). So, in order to use non-ecobee sensors to control the setpoints, you basically have to let the thermostat show whatever meaningless value it measures, while the code changes the setpoints downwards until the various sensors say they have met their target. Imagine - you have a warm room with no Ecobee sensors (let’s say at 78°F), and the Ecobee thermostat is in a cold room (at 68°F). In order to cool that warm room, we might need to set the Ecobee’s setpoint to 58°F - and let it run the HVAC until the warm room is cooled to 68°F. At that point, the cold room is at 58°F, as it says right on the thermostat. You can imagine the negative WAF of that…

Some people think that this is the make/break between different Ecobee software, and if you do, so be it. But I’ll say this - hundreds and hundreds of users, now on both SmartThings and Hubitat, have found my Suite more than adequate for their Home Automation needs. I offer my work free of charge, with no requirements. If you like it, use it; if not, ditch it and use something different. And if it makes you mad, please, post your complaints everywhere you want. I won’t get mad, or stop sending you updates, or require you to retract your complaints. If anything, I’ll do everything I can to fix your problem - if not for you, then for the next person.

And if you like it, and you feel I’m worthy of a pat on the back, I’ll happily accept a few bucks via Paypal - but only if its YOUR choice. There’s no requirement to pay, and I’ll support you just like I do everyone else.

Try it, and you might save yourself a few bucks and a lot of aggravation…I’m positive you will have a better experience working with me than any other Ecobee developer out there :wink:


I’m eager to give Ecobee Suite a try; I have a few questions I can’t find answers to in the GitHub description.

  1. Can I install/use Ecobee Suite (ES) in SmartThings (ST) alongside the existing ‘official’ ecobee app, or do I have to disable the official app? I can imagine ecobee won’t like two separate apps querying their servers and possibly issuing conflicting commands. Since my use of the ‘official’ app in ST today is 100% passive (read-only) except for the very occasional setpoint change, I doubt this would be an issue but wanted to check.
  2. Is there any difference between how ES gets status info from Ecobee servers compared to the official app? I currently use the ‘Simple Event Logger’ app to log all activity in ST to a google sheet, and it’s great for observing / tracking all my remote temperature sensors and correlating with the ecobee device status (cool / idle, etc). However - I’m now finding that the data from ecobee seems highly inaccurate (compared to the data found in the ecobee download) so I’m wondering if ES handles this any better.

If ES proves useful then of course I could abandon the official app altogether, but since I’m currently logging data provided by the official app, I’m reluctant to discontinue it for now, hence my desire to run ‘side by side’.

Also - I have two AC units in my home (upstairs/downstairs) with a huge open-space shared between them (‘great room’ downstairs that is open to the upstairs) and I’m eager to start exploring how the upstairs and downstairs units affect each other. I just put in a very expensive two-stage unit upstairs, and would like to use it as much as possible to cool the whole house. Putting the downstairs unit into ‘fan only’ (circulate?) might be a way to achieve that. Does your app have anything specific for this situation?