Add optional device_mac_address parameter to get_consumption_info#70
Open
BradKollmyer wants to merge 3 commits into
Open
Add optional device_mac_address parameter to get_consumption_info#70BradKollmyer wants to merge 3 commits into
BradKollmyer wants to merge 3 commits into
Conversation
Allows scoping consumption queries to a single device (via the macAddress query param) for locations with multiple Flo devices. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Non-JSON error bodies (plain-text or HTML error pages) previously escaped as raw JSONDecodeError instead of being wrapped in RequestError, since resp.json() ran before raise_for_status(). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Closes #69
What this does
The
/api/v2/water/consumptionendpoint accepts amacAddressquery parameter to scope results to a single device, same as/water/metrics. Todayget_consumption_infoonly sendslocationId, so locations with multiple Flo devices can only get the location-wide aggregate (which shows incorrect data, e.g. in the Home Assistant integration).This adds an optional
device_mac_addressparameter toget_consumption_info, sent asmacAddresswith:separators stripped, matching howget_metricshandles MACs. Omitting it preserves the existing behavior, so the change is backwards compatible.Also included
While running the test suite I hit a latent bug in
API._request:resp.json()ran beforeraise_for_status(), so non-JSON error bodies (plain-text or HTML error pages) escaped as rawJSONDecodeErrorinstead of being wrapped inRequestError. Swapped the order so HTTP errors are always raised asRequestError. This also fixestest_system_modes, which was failing because of it.Testing
test_get_consumption_infoto cover the per-device call🤖 Generated with Claude Code