Hi all,
I’ve been using EspHome with a simple Climate component for my warm floor control for some time and found that a simple thermostat cannot maintain a constant temperature of the surface due to a huge inertia of the massive concrete floor. My system consists of a gas boiler (on-off) and NC electric thermal actuators (on-off), controlled by relays, connected to ESP8266 GPIO. Temperature sensors DS18B20 installed inside the concrete floor somewhere in-between of the pipes with hot water to receive the actual temperature of the floor.
Currently it behaves the following way:
Day temperature of the floor is set to 26°C with the hysteresis of 0,1°C.
Water temperature from the boiler is always 45°C.
EspHome thermostat turns ON the relay which opens electric actuators (takes up to 5 mins until fully open). Hot water starts heating the pipes inside the floor. Once the temperature on DS18B20 reaches 26,1°C, Thermostat closes the actuators. But the temperature on the sensor still goes up since the hot water is still in the pipe and still heating the concrete. And it usually raises up to 27,5-28°C that is too warm.
After some time temperature goes down and Thermostat starts heating again once it drops below 26,0°C. But since the water inside the massive concrete floor is still cold, and actuators are too slow, the temperature on the sensor drops even after the actuators are ON again, and usually goes down to 25,5°C before starts to grow again. And it’s too cold. As a fact I’ve got 3°C of real floor temperature hysteresis against 0,1°C “theoretical” hysteresis, configured in the yaml.
As far as I understood PID algorithm can help to maintain constant floor temperature in my case. I found EspHome PID Climate component and it looks good, but the only thing in the manual is confusing:
“Please note the output must be controllable with continuous value (not only ON/OFF, but any state in between for example 50% heating power).”
My NC electric actuators have ON-OFF option only and the only way to simulate continuous value is to add a kind of PWM logic in-between PID Climate and Switch components (Relay). But I’m not sure how to do it and eventually how to learn the whole system to work properly.
Will appreciate any ideas how to configure EspHome PID Climate component for my hardware.