I’m not quite sure I understand the question, but let’s start here:
- You can specify a (global) default hold type to be your choice of:
- The setting in the thermostat
- The setting in the Ecobee Suite Manager parent application
- A setting specific to each Ecobee Suite Thermostat device
- Choices are Permanent/Indefinite, Temporary/Until Next Program, Hourly (some number of hours, also configurable).
- Programmatically (e.g., via WebCoRE) you can specify the Hold Type for any call that sets a hold (setpoints, programs/climates, fan mode/circulation). Selections are as in #2; default if not specified is based upon #1
- Each of the Ecobee Suite Helper SmartApps allow you to specify the hold type that you want for each selected action
- Vacations are supported as a Hold type. Unlike other Hold types, Vacations cannot be overridden by another Hold - a Vacation Hold must be explicitly cancelled before you can successfully set another hold (no matter where the hold request comes from - Alexa, Google, another Helper App, WebCoRE). API commands are provided to create and cancel Vacations
That last one is important because of one design decision I made. Ecobee thermostats implement a concept of “stacked” Holds - that is, if you have a Permanent Hold set, and then manually/programatically change a setpoint (creating a Temperature Hold) that hold is “stacked” on top of the current one. So if it is temporary/hourly, when this second hold expires, the stat returns to the original hold. And in the case of a Permanent Hold, the only way out is to ResumeAll back to the currently scheduled program, and then apply the new/requested Hold.
For me, this was confusing, especially if the wife tried to use the thermostat to override the current temperature setpoints. So, I took the decision to ALWAYS flush the stack whenever a request to setThermostatProgram to anything different than the current hold program and holdType. This may be a problem for you, because if you are in Hold: Away (Permanent) and Google asks for Hold: Away (Temporary), the permanent hold will be overridden. If that is in fact a problem, let me know, as there is a workaround, but it’s possible you don’t need to know the complexity.
If you could share some details about your intended use case, I can more confidently give you a suggested approach using my Ecobee Suite. Since I invested in this primarily because I wanted a more intelligent handling of SmartThings Modes and Ecobee Programs when I am home, while keeping the thermostat in “Away” when nobody was home for several days, I’m pretty sure your use case is covered (although maybe not the way you have envisioned it).
Hope this helps…