This keeps evaluating to False even though it's clearly true. Has anyone else experienced this? Am I crazy?
Me trying to figure out your conditional...... ![]()

It looks more complex than it is just because the logs contain the actual real time values. The important part is the highlighted section which is super basic and clearly should be true unless I'm losing my mind. Technically I should have highlighted the word Office at the end of the line above, but I missed it. The highlighted section I'm just checking to see if the Office Thermostats current setpoint is higher than the Thermostat Setpoint (which is a global variable I use in a bunch of places).
Bigger picture it's in a rule that prevents my wife from heating the entire house when she's in her office because she wants the temp to be 73-74 degrees anytime of the day. So, when she's not in the office and the house is on heat the office is set to heat and matches the house. But, if she is in the office the office is set to heat and her custom setpoint. Then I check if the house is on heat or has a lower setpoint and if the office door is open to decide if I want the office pushing heat or not at the moment.
Probably going to add a rule that if she's in the office and the door is open and the temp is below her setpoint to send her a push notification that if she's cold she should close the door. Not so much because she needs it, but because of all the work I've had to do to make this happen I will get a little kick out of poking her when she forgets to close the door. LOL!
Just for kicks here are all 4 rules that work together to make it happen.
Is this a new rule that has started giving you issues or one that's been in place some time and this started occurring?
I'm just wondering if it's something to do with the format of the numbers that are tested. Is it comparing like for like (decimal, integer, string). I'm probably out of my depth here but seeing '73.0' for one value and '71' for the other made me look twice - If 'Thermostat Setpoint' is your variable it looks like it's a number or string whereas 'thermostatSetpoint' is decimal.
Itās a newer rule. I feel like it was definitely working for a while, but my memory isnāt the greatest. The first value is a device attribute, so Iām assuming itās a decimal but donāt know for certain. The second is a variable and itās an integer. You should still be able to do < or > with a decimal and an integer as far as I know.
Yeah I'm not sure but thought I'd point it out in case it was relevant. Someone else may chime in and confirm.




