esphome / esphome/feature-requests

Bang Bang humidity controller - HA Climate supports it now, please can ESPHome

Open
#3,153 0 comments 3 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.