I've tried porting the driver with very limited success. I used the new (?) Sinope ST driver as a baseline https://support.sinopetech.com/en/wp-content/uploads/sites/4/2019/08/Sinope-Technologies-Zigbee-Thermostat-V.1.0.0-SVN-547-1.txt (from the version # it seems older, but from the date, newer).
I did the obvious conversions and can set Heating set point. However the clock and the external temperature elude me.
For the clock, looking through the code, the time must be represented as a Long (it's some weird calculation of the # of seconds since 1/12000 with an endian conversion,
the resulting values exceed what an Integer can hold) - unfortunately the zigbee.writeAttribute only seems to accept an Integer for the value parameter. I'm guessing it could be done with a "raw" or "he wattr" command, but I'm not sure on the formatting for those commands. I'm guessing that's how @mike.maxwell does it in his driver.
For the temperature, I tried commenting out the code that gets weather data and just hardcoded a temperature value. I can see that value make it all the way into the writeAttribute command, but nothing changes on the thermostat and no errors in the log. Unfortunately no ziggy snipper here so I can't see the next link in the chain.
I'll keep plugging away at it (I'm stubborn that way), but am really hoping that @kris2k2 comes back and drops some code on us.