-
-
Notifications
You must be signed in to change notification settings - Fork 31.1k
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
Add powerfox integration #131640
base: dev
Are you sure you want to change the base?
Add powerfox integration #131640
Conversation
Marked draft, as there are CI errors. |
"""Set up Powerfox sensors based on a config entry.""" | ||
entities: list[SensorEntity] = [] | ||
for coordinator in entry.runtime_data: | ||
if isinstance(coordinator.data, PowerMeter): |
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.
if we have only one tuple with all entity descriptions (both water and power), could we simplify and remove this if/else here?
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 wonder if that is really an improvement, because then you go through the entire entity list per device (more if checks). The thing with the Powerfox API is that I only know what kind of device it is and which entities belong, after the response data return, hence the use of isinstance to make a distinction.
Will adjust and test it, although I find the current code more readable 🤔
./Klaas
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
Proposed change
This PR will add the Powerfox integration to get (currently only) your power and water meter data.
Type of change
Additional information
Checklist
ruff format 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
.To help with the load of incoming pull requests: