Use Home Assistant Store for ML data persistence#183
Merged
JohanAlvedal merged 1 commit intocodex/01from Jan 19, 2026
Merged
Conversation
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.
Motivation
StoreAPI to avoid relying on/configpaths and to integrate with HA storage abstractions.Description
ML_STORAGE_KEY,ML_STORAGE_VERSION, andML_LEGACY_DATA_FILENAMEinml_settings.pyand replaced the old file path constant with storage metadata.PumpSteerMLCollectorinml_adaptive.pyto usehomeassistant.helpers.storage.Storefor async load/save and to store theStoreinstance on initialization.hass.config.path(...)(executed in the executor), imports it into theStore, and then continues using theStorewithout deleting the legacy file.Storeasynchronously, and ensured the collector uses_apply_loaded_datato populate in-memory fields.Testing
pytest, which aborted during collection withModuleNotFoundError: No module named 'homeassistant', so unit tests could not be executed in this environment./config/...path remains and thatStoreasync methods are used for load/save, and that the legacy import is attempted only ifStoreis empty.Migration note: on startup the collector first attempts to load data from the HA
Store; if noStoredata exists it attempts to import the legacypumpsteer_ml_data.jsonviahass.config.path(...)once, logs the import, saves the imported payload intoStore, and continues usingStoregoing forward while leaving the legacy file in place.Codex Task