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.
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.
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!
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.
@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:
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.
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:
@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...
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).
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.