That’s exactly what I was suspecting. I own two Netatmo thermostats, in On/Off mode, as the Netatmo can’t modulate the power of my boiler (it’s not an OpenTherm system) ; and I kept the external temperature sensor used with the original Expert Control modulating thermostat from Chaffoteaux. It allowed me to configure the boiler to adjust the water output temperature for the two heating circuits according to the external temperature (adjustable gain + offset linear compensation). That’s very efficient, but the boiler controls the water temperature (the “available heating power”) while the PID controls the PWM (doing the modulation).
I’m afraid if the external temperature compensates the PID output, it may lead to unpredictable results with the anti-windup of the integral part. Implementations I found using external temperature are only based on proportional regulation of the error, with no derivative nor integration.
In the mean time, I updated my code and built a beta version to put back the min_cycle_duration
option and try to improve the autotuner (as it didn’t work at all).