Needs to be a numerical output (not a binary or bool) as it is not going to be used as a climate entity - it needs to control a proportional valve for a water tank filler
The smart thermostat works only boolean, full or nothing.
It looks like the sensor from soloam is using only the maximum and minimum values, no values in between. The reason is that in pidcontroller.py, in pidcontroller.output he is limiting the output to be between 0 and 100, which looks like percent, but in the previous calculations there is nothing about percent values. So at some point he is missing to convert absolute values to realtive values.
Interested. In fact, been working on something similar already. If we can collaborate on the final product, we could share the investment in the solution.
Based on your username though, I wonder if a PLC implementation might be more appropriate for your use case.