From abf90eec4af1b991b453da4976c2ae95cbe29574 Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:27:44 +0100 Subject: [PATCH] Expand this to climate cool & dual --- .../nspanel_esphome_addon_climate_base.yaml | 4 ++ docs/addon_climate.md | 38 ++++++++++++------- nspanel_esphome_addon_climate_cool.yaml | 2 + nspanel_esphome_addon_climate_dual.yaml | 4 ++ nspanel_esphome_addon_climate_heat.yaml | 6 +-- 5 files changed, 36 insertions(+), 18 deletions(-) diff --git a/advanced/esphome/nspanel_esphome_addon_climate_base.yaml b/advanced/esphome/nspanel_esphome_addon_climate_base.yaml index 539bb56..df03bf1 100644 --- a/advanced/esphome/nspanel_esphome_addon_climate_base.yaml +++ b/advanced/esphome/nspanel_esphome_addon_climate_base.yaml @@ -21,6 +21,10 @@ substitutions: temp_step: "0.5" target_low: "18" target_high: "24" + cool_deadband: "0.5" # Temperature delta before engaging cooling + cool_overrun: "0.5" # Temperature delta before disengaging cooling + heat_deadband: "0.5" # Temperature delta before engaging heat + heat_overrun: "0.5" # Temperature delta before disengaging heat ##### DO NOT CHANGE THIS ##### addon_climate_cool: "false" diff --git a/docs/addon_climate.md b/docs/addon_climate.md index 5f669ee..2ab3876 100644 --- a/docs/addon_climate.md +++ b/docs/addon_climate.md @@ -74,6 +74,11 @@ target_high|Optional|Number representing a temperature in the selected unit|`24` temp_min|Optional|Number representing a temperature in the selected unit|*cool: `15`*
*heat: `7`*
*dual: `7`* |The minimum temperature the climate device can reach. Used to set the range of the frontend gauge. temp_max|Optional|Number representing a temperature in the selected unit|*cool: `45`*
*heat: `35`*
*dual: `45`* |The maximum temperature the climate device can reach. Used to set the range of the frontend gauge. temp_step|Optional|Number representing a temperature in the selected unit|`0.5`|The granularity with which the target temperature can be controlled. +cool_deadband|Optional|Number representing a temperature hysteresis in the selected unit|`0.5`|The minimum temperature differential (temperature above the set point) before engaging cooling. +cool_overrun|Optional|Number representing a temperature hysteresis in the selected unit|`0.5`|The minimum temperature differential (cooling beyond the set point) before disengaging cooling. +heat_deadband|Optional|Number representing a temperature hysteresis in the selected unit|`0.5`|The minimum temperature differential (temperature below the set point) before engaging heat. +heat_overrun|Optional|Number representing a temperature hysteresis in the selected unit|`0.5`|The minimum temperature differential (heating beyond the set point) before disengaging heat. + - All values must be delimited with `""` @@ -95,11 +100,13 @@ substitutions: # Add-on configuration (if needed) ## Add-on climate - cooler_relay: "1" # Possible values: "1" or "2" - temp_units: "°F" # Temperatures in Fahrenheit - temp_min: "40" # Min supported temperature is 40°F - temp_max: "80" # Max supported temperature is 80°F - temp_step: "1" # Temperature granularity is 1°F + cooler_relay: "1" # Possible values: "1" or "2" + temp_units: "°F" # Temperatures in Fahrenheit + temp_min: "40" # Min supported temperature is 40°F + temp_max: "80" # Max supported temperature is 80°F + temp_step: "1" # Temperature granularity is 1°F + cool_deadband: "1.2" # Temperature delta before engaging cooling + cool_overrun: "1.2" # Temperature delta before disengaging cooling # Customization area ##### My customization - Start ##### @@ -142,9 +149,8 @@ substitutions: temp_min: "40" # Min supported temperature is 40°F temp_max: "80" # Max supported temperature is 80°F temp_step: "1" # Temperature granularity is 1°F - heat_deadband: "0.5" # Temperature delta before engaging heat - heat_overrun: "0.5" # Temperature delta before disengaging heat - + heat_deadband: "1.2" # Temperature delta before engaging heat + heat_overrun: "1.2" # Temperature delta before disengaging heat # Customization area ##### My customization - Start ##### @@ -182,12 +188,16 @@ substitutions: # Add-on configuration (if needed) ## Add-on climate - heater_relay: "1" # Possible values: "1" or "2" - cooler_relay: "2" # Possible values: "1" or "2" - temp_units: "°F" # Temperatures in Fahrenheit - temp_min: "40" # Min supported temperature is 40°F - temp_max: "80" # Max supported temperature is 80°F - temp_step: "1" # Temperature granularity is 1°F + heater_relay: "1" # Possible values: "1" or "2" + cooler_relay: "2" # Possible values: "1" or "2" + temp_units: "°F" # Temperatures in Fahrenheit + temp_min: "40" # Min supported temperature is 40°F + temp_max: "80" # Max supported temperature is 80°F + temp_step: "1" # Temperature granularity is 1°F + cool_deadband: "1.2" # Temperature delta before engaging cooling + cool_overrun: "1.2" # Temperature delta before disengaging cooling + heat_deadband: "1.2" # Temperature delta before engaging heat + heat_overrun: "1.2" # Temperature delta before disengaging heat # Customization area ##### My customization - Start ##### diff --git a/nspanel_esphome_addon_climate_cool.yaml b/nspanel_esphome_addon_climate_cool.yaml index 1dc71b4..a0c5471 100644 --- a/nspanel_esphome_addon_climate_cool.yaml +++ b/nspanel_esphome_addon_climate_cool.yaml @@ -19,6 +19,8 @@ climate: - id: !extend thermostat_embedded min_cooling_off_time: ${min_off_time}s min_cooling_run_time: ${min_run_time}s + cool_deadband: ${heat_deadband} ${temp_units} + cool_overrun: ${heat_overrun} ${temp_units} cool_action: - switch.turn_on: relay_${cooler_relay} preset: diff --git a/nspanel_esphome_addon_climate_dual.yaml b/nspanel_esphome_addon_climate_dual.yaml index ae43d2f..3aab707 100644 --- a/nspanel_esphome_addon_climate_dual.yaml +++ b/nspanel_esphome_addon_climate_dual.yaml @@ -18,6 +18,10 @@ climate: min_heating_off_time: ${min_off_time}s min_cooling_run_time: ${min_run_time}s min_heating_run_time: ${min_run_time}s + cool_deadband: ${heat_deadband} ${temp_units} + cool_overrun: ${heat_overrun} ${temp_units} + heat_deadband: ${heat_deadband} ${temp_units} + heat_overrun: ${heat_overrun} ${temp_units} cool_action: - switch.turn_on: relay_${cooler_relay} heat_action: diff --git a/nspanel_esphome_addon_climate_heat.yaml b/nspanel_esphome_addon_climate_heat.yaml index 355713f..a7d3abe 100644 --- a/nspanel_esphome_addon_climate_heat.yaml +++ b/nspanel_esphome_addon_climate_heat.yaml @@ -10,8 +10,6 @@ substitutions: ### Local thermostat defaults ### temp_max: "25" - heat_deadband: "0.5" - heat_overrun: "0.5" ##### DO NOT CHANGE THIS ##### addon_climate_heat: "true" @@ -21,8 +19,8 @@ climate: - id: !extend thermostat_embedded min_heating_off_time: ${min_off_time}s min_heating_run_time: ${min_run_time}s - heat_deadband: ${heat_deadband} - heat_overrun: ${heat_overrun} + heat_deadband: ${heat_deadband} ${temp_units} + heat_overrun: ${heat_overrun} ${temp_units} heat_action: - switch.turn_on: relay_${heater_relay} preset: