Coordinator fetches device statuses sequentially (performance bug for multi-device setups) #1
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/yeedi_awmbuild#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Severity: Medium (performance)
File:
custom_components/yeedi/coordinator.py, lines 35-39Issue: In
_async_update_data, the coordinator iterates over devices and awaits eachasync_get_device_statuscall sequentially:If a user has multiple Yeedi devices, each status fetch blocks the next. For N devices with ~500ms API latency each, the total poll time grows linearly, potentially causing coordinator timeouts.
Fix: Use
asyncio.gatherorasyncio.as_completedto fetch statuses concurrently:Fixed in commit. Closing.