esphome / esphome/feature-requests
Bang Bang humidity controller - HA Climate supports it now, please can ESPHome
- Dominant language
- No language data
- Stars
- 450
- Forks
- 29
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the problem you have/What new integration you would like**
The bang bang climate integration in ESPHome really needs to be generic in labels (measurement units etc) or control a humidifier like it does with temperature (optionally coolers and dehumidifiers). There was a request a few years ago, but this was closed because HA's Climate component did not support controlling humidity. I've only been playing with HA for a couple of weeks, so please bear that in mind when flaming, but according to the documentation, the Climate Entity has target_humidity (now?) https://developers.home-assistant.io/docs/core/entity/climate/
A generic bang bang controller seems the most robust option which defaults to the "Heating" behaviour. Since you can add conditions in the actions, you can trigger a cooler when the temp goes over a value, or humidity, above and below etc.
**Please describe your use case for this integration and alternatives you've tried:**
For the specific use case of a humidifier, You can have a temperature controller controlling a range of 1-99c with a min of 70c and max of 80c. Obviously less than ideal. While I haven't tried it, and the newness factory smell is still fresh, if a sensor is reporting 40.2% this does not work for centrigrade units of measure?
The only other option I can think of is generic actions that do what the bang bang is designed for:
* if sensor.humidity < 70 then switch.humidifer.turn_on
* if sensor.temperature > 40 then fan.cooler.turn_on
This is way more generic but a whole lot less visual. It doesn't allow for override, i.e., even though it's 29c, I still want the heater to stay on.
etc
**Additional context**
You can probably bundle the complexity of ranges and units with a mode option:
* Mode: Heat (as-is)
* Mode: Cool (units: c, on when > target_high, off when < target_low)
* Mode: Humidify (units: %, on when < target_high, off when > target_low)
* Mode: Dehumidify (units: %, on when > target_high, off when < target_low)
This then just needs a mode, upper/lower boundaries and deadzones, a sensor and an output - simples :)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.