I know this topic is rater old, but I stumbled on it - and since no one else posted a reply I might as well do it…
Anyway,
We have this exact same system in our house, and for (almost) the same reasons as you, I took a stab at it last year.
It turns out that it’s quite simple actually!
It’s a one way system, so you won’t be able to control it unless you create your own transmitter - either from salvaged parts, or program your own 
In the latter case, you might as well buy a WIFI operated 24VAC switch system to open/close the actuators.
Each wireless thermostat wakes up once ever 10-15 minutes, measures the temperature, integrates it with the last x measurements - and decides whether or not heat is needed.
In either case, a small packet (~35 bits @ 2500 baud) is sent to the receiver using basic FSK (I think).
The packet is sent 3-4 times with a delay of 10-11 seconds between each, YMMV.
The packet contains the unique ID of the thermostat, whether or not heating is requested, and the current setting of the night time temperature switch - that’s it!
Furthermore the packet is prepended with a preamble to ‘wake-up’ the receiver, and contains start/stop bits and basic parity checks.
Also worth mentioning is that the RF receiver circuit in the controllers actually contains a signal-strength output, but this isn’t used by the microcontroller at all.
Like yours - our system contains an extender unit, but when this malfunctioned I salvaged the RF receiver and programmed an ESP32 based WIFI/MQTT gateway from the parts.
Now I can at least monitor when each thermostat calls for heat in Home Assistant 
Note that the above info might not be 100% accurate, so use it as is and make your own observations 