Require unique name during config flow, delete base folder when empty, other potential bug fixes - #6
Merged
Conversation
* refactor, bug fixes, and improvements New Features - cleanup packages folder on entry removal Changes - switch to using relative path for CONF_PATH to reduce changes of error (existing config entries will be updated automatically) Bug Fixes - Switch _generate_package from async to sync because it does I/O on the filesystem - fix output file not being opened with context manager (so never closed) - fix sensor creation loop to only create necessary sensors instead of sensors for all code slots - fix CodeSlotsData sensor (now a DataUpdateCoordinator) logic for OZW integrations Code Cleanup/Improvements - move CodeSlotsData logic into DataUpdateCoordinator since that's what it is being used for - reduce polling frequency significantly by only polling any time a slot is set or cleared with a backup hourly polling in case updates are made outside of KeyMaster (this will significantly improve battery life over current implementation with the same level of accuracy) - Update config entry using update method instead of directly manipulating attributes - use slugify when fixing CONF_NAME - use os.path.join to create paths for better OS compatibility - switch to using f-strings - only attempt cleanup of packages directory if it exists - always rely on entry.data so that options is only used to capture options updates - simplify code and reduced repeat logic by moving things into common functions - raise Exceptions in services when there is a failure (this will be shown in UI) - use more list comprehensions - switch while loops to for loops - added typing - gitignore venv - improve debug messaging * fix typo * refactor, bug fixes, and improvements New Features - cleanup packages folder on entry removal Changes - switch to using relative path for CONF_PATH to reduce changes of error (existing config entries will be updated automatically) Bug Fixes - Switch _generate_package from async to sync because it does I/O on the filesystem - fix output file not being opened with context manager (so never closed) - fix sensor creation loop to only create necessary sensors instead of sensors for all code slots - fix CodeSlotsData sensor (now a DataUpdateCoordinator) logic for OZW integrations Code Cleanup/Improvements - move CodeSlotsData logic into DataUpdateCoordinator since that's what it is being used for - reduce polling frequency significantly by only polling any time a slot is set or cleared with a backup hourly polling in case updates are made outside of KeyMaster (this will significantly improve battery life over current implementation with the same level of accuracy) - Update config entry using update method instead of directly manipulating attributes - use slugify when fixing CONF_NAME - use os.path.join to create paths for better OS compatibility - switch to using f-strings - only attempt cleanup of packages directory if it exists - always rely on entry.data so that options is only used to capture options updates - simplify code and reduced repeat logic by moving things into common functions - raise Exceptions in services when there is a failure (this will be shown in UI) - use more list comprehensions - switch while loops to for loops - added typing - gitignore venv - improve debug messaging * remove helper entities on entry unload or options update * remove counter since it's not actually used, it was just there for futureproofing * bugfix
…, other bug fixes
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.
Proposed change
keymasterfolder when emptycode_slottointduringUpdateCoordinatorupdate, simplify logic to getnode_id)Type of change
Additional information