fix: cannot update multiple stations #95
Open
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.
If multiple station enable or disable actions are submitted quickly, as in a single Home Assistant
Action
with multiple targets, a refresh of the station's state is not requested from the controller until all of the update actions are completed. This results in actions after the first one using outdated information, the result being that earlier actions are overwritten. Only the last update "sticks".By immediately updating the
self._controller._state["stations"][bit_property]
as bits are changed, this can be avoided. If for some reason the controller cannot perform any of the updates, this will be quickly indicated when state is returned from the controller after the updates are complete.I only have a single controller with eight zones, so am unable to test the multiple "bank" case, but it should work.
This resolves vinteo/hass-opensprinkler#317.