From c869c192459b3d9cb7bba95dc16c5d7b74a7e4a7 Mon Sep 17 00:00:00 2001 From: Xavier Berger Date: Fri, 29 Nov 2024 19:28:40 +0100 Subject: [PATCH 1/3] feat: Add temperature reading from home assistant and create safety_limit algorithm --- esp32-standalone.yaml | 4 + solar_router/engine.yaml | 4 +- solar_router/engine_common.yaml | 11 +- solar_router/engine_on_off.yaml | 4 +- solar_router/temperature_limiter_common.yaml | 113 ++++++++++++++++++ .../temperature_limiter_home_assistant.yaml | 18 +++ 6 files changed, 148 insertions(+), 6 deletions(-) create mode 100644 solar_router/temperature_limiter_common.yaml create mode 100644 solar_router/temperature_limiter_home_assistant.yaml diff --git a/esp32-standalone.yaml b/esp32-standalone.yaml index fe5caf4..b0dc94d 100644 --- a/esp32-standalone.yaml +++ b/esp32-standalone.yaml @@ -75,6 +75,8 @@ substitutions: green_led_pin: GPIO19 yellow_led_pin: GPIO18 + # Temperature sensor + temperature_sensor: "input_number.test_temperature" # Uncomment the following lines if you want to use the source from github # packages: @@ -104,4 +106,6 @@ packages: <<: !include solar_router/engine.yaml energy_counter: <<: !include solar_router/energy_counter_theorical.yaml + temperature_limiter: + <<: !include solar_router/temperature_limiter_home_assistant.yaml diff --git a/solar_router/engine.yaml b/solar_router/engine.yaml index eb33d80..0c8540f 100644 --- a/solar_router/engine.yaml +++ b/solar_router/engine.yaml @@ -104,8 +104,8 @@ script: # Define the opening level of regulator based on power measured and grid exchange target # The value of regulator is a precentage and is then limited to the range 0 100 - lambda: |- - if (isnan(id(real_power).state)){ - // If we can have information about grid exchange, do not divert any energy + if (isnan(id(real_power).state) or id(safety_limit)){ + // If we can have information about grid exchange or if safety_limit is active, do not divert any energy id(regulator_opening).publish_state(0); return; } diff --git a/solar_router/engine_common.yaml b/solar_router/engine_common.yaml index f22c6b4..b4138e8 100644 --- a/solar_router/engine_common.yaml +++ b/solar_router/engine_common.yaml @@ -1,8 +1,16 @@ # ---------------------------------------------------------------------------------------------------- -# Pooling data every seconds +# User interaction # ---------------------------------------------------------------------------------------------------- +globals: + # By default, if no temperature package is used, safety_limit is disabled + - id: safety_limit + type: bool + initial_value: "false" + + substitutions: + # By default led are pin control is not inverted green_led_inverted: "False" yellow_led_inverted: "False" @@ -47,7 +55,6 @@ time: # ---------------------------------------------------------------------------------------------------- # LED Management # ---------------------------------------------------------------------------------------------------- - output: - id: yellow_led_output platform: gpio diff --git a/solar_router/engine_on_off.yaml b/solar_router/engine_on_off.yaml index 4057615..fc6e5e0 100644 --- a/solar_router/engine_on_off.yaml +++ b/solar_router/engine_on_off.yaml @@ -148,8 +148,8 @@ script: then: # Energy export is negative - lambda: |- - if (isnan(id(real_power).state)){ - // If we can have information about grid exchange, do not divert any energy + if (isnan(id(real_power).state) or id(safety_limit)){ + // If we can have information about grid exchange or if safety_limit is active, do not divert any energy id(energy_divertion).turn_off(); return; } diff --git a/solar_router/temperature_limiter_common.yaml b/solar_router/temperature_limiter_common.yaml new file mode 100644 index 0000000..69fe19a --- /dev/null +++ b/solar_router/temperature_limiter_common.yaml @@ -0,0 +1,113 @@ +# If temperature is higher than stop_temperature, +# then safety_limit is set to True +# It safety_limit is True and temperature is smaller the restart_temperature, +# then safety_limit is set to False +# ... or the opposit if you want to use it for a cooling system +esphome: + on_boot: + priority: -1000.0 + then: + - script.execute: safety_limit_check + +globals: + - id: used_for_cooling + type: bool + initial_value: "false" + +number: + - platform: template + id: stop_temperature + name: "Stop temperature" + max_value: 99999 + initial_value: 50 + min_value: -273 + step: 1 + optimistic: True + mode: box + unit_of_measurement: "°C" + restore_value: true + + - platform: template + id: restart_temperature + name: "Restart temperature" + max_value: 99999 + initial_value: 40 + min_value: -273 + step: 1 + optimistic: True + mode: box + unit_of_measurement: "°C" + restore_value: true + +# Safety limit binary sensor representing safety_limit from engine +binary_sensor: + - platform: template + name: "Safety limit reached" + lambda: |- + return id(safety_limit); + +switch: + - platform: template + name: "Used for cooling" + optimistic: True + on_turn_on: + then: + lambda: |- + id(used_for_cooling) = true; + on_turn_off: + then: + lambda: |- + id(used_for_cooling) = false; + +script: + - id: safety_limit_check + mode: single + then: + - lambda: |- + if ( isnan( id(safety_temperature).state ) ){ + // Can't read temperature. Activatinf safety limit. + id(safety_limit) = true; + return; + } + if(id(safety_limit)) + { + if (id(used_for_cooling)) + { + // Temperature is increasing until we can restart the cooling system + if (id(safety_temperature).state >= id(restart_temperature).state) + { + // Limit is no more reached, regulation can restart + id(safety_limit) = false; + } + } + else + { + // Temperature is decreasing until we can restart the heating system + if (id(safety_temperature).state <= id(restart_temperature).state) + { + // Limit is no more reached, regulation can restart + id(safety_limit) = false; + } + } + } + else + { + if (id(used_for_cooling)) + { + // Temperature has enough decreased we stop the cooling system + if (id(safety_temperature).state <= id(stop_temperature).state) + { + // Limit is no more reached, regulation can restart + id(safety_limit) = true; + } + } + else + { + // Temperature has enough increased we stop the heating system + if (id(safety_temperature).state >= id(stop_temperature).state) + { + // Limit is no more reached, regulation can restart + id(safety_limit) = true; + } + } + } diff --git a/solar_router/temperature_limiter_home_assistant.yaml b/solar_router/temperature_limiter_home_assistant.yaml new file mode 100644 index 0000000..e322044 --- /dev/null +++ b/solar_router/temperature_limiter_home_assistant.yaml @@ -0,0 +1,18 @@ +# ---------------------------------------------------------------------------------------------------- +# Define sensor for temperaturewer collection +# ---------------------------------------------------------------------------------------------------- + +<<: !include temperature_limiter_common.yaml + +sensor: + # Sensor showing the temprature to monitor + - platform: homeassistant + id: safety_temperature + entity_id: ${temperature_sensor} + internal: False + name: safety_temperature + device_class: "temperature" + unit_of_measurement: "°C" + on_value: + - script.execute: + id: safety_limit_check From 4864b58e3b96c7d27952d32410e460602589554b Mon Sep 17 00:00:00 2001 From: Xavier Berger Date: Fri, 29 Nov 2024 19:28:40 +0100 Subject: [PATCH 2/3] feat: Add DS18B20 temperature sensor --- esp32-standalone_DS18B20.yaml | 112 ++++++++++++++++++ solar_router/temperature_limiter_DS18B20.yaml | 21 ++++ 2 files changed, 133 insertions(+) create mode 100644 esp32-standalone_DS18B20.yaml create mode 100644 solar_router/temperature_limiter_DS18B20.yaml diff --git a/esp32-standalone_DS18B20.yaml b/esp32-standalone_DS18B20.yaml new file mode 100644 index 0000000..90eef48 --- /dev/null +++ b/esp32-standalone_DS18B20.yaml @@ -0,0 +1,112 @@ +# ---------------------------------------------------------------------------------------------------- +# ESPHome configuration - This part depends on your hardware target +# ---------------------------------------------------------------------------------------------------- + +esphome: + name: solarrouter + friendly_name: SolarRouter + +esp32: + board: esp32dev + framework: + type: arduino + +# Enable logging +logger: + baud_rate: 115200 + level: INFO + logs: + component: ERROR + light: ERROR + +# Enable Home Assistant API +api: + encryption: + key: !secret api_encryption_key + + +# Enable over-the-air updates +ota: + - platform: esphome + password: !secret solar_router_ota_password + +# Enable improv serial +improv_serial: + +# WiFi connection +wifi: + ssid: !secret wifi_ssid + password: !secret wifi_password + # If you have a WiFi activity plannification, you may have to update the reboot timeout (Default: 15min) + reboot_timeout: 24h + +# Activate web interface +web_server: + port: 80 + +# Define watchdog time (it should be greater than timeout) +http_request: + watchdog_timeout: 12s + +# ---------------------------------------------------------------------------------------------------- +# Customisation +# ---------------------------------------------------------------------------------------------------- + +# This part of the script is designed to be use for customisation. It shouldn't be necessary to +# edit other part of the script to perform configuration. + +substitutions: + # Power meter source ----------------------------------------------------------- + # Define ip address of Power Meter (Fronius Inverter) + power_meter_ip_address: "192.168.1.21" + + + # Regulator -------------------------------------------------------------------- + regulator: "ac_dimmer" + + # Regulator configuration + # Define GPIO pin connected to AC Dimmer for gate and zero crossing detection. + regulator_gate_pin: GPIO22 + regulator_zero_crossing_pin: GPIO23 + + # LEDs ------------------------------------------------------------------------- + # Green LED is reflecting regulation status + # Yellow LED is reflecting power meter status + green_led_pin: GPIO19 + yellow_led_pin: GPIO18 + + # Temperature sensor + DS18B20_pin: GPIO13 + temperature_update_interval: 1s + +# Uncomment the following lines if you want to use the source from github +# packages: +# power_meter: +# url: https://github.com/XavierBerger/Solar-Router-for-ESPHome/ +# file: solar_router/power_meter_fronius.yaml +# refresh: 5s +# regulator: +# url: https://github.com/XavierBerger/Solar-Router-for-ESPHome/ +# file: solar_router/regulator_triac.yaml +# # file: solar_router/regulator_relay.yaml +# refresh: 5s +# solar_router: +# url: https://github.com/XavierBerger/Solar-Router-for-ESPHome/ +# file: solar_router/engine.yaml +# refresh: 5s + +# And Comment the following lines if you want to use the source from github +packages: + common: + <<: !include solar_router/common.yaml + power_meter: + <<: !include solar_router/power_meter_fronius.yaml + regulator: + <<: !include solar_router/regulator_triac.yaml + solar_router: + <<: !include solar_router/engine.yaml + energy_counter: + <<: !include solar_router/energy_counter_theorical.yaml + temperature_limmiter: + <<: !include solar_router/temperature_limiter_DS18B20.yaml + diff --git a/solar_router/temperature_limiter_DS18B20.yaml b/solar_router/temperature_limiter_DS18B20.yaml new file mode 100644 index 0000000..347f3be --- /dev/null +++ b/solar_router/temperature_limiter_DS18B20.yaml @@ -0,0 +1,21 @@ +<<: !include temperature_limiter_common.yaml + +substitutions: + DS18B20_address: "0" + temperature_update_interval: 5s + +one_wire: + - platform: gpio + pin: ${DS18B20_pin} + id: dallas_d7 + +sensor: + - platform: dallas_temp + id: safety_temperature + address: ${DS18B20_address} + one_wire_id: dallas_d7 + name: safety_temperature + update_interval: ${temperature_update_interval} + on_value: + - script.execute: + id: safety_limit_check \ No newline at end of file From 3d44f82a39da38ffc7b9f3ba4b9dd42523f4acaf Mon Sep 17 00:00:00 2001 From: Xavier Berger Date: Fri, 29 Nov 2024 19:28:40 +0100 Subject: [PATCH 3/3] doc: Add documentation for temperature limiters --- docs/firmware.md | 3 +- docs/images/DS18B20_wiring.png | Bin 0 -> 20003 bytes docs/images/hysteresis.png | Bin 0 -> 4154 bytes docs/images/packages.drawio.png | Bin 61700 -> 88502 bytes docs/images/schmitt_trigger.png | Bin 0 -> 14719 bytes docs/images/temperature_limiter_controls.png | Bin 0 -> 34599 bytes docs/images/temperature_limiter_sensor.png | Bin 0 -> 20008 bytes docs/power_meter_home_assistant.md | 2 +- docs/power_meter_proxy_client.md | 2 +- docs/solar_router.md | 2 +- docs/temperature_limiter.md | 54 +++++++++++++++++++ docs/temperature_limiter_DS18B20.md | 30 +++++++++++ docs/temperature_limiter_home_assistant.md | 26 +++++++++ mkdocs.yml | 6 ++- 14 files changed, 120 insertions(+), 5 deletions(-) create mode 100644 docs/images/DS18B20_wiring.png create mode 100644 docs/images/hysteresis.png create mode 100644 docs/images/schmitt_trigger.png create mode 100644 docs/images/temperature_limiter_controls.png create mode 100644 docs/images/temperature_limiter_sensor.png create mode 100644 docs/temperature_limiter.md create mode 100644 docs/temperature_limiter_DS18B20.md create mode 100644 docs/temperature_limiter_home_assistant.md diff --git a/docs/firmware.md b/docs/firmware.md index b8bbf41..45bc99a 100644 --- a/docs/firmware.md +++ b/docs/firmware.md @@ -10,10 +10,11 @@ Packages are : * **Engine** : design to determine how much of energy and when surplus of energy should be diverted to the load. * **Regulator** : design to channel the surplus of energy to a designated load. * **Energy counter** : design to report the amount of energy diverted to the load. +* **Temperature limiter**: design to stop the system when a temperature limit is reached ## Packages -Packages can be combined to create a variaty of solar router as in following examples. +Packages can be combined to create a variety of solar router as in following examples. ### Standalone configuration diff --git a/docs/images/DS18B20_wiring.png b/docs/images/DS18B20_wiring.png new file mode 100644 index 0000000000000000000000000000000000000000..ca8adf584165508a1773149c326b9110d8008d1b GIT binary patch literal 20003 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 Ggnt1wd`Q*+ literal 0 HcmV?d00001 diff --git a/docs/images/hysteresis.png b/docs/images/hysteresis.png new file mode 100644 index 0000000000000000000000000000000000000000..7b45d0704481064d3191ab301419144884d569d8 GIT binary patch literal 4154 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 Hb|U-_^zW7F literal 0 HcmV?d00001 diff --git a/docs/images/packages.drawio.png b/docs/images/packages.drawio.png index 2fe74467f26c2f2af51e69e02e6860381f565164..31ec11abd7538b65df95b09db508bdf67e3332bd 100644 GIT binary patch literal 88502 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 z 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 awLl;H9dlrBEr44E-O3=k-Sb literal 61700 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 diff --git a/docs/images/schmitt_trigger.png b/docs/images/schmitt_trigger.png new file mode 100644 index 0000000000000000000000000000000000000000..52a987d1d4df6d186279995efa32971a28875c69 GIT binary patch literal 14719 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 H7zX_p#ny!) literal 0 HcmV?d00001 diff --git a/docs/images/temperature_limiter_controls.png b/docs/images/temperature_limiter_controls.png new file mode 100644 index 0000000000000000000000000000000000000000..8df9a5306d121166376e303fd4ea4060da68e42e GIT binary patch literal 34599 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 X39KrxkL<$3Zt2d-D4xocHuU@tebu0+ literal 0 HcmV?d00001 diff --git a/docs/images/temperature_limiter_sensor.png b/docs/images/temperature_limiter_sensor.png new file mode 100644 index 0000000000000000000000000000000000000000..c25b828118c50fa3981b61c9d82360046a6231e1 GIT binary patch literal 20008 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 r0|OBRk1dIl{7+vl9)G)ijOEmNLN&Xe!5?0LM# + + + + + + + + + + +![HA](images/temperature_limiter_sensor.png){ align=left } +!!! note "" + **Sensors** + + * ***Safety limit*** + This binary sensor shows if safety limit is activated or not. + * ***safety temperature*** + This sensors show the actual temperature which is compared with thresholds. +
 
+
+
+
+
+
diff --git a/docs/temperature_limiter_DS18B20.md b/docs/temperature_limiter_DS18B20.md new file mode 100644 index 0000000..ed82cd4 --- /dev/null +++ b/docs/temperature_limiter_DS18B20.md @@ -0,0 +1,30 @@ +# Temperature limiter DS 18B20 + +This package is designed to monitor a temperature coming from a DS18B20 sensor connected on ESP32 and determines if a temperature threshold as been reached or not. + +!!! danger "WARNING: Conduct some tests before letting the system regulate alone" + This temperature limit monitoring and safety limit may have some bug. It is strongly advised to validate the behaviour of your system carefully before letting the system working by its own. + +The following schematic is representing the wiring of the temperature sensor: + +![DS18B20](images/DS18B20_wiring.png){width=400} + +To use this package, add the following lines to your configuration file: + +```yaml linenums="1" +packages: + temperature_limiter: + url: http://github.com/XavierBerger/ESPHome-Solar-Router/ + file: solar_router/temperature_limiter_DS18B20.yaml +``` + +This package needs to know the GPIO used by the temperature to get the temperature. This GPIO has to be defined by `DS18B20_pin` into `subtsitutions` section of your configuration as in example ballow: + +```yaml linenums="1" +substitutions: + # Power meter source ----------------------------------------------------------- + # Sensor in home assistant gathering the hot water temperature + DS18B20_pin: GPIO13 +``` + +Additionnal optional parameters can be set into `substitutions` section such as `DS18B20_address` (which is optional) and `temperature_update_interval` (which is set by default to `5s`). \ No newline at end of file diff --git a/docs/temperature_limiter_home_assistant.md b/docs/temperature_limiter_home_assistant.md new file mode 100644 index 0000000..9f0be48 --- /dev/null +++ b/docs/temperature_limiter_home_assistant.md @@ -0,0 +1,26 @@ +# Temperature limiter Home Assistant + +This package is designed to monitor a temperature coming from a sensor in Home Assistant and determines if a temperature threshold as been reached or not. + +!!! danger "WARNING: Conduct some tests before letting the system regulate alone" + This temperature limit monitoring and safety limit may have some bug. It is strongly advised to validate the behaviour of your system carefully before letting the system working by its own. + +To use this package, add the following lines to your configuration file: + +```yaml linenums="1" +packages: + temperature_limiter: + url: http://github.com/XavierBerger/ESPHome-Solar-Router/ + file: solar_router/temperature_limiter_home_assistant.yaml +``` + +This package needs to know the sensor to use to get the temperature to monitor. This sensor has to be defined by `temperature_sensor` into `subtsitutions` section of your configuration as in example ballow: + +```yaml linenums="1" +substitutions: + # Power meter source ----------------------------------------------------------- + # Sensor in home assistant gathering the hot water temperature + temperature_sensor: sensor.hot_water_temperature +``` +!!! warning "Data availability and refresh rate" + This temperature limiter rely on Home Assistant to gather the temperature. It also depends on the rate of sensor update. If a sensor is updated too slowly, the regulation may not work as expected. diff --git a/mkdocs.yml b/mkdocs.yml index cfd1b74..096e882 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,7 +6,7 @@ edit_uri: "" nav: - Home: index.md - Disclamer: disclamer.md - - Solar Router: solar_router.md + - Solar Router / Diverter: solar_router.md - Hardware: hardware.md - Firmware: - Overview: firmware.md @@ -29,6 +29,10 @@ nav: - ON/OFF regulation: engine_on_off.md - Energy Counter: - Theorical: energy_counter_theorical.md + - Temperature limiter: + - Overview: temperature_limiter.md + - Home Assistant: temperature_limiter_home_assistant.md + - DS18B20: temperature_limiter_DS18B20.md - HA configuration: ha_configuration.md - Contributing: contributing.md - ChangeLog: changelog.md