I'm experiencing an odd issue with the way timezones and daylight savings are handled between the car, this integration and Home Assistant.
For context, I'm in Sydney AU and our daylight savings period ended on 5th April.
Since then I've noticed whenever the car charges overnight there are no updates to SOC, etc, and the charging refresh sensor remains at 0s.
Delving into the logs, and looking at the vehicle settings, here is what I've found so far:
Vehicle:
Time is set to automatic (if I toggle this off it displays the default of Sydney GMT+10 which is correct for non-DST time
Home assistant:
Timezone is set to Melbourne, Sydney. It reports GMT+11 which seems to be a longstanding behaviour per #72191
The following template in developer tools correctly returns false: {{ now().timetuple().tm_isdst == 1 }}
And likewise the following template shows the correct time and timezone 17:07:00 (AEST / GMT+10): {{ now().strftime('%H:%M:%S') }} ({{ now().strftime('%Z') }} / GMT{{ now().strftime('%z')[:3] }})
SAIC MQTT:
It appears the add-in isn't publishing the timezone topic, which seems odd compared to the code & code:

In the SAIC log it seems to detect GMT+11 for the timezone on start-up:
2026-04-22 16:43:12,201 [INFO]: User timezone from API: GMT+11:00 → Etc/GMT-11 - mqtt_gateway
2026-04-22 16:43:31,618 [INFO]: Scheduled check for charging start for VIN LSJWH409 at 00:10:00 (Etc/GMT-11) - vehicle
2026-04-22 16:45:26,300 [INFO]: Rescheduled check for charging start for VIN LSJWH409 at 00:10:00 (Etc/GMT-11) - vehicle
I'm a bit stuck at this point. I don't understand why there is nothing published to the MQTT topic, or why the SAIC timezone is wrong.
It's evident from the log that the scheduled charging check is running an hour earlier (23:10) than it should (00:10) to fit with my scheduled charging window of 00:00-06:00:
2026-04-21 23:10:00,002 [INFO]: Running job "LSJWH409_scheduled_charging (trigger: cron[month='*', day='*', day_of_week='*', hour='0', minute='10'], next run at: 2026-04-23 00:10:00 +11)" (scheduled at 2026-04-22 00:10:00+11:00) - apscheduler.executors.default
2026-04-21 23:10:00,002 [INFO]: Setting refresh mode to force due to check for scheduled charging start - vehicle
2026-04-21 23:10:00,002 [INFO]: Job "LSJWH409_scheduled_charging (trigger: cron[month='*', day='*', day_of_week='*', hour='0', minute='10'], next run at: 2026-04-23 00:10:00 +11)" executed successfully - apscheduler.executors.default
2026-04-21 23:10:00,062 [INFO]: Setting refresh mode to periodic due to restoring of previous refresh mode after a FORCE execution - vehicle
2026-04-21 23:10:00,062 [INFO]: Updating vehicle status - handlers.vehicle
2026-04-21 23:10:06,409 [INFO]: Updating charging status - handlers.vehicle
2026-04-21 23:10:09,522 [INFO]: Rescheduled check for charging start for VIN LSJWH409 at 00:10:00 (Etc/GMT-11) - vehicle
2026-04-21 23:10:09,522 [INFO]: Updating scheduled battery heating status - handlers.vehicle
2026-04-21 23:10:09,555 [INFO]: Refreshing vehicle status succeeded... - handlers.vehicle
2026-04-21 23:10:11,124 [INFO]: Refreshing ABRP status succeeded... - handlers.vehicle
2026-04-21 23:10:29,700 [INFO]: Running job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-04-21 23:11:29 AEST)" (scheduled at 2026-04-21 23:10:29.700223+10:00) - apscheduler.executors.default
Would appreciate some pointers on where to go looking next please. Thanks
I'm experiencing an odd issue with the way timezones and daylight savings are handled between the car, this integration and Home Assistant.
For context, I'm in Sydney AU and our daylight savings period ended on 5th April.
Since then I've noticed whenever the car charges overnight there are no updates to SOC, etc, and the charging refresh sensor remains at 0s.
Delving into the logs, and looking at the vehicle settings, here is what I've found so far:
Vehicle:
Time is set to automatic (if I toggle this off it displays the default of Sydney GMT+10 which is correct for non-DST time
Home assistant:
Timezone is set to Melbourne, Sydney. It reports GMT+11 which seems to be a longstanding behaviour per #72191
The following template in developer tools correctly returns false:
{{ now().timetuple().tm_isdst == 1 }}And likewise the following template shows the correct time and timezone 17:07:00 (AEST / GMT+10):
{{ now().strftime('%H:%M:%S') }} ({{ now().strftime('%Z') }} / GMT{{ now().strftime('%z')[:3] }})SAIC MQTT:

It appears the add-in isn't publishing the timezone topic, which seems odd compared to the code & code:
In the SAIC log it seems to detect GMT+11 for the timezone on start-up:
I'm a bit stuck at this point. I don't understand why there is nothing published to the MQTT topic, or why the SAIC timezone is wrong.
It's evident from the log that the scheduled charging check is running an hour earlier (23:10) than it should (00:10) to fit with my scheduled charging window of 00:00-06:00:
Would appreciate some pointers on where to go looking next please. Thanks