From 5222b9eb3703c893ec1c39962b321d408cdaf73f Mon Sep 17 00:00:00 2001 From: Jan Grewe <jan@faked.org> Date: Fri, 2 May 2025 16:21:19 +0200 Subject: [PATCH] minor tweaks --- packages/esp32s3.yaml | 2 +- packages/light_settings.yaml | 8 ++--- packages/water_ec.yaml | 5 ++- packages/water_level.yaml | 4 +-- packages/water_ph.yaml | 61 ++++++++++++++++++++++-------------- 5 files changed, 46 insertions(+), 34 deletions(-) diff --git a/packages/esp32s3.yaml b/packages/esp32s3.yaml index 77e3a75..d1a67be 100644 --- a/packages/esp32s3.yaml +++ b/packages/esp32s3.yaml @@ -22,7 +22,7 @@ status_led: i2c: sda: 5 scl: 6 - frequency: 50kHz # required for MLX90614 + frequency: 100kHz # required for MLX90614 wifi: power_save_mode: none diff --git a/packages/light_settings.yaml b/packages/light_settings.yaml index 439b7dc..f788608 100644 --- a/packages/light_settings.yaml +++ b/packages/light_settings.yaml @@ -1,9 +1,9 @@ substitutions: # Schedules - schedule_grow_on: "0 0 3 * * *" - schedule_grow_off: "0 0 21 * * *" - schedule_bloom_on: "0 0 6 * * *" - schedule_bloom_off: "0 0 18 * * *" + schedule_grow_on: "0 0 23 * * *" + schedule_grow_off: "0 0 17 * * *" + schedule_bloom_on: "0 0 7 * * *" + schedule_bloom_off: "0 0 19 * * *" sensor: - platform: template diff --git a/packages/water_ec.yaml b/packages/water_ec.yaml index 8c41b8d..bbbf897 100644 --- a/packages/water_ec.yaml +++ b/packages/water_ec.yaml @@ -1,14 +1,13 @@ substitutions: - ec_k: '0.97090' # ec_ref & ec_res2: https://github.com/DFRobot/DFRobot_EC/blob/master/DFRobot_EC.cpp#L28 // https://www.dfrobot.com/forum/topic/28708 ec_ref: '200.0' ec_res2: '820.0' globals: - - id: ec_k # raw V value from probe using EC 1.1413 calibration solution. + - id: ec_k # raw V value from probe using EC 1.413 or 12.88 calibration solution. type: float restore_value: yes - initial_value: ${ec_k} + initial_value: '0.0' sensor: - platform: ads1115 diff --git a/packages/water_level.yaml b/packages/water_level.yaml index 001f7f4..d285733 100644 --- a/packages/water_level.yaml +++ b/packages/water_level.yaml @@ -1,6 +1,6 @@ substitutions: - waterlevel_current_empty_system: '3.75' # mA at 0mm - waterlevel_current_empty_tank: '3.11' # mA at 0mm + waterlevel_current_empty_system: '3.48' # mA at 0mm + waterlevel_current_empty_tank: '3.03' # mA at 0mm waterlevel_range: '1000' # mm waterlevel_density: '1' # water diff --git a/packages/water_ph.yaml b/packages/water_ph.yaml index b38ffba..587e4f3 100644 --- a/packages/water_ph.yaml +++ b/packages/water_ph.yaml @@ -1,22 +1,20 @@ -substitutions: - ph400_raw: '2.06785' - ph686_raw: '1.57897' - ph700_raw: '1.54883' - ph918_raw: '1.21447' - globals: - - id: ph400_raw # raw V value from probe using pH 4.0 calibration solution. + - id: ph400_voltage # raw V value from probe using pH 4.0 calibration solution. + type: float + restore_value: yes + initial_value: '0.0' + - id: ph700_voltage # raw V value from probe using pH 7.0 calibration solution. type: float restore_value: yes - initial_value: ${ph400_raw} - - id: ph700_raw # raw V value from probe using pH 7.0 calibration solution. + initial_value: '0.0' + - id: ph918_voltage # raw V value from probe using pH 9.18 calibration solution. type: float restore_value: yes - initial_value: ${ph700_raw} - - id: ph918_raw # raw V value from probe using pH 9.18 calibration solution. + initial_value: '0.0' + - id: ph1001_voltage # raw V value from probe using pH 9.18 calibration solution. type: float restore_value: yes - initial_value: ${ph918_raw} + initial_value: '0.0' sensor: - platform: ads1115 @@ -34,19 +32,25 @@ sensor: # unit_of_measurement: "V" # accuracy_decimals: 5 # update_interval: 5s - # lambda: !lambda return id(ph400_raw); + # lambda: !lambda return id(ph400_voltage); # - platform: template # name: "pH: 7.00 Calibration Value" # unit_of_measurement: "V" # accuracy_decimals: 5 # update_interval: 5s - # lambda: !lambda return id(ph700_raw); + # lambda: !lambda return id(ph700_voltage); # - platform: template # name: "pH: 9.18 Calibration Value" # unit_of_measurement: "V" # accuracy_decimals: 5 # update_interval: 5s - # lambda: !lambda return id(ph918_raw); + # lambda: !lambda return id(ph918_voltage); + # - platform: template + # name: "pH: 10.01 Calibration Value" + # unit_of_measurement: "V" + # accuracy_decimals: 5 + # update_interval: 5s + # lambda: !lambda return id(ph1001_voltage); - platform: template name: "pH" id: ph @@ -56,12 +60,15 @@ sensor: lambda: |- float slope; float intersect; - if (id(ph_slope_points).active_index() == 1) { - slope = (9.18 - 4.0) / ((id(ph918_raw)-1.5) / 3.0 - (id(ph400_raw)-1.5) / 3.0); - intersect = 9.18 - slope * (id(ph918_raw)-1.5) / 3.0; + if (id(ph_slope_points).active_index() == 2) { + slope = (10.01 - 4.0) / ((id(ph1001_voltage)-1.5) / 3.0 - (id(ph400_voltage)-1.5) / 3.0); + intersect = 10.01 - slope * (id(ph1001_voltage)-1.5) / 3.0; + } else if (id(ph_slope_points).active_index() == 1) { + slope = (9.18 - 4.0) / ((id(ph918_voltage)-1.5) / 3.0 - (id(ph400_voltage)-1.5) / 3.0); + intersect = 9.18 - slope * (id(ph918_voltage)-1.5) / 3.0; } else { - slope = (7.0 - 4.0) / ((id(ph700_raw)-1.5) / 3.0 - (id(ph400_raw)-1.5) / 3.0); - intersect = 7.0 - slope * (id(ph700_raw)-1.5) / 3.0; + slope = (7.0 - 4.0) / ((id(ph700_voltage)-1.5) / 3.0 - (id(ph400_voltage)-1.5) / 3.0); + intersect = 7.0 - slope * (id(ph700_voltage)-1.5) / 3.0; } return slope * (id(analog_ph).state-1.5) / 3.0 + intersect; @@ -69,7 +76,7 @@ select: - platform: template id: ph_slope_points name: "pH: Calibration Points" - options: ["4.00/7.00", "4.00/9.18"] + options: ["4.00/7.00", "4.00/9.18", "4.00/10.01"] initial_option: "4.00/9.18" optimistic: true restore_value: true @@ -79,17 +86,23 @@ button: name: "pH: Calibrate 4.00" on_press: - globals.set: - id: ph400_raw + id: ph400_voltage value: !lambda return id(analog_ph).state; - platform: template name: "pH: Calibrate 7.00" on_press: - globals.set: - id: ph700_raw + id: ph700_voltage value: !lambda return id(analog_ph).state; - platform: template name: "pH: Calibrate 9.18" on_press: - globals.set: - id: ph918_raw + id: ph918_voltage + value: !lambda return id(analog_ph).state; + - platform: template + name: "pH: Calibrate 10.01" + on_press: + - globals.set: + id: ph1001_voltage value: !lambda return id(analog_ph).state; -- GitLab