From 6d4fb074376cfecc807ab1a6d587a6b647e4d6be Mon Sep 17 00:00:00 2001 From: Jan Grewe <jan@faked.org> Date: Mon, 8 Apr 2024 10:52:07 +0200 Subject: [PATCH] add humidifier min/max thresholds --- packages/humidifier_scripts.yaml | 4 ++-- packages/humidifier_settings.yaml | 25 +++++++++++++++++++++++++ propbox.yaml | 27 ++++++++++++++------------- 3 files changed, 41 insertions(+), 15 deletions(-) create mode 100644 packages/humidifier_settings.yaml diff --git a/packages/humidifier_scripts.yaml b/packages/humidifier_scripts.yaml index 4c60e35..6228468 100644 --- a/packages/humidifier_scripts.yaml +++ b/packages/humidifier_scripts.yaml @@ -4,14 +4,14 @@ script: - lambda: |- if ( !id(humidifier).state && - id(bme280_humidity).state < atoi(id(humidity_min).state.c_str()) + atoi(id(humidity_hysteresis).state.c_str()) + id(bme280_humidity).state < atoi(id(humidifier_min).state.c_str()) ) { ESP_LOGI("humidifier", "Humidity Low, enabling Humidifier"); id(humidifier).turn_on(); } else if ( id(humidifier).state && - id(bme280_humidity).state >= atoi(id(humidity_max).state.c_str()) - atoi(id(humidity_hysteresis).state.c_str()) + id(bme280_humidity).state >= atoi(id(humidifier_max).state.c_str()) ) { ESP_LOGI("humidifier", "Humidity High, disabling Humidifier"); id(humidifier).turn_off(); diff --git a/packages/humidifier_settings.yaml b/packages/humidifier_settings.yaml new file mode 100644 index 0000000..93c4363 --- /dev/null +++ b/packages/humidifier_settings.yaml @@ -0,0 +1,25 @@ +sensor: + - platform: template + name: "humidifier_max" + lambda: return atoi(id(humidifier_max).state.c_str()); + internal: true + - platform: template + name: "humidifier_min" + lambda: return atoi(id(humidifier_min).state.c_str()); + internal: true + +select: + - platform: template + id: humidifier_max + name: "Humidifier: Humidity Off" + options: ["40", "45", "50", "55", "60", "65", "70", "75", "80", "85"] + initial_option: "75" + optimistic: true + restore_value: true + - platform: template + id: humidifier_min + name: "Humidifier: Humidity On" + options: ["30", "35", "40", "45", "50", "55", "60", "65", "70", "75", "80"] + initial_option: "60" + optimistic: true + restore_value: true diff --git a/propbox.yaml b/propbox.yaml index 4258e32..ffd9b47 100644 --- a/propbox.yaml +++ b/propbox.yaml @@ -11,16 +11,17 @@ substitutions: humidifier_script: "humidifier_control" packages: - base: !include packages/base.yaml - esp32: !include packages/esp32.yaml - time: !include packages/time_schedule.yaml - air_bme280: !include packages/air_bme280.yaml - water_ds18b20: !include packages/water_ds18b20.yaml - yyac32: !include packages/yyac3s.yaml - fan_settings: !include packages/fan_settings.yaml - fan_power: !include packages/fan_power.yaml - fan_scripts: !include packages/fan_scripts.yaml - light_power: !include packages/light_power.yaml - light_settings: !include packages/light_settings.yaml - humidifier: !include packages/humidifier.yaml - humidifier_scripts: !include packages/humidifier_scripts.yaml + base: !include packages/base.yaml + esp32: !include packages/esp32.yaml + time: !include packages/time_schedule.yaml + air_bme280: !include packages/air_bme280.yaml + water_ds18b20: !include packages/water_ds18b20.yaml + yyac32: !include packages/yyac3s.yaml + fan_settings: !include packages/fan_settings.yaml + fan_power: !include packages/fan_power.yaml + fan_scripts: !include packages/fan_scripts.yaml + light_power: !include packages/light_power.yaml + light_settings: !include packages/light_settings.yaml + humidifier: !include packages/humidifier.yaml + humidifier_scripts: !include packages/humidifier_scripts.yaml + humidifier_settings: !include packages/humidifier_settings.yaml -- GitLab