Ok, there’s is some kind of a floor for r34 (curve) in the pump firmware. I had that min+1 limitation there, min set to 20, so min r34 command was 21. But every time r34=21, it would change to 40 in the pump. So I guess the r34=22 is something like a built-in minimum in the pump firmware, and with 21 it underflows. With r34=22 all is good. So, I set the minimum clamp to 22 in my program.
So, what I have is and all works well:
– Spot price classification with multi-hour lookahead (hourly price flags for next 24h, and then it makes decisions based on near future flags)
– Curve modulation, not EVU on/off
– Integral-aware steering with explicit minutes-to-A1 estimation
– Indoor temperature feedback with hysteresis
– Hot water optimization on a separate path
– Forecast integration for thermal banking
– Defensive write paths with audit and watchdog