Skip to content

feat(camera): add daily snapshots and refactor timelapse scheduling fix(devices): prevent duplicate device setup during initialization#35

Open
Tobiwan91 wants to merge 2 commits intoOpenGrow-Box:mainfrom
Tobiwan91:main
Open

feat(camera): add daily snapshots and refactor timelapse scheduling fix(devices): prevent duplicate device setup during initialization#35
Tobiwan91 wants to merge 2 commits intoOpenGrow-Box:mainfrom
Tobiwan91:main

Conversation

@Tobiwan91
Copy link
Contributor

feat(camera): add daily snapshots and refactor timelapse scheduling

  • Add scheduled daily snapshot feature with configurable time, automatic retries, and ZIP archive export.
  • Refactor timelapse recording logic to use Home Assistant's native scheduling utilities (async_track_point_in_time, async_track_time_interval) instead of background loops, ensuring proper recovery after HA restarts.
  • Enforce strict UTC ISO date formatting (YYYY-MM-DDTHH:MM:SSZ) for timelapse configuration to prevent parsing errors on startup.
  • Reorganize storage structure into daily/ and timelapse/ subdirectories with path traversal validation for security.
  • Add rate limiting and locking mechanisms for timelapse video generation.
  • Update camera filename format to include local ISO timestamps for better sorting.
  • Add comprehensive user guides and developer documentation for the camera system.

fix(devices): prevent duplicate device setup during initialization
The DeviceUpdater was attempting to set up new devices before the
coordinator finished its initial startup sequence, which could lead to
race conditions and duplicate device entries. Added an initialization
flag to delay device management until the coordinator has completed
its initialization process. Also improved the addDevice method to replace
existing devices with the same name instead of creating duplicates.

Tobiwan91 added 2 commits February 13, 2026 20:02
- Add scheduled daily snapshot feature with configurable time, automatic retries, and ZIP archive export.
- Refactor timelapse recording logic to use Home Assistant's native scheduling utilities (`async_track_point_in_time`, `async_track_time_interval`) instead of background loops, ensuring proper recovery after HA restarts.
- Enforce strict UTC ISO date formatting (`YYYY-MM-DDTHH:MM:SSZ`) for timelapse configuration to prevent parsing errors on startup.
- Reorganize storage structure into `daily/` and `timelapse/` subdirectories with path traversal validation for security.
- Add rate limiting and locking mechanisms for timelapse video generation.
- Update camera filename format to include local ISO timestamps for better sorting.
- Add comprehensive user guides and developer documentation for the camera system.
The DeviceUpdater was attempting to set up new devices before the
coordinator finished its initial startup sequence, which could lead to
race conditions and duplicate device entries. Added an initialization
flag to delay device management until the coordinator has completed
its initialization process. Also improved the addDevice method to replace
existing devices with the same name instead of creating duplicates.
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