[BUG REPORT 2.3.2.141] RM5 expressions using Thermostat Mode or Fan Setting don't "stick"

I'm not able to select a Thermostat Mode or Fan Setting as elements in an RM5 action. I get the exact same behavior whether I've selected the current physical thermostat (via the Generic Z-Wave Plus Thermostat device driver) or a Virtual Thermostat, Note that my C7 is up-to-date on v2.3.2.141.

The pulldown menus that specify the Select thermostat mode and Fan setting fields show up with the values I'd expect to see, but on selection those values refuse to stick. And since the screen forms are left with appearance of not having been fully populated, I can't proceed any further to edit the action and actually have to cancel it to get out of the screen. See the example screen capture here:

Hubitat.2022-08-07 21_17_27

@bcopeland any insight? I have seen other posts describing RM issues with thermostat attributes. Note again above that I have tried a couple of different thermostat devices with the same results.

I am not able to replicate your problem, though the description (of an expression) does not match your screenshot/video (of an action). I'm assuming you mean the action, and I am able to successfully select the thermostat mode and fan setting in the latest build in Rule 5.1:

I would try again with a new rule, since the problem doesn't seem to be a general one with this specific action, and perhaps something got "corrupted" into an unexpected state in your rule. Or, maybe there is a specific sequence of events you can identify and this problem occurs only under those, which I wasn't able to see but may help staff in identifying. (I don't see any acknowledgement of this but did find another post with someone unable to make a required expression of thermostat mode = heat, which I was also able to do, FWIW...)

1 Like

OK, I will blow this one away and start from scratch. You're right that I have mislabeled my action as an "expression" and have edited the OP to correct this.

Note that I have taken the approach to Rule construction of outlining my logical flow with conditional expressions and then going back to fill in the desired actions. I don't know if this is a typical technique or perhaps an unusual approach that may have confused the RM5 edit UI.

The UI is supposed to let you insert actions before others (and I did try that as part of my test too), so that shouldn't be a problem--but my rule was a lot simpler than yours, so maybe you'll discover something!

I was certain :roll_eyes: that I had tried building this rule using a Virtual Thermostat as well as my actual Thermostat device (a Honeywell T6 driven by the Generic Z-Wave Plus Thermostat driver) but it appears now that the issue does not arise when trying to control the virtual device, only my physical device. So from this I conclude that the issue lies with the Generic Z-Wave Plus Thermostat driver which is somehow not exposing its attributes as it should.

I will try a workaround using custom actions to manipulate the attributes directly.

OK, I switched to the "Honeywell T6 Pro Z-Wave Thermostat" driver and I am getting the same issue with the RM user interface. :slightly_frowning_face: So either these two drivers have the same issue or something in RM doesn't like to set real thermostat modes or fan settings.

One thing that can trip people is you may want to use 'thermostatOperatingState' in your rules. From one of my rules:`

IF (Patio Door Sensor contact open) THEN
	IF (NOT Operating state of Thermostat T6 idle) THEN
		Repeat every 0:05:00 (stoppable)
			Notify Test Notify Display, Trumpy Notification Display, Pi4 Notify and Speak on Mac Mini TTS, Bronco TTS: 'Cecil, Will you close the damn Patio Door! Do I have to do everything?'
		END-REP
	END-IF
ELSE-IF (Patio Door Sensor contact closed) THEN
	Stop Repeating Actions
	Notify Test Notify Display, Trumpy Notification Display, Pi4 Notify: 'state %value%'
ELSE-IF (Operating state of Thermostat T6 heating) THEN
	Notify Test Notify Display, Trumpy Notification Display, Pi4 Notify: 'heating'
ELSE-IF (Operating state of Thermostat T6 cooling) THEN
	Notify Test Notify Display, Trumpy Notification Display, Pi4 Notify: 'cooling'
END-IF```