Short summary is that I have Nest thermostat and am using it via 'My Next Manager'. The driver is seemingly exposing the correct thermostat mode - "ECO". In Rule machine, that mode is showing up in the dropdown to set the mode, but is not visible in the dropdown where I am checking current mode state.
Shown below is where i can correctly see "eco" mode during setting:
The capabilities list shows that RM is following the published standards while the Nest Manager has chosen to extended them; i.e. RM is correct in this instance.
You may find RM's "Run Custom Action" for your device would allow you to set the mode to ECO. It's the standard way to use non-standard commands in drivers. That particular driver may not support it, but at least then you'd have a path to resolution.
@yracine66 do you know what is the correct custom attribute I need to use for the device, so that I can check if the current state is "eco" ? "thermostatMode" does not have "eco".
If you use Custom Attribute it will show you every attribute supported by the driver in a pulldown, and their supported values in a subsequent pulldown.
Apologies for the transactional communication here, and thank you for your patience as I am trying to better understand this workflow.
I did select, "custom attribute", but I need to select one of the dozens of attributes. I saw "thermostatMode" there, but perhaps I need to be using a different attribute in this case?
That list comes directly from the driver. On the device page, is there a command to set ECO mode? If so, set it, and then show the device State (right side of page).
To try an execute your steps, I checked that the Thermostat is currently in Off mode. Then, I quickly created a virtual button to call the device to set it to "eco". I can see on my physical thermostat device, that it has switched to Eco mode perfectly.
Here is the screenshot of the device page...is there any specific part of the page you need me to post:
So that attribute is "eco_mode". You may be able to set that with a Custom Action, assuming there is a command supported to set it. But, you were showing that there is a thermostat mode called eco, which is a different thing. There are two things more to look at on the device page. One is the setThermostatMode command tile -- it should have a pull down, and please show that. The other is an attribute called supportedThermostatModes, on the right, and please show that also.
There is a discrepancy in RM about this that I will look into. In the set thermostat mode action it queries the thermostat for the supportedThermostatModes, and offers what comes back from supportedThermostatModes. However, for a condition those are not looked at, and just the fixed list you showed is offered. Thermostats are a rather special case in so far as they have these variable attribute values for standard commands.
If what you are wanting to do is some logic based on when it has been put into thermostatMode "eco", there is a work-around:
Create a String Hub Variable to track the thermostatMode. Set it with a simple rule like this:
Trigger: myThermostat thermostatMode *changed*
Actions:
set thermModeVariable to %value%
That will make thermModeVariable always have the current thermostatMode, and then you can test that variable in your rule instead of testing the thermostatMode directly.