I guess there is many ways to make my greenhouse watering automation more efficient and stable so i make a shout and see what you got(i know youre alot more skilled at this than me )
The system:
I got 12 boxes with a humidity sensor in each and when the level gets low i want to start filling by opening a valve.
function:
I want to fill slow so the sensor got time to feel the change so i don´t overfill. Therefor i have two variables , runtime and a delay between runtime. ofc also what to what level of humidity to fill up to.
one condition is also that only one box can be filled at once so i can mesaure how mutch water each box uses.
so this is what i have done so far and one for each box:
some hate the looping timetrig, and i know why but its a easy solution
hope you have something good to share
- alias: 'filling box 1'
description: ''
initial_state: off
trigger:
- platform: time_pattern
seconds: "/10"
condition:
condition: and
conditions:
- condition: template
value_template: '{{ states.sensor.soilsensor1.state|int> states("input_number.level")|int }}'
- condition: template
value_template: >
{{states.switch.relay2.state == 'off' and
states.switch.relay3.state == 'off' and
states.switch.relay4.state == 'off' and
states.switch.relay5.state == 'off' and
states.switch.relay6.state == 'off' and
states.switch.relay7.state == 'off' and
states.switch.relay8.state == 'off' and
states.switch.relay9.state == 'off' and
states.switch.relay10.state == 'off' and
states.switch.relay11.state == 'off' and
states.switch.relay12.state == 'off' }}
action:
- service: switch.turn_on
entity_id:
- switch.relay1
- delay:
seconds: "{{ states('input_number.run')|int }}"
- service: switch.turn_off
entity_id:
- switch.relay1
- delay:
seconds: "{{ states('input_number.delay')|int }}"
1 post - 1 participant