I have a rule that uses a number variable to set a thermostat heating and cooling temperature point.
Recently, this stopped working and is reporting error 422. However, other rules which use set the heatpoint or cooling point with a fixed number are still working.
I noticed from the logs the command which uses a variable are sending the temperature value in quotes, while those using constants are not.
Could this be the cause of the issue, and if so, did this change recently?
Was heatPointLivingArea being set as the result of an expression? If so, I just pushed a hotfix which should resolve the issue where expression results weren’t getting implicitly converted to their target variable type.
What is strange is I have other rules sending the same command from a numeric variable to the same device and the parameter is sent in numeric. But only this rule uses expressions.
Can you try the following steps to make sure the Set Variable action has the appropriate target value type:
Open the rule for editing and edit the impacted Set Variable block
Switch the ‘Source’ to Manual Input and then back to Expression*
Save the Set Variable block and then Save your rule
You should be able to run your rule again and it will pick up the proper inferred value type for the expression. Video demonstration attached.
*The expression should be retained when switching the source to Manual and immediately switching it back to Expression, but you can always copy the expression to your clipboard as a precaution.