Skip to content

Refactor scheduling logic for strict clock alignment#3

Merged
Crim merged 1 commit into
mainfrom
spp/SyncTimeInterval
May 19, 2026
Merged

Refactor scheduling logic for strict clock alignment#3
Crim merged 1 commit into
mainfrom
spp/SyncTimeInterval

Conversation

@Crim
Copy link
Copy Markdown
Contributor

@Crim Crim commented May 19, 2026

This PR refactors the integration's internal timer to resolve interval drift and align perfectly with PVOutput's strict interval expectations.

What Changed:

Replaced async_track_time_interval (which acts as a rolling countdown timer) with async_track_time_change (which acts as a strict Cron-style scheduler).

Added dynamic minute/hour generation based on the user's configured frequency setting.

Details

Previously, if Home Assistant restarted at 14:03, the 5-minute timer would fire at 14:08, 14:13, etc., causing data to drift out of sync with PVOutput's standard 5-minute buckets. By enforcing execution at exactly second=0 on the calculated minute marks (e.g., :00, :05, :10), uploads will now automatically resynchronize to the literal wall-clock time regardless of when Home Assistant reboots.

For Issue #1

@Crim Crim merged commit 6f444fa into main May 19, 2026
1 of 2 checks passed
@Crim Crim deleted the spp/SyncTimeInterval branch May 19, 2026 22:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant