I wish I had more info than that to help, and I'm not saying your app is at fault, as there is definitely an issue once enabling 2FA with your ecobee account, which migrates you to the "new" authentication.
@storageanarchy. I got another message from ecobee support that said the following:
So it looks like the developer needs to contact us via the developer API support forum. The APIKey isn’t listed in our whitelist for use with the new authentication.
@storageanarchy Any thoughts on this? They thought it wouldn’t require any code changes on your end either. Just would require ecobee to add your apikey to their whitelist for new authentication.
Again, really appreciate all of your work on this app!
Create 3 virtual switch devices, named Home, Away, Night
Create 3 Ecobee Suite Mode/Switches/Programs Helper instances, one for each switch
Configure each Helper to turn on the appropriate Program when the appropriate Switch is turned on
Just be careful flipping switches - it can take a minute or two for the program change to be effected (due to the round trip timing to the Ecobee Cloud).
Thank you @storageanarchy. I tried this and it seemed overly complex and figured there was a better way.
I have four modes:
Home / Day
Night / Sleep mode when kids are home
Night / Sleep mode when kids are not home
Away mode
This is in sync with the alarm with presence so if everyone leaves the house, the alarm turns on and the thermostat changes to away mode. Likewise with the other options.
If the kids are home, I used the ‘work from home’ option to set it to cool the upstairs at night if they are there (we/parents are downstairs).
I also want to manually set the modes if we deviate from the normal hour programmed routine.
Here is what I did:
Setup four ecobee suite programs to turn on the appropriate mode depending on the house mode (and kid presence)
Setup four virtual switches to manually control the modes
Setup four ecobee suite programs to respond to the switch commands
Setup four rule machines to turn off all the other switches if one was turned on
This seems a bit unwieldy since I will have to the same for the downstairs thermostat as well.
Am I missing something?
Edit: also of note - when the house mode changes on presence or timing, ecobee suite programs will respond accordingly and flip the responding switch ‘On’ (day/sleep/etc). What’s interesting is thankfully the ecobee suite flipping the switch to on doesn’t also trigger the ecobee suite to run into a loop....but I’m not exactly sure why. I had assumed it would.
You can simplify by having the switches change the Location Mode instead of the Thermostat Program - just create two different Night Modes. The thermostat will change when the location mode changes.
Also, you could use momentary virtual switches, set to turn off by themselves after a few seconds, to avoid the "turn off all other" rules.
Turning on the switches (as described in your Edit) probably DOES cause the ES Helper to run again, but it checks if the condition is already true and exits silently if it is.
Sorry....should have shared that I'm pushing everything to the homekit via makerapi and homebridge. You are right....in a dashboard you just specify the attribute you want. That doesn't quite work for homekit - but i'm looking into how that can be done....
Ecobee Suite Updated on 5 August 2020 at 8:45am EDT
Fixes & enhancements:
BIG NEWS!!! Ecobee Suite now works with the new Ecobee Authentication Services!
This is a transparent change, so you should not have to do anything to get this to work
It is not even necessary to update your code (but you should, anyway)
Worst-case, you MAY have to re-authenticate to the Ecobee servers once
Works with both the Ecobee standard and the new 2-factor authentication schemas
Ecobee Suite Manager, version 1.8.47
Now handles the new Eco+ demandResponsePreheat and demandResponsePrecool events (Cooling setpoint is reduced by Ecobee and your utility provider for a period of time before the setpoint is increased to reduce power demand)
Now recognizes Comfort Setting name change in the case when the new Comfort Setting is using the same setpoints as the current Comfort Setting.
Due to the way Ecobee is handling this situation, the new name will be recognized about 3 minutes after the scheduled change (longer if your polling cycle is greater than 1 minute)
The use case isn't all that strange: e.g., two nearly-identical climates named "Home" and "Home-Working", where the only difference is which Remote Sensors are included.
Thank you, Barry! I was able to enable it just now. As I mentioned a few weeks back in the SmartThings thread, I was just forced to enable ecobee 2FA to use their SmartCamera.