A more or less complete implementation of the 'scotteprotocol' for versions 4.00 to 6.xx in python (python 2, not 3) can be found here:
https://github.com/motoz/PellMon/tree/master/src/Scotteprotocol. I don't know if it works with the oldest 4.xx versions, but at least some of the newer 4.xx versions are known to work.
Use like this:
from Scotteprotocol import Protocol
protocol = Protocol('/dev/ttyUSB0', '4.01')
print protocol.getItem('boiler_temp')
protocol.setItem('chute_temp_max', '50')
It might (or even should) work on windows also but I don't think anyone ever tested that, then you initialize the port with eg:
protocol = Protocol('COM4', '4.01')