I’m trying to make scenes that can be used during the winter that takes advantage of the Heat/Cool (Auto) mode in my Ecobee thermostats. When I think I’ve got it configured correctly, I test it out and the results are nowhere near what I’ve configured. In my most recent attempt, one of my thermostats changed to heat and set the temperature way higher than I would ever program. The other thermostat didn’t change at all.
Side note, up until this afternoon, every time I tried to toggle the AC in any way within a scene, I’d always be given an error saying the mode (home/away/etc.) is not correct. Not sure why I’m no longer getting this error, but I’ll take what I can get.
I’ve tried to do the configuration using the GUI as well as YAML editing and neither work correctly. This has become rather frustrating and to get spouse approval, I need to get this working otherwise I’m back to changing the air manually like a caveman…thus defeating the purpose of this otherwise wonderful smart home platform.
If anyone has example YAML or debugging suggestions/tips that have worked for you, I’d be forever grateful. Thank you in advance.
Some basic YAML strategies are to intersperse your code with, for example, persistent_notification.create calls, and using them to print the contents of variables.
If you’re using Jinja templates in your code for more than just dereferencing variables, the Template Editor in the Development Tools section of the GUI can be helpful in many instances.
In general, I have found HA’s generic scenes mechanism to be pretty unflexible. You might be better off with a script that checks the state of the thermostat and directly does exactly what you want the thermostat to do.
For some context, is that YAML for your scene? If so, did you write it manually or with the scene editor?
I ask because that doesn’t look right as a scene at all: it’s got way too much stuff. Most of it looks like the full output of the state of the climate.office_thermostat entity, something you would get from the States section of the Development Tools. Not criticism; just trying to explain what I need to know to help.
How are you invoking the scene–via the GUI, or via an automation or script or something of the sort?
Thank you for your quick replies! This is the YAML from one of the scenes I created using the scene editor. I’ve got an automation that uses this scene. I agree it looks noisy. For reference here is YAML from one of my original scenes which is working. I’m not sure why the first code I posted is referencing available_sensors for example, while the code below does not.
To be honest, I’m surprised that the second scene you posted works at all. I also have an Ecobee with HA, and trying to set the HVAC Mode to “heat” just now by setting the “hvac_mode” attribute of the climate entity did not do anything.
Regardless of that, many of the attributes your scene is trying to set are not ones that make sense for a user to set. For example, “hvac_modes” is something that is provided by the integration – it is a list of the valid settings for the “hvac_mode” attribute. It’s possible that you’re setting a combination of attributes that the Ecobee integration does not understand or otherwise misinterprets.
My suggestion is to use actions to control the ecobee directly in your automation, to tell it to do exactly what you want and no more. You can do that with the automation editor in the GUI, but, for example, you can set the target temperature with something like:
Unfortunately, the actions available for “climate” entities seem not to be that well documented. Here you can probably get some help from the GUI, which I think tells you what actions might be available for an entity like your climate.bedroom_thermostat. Happy to help, too, if you’re not sure.
I configured the automation using climate based actions as suggested (I can’t believe I didn’t know this was here already lol). Unfortunately, it doesn’t seem to be changing my thermostats when testing. Here’s my YAML. Thank you in advance and thank you for your feedback thus far.
The place to start this would be to just run one of the “then” blocks, without any conditions and without any “if,” to verify that you’re using the correct action.
At first glance, I think you’re overlooking that you need both a climate.set_temperature action and a climate.set_hvac_mode action, something like this: