Releases: warrenrees/aquatru-connect
Releases · warrenrees/aquatru-connect
Release list
v1.1.3
Full Changelog: v1.1.2...v1.1.3
Release v1.1.2
Fixed
- Daily Water Usage, Weekly Water Usage, and Money Saved no longer show "Unknown".
- Usage statistics now match the current period and fall back to the most recent
period the API returns, instead of failing when the API omits the current day
or formats the ISO week differently than expected. - Money Saved is now computed locally (the cloud returns
dollarsSaved: null),
matching the AquaTru app:bottles = ceil(purifiedAmount / bottleSize)and
money = (purifiedAmount / bottleSize / quantityInPack) * waterCost.
- Usage statistics now match the current period and fall back to the most recent
- Bottles Saved now matches the value shown in the AquaTru app. It is derived
from total water purified and the configured bottle size; the cloud's
bottleSavedfield uses a different bottle size and under-reported the count. - Reworked MQTT reconnection so it no longer races the AWS IoT SDK's built-in
auto-reconnect (which previously could create duplicate connections); a connect
lock now serializes connection rebuilds. - Credential refresh now also runs while temporarily disconnected, so an expiry
that coincides with a dropped connection can recover (previously it could get
stuck retrying with expired credentials). - Removed unreachable authentication-error handling during setup; auth failures
correctly trigger the re-authentication flow. - Synced
strings.jsonandtranslations/en.jsonand added the missing
Country Code field labels to the login step.
Changed (Home Assistant standards)
- Removed
aiohttpfrom manifest requirements (it is provided by Home Assistant core). - Added
PARALLEL_UPDATES = 0to the sensor and binary sensor platforms. - Replaced deprecated
asyncio.get_event_loop()withasyncio.get_running_loop(). - Demoted routine operational logs from INFO to DEBUG.
- Diagnostics now use a public coordinator property instead of accessing internals.
- The device model shown in Home Assistant now reflects the actual device model
instead of a hardcoded value. - Timestamps are now timezone-aware; modernized
datetimeusage.
Removed
- Dead
access_tokenplumbing in the MQTT client (Cognito uses an unauthenticated
identity, so the token was never sent). - 27 unused constants.
Internal / tests
- Migrated the test suite to
MockConfigEntry, added the required
enable_custom_integrationsfixture, and updated mocks/assertions for the
current Home Assistant version. Full suite passing (77 tests). - Applied
ruffautofixes (import sorting, unused-import removal, pyupgrade).
Release v1.1.1
Reduced cloud polling frequency: 10 minutes primary (was 1 minute), 6 hours with MQTT active (was 5 minutes)
Fixed MQTT callbacks not updating Home Assistant entities (stored event loop reference for thread-safe callbacks from AWS SDK threads)
Full Changelog: v1.1.0...v1.1.1
Release v1.1.0
A Home Assistant custom integration for AquaTru Connect water purifiers with real-time monitoring, filter tracking, and
usage statistics.
v1.1.0
- Added AWS IoT MQTT support for real-time updates
- Added MQTT status sensor entity
- Added diagnostics support
- Added re-authentication flow
- Added reconfiguration support
- Added comprehensive test suite (9 modules, 2000+ lines)
- Added proper translations and UI strings
- Improved performance with non-blocking AWS SDK initialization
- Improved reliability with automatic credential refresh
- Improved error handling and connection failure detection
- Fixed potential event loop blocking issues