[RELEASE] Universal Ecobee Suite, Version 1.8.01

Hello. Thanks for making this tool. Very helpful. I’m pretty new to this so I’m sure I am missing something simple. But here is my issue. I’d like to use the work from home helper (when program changes to away and presence sensor is present then change ecobee program to home) and also use the contacts helper (windows open adjust set points). However, I think these two setups are clashing. When I unpause the contacts helper since I am home the wfh helper keeps setting program to home and the contacts helper keeps resuming schedule go away (I think) because the windows are closed. This will happen nonstop until I pause the helper again. What would be a better way to have both functions work when needed but not clash with each other?

Hi, Adam, and welcome to my Ecobee Suite.

Unless you have Open Contacts change setpoints, it should not ever do a resumeProgram() - it should only turn the thermostat mode to Off when a contact sensor opens, and then back to whatever it was before it turned Off once all the contact sensors are closed.

If that isn’t working for you, send me a PM containing the version numbers of your ES Manager, ES Thermostat, ES Working from Home and ES Open Contacts helpers. Also, take screen captures of the Open Contacts Helper settings pages, and the WfH settings pages…

Thank you Barry. And again, very nice tool and I’m certain I’ve seen only just the surface of its abilities so far.

I switched the contacts helper from controlling set points to turning the thermostat mode to off and this did indeed stop the conflict from occurring. So would you say it is best not to use the adjust set points in the contacts helper if you also are using the work from home helper? Thanks again for your response and your help!

Yes, generally the various Helpers will coordinate among themselves, but you found one case where they don’t do so well. Having Open Contacts control ONLY the HVAC Mode is the cleanest. Personally, I only run WFH once a day, at a time when I would normally have left for the office already - if I’m still here, WFH changes the mode back to Home, and the day goes on…

I will put the mismatch between Open Contacts and WFH on my list of nits to pick at some point.

Enjoy!

Thanks very much, I like that WfH suggestion! Appreciate the help

Hey Barry, @storageanarchy

First, thanks for everything you have done in this app!! Awesome work.

I’m having an issue lately when using the thermal comfort smartapp. It’s creating an error in the log:

3377844c-9ab2-4caf-a6f3-ff2620885405 6:37:36 PM: error java.lang.NumberFormatException @line 6415 (roundIt)

3377844c-9ab2-4caf-a6f3-ff2620885405 6:37:36 PM: info LOG: Updated 1 object (133ms)

3377844c-9ab2-4caf-a6f3-ff2620885405 6:37:36 PM: debug LOG: generateEvent() - Out of switch{}, calling sendevent([name:debugEventFromParent, linkText:EcobeeTherm: My ecobee, handlerName:debugEventFromParent, value:setProgramSetpoints() for EcobeeTherm: My ecobee (511852249027): Hold, heatSP: 68.00, coolSP: 73.00) (info), descriptionText:-> setProgramSetpoints() for EcobeeTherm: My ecobee (511852249027): Hold, heatSP: 68.00, coolSP: 73.00) (info), isStateChange:true, displayed:true])

3377844c-9ab2-4caf-a6f3-ff2620885405 6:37:36 PM: info setProgramSetpoints() for EcobeeTherm: My ecobee (511852249027): Hold, heatSP: 68.00, coolSP: 73.00)

3377844c-9ab2-4caf-a6f3-ff2620885405 6:37:36 PM: trace LOG: generateEvent() - In each loop: object #1 name: debugEventFromParent value: setProgramSetpoints() for EcobeeTherm: My ecobee (511852249027): Hold, heatSP: 68.00, coolSP: 73.00) (info)

3377844c-9ab2-4caf-a6f3-ff2620885405 6:37:36 PM: debug LOG: generateEvent(): parsing data [[debugEventFromParent:setProgramSetpoints() for EcobeeTherm: My ecobee (511852249027): Hold, heatSP: 68.00, coolSP: 73.00) (info)]]

3377844c-9ab2-4caf-a6f3-ff2620885405 6:37:35 PM: debug LOG: getDeviceId() returning 511852249027

3377844c-9ab2-4caf-a6f3-ff2620885405 6:37:35 PM: info LOG: setProgramSetpoints( Hold, heatSP: 68.00°F, coolSP: 73.00°F )

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:34 PM: trace LOG: checkThermostatSummary() - 511852249027

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:34 PM: trace LOG: pollChildren(, false)

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:34 PM: trace LOG: checkThermostatSummary() - pollParams: [uri:https://api.ecobee.com, path:/1/thermostatSummary, headers:[Content-Type:application/json, Authorization:Bearer mztoaNIhfmIAI263BKJ0l6Qx4r5ieR00], query:[format:json, body:{“selection”:{“selectionType”:“thermostats”,“selectionMatch”:“511852249027”,“includeEquipmentStatus”:“true”}}], timeout:30]

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:35 PM: info LOG: <===== Leaving checkThermostatSummary() result: false, tstats:

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:34 PM: trace LOG: Checking for updates…

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:34 PM: trace LOG: scheduleWatchdog() called with evt (null) & local (true)

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:34 PM: info LOG: getChildThermostatDeviceIdsString() - !singleStat returning the list for all thermostats

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:34 PM: trace LOG: pollScheduled() - Running at 2020-05-06 18:37:34 CDT (epic: 1588808254698)

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:27 PM: trace LOG: Processing the app: [name:ecobeeHumidChild, appName:ecobee Suite Smart Humidity, namespace:sandood, multiple:true, title:New Smart Humidity Helper…]

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:27 PM: trace LOG: Processing the app: [name:ecobeeWorkHomeChild, appName:ecobee Suite Working From Home, namespace:sandood, multiple:true, title:New Working From Home Helper…]

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:27 PM: trace LOG: Processing the app: [name:ecobeeThermalComfort, appName:ecobee Suite Thermal Comfort, namespace:sandood, multiple:true, title:New Thermal Comfort Helper…]

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:26 PM: info LOG: The available Helper SmartApps are [[name:ecobeeContactsChild, appName:ecobee Suite Open Contacts, namespace:sandood, multiple:true, title:New Contacts & Switches Helper…], [name:ecobeeRoutinesChild, appName:ecobee Suite Routines, namespace:sandood, multiple:true, title:New Mode/Routine/Switches/Program Helper…], [name:ecobeeQuietTimeChild, appName:ecobee Suite Quiet Time, namespace:sandood, multiple:true, title:New Quiet Time Helper…], [name:ecobeeCirculationChild, appName:ecobee Suite Smart Circulation, namespace:sandood, multiple:true, title:New Smart Circulation Helper…], [name:ecobeeHumidChild, appName:ecobee Suite Smart Humidity, namespace:sandood, multiple:true, title:New Smart Humidity Helper…], [name:ecobeeModeChild, appName:ecobee Suite Smart Mode, namespace:sandood, multiple:true, title:New Smart Mode, Programs & Setpoints Helper…], [name:ecobeeRoomChild, appName:ecobee Suite Smart Room, namespace:sandood, multiple:true, title:New Smart Room Helper…], [name:ecobeeSwitchesChild, appName:ecobee Suite Smart Switches, namespace:sandood, multiple:true, title:New Smart Switch/Dimmer/Vent Helper…], [name:ecobeeVentsChild, appName:ecobee Suite Smart Vents, namespace:sandood, multiple:true, title:New Smart Vents & Switches Helper…], [name:ecobeeZonesChild, appName:ecobee Suite Smart Zones, namespace:sandood, multiple:true, title:New Smart Zones Helper…], [name:ecobeeThermalComfort, appName:ecobee Suite Thermal Comfort, namespace:sandood, multiple:true, title:New Thermal Comfort Helper…], [name:ecobeeWorkHomeChild, appName:ecobee Suite Working From Home, namespace:sandood, multiple:true, title:New Working From Home Helper…]]

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:27 PM: trace LOG: Processing the app: [name:ecobeeSwitchesChild, appName:ecobee Suite Smart Switches, namespace:sandood, multiple:true, title:New Smart Switch/Dimmer/Vent Helper…]

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:26 PM: trace LOG: globalPauseChildApps(false, null), child: Thermal Comfort - Home - Cool/Auto (43c35788-8a74-48f9-81be-920687b6b870)

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:27 PM: trace LOG: Processing the app: [name:ecobeeVentsChild, appName:ecobee Suite Smart Vents, namespace:sandood, multiple:true, title:New Smart Vents & Switches Helper…]

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:27 PM: trace LOG: Processing the app: [name:ecobeeModeChild, appName:ecobee Suite Smart Mode, namespace:sandood, multiple:true, title:New Smart Mode, Programs & Setpoints Helper…]

bbd75e17-e105-4aa9-977c-24fddd547721 6:37:26 PM: info pauseOff(true) - not currently paused…

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:27 PM: trace LOG: Processing the app: [name:ecobeeQuietTimeChild, appName:ecobee Suite Quiet Time, namespace:sandood, multiple:true, title:New Quiet Time Helper…]

07fb0980-b8d6-4dcf-93d3-71bf450a4f3a 6:37:27 PM: trace LOG: Processing the app: [name:ecobeeRoomChild, appName:ecobee Suite Smart Room, namespace:sandood, multiple:true, title:New Smart Room Helper…]

43c35788-8a74-48f9-81be-920687b6b870 6:37:25 PM: info Initialization complete…current humidity is 43%

43c35788-8a74-48f9-81be-920687b6b870 6:37:25 PM: info Ecobee Suite Thermal Comfort Helper, version 1.8.13 on SmartThings Initializing…

43c35788-8a74-48f9-81be-920687b6b870 6:37:25 PM: trace Updated with settings: [pushNotify:false, heatClo:1.0, coolClo:0.6, debugOff:false, phone:3128829641, needAll:false, coolPmv:-0.5, tempDisable:false, theThermostat:EcobeeTherm: My ecobee, theModes:[Home, Stay Home], customPrefix:(helper) at (location):, heatPmv:-1.0, notify:true, minimize:false, infoOff:false, humidistats:[My Puck Living Room-6a65], heatMet:1.0, customTstat:(thermostat name), coolMet:1.1, speak:false]

43c35788-8a74-48f9-81be-920687b6b870 6:37:16 PM: info Heating preferred set point: 68.0°F (PMV: -0.90)

43c35788-8a74-48f9-81be-920687b6b870 6:37:16 PM: info Cooling preferred set point: 73.0°F (PMV: -0.65)

43c35788-8a74-48f9-81be-920687b6b870 6:37:15 PM: info Heating preferred set point: 68.0°F (PMV: -0.90)

43c35788-8a74-48f9-81be-920687b6b870 6:37:15 PM: info Cooling preferred set point: 73.0°F (PMV: -0.65)

Again. thanks for all the time you put into this!!

I’m using the thermal comfort app with the expectation that it’s going to adjust setpoints based on the paremeters I’ve set. When. The thermostat changes modes I’ve seen notifications from thermal comfort suggesting it’s setting the expected setpoints, however, I’ve never seen the thermostat actually use these values, it just uses the ecobee programmed setpoints. I’m sure I’m doing something wrong but I’m not sure what.

Nope - it’s a bug. Coincidentally it was reported by the user just before your message :slight_smile:

Fixes will be posted momentarily…

Ecobee Suite updated on 7 May 2020 at 11:05am EDT

I’ve been holding back several minor fixes to minimize the number of updates I release, but now I need to release them all.

Fixes include:

  • Ecobee Suite Manager, version 1.8.42
    • Optimized stat.settings change detection
    • Better error handling for new installations
    • Renamed Smart Switch/Dimmer/Vent to Switch/Dimmer/Fan (see below)
    • Fix conversion error in setProgramSetpoints()
  • Ecobee Suite Quiet Time, version 1.8.08
    • Fix for multi-word Climate names
  • Ecobee Suite Routines, version 1.8.16
    • Fix for multi-word Climate names
  • Ecobee Suite Smart Circulation, version 1.8.10
    • Fix for multi-word Climate names
    • Fix settings descriptive text for minFanOnTime==0
  • Ecobee Suite Smart Humidity, version 1.8.09
    • Fix for multi-word Climate names
  • Ecobee Suite Smart Mode, version 1.8.21
    • Fix label display for " (Cool"
    • Fix for multi-word Climate names
  • Ecobee Suite Smart Room, version 1.8.16
    • Better active/inactive determinations
  • Ecobee Suite Smart Switches, version 1.8.12
    • Added status to app.label
    • Option to treat ‘fan only’ as ‘idle’
    • Fix on/off/restore logic errors
    • NEW FEATURE! added native support for fan controllers
      • After realizing that not all fan controllers support the dimmer setLevel() command, I added support for the setSpeed() command.
      • Speed is one of: low, medium low, medium, medium high, high, off, on, auto.
      • Not all fanControl devices support all of these speed names, so you will have to choose based on your installed fan controller device.
      • The Helper will send the requested speed, followed by an on()/off() command if the fan controller supports the switch capability
    • changed the Helper displayName to Smart Switch/Dimmer/Fan Helper
  • Ecobee Suite Smart Vents, version 1.8.11
    • Tweaked minimumVentLevel type conversions
  • Eocbee Suite Thermal Comfort, version 1.8.14
    • Fix for multi-word Climate names
    • Add missing function for Do Not Disturb
  • Ecobee Suite Working From Home, version 1.8.11
    • Fix for multi-word Climate names

These updates are highly recommended for all users

1 Like

Oops! I always try to read up and see if it’s been reported. The funny thing is, I don’t think it has ever worked so it wasn’t something new for me, just something I got interested in investigating since my fixed setpoints of the ecobee schedule constantly have to be adjusted as the weather is heating up.

Another funny bug I have been noticing is when I have a hold applied (program setpoint is 79, local temp is 80 but wife is cold so temp setpoint is 81) and I have a sleep routine in Smartthings that I press and hold a button on my nightstand and the hub runs my goodnight routine. Using the Mode/Routine/Switches helper, I have my Ecobee move to the sleep setpoints (84F) when Goodnight routine is run. What I’m seeing, however, is that first the hold is removed and for a minute or so it uses the daytime setpoint of 79F before shifting to the bedtime 84F. This causes the cooling to run for a brief moment but this bugs the wife lol.

No worries - multiple reports of an issue help me to focus in on the probable cause better.

As for the momentary A/C, it is technically not a bug. As I noted in the documentation, I chose years ago to NOT support the “stacked holds” feature of the Ecobee, where Holds are never cleared, just stacked up on atop the next. Instead, my code always resets any current Hold before setting a new one by doing a resumeProgram(). So in this case, the current Comfort Setting is 80°F, but you have a Hold: Temp for 81°F. So when you change to the Sleep Comfort Setting, the code first resumes the current 80°F setting, then a few seconds later it changes to the Sleep setting. Frankly, I am surprised that there is enough of a time gap for the HVAC to kick in - the operation shouldn’t take more than a few seconds…

I can try to figure out what is going on, if you could start Live Logging before you go to bed, then send me the logs for the 3 components involved:

  • ES Manager
  • ES Thermostat
  • ES Routines (et al)

Best to PM them to me, or email to my address found in the documentation and app/driver files.

1 Like

Ecobee Suite Updates posted on 16 May 2020 at 7:40am

Fixes include:

  • Ecobee Suite Thermostat, version 1.8.15
    • Eliminate duplicate resumeProgram() when changing programs/climates
  • Ecobee Suite Open Contacts, version 1.8.22
    • Display current program in label display
  • Ecobee Suite Routines, version 1.8.17
    • Fix getThermostatPrograms()
  • Ecobee Suite Smart Mode, version 1.8.22
    • Fix getThermostatPrograms()
  • Ecobee Suite Smart Room, version 1.8.17
    • More room activation improvements
  • Ecobee Suite Smart Vents, version 1.8.12
    • Fix getThermostatPrograms()
  • Ecobee Suite Thermal Comfort, version 1.8.17
    • Fix getThermostatPrograms()
  • Ecobee Suite Working From Home, 1.8.17
    • Fix getThermostatPrograms()

These fixes are recommended for all Ecobee Suite installations

3 Likes

I’m getting this. I reinstalled it, and not sure how to fix it. I did everything right (I think) any ideas?

Look at Live Logging for Ecobee Suite Manager and the Ecobee Suite Thermostat, and see if there are any errors/hints in there…

It could be that you just need to re-authenticate with Ecobee, but the logs should tell you that…

FYI, the Open Contacts Smart Helper is still not working with the newest release.

I’m sorry, but it works fine for me, so could you please give me more some more information than that? Log files showing errors, selected configurations, etc. are always helpful…

There is an interesting thing. When I go to logs for Contacts with this helper, there are none.

I just updated on Wednesday.

And yes, I did open and close a window

I have the same issue as dlehmer…empty tile. I wiped it all out, started over.
Will check the log.

I had to force something into the IDE logs by clicking on the bee. Got this, but its not much help to me at least:
2:32:25 PM: error java.lang.NullPointerException: Cannot get property ‘temperature’ on null object @line 2784 (doCall)

Try opening and saving the Helper itself…that will force data to the log…

We need to know what is in Live Logging, as viewed from the IDE, for the Ecobee Suite Manager application. If it hasn’t connected, or isn’t seeing data from the Ecobee Cloud for some reason, you are never going to get any data displayed in the Thermostat Device…other than (maybe) if you scroll to the bottom of the Thermostat Device, you may see a “last poll failed” message - but ES Manager’s live logs will tell us why…