refactor: split into multiple coordinators to reduce API usage#1102
Open
WebSpider wants to merge 4 commits into
Open
refactor: split into multiple coordinators to reduce API usage#1102WebSpider wants to merge 4 commits into
WebSpider wants to merge 4 commits into
Conversation
Fixes skodaconnect#1056 Previously a single coordinator fetched all endpoints on every poll. Fast-changing data (charging, status, AC, positions) is now handled by the primary coordinator at the user-configured interval; slow-changing data (trip statistics, maintenance, health, vehicle info) is handled by a new `MySkodaSlowCoordinator` on a fixed interval. `_on_mqtt_event` no longer calls `async_set_updated_data` unconditionally: entity updates on MQTT now only fire for `OperationEvents`. This prevents unneeded load on the HomeAssistant State Engine All entities declare their coordinator domain via coordinator_domain (default "primary"); slow-domain sensors override this to "slow".
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1056
Previously a single coordinator fetched all endpoints on every poll. Fast-changing data (charging, status, AC, positions) is now handled by the primary coordinator at the user-configured interval; slow-changing data (trip statistics, maintenance, health, vehicle info) is handled by a new
MySkodaSlowCoordinatoron a fixed interval._on_mqtt_eventno longer callsasync_set_updated_dataunconditionally: entity updates on MQTT now only fire forOperationEvents. This prevents unneeded load on the HomeAssistant State EngineAll entities declare their coordinator domain via coordinator_domain (default "primary"); slow-domain sensors override this to "slow".
TODO: Rigorous testing needed