Closed atecey closed 1 year ago
Nice!
I think it may well be possible to extract that information, but I guess it's likely to appear as a Modbus 'discrete input', which are boolean inputs we haven't yet mapped. According to that table only discrete input 3 has been identified to be the input for ASHP terminals 20/21, which is the 'ASHP turn on' dry contact. What you want is the value of terminals 18/19, which is the 'go into hot water mode, not central heating mode'.
I would guess this might be discrete input 4, but I haven't confirmed that. What you could do is run the mbdiff.py script and then watch the log of events - I think there should be one when you switch the ASHP external contact into hot water mode.
Another option is to install a thermistor in the cylinder (10K NTC, beta=3435), wire that back to the ASHP (terminals 7/8) and then enable that in settings (51 07=1). Then you can read the hot water temperature directly via Modbus, or a bit awkwardly on the room controller (as setting 01 31).
Unfortunately you can't make it do any kind of internal temperature control if you're using the dry contacts with an external controller (which the room controller can do, run the hot water up to your 'eco' or 'comfort' temp and then straightaway switch back to heating). You'd need to rewire it to put the ASHP in charge of your valves/pumps rather than the external controller, because the dry contacts completely override the internal controls.
I've put some details and design files about temperature probes in this repo: https://github.com/aerona-chofu-ashp/3dparts
Thanks for this info. I actually have taken a different route and decided to use an esp32, a relay and a DS18B20 temperature probe to replace the stat in the cylinder. I think I can achieve most of what I need this way as I can schedule the "switch on" temperature. Should be also able to subscribe to a mqtt topic for boost hot water and tie it to some switch somewhere. And as it would be the thing calling for heat I will know already when its on so no need for the data from the pump now. I actually found it quite odd that there was nothing on the market that could do this.
First of all great work. Got this up and running in half an hour.
Do you know if there's a way to check if a call for hot water has been made via modbus like the controller does when it shows the hot water icon?
For context I'm trying to set up some automations in Home Assistant so that the dumb stat on the hot water tank can't call for heat overnight but if it's already heating the water then let if finish. Or if there's a better way to even do this any ideas are appreciated?