diff --git a/growbox.yaml b/growbox.yaml index c6c54844a29ee57cecb33fbd3ff0289dc6b79a9c..da42c5e848d13a03fb001af7ba9f3a5a1b8522b0 100644 --- a/growbox.yaml +++ b/growbox.yaml @@ -30,4 +30,4 @@ packages: water_sts35: !include packages/water_sts35.yaml dosing: !include packages/dosing.yaml dosing_pca9685: !include packages/dosing_pca9685.yaml - level: !include packages/level.yaml + water_level: !include packages/water_level.yaml diff --git a/packages/level.yaml b/packages/water_level.yaml similarity index 52% rename from packages/level.yaml rename to packages/water_level.yaml index 00509d3a85ce08924df27675871581a6cf6d5e30..001f7f43a44511d9d97c30b9825e1e7ace923779 100644 --- a/packages/level.yaml +++ b/packages/water_level.yaml @@ -1,13 +1,18 @@ substitutions: - waterlevel_current_init: '4.06' # mA at 0mm + waterlevel_current_empty_system: '3.75' # mA at 0mm + waterlevel_current_empty_tank: '3.11' # mA at 0mm waterlevel_range: '1000' # mm waterlevel_density: '1' # water globals: - - id: waterlevel_current_init + - id: waterlevel_current_empty_system type: float restore_value: yes - initial_value: ${waterlevel_current_init} + initial_value: ${waterlevel_current_empty_system} + - id: waterlevel_current_empty_tank + type: float + restore_value: yes + initial_value: ${waterlevel_current_empty_tank} - id: waterlevel_range type: float restore_value: yes @@ -24,61 +29,61 @@ ads1115: sensor: - platform: ads1115 ads1115_id: ads1115_waterlevel - id: waterlevel_tank_voltage + id: waterlevel_voltage_system internal: true - #name: "Waterlevel Tank: Voltage" - multiplexer: 'A0_GND' + #name: "Waterlevel System: Voltage" + multiplexer: 'A1_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 + id: waterlevel_voltage_tank internal: true - #name: "Waterlevel System: Voltage" - multiplexer: 'A1_GND' + #name: "Waterlevel Tank: Voltage" + multiplexer: 'A0_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 + id: waterlevel_current_system + # name: "Waterlevel System: Current" + unit_of_measurement: "mA" + accuracy_decimals: 2 + update_interval: 5s + lambda: !lambda 'return id(waterlevel_voltage_system).state * 1024.0 / 120.0;' # V->mV, Sense Resistor: 120ohm' + - platform: template + id: waterlevel_current_tank + #name: "Waterlevel Tank: Current" + unit_of_measurement: "mA" + accuracy_decimals: 2 + update_interval: 5s + lambda: !lambda 'return id(waterlevel_voltage_tank).state * 1024.0 / 120.0;' # V->mV, Sense Resistor: 120ohm - platform: template - name: "Waterlevel: Tank" - id: waterlevel_tank + name: "Waterlevel: System" + id: waterlevel_system unit_of_measurement: "cm" accuracy_decimals: 2 update_interval: 5s <<: !include filter.yaml 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; + float dataCurrent = id(waterlevel_voltage_system).state * 1024.0 / 120.0; // Sense Resistor: 120ohm + float depth = (dataCurrent - id(waterlevel_current_empty_system)) * (id(waterlevel_range) / id(waterlevel_density) / 16.0) / 10; return depth; - platform: template - name: "Waterlevel: System" - id: waterlevel_system + name: "Waterlevel: Tank" + id: waterlevel_tank unit_of_measurement: "cm" accuracy_decimals: 2 update_interval: 5s <<: !include filter.yaml 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; + float dataCurrent = id(waterlevel_voltage_tank).state * 1024.0 / 120.0; // Sense Resistor: 120ohm + float depth = (dataCurrent - id(waterlevel_current_empty_tank)) * (id(waterlevel_range) / id(waterlevel_density) / 16.0) / 10; return depth; prometheus: