I’m making a device to control my sprinkler system. My system has 2 valves and a flow meter is positioned on one of the two pipes.
I’ve created my code using the “sprinkler” component but I don’t have a problem. The “sprinkler” component seems to work only with a “queue” logic. I would like to be able to turn the 2 valves on and off independently instead if I turn on one the other is turned off.
What am I doing wrong?
button:
- platform: restart
name: "Restart device"
- platform: factory_reset
name: Reset to factory settings
sensor:
- platform: wifi_signal
name: "WiFi Signal"
update_interval: 60s
- platform: uptime
name: "Uptime"
icon: mdi:clock-outline
update_interval: 60s
- platform: pulse_meter #pulse_counter
pin:
number: D5
mode: INPUT_PULLUP
id: irrigation_zone_a_flow
name: "Zone A Flow"
state_class: measurement
unit_of_measurement: "l/min"
accuracy_decimals: 1
icon: "mdi:water-pump"
filters:
- lambda: return x/6.6/60; # F=6.6*Q con F in Hz e Q in l/min (precisione 3%) -> impulsi per litro 396
total:
id: irrigation_zone_a_pulse_meter_total
name: "Zone A Water Total"
state_class: "total_increasing"
device_class: water
icon: mdi:water
unit_of_measurement: "m³"
accuracy_decimals: 3
filters:
- multiply: 0.001
text_sensor:
- platform: version
name: "ESPHome Version"
sprinkler:
- id: lawn_sprinkler_ctrlr
main_switch: "Irrigation"
auto_advance_switch: "Irrigation Auto Advance"
# reverse_switch: "Irrigation Reverse"
# multiplier_number: "Irrigation Multiplier"
# repeat_number: "Irrigation Repeat"
valve_overlap: 5s
valves:
- valve_switch: "Active Lawn (zone A)"
enable_switch: "Enable circle for Valve Lawn"
valve_switch_id: zone_a
run_duration_number:
id: irrigation_zone_a_duration
name: "Zone A Watering Duration"
initial_value: 10
max_value: 20
unit_of_measurement: min
- valve_switch: "Active Hedge (zone B)"
enable_switch: "Enable circle for Valve Hedge"
valve_switch_id: zone_b
run_duration_number:
id: irrigation_zone_b_duration
name: "Zone B Watering Duration"
initial_value: 10
max_value: 20
unit_of_measurement: min
switch:
- platform: gpio
id: zone_a
pin:
number: D1
inverted: True
- platform: gpio
id: zone_b
pin:
number: D2
inverted: True