New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
User config flow and custom panel for Dynalite integration #77181
Conversation
There hasn't been any activity on this pull request recently. This pull request has been automatically marked as stale because of that and will be closed if no further activity occurs within 7 days. |
adding a comment so it does not auto close. nothing to add until it is reviewed :) |
had a merge conflict in manifest.json from another PR when it was approved. now all good |
There hasn't been any activity on this pull request recently. This pull request has been automatically marked as stale because of that and will be closed if no further activity occurs within 7 days. |
hello. I rebased it again and fixed the conflicts. can someone please review this? it has been sitting for a very long time with no comments |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did only see some minor points, but I'm not very familiar with websockets and panels yet 😬
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
Oh, Is the yaml config not deprecated here? I guess it would make sense since when a user changes / reconfigures a bridge via the new panel, that is also configured via yaml it would not persist those changes, would it? |
apologies. i have been out for a few weeks. will get on it quickly |
Still not sure about this: #77181 (comment) If imported and converted, I think it should be deprecated too, and a repair issue should be created for the user to remove stale yaml config then. |
refactored the schema to its own file
the yaml config is still imported and converted. I did this, so it would not be a breaking change. do you have an example of a depracation / repair issue? i will check in knx as well |
Knx doesn't import yaml. |
still exists
thanks. implemented per your suggestion from bratt... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a minor addition - not sure if this is required, but can't hurt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
post was duplicated
implemented the last change |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me! 👍
I have tested it locally to see the panel in action (mocking the config entry since not having Dynalite equipment) and it seems to work as intended.
no real changes, but version number was messed up
Breaking change
The change deprecates the YAML configuration. it imports it into the UI and adds a repair issue, so it won't break a user configuration or change the existing behavior, but since it adds a "deprecation" warning, better to be explicit
Proposed change
The Dynalite configuration process is done today via YAML which we want to deprecate. However, the configuration is complex since it involved several items (Dynalite has no ability to query, so config has to be set manually).
This adds a user config flow to setup the basics (host / port). After this, a panel appears that can configure the various config entries in a straightforward interactive way
A few example screenshots:
Viewing all defined DYNET areas:
Configuring the system global settings:
Editing a specific DYNET area:
Editing a DYNET channel:
Defining a new DYNET preset:
Switching between different systems (multiple config entries)
Type of change
Additional information
Checklist
black --fast homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
..coveragerc
.The integration reached or maintains the following Integration Quality Scale:
To help with the load of incoming pull requests: