From 37d05dd5bf877a4629f4c5a440c58c5b5018834f Mon Sep 17 00:00:00 2001 From: Jan Grewe <jan@faked.org> Date: Mon, 20 Nov 2023 19:13:48 +0100 Subject: [PATCH] add water level sensors (TL-136), rename packages --- growbox.yaml | 23 +++--- packages/{bme280.yaml => air_bme280.yaml} | 0 packages/{scd40.yaml => air_scd40.yaml} | 16 ++-- packages/{gp8403.yaml => control_gp8403.yaml} | 0 .../{pca9685.yaml => dosing_pca9685.yaml} | 0 packages/esp32s3.yaml | 2 +- packages/level.yaml | 80 +++++++++++++++++++ packages/secrets.yaml.dist | 1 + packages/vpd.yaml | 2 +- packages/{mlx90614.yaml => vpd_mlx90614.yaml} | 5 +- packages/{ads1115.yaml => water_ads1115.yaml} | 1 + packages/{ds18b20.yaml => water_ds18b20.yaml} | 0 packages/{ec.yaml => water_ec.yaml} | 4 +- packages/{ph.yaml => water_ph.yaml} | 4 +- packages/{sts35.yaml => water_sts35.yaml} | 0 propbox.yaml | 6 +- 16 files changed, 117 insertions(+), 27 deletions(-) rename packages/{bme280.yaml => air_bme280.yaml} (100%) rename packages/{scd40.yaml => air_scd40.yaml} (76%) rename packages/{gp8403.yaml => control_gp8403.yaml} (100%) rename packages/{pca9685.yaml => dosing_pca9685.yaml} (100%) create mode 100644 packages/level.yaml rename packages/{mlx90614.yaml => vpd_mlx90614.yaml} (93%) rename packages/{ads1115.yaml => water_ads1115.yaml} (56%) rename packages/{ds18b20.yaml => water_ds18b20.yaml} (100%) rename packages/{ec.yaml => water_ec.yaml} (96%) rename packages/{ph.yaml => water_ph.yaml} (97%) rename packages/{sts35.yaml => water_sts35.yaml} (100%) diff --git a/growbox.yaml b/growbox.yaml index f239ddd..7486e0e 100644 --- a/growbox.yaml +++ b/growbox.yaml @@ -1,6 +1,6 @@ substitutions: devicename: "growbox" - comment: "Grow Tent Controller" + comment: "Grow Box Controller" # Growbox Nodes hostname_light: "${devicename}-light.${domain}" @@ -13,19 +13,20 @@ packages: base: !include packages/base.yaml esp32: !include packages/esp32s3.yaml time: !include packages/time_schedule.yaml - bme280: !include packages/bme280.yaml - scd40: !include packages/scd40.yaml - mlx90614: !include packages/mlx90614.yaml - gp8403: !include packages/gp8403.yaml - vpd: !include packages/vpd.yaml + air_bme280: !include packages/air_bme280.yaml + air_scd40: !include packages/air_scd40.yaml + control_gp8403: !include packages/control_gp8403.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 - ads1115: !include packages/ads1115.yaml - ec: !include packages/ec.yaml - ph: !include packages/ph.yaml - sts35: !include packages/sts35.yaml - pca9685: !include packages/pca9685.yaml + vpd: !include packages/vpd.yaml + vpd_mlx90614: !include packages/vpd_mlx90614.yaml + water_ads1115: !include packages/water_ads1115.yaml + water_ec: !include packages/water_ec.yaml + water_ph: !include packages/water_ph.yaml + water_sts35: !include packages/water_sts35.yaml dosing: !include packages/dosing.yaml + dosing_pca9685: !include packages/dosing_pca9685.yaml + level: !include packages/level.yaml diff --git a/packages/bme280.yaml b/packages/air_bme280.yaml similarity index 100% rename from packages/bme280.yaml rename to packages/air_bme280.yaml diff --git a/packages/scd40.yaml b/packages/air_scd40.yaml similarity index 76% rename from packages/scd40.yaml rename to packages/air_scd40.yaml index 35f3f31..0bb05e4 100644 --- a/packages/scd40.yaml +++ b/packages/air_scd40.yaml @@ -10,11 +10,13 @@ sensor: <<: !include filter.yaml temperature: id: scd40_temperature - name: "CO2: Temperature" + internal: true + #name: "CO2: Temperature" <<: !include filter.yaml humidity: id: scd40_humidity - name: "CO2: Humidity" + internal: true + #name: "CO2: Humidity" <<: !include filter.yaml prometheus: @@ -34,8 +36,8 @@ button: - scd4x.perform_forced_calibration: value: 419 # outside average April 2022 id: scd40 - - platform: template - name: "CO2: Factory Reset" - on_press: - then: - - scd4x.factory_reset: scd40 + # - platform: template + # name: "CO2: Factory Reset" + # on_press: + # then: + # - scd4x.factory_reset: scd40 diff --git a/packages/gp8403.yaml b/packages/control_gp8403.yaml similarity index 100% rename from packages/gp8403.yaml rename to packages/control_gp8403.yaml diff --git a/packages/pca9685.yaml b/packages/dosing_pca9685.yaml similarity index 100% rename from packages/pca9685.yaml rename to packages/dosing_pca9685.yaml diff --git a/packages/esp32s3.yaml b/packages/esp32s3.yaml index 4923f99..fc5185e 100644 --- a/packages/esp32s3.yaml +++ b/packages/esp32s3.yaml @@ -22,7 +22,7 @@ status_led: i2c: sda: 5 scl: 6 - frequency: 10khz + frequency: 50khz wifi: power_save_mode: none diff --git a/packages/level.yaml b/packages/level.yaml new file mode 100644 index 0000000..6f2fe87 --- /dev/null +++ b/packages/level.yaml @@ -0,0 +1,80 @@ +substitutions: + waterlevel_current_init: '4.06' # mA at 0mm + waterlevel_range: '1000' # mm + waterlevel_density: '1' # water + +globals: + - id: waterlevel_current_init + type: float + restore_value: yes + initial_value: ${waterlevel_current_init} + - id: waterlevel_range + type: float + restore_value: yes + initial_value: ${waterlevel_range} + - id: waterlevel_density + type: float + restore_value: yes + initial_value: ${waterlevel_density} + +ads1115: + - address: 0x49 + id: ads1115_waterlevel + +sensor: + - platform: ads1115 + ads1115_id: ads1115_waterlevel + id: waterlevel_tank_voltage + internal: true + #name: "Waterlevel Tank: Voltage" + multiplexer: 'A0_GND' + gain: 4.096 # max: 3.0V + update_interval: 5s + accuracy_decimals: 5 + <<: !include filter.yaml + - platform: ads1115 + ads1115_id: ads1115_waterlevel + id: waterlevel_system_voltage + internal: true + #name: "Waterlevel System: Voltage" + multiplexer: 'A1_GND' + gain: 4.096 # max: 3.0V + update_interval: 5s + accuracy_decimals: 5 + <<: !include filter.yaml + + # - platform: template + # name: "Waterlevel System: Current" + # id: waterlevel_tank_current + # unit_of_measurement: "mA" + # accuracy_decimals: 2 + # update_interval: 5s + # lambda: !lambda 'return id(waterlevel_tank_voltage).state * 1024.0 / 120.0;' # V->mV, Sense Resistor: 120ohm' + # - platform: template + # name: "Waterlevel Tank: Current" + # id: waterlevel_system_current + # unit_of_measurement: "mA" + # accuracy_decimals: 2 + # update_interval: 5s + # lambda: !lambda 'return id(waterlevel_system_voltage).state * 1024.0 / 120.0;' # V->mV, Sense Resistor: 120ohm + + - platform: template + name: "Waterlevel: Tank" + id: waterlevel_tank + unit_of_measurement: "cm" + accuracy_decimals: 2 + update_interval: 5s + lambda: |- + float dataCurrent = id(waterlevel_tank_voltage).state * 1024.0 / 120.0; // Sense Resistor: 120ohm + float depth = (dataCurrent - id(waterlevel_current_init)) * (id(waterlevel_range) / id(waterlevel_density) / 16.0) / 10; + return depth; + - platform: template + name: "Waterlevel: System" + id: waterlevel_system + unit_of_measurement: "cm" + accuracy_decimals: 2 + update_interval: 5s + lambda: |- + float dataCurrent = id(waterlevel_system_voltage).state * 1024.0 / 120.0; // Sense Resistor: 120ohm + float depth = (dataCurrent - id(waterlevel_current_init)) * (id(waterlevel_range) / id(waterlevel_density) / 16.0) / 10; + return depth; diff --git a/packages/secrets.yaml.dist b/packages/secrets.yaml.dist index d2dd5b8..be65f1d 100644 --- a/packages/secrets.yaml.dist +++ b/packages/secrets.yaml.dist @@ -8,3 +8,4 @@ pump1_ml_sec: "2.15" # millilitre per second pump1_dose_ml: "2" # millilitre per dose pump2_ml_sec: "2.15" # millilitre per second pump2_dose_ml: "5" # millilitre per dose +tcs34725_gaf: "1.0" diff --git a/packages/vpd.yaml b/packages/vpd.yaml index 597d6c4..b5eaf69 100644 --- a/packages/vpd.yaml +++ b/packages/vpd.yaml @@ -1,7 +1,7 @@ sensor: - platform: template id: vpd - name: "Vapor Pressure Deficit" + name: "VPD" update_interval: 5s accuracy_decimals: 2 unit_of_measurement: 'kPa' diff --git a/packages/mlx90614.yaml b/packages/vpd_mlx90614.yaml similarity index 93% rename from packages/mlx90614.yaml rename to packages/vpd_mlx90614.yaml index 63513d8..4705ad7 100644 --- a/packages/mlx90614.yaml +++ b/packages/vpd_mlx90614.yaml @@ -3,7 +3,8 @@ sensor: update_interval: 5s ambient: id: mlx90614_temperature_ambient - name: "IR: Ambient Temperature" + internal: true + #name: "IR: Ambient Temperature" unit_of_measurement: °C accuracy_decimals: 2 <<: !include filter.yaml @@ -20,7 +21,7 @@ sensor: - button.press: device_reset object: id: mlx90614_temperature_object - name: "IR: Object Temperature" + name: "VPD: Leaf Temperature" unit_of_measurement: °C accuracy_decimals: 2 emissivity: 0.98 diff --git a/packages/ads1115.yaml b/packages/water_ads1115.yaml similarity index 56% rename from packages/ads1115.yaml rename to packages/water_ads1115.yaml index 7f6ac90..00ffeef 100644 --- a/packages/ads1115.yaml +++ b/packages/water_ads1115.yaml @@ -1,2 +1,3 @@ ads1115: - address: 0x48 + id: ads1115_phec diff --git a/packages/ds18b20.yaml b/packages/water_ds18b20.yaml similarity index 100% rename from packages/ds18b20.yaml rename to packages/water_ds18b20.yaml diff --git a/packages/ec.yaml b/packages/water_ec.yaml similarity index 96% rename from packages/ec.yaml rename to packages/water_ec.yaml index c5b740e..0afe6a2 100644 --- a/packages/ec.yaml +++ b/packages/water_ec.yaml @@ -12,8 +12,10 @@ globals: sensor: - platform: ads1115 + ads1115_id: ads1115_phec id: analog_ec - name: "EC: Analog Voltage" + internal: true + #name: "EC: Analog Voltage" multiplexer: 'A1_GND' gain: 4.096 # max: 3.4V update_interval: 5s diff --git a/packages/ph.yaml b/packages/water_ph.yaml similarity index 97% rename from packages/ph.yaml rename to packages/water_ph.yaml index 84a982d..c774d1d 100644 --- a/packages/ph.yaml +++ b/packages/water_ph.yaml @@ -24,8 +24,10 @@ globals: sensor: - platform: ads1115 + ads1115_id: ads1115_phec id: analog_ph - name: "pH: Analog Voltage" + internal: true + #name: "pH: Analog Voltage" multiplexer: 'A0_GND' gain: 4.096 # max: 3.0V update_interval: 5s diff --git a/packages/sts35.yaml b/packages/water_sts35.yaml similarity index 100% rename from packages/sts35.yaml rename to packages/water_sts35.yaml diff --git a/propbox.yaml b/propbox.yaml index 23da35a..3aa040e 100644 --- a/propbox.yaml +++ b/propbox.yaml @@ -1,6 +1,6 @@ substitutions: devicename: "propbox" - comment: "Propagator Controller" + comment: "Propagation Box Controller" # Propbox Nodes hostname_light: "${devicename}-light.${domain}" @@ -13,8 +13,8 @@ packages: base: !include packages/base.yaml esp32: !include packages/esp32.yaml time: !include packages/time_schedule.yaml - bme280: !include packages/bme280.yaml - ds18b20: !include packages/ds18b20.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 -- GitLab