I added a display unit, but otherwise the hardware and concept didn't change. The code did.
The original post is here, including a description of the principles and the hardware used. I did add a display module to make debugging easier (should have done that on day 1).
Control main valve
Added some temperature checks to make sure an already warm room doesn't trigger the main valve for whatever reason. I had one time a valve that was stuck, reported open, with the room already warm enough. This additional check hopefully fixes that situation.
It's just a pity I cannot detect failed calibrations (CAL errors).
Show status main valve
Switch on pump 0
Switch off pump 0
The night check at 01:00 switches off the pumps if they're not needed, even if they were switched on for whatever reason during the day (by hand, by me, testing some stuff).
Show pump status
Show valve status (demand)
To simplify maintenance and fooling around 😊 I added a program which resets everything to some default state.
Show service alerts
I'm still trying to detect certain errors, but can only conclude the CCU2 has some bugs. At least I'll show some service errors to highlight empty batteries, but it's not enough, to be honest...