From ff5894fa68c712cf92cfa034b50864378914382b Mon Sep 17 00:00:00 2001 From: Andy Thomas Date: Tue, 9 Jan 2024 18:33:39 +0100 Subject: [PATCH 1/5] allow to define set points for embedded heater This allow to set the upper and lower set point for the embedded thermostat heater. The naming was taken from the HA generic thermostat, i.e. `cold_tolerance` and `hot_tolerance` --- nspanel_esphome_addon_climate_heat.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nspanel_esphome_addon_climate_heat.yaml b/nspanel_esphome_addon_climate_heat.yaml index 21001b7..f8fb830 100644 --- a/nspanel_esphome_addon_climate_heat.yaml +++ b/nspanel_esphome_addon_climate_heat.yaml @@ -10,6 +10,8 @@ substitutions: ### Local thermostat defaults ### temp_max: "25" + cold_tolerance: "0.5" + hot_tolerance: "0.5" ##### DO NOT CHANGE THIS ##### addon_climate_heat: "true" @@ -19,6 +21,8 @@ climate: - id: !extend thermostat_embedded min_heating_off_time: ${min_off_time}s min_heating_run_time: ${min_run_time}s + heat_deadband: ${cold_tolerance} + heat_overrun: ${hot_tolerance} heat_action: - switch.turn_on: relay_${heater_relay} preset: From 315d9820291502477cc149c17be734ddd2c01f3a Mon Sep 17 00:00:00 2001 From: Andy Thomas Date: Tue, 9 Jan 2024 18:37:17 +0100 Subject: [PATCH 2/5] Update documentation: set points embedded heater --- docs/addon_climate.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/addon_climate.md b/docs/addon_climate.md index 125de32..9d81b17 100644 --- a/docs/addon_climate.md +++ b/docs/addon_climate.md @@ -137,11 +137,14 @@ substitutions: # Add-on configuration (if needed) ## Add-on climate - heater_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 + heater_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 + cold_tolerance: "0.5" # lower set point + hot_tolerance: "0.5" # upper set point + # Customization area ##### My customization - Start ##### From 8c70f3b94d172b010f76292174c5274a462c5177 Mon Sep 17 00:00:00 2001 From: Andy Thomas Date: Tue, 9 Jan 2024 22:21:43 +0100 Subject: [PATCH 3/5] rename according to esphome convention --- docs/addon_climate.md | 4 ++-- nspanel_esphome_addon_climate_heat.yaml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/addon_climate.md b/docs/addon_climate.md index 9d81b17..5f669ee 100644 --- a/docs/addon_climate.md +++ b/docs/addon_climate.md @@ -142,8 +142,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 - cold_tolerance: "0.5" # lower set point - hot_tolerance: "0.5" # upper set point + heat_deadband: "0.5" # Temperature delta before engaging heat + heat_overrun: "0.5" # Temperature delta before disengaging heat # Customization area diff --git a/nspanel_esphome_addon_climate_heat.yaml b/nspanel_esphome_addon_climate_heat.yaml index f8fb830..355713f 100644 --- a/nspanel_esphome_addon_climate_heat.yaml +++ b/nspanel_esphome_addon_climate_heat.yaml @@ -10,8 +10,8 @@ substitutions: ### Local thermostat defaults ### temp_max: "25" - cold_tolerance: "0.5" - hot_tolerance: "0.5" + heat_deadband: "0.5" + heat_overrun: "0.5" ##### DO NOT CHANGE THIS ##### addon_climate_heat: "true" @@ -21,8 +21,8 @@ climate: - id: !extend thermostat_embedded min_heating_off_time: ${min_off_time}s min_heating_run_time: ${min_run_time}s - heat_deadband: ${cold_tolerance} - heat_overrun: ${hot_tolerance} + heat_deadband: ${heat_deadband} + heat_overrun: ${heat_overrun} heat_action: - switch.turn_on: relay_${heater_relay} preset: 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 4/5] 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: From e5fcd218e50af91b5fbe6096f7e2119caff3b536 Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:34:40 +0100 Subject: [PATCH 5/5] Update ReleaseNotes.md --- ReleaseNotes.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ReleaseNotes.md b/ReleaseNotes.md index fde313e..128b269 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -332,13 +332,13 @@ You also have to set **Display Brightness Sleep** at the device's page (**Settin Discover what's next and what we are working on right now in our [Milestones](https://github.com/Blackymas/NSPanel_HA_Blueprint/milestones?direction=asc&sort=due_date) ## Special thanks to - -- @bluefoxlee - For the CJK fonts and all the support with #1359. +- @bluefoxlee - For the CJK fonts and all the support with #1359 - @Floppe - Fix entity pages labels, #1455 - @tikismoke - Customization guide: Exposing relay fallback switch to Home Assistant, #1537 +- @andythomas - Allow to set upper and lower set points for embedded thermostat, #1573 +- And to all users who helped with the tests during development and beta. ## Previous releases - - [v4.1.4 - Support to Home Assistant 2023.12.0](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.1.4) - [v4.1.3 - Bug fixes](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.1.3) - [v4.1.2 - Bug fixes and minor enhancements](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.1.2)