Wondering if you could have a boo at the driver.
I have my pool set to turn off at 29C and my piston has been humming along happily for a year.
I decided to increase the temp to 30C last week and the piston failed to shut off the solar pump.
Turns out the temp after 29.9 is 3E+1 which WebCore says "Huh?" on a compare.
Maybe some overflow is happening in the variable or it's limit is defined as < 30?
3E+1 is 30 in scientific notation so it is correct... I can understand the change in notation format could create problems so I will try to replicate it and see if I can force the notation to stay the same.
Actually, I already came up with a solution for a similar issue, see if this solves your problem:
Thanks I'll try that. It's just weird everything is fine below 29.9
Works fine now, 30 is 30!