-
-
Notifications
You must be signed in to change notification settings - Fork 30.4k
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 Generic Water Heater #44605
Add Generic Water Heater #44605
Conversation
I don't agree with this. The 'generic' integration currently provides a camera only. While it is possible to add other unrelated entities to this, I don't think it's a good idea, mainly because it would make the config flow really confusing to the user. I have a config flow PR open for the existing generic component, and making it also deal with water heaters would make no sense. Probably 'generic' should be renamed to 'generic_ip_camera' - that is how it appears in the documentation. My suggestion is that your new code goes into a new 'generic_water_heater' integration, along with its own config flow. |
I don't necessarily disagree with you :) But config flows are reserved for integrations that communicate with devices or services (see #44562 (comment)) I realised there was Let me be clear, I have no problem refactoring the code into a |
Since the initial PR did not address ADDR-0007 I decided to take the opportunity to move the integration into it's own directory, therefore clearing any concerns from @davet2001 😉 Still think |
Thank you! :)
|
@davet2001 I think you should open up the discussion in it's proper issue (possibility in the architecture repository ?) and leave the discussion here for the Generic Water Heater 😉 |
I'm looking for a way to build a generic water heater for homekit. Thank you for your hard work. |
I'm going for a 1st "as simple as it can get" PR (easier to be reviewed). Afterwards we can go beyond on/off :) |
I m curious to know the difference with a generic_thermostat ? |
This is a different platform. It's like the difference between |
Sorry if I miss understood @dgomes, but
This is like with you case the Please tell me where I'm wrong here ? |
@afaucogney I understand you have issues with the concept of This has been discussed previously in: |
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.
Nice!
I can understand that for a generic integration that is no more then a template packaged as an integration. But if you add logic (which would otherwise would be a better fit for python script) I think there is room for the generic platform. Is the general consensus described in any architectural issue / discussion ? |
It needs to be formalized, I'm just hitting the breaks here, before we merge stuff (like generic humidifier was) that we actually don't want anymore. We have considered reverting the generic humifier. |
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. |
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. |
I'm a bit concerned about this integration. While I do think it's awesome idea, this also rings a lot of bells for thermal runaway - something that cheap/malfunctioning 3d printers are known for. |
Thank you for commenting, this is an initial PR which should be as basic as possible to ease the review process. Of course we can add many other features in future PR's. Since this PR is blocked I'm maintaining a HACS fork https://github.com/dgomes/ha_generic_water_heater |
@BeardedTinker The problems you describe are not eliminated by a PID or any software. Most water heaters include a thermal cutout for this reason, i.e. they have a built in mechanical device such as a bi-metalic strip which shuts off power above a certain temperature. I don't think we should claim that the integration has any dependable safety features - in my view the user should ensure that their system will be safe even if the output is stuck in the on state. |
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 like a useful thing, in general.
) | ||
|
||
|
||
async def async_setup(hass, hass_config): |
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.
Migrate to async_setup_entry
.
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.
Thanks for the feedback, but this integration is YAML only, so no config_entries
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. |
I've marked this PR as draft, as changes are requested that need to be processed or, in this case, more discussion is needed. Thanks! 👍 Marcel |
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. |
@dgomes can you restart activity on this PR? |
Given the current stance, better discuss this at https://github.com/dgomes/ha_generic_water_heater |
I'm going to close and decline this PR for now, until we have a proper way to handle with "generic" type of integrations. As shown above, there is now a custom integration in case one really wants this (although, of course, is not supported by the Home Assistant project). ../Frenck |
Proposed change
Adds a generic water heater. This is mostly a dumb water reservoir with a resistance in it which can be controlled with a switch entity. Inside the reservoir there is a temperature sensor. You can control the target temperature and turn off the heater in advance, avoiding overshoot.
Type of change
Example entry for
configuration.yaml
: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: