Sinope TH1124ZB Clock/Time sync

I’ve got a Sinope TH1124ZB connected up and running beautifully for a while now - except for the clock. I can set the clock just fine writing the time to:

zigbee2mqtt/FriendlyName/set/thermostat_time

and the clock on thermostat updates and shows the correct time - and even maintains it - for a while.

The “for a while” part is the problem. After a random period, it seems to forget the time. I tried (via NodeRED) having the time get updated 1/day - but this doesn’t actually resolve the issue. Even though I set the time every day at 3am, randomly at some point the next day the time can be blank on the device (not every day, it can go weeks where it works perfectly).

So - is there something I’m missing here? Is the thermostat asking for a time-refresh but z2m doesn’t know how to repond? I can see in toZigbee.js that there is a “sinope_thermostat_time” that looks like it should be handling this, but I don’t fully understand how all these pieces fit together.

Brand new to Z2M as of yesterday. I’ve only moved my ikea plugs and repeaters on to it so far. Planning to move all of my thermostats this evening. I’ve got 15 of the TH1124ZB’s. Currently they are all on Hubitat.Having the exact same issue on HE with 5 of these that will suddenly lose the time, completely at random it just goes blank. I “worked around it” by creating an automation that would “configure” the device once an hour. It sounds like it may be a device issue more than a zigbee issue.

Hey! I’m also brand new to Z2M, and also have a bunch of these guys, but have zero knowledge of how to configure the time. Presume you have a script that runs on the hour – any chance you’d share it?

Figured it out - the timecode stuff is a bit meh, but it works… Here’s the code if anyone is searching:

sequence:
  - service: mqtt.publish
    data:
      topic: zigbee2mqtt/Living Room Thermostat/set/thermostat_time
      payload: '{{ utcnow().timestamp() - (4 * 3600) }}'
      mode:  single