So now I have a working system that monitors the heat pump performance and status. One or two issues though...
The clicking from the relays is annoying. And they'll wear out eventually.
The relay board is bulky and untidy, so it's currently out in the open.
Occasionally the esp crashes. This appears to be related to switching a relay at the same time as the heat pump stops, so probably power/noise related. The esp starts again, but there is currently a fixed delay before it starts 'pressing buttons' (it assumes the system has just booted and is initialising) so misses some data sometimes.
Resolving the third issue has two parts - first, the software is changed so now it doesn't assume a full boot (it tries to request some data from the ASHP - if the esp has crashed and rebooted, the remote will still be on the request screen. If successful, it's a esp crash/reboot, and it'll continue where it left off. If that fails, it knows this is a whole system boot, and it waits and starts from the beginning). Secondly, improving the power filtering and noise immunity of the system would be useful. (There were a lot of wires just flopping around... Removing the relays wouldn't hurt either)
So I designed a PCB. This used some solid state relays and an esp-12f.
(note that this PCB does have an error, corrected in the GitHub gerbers)
The PCB has solid state relays for each button, plus two spare (these could press other buttons, to allow changing ASHP settings, or replace the thermostat/timer for CH and DHW demands, in the future) It could be made more compact (is used large resistor and capacitor footprints, these could be smaller, or even SMD) but fits nicely behind the remote as-is.