home-assistant / architecture

Repo to discuss Home Assistant architecture
315 stars 99 forks source link

Add generic_water_heater entity similar to generic_thermostat #383

Closed engrbm87 closed 1 year ago

engrbm87 commented 4 years ago

Context

Following the same concept as the generic_thermostat where a switch and a sensor is used I propose to have a generic_water_heater that also uses a sensor and a switch to control it.

Proposal

A generic water heater will use a temperature sensor to read the current temperature. A switch will be used to turn on the water heater until the target temperature is reached. for a simple water heater the concept will be as follows:

We can have an option to turn back on the switch if the temperature goes below the target temperature (similar to the how the climate entity works) but for me I don't want this to happen as I don't want the water heater to keep turning back on if the temperature goes down.

Consequences

Since this isn't a smart device we won't have modes (like eco). In my case I have a water heater (boiler) with 2 electric coils. I have connected each one to a relay so that I can either have full power or half power. So if possible we can have these two modes and specify 2 switches so that in full power mode both switches turn on.

mrand commented 4 years ago

Would it make sense to just improve the generic_thermostat rather than having a new entity?

engrbm87 commented 4 years ago

Since water_heater entity already exists we should also separate a generic water heater from a generic thermostat. This also allows us to consider adding water heater type entities to the Google assistant smart devices. https://developers.google.com/assistant/smarthome/guides/waterheater

antonverburg commented 4 years ago

If the PID regulator based uppon this idea: https://github.com/home-assistant/architecture/issues/347 has been implemented (I'm currently working on that), you will automatically have a generic regulator, that also can be used as a regulator for a water heater. Wouldn't that be better? A generic regulator can be used for much more different purposes, and will require less effort in code maintenance.

dgomes commented 3 years ago

https://github.com/home-assistant/core/pull/44605

Sorry only realised this issue existed today

frenck commented 1 year ago

This architecture issue is old, stale, and possibly obsolete. Things changed a lot over the years. Additionally, we have been moving to discussions for these architectural discussions.

For that reason, I'm going to close this issue.

../Frenck