Zigbee Thermostats Incorrect Time Zone

I am using multiple Sinope Zigbee thermostats, TH1123ZB is the model number.
When I added them approximately 6 months ago everything worked great. Very recently (possibly even with the upgrade to 0.118) the time displayed on the thermostats is now showing UTC time instead of my local time zone. I have checked the time zone setting in both HA and the OS and both are configured correctly.

Curious if anyone has seen anything like this or has any ideas for other avenues of investigation.

Thanks,
Eric

It’s a known issue with the underlying Alpine OS. A fix has been merged for a future release. See the Blog Category 0.118 release notes topic comments.

Great, thank you! Must have missed it when i looked through the release notes.

It wasn’t in the notes, just the latest comments.

Closing the loop here. In lieu of the actual fix I was able to set the date/time of the container os with the following instructions which has my thermostats back to displaying my correct time zone. Thanks again!

https://wiki.alpinelinux.org/wiki/Setting_the_timezone

As of an update to 2024.8.0 and 12.4, this problem has reappeared - I also have Sinope thermostats, and they are also now showing UTC. I tried updating to timezone as mentioned above, then restarted, but no change.

Same for me as well. Resetting/repairing the thermostats does not help either.

Same for me ! :frowning:

@mmccool @mshamash @maxcharbonneau FYI, there was a massive underlying change to ZHA in the Home Assistant 2024.8 release (which included a huge refactoring and splitting of the ZHA integration component architecture into a separate codebases), so that major change could have broken this and other ZHA stuff:

Zigbee Home Automation (ZHA) updates

The Zigbee Home Automation (ZHA) got a massive overhaul this release!

What this means for you? Well… basically: nothing! And this sounds odd, but that is a good thing!

The whole integration has been split into a separate codebase, making it easier to maintain and improve. This is a huge step forward for the integration, and took months of work to get done.

You will not notice anything different right now, but this change will make the integration easier to maintain and improve in the future, including allowing code contributors to contribute more easily.

Thanks for the dedication and the huge amounts of hard work on this integration @dmulcahey, @puddly, and @TheJulianJES! :smiling_face_with_three_hearts:

As such I would highly recommend that you guys open a new issue for the ZHA integration in the Home Assistant core repository on GitHub and repost same there in more details with debug logs + diagnostics for better tracking, see:

Just for reference check out these too if want a longer back-story on the major ZHA change:

UPDATE: See that @mguaylam also posted a new related issue to the repo for the zha library that the ZHA integration component inside Home Assistant’s core depends on, but please note that is not the same as posting an issue to ZHA integration component for Home Assistant’s core issues tracker as mentioned and linked above, which I think should still be done for the record.

Sorry about the ZHA issue! It’s known now and should be fixed very soon. Unfortunately, this wasn’t caught in the beta period.

2 Likes

@maxcharbonneau @mmccool
I developed a workaround for now with an automation to manually set the time. It runs every 10 minutes to keep time in sync, and prevent it from reverting to incorrect ZHA time.
You may need to adjust the 14400 offset. Mine is 14400 since I am 4 hours (4 * 60 * 60) behind UTC time.
Also be sure to add the IEEE addresses of each of your thermostats at the end, in a list format.

alias: Thermostat - set time
description: ""
trigger:
  - platform: time_pattern
    minutes: /10
    enabled: true
condition: []
action:
  - repeat:
      count: "{{thermostats|length}}"
      sequence:
        - data:
            ieee: "{{ thermostats[repeat.index-1] }}"
            endpoint_id: 1
            cluster_id: 65281
            cluster_type: in
            attribute: 32
            value: "{{ now().timestamp() | int - 946684800 - 14400}}"
          action: zha.set_zigbee_cluster_attribute
mode: single
variables:
  thermostats:
    - IEEE identifier of thermostat 1
    - IEEE identifier of thermostat 2, etc...

According to this PR it should hopefully be fixed in upcming 2024.8.1 if ZHA library to 0.0.29 is used:

1 Like

I was having this same issue with my thermostats, and a strange thing happened this morning (I haven’t updated any home assistant components). We had a power outage that lasted 24 hours here, and when the power came back up (last night) the thermostats were still 4 hours ahead, but this morning they seem to have reverted to the proper time. I have not applied the fix, or updated any homeassistant components (I’m going to now, but just wanted to share this strange thing that happened).

Just curious if anyone has tested 2024.8.1 yet? is this resolved? I’m still on 2024.7 and was holding out upgrading :slight_smile:

I’ve updated to 2024.8.1 and this fix the time shift. It was a bug with timezone not being loaded properly. Now all my thermostats are back to local time.

1 Like