Skip to content

Unexpected 36-Minute Offset in run_daily Scheduler on Raspberry Pi 5 (HAOS, Python 3.12, ARM64) #2400

@svy123

Description

@svy123

What happened?

Describe the bug
There is a consistent and repeatable 36-minute offset when scheduling callbacks using run_daily() in AppDaemon on Raspberry Pi 5 with Home Assistant OS (HAOS).
The system time, Home Assistant time, and AppDaemon logs all show the correct time, but the callback scheduled by run_daily always fires exactly 36 minutes later than the time specified in the YAML configuration.

Environment

  • Hardware: Raspberry Pi 5 (64-bit, ARM)
  • Home Assistant OS version: 16.0
  • AppDaemon version: 4.5.11 (official addon)
  • Python version (as in AppDaemon logs): 3.12.11
  • Home Assistant Core version: 2025.7.2
  • System time: Confirmed correct with date and in AppDaemon logs

How to reproduce the issue

  1. Install AppDaemon 4.x as an official add-on on Home Assistant OS running on a Raspberry Pi 5.

  2. Create a simple app, e.g.:

       import appdaemon.plugins.hass.hassapi as hass
       import datetime
    
       class LightTimer(hass.Hass):
    
           def initialize(self):
               self.on_time = self.args.get("on_time", "10:00:00")
               parsed_on = self.parse_time(self.on_time)
               self.log(f"Parsed on_time: {parsed_on}")
               self.run_daily(self.turn_on_light, parsed_on)
    
           def turn_on_light(self, kwargs):
               self.log("Light should turn on now.")
    
  3. Configure apps.yaml:

            light_timer:
               module: light_timer
               class: LightTimer
               light: light.xyz
               on_time: "10:00:00"
    
  4. Restart AppDaemon.

  5. Observe that in the AppDaemon UI ("Scheduler Callbacks"), the scheduled time for the callback is always 10:36:00 when "10:00:00" is set, and so on (always +36 minutes).

Observed behavior

  • The scheduled callback is always +36 minutes later than the requested time, regardless of the value specified.
  • The offset is always exactly 36 minutes (e.g. 09:10:00 becomes 09:46:00, 12:12:00 becomes 12:48:00).
  • All system, Home Assistant, and AppDaemon times are correct and in sync.
  • No stubs, duplicates, or timezone inconsistencies in configuration.

Expected behavior

  • run_daily should schedule the callback at the time specified (e.g. 10:00:00).

Workaround
Currently, I am manually subtracting 36 minutes in my app code:

          import datetime
          parsed_on = self.parse_time(self.on_time)
          fixed_on = (datetime.datetime.combine(datetime.date.today(), parsed_on) - datetime.timedelta(minutes=36)).time()
          self.run_daily(self.turn_on_light, fixed_on)

But this is just a workaround for a deeper issue.

Additional info

  • Full restart of the system does not resolve the issue.
  • The problem is present on Raspberry Pi 5, Home Assistant OS 16.0, Python 3.12.11.
  • The same code on older hardware or with older versions of AppDaemon/Python does not show this bug.
  • No error messages, just the consistent scheduling offset.

Version

4.5.11

Installation type

Home Assistant add-on

Relevant log output

Relevant code in the app or config file that caused the issue

Anything else?

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions