-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
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
Rework UniFi device tracker to utilizing entity description #81979
Rework UniFi device tracker to utilizing entity description #81979
Conversation
a23eb0e
to
fc59757
Compare
fc59757
to
e30a70d
Compare
e30a70d
to
dd02187
Compare
How is all these function pointers making it better? This change adds about 100 additional lines of code. I feel it would make sense to keep some logic in the entity classes and keep mostly constants in the entity descriptions. |
Yes currently it's not better. This is just a small step on the way. But the client tracker should switch as well. After that it can be consolidated to using the entity.py. So once the small steps are completed it will be much less code overall. |
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 think this is okey since you are maintainer of this integration. But so far i fail to see how it's going to get simpler or more understandable with these changes.
def unique_id(self) -> str: | ||
"""Return a unique ID.""" | ||
return self._attr_unique_id | ||
|
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 is default for an Entity, so not needed?
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.
Device tracker is special :)
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.
def unique_id(self) -> str | None: |
It overloads the normal unique_id method
I hope to make it more consolidated over all, in the case of device tracker it has always been a bit cumbersome |
Breaking change
Proposed change
Migrate sensor platform to utilize entity description much as switch and #81821 and #81930 platforms.
This currently breaks signalling for when config entry options are enabled thus removing those tests, will be readded later on
Once device trackers are migrated and strict typing is achieved I will start merging entity descriptions to one common.
Related PRs
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
.To help with the load of incoming pull requests: