substitutions:
devicename: plyt22
esphome:
name: plyt22
friendly_name: plyt22
esp8266:
board: esp12e
# Definiowanie stałego IP
logger:
level: WARN
web_server:
port: 80
time:
- platform: homeassistant
id: homeassistant_time
api:
encryption:
key: ""
services:
- service: start_full_cycle
then:
- sprinkler.start_full_cycle: sprinkler_ctrlr_1
- service: set_multiplier
variables:
multiplier: float
then:
- sprinkler.set_multiplier:
id: sprinkler_ctrlr_1
multiplier: !lambda 'return multiplier;'
- service: resume_or_start_full_cycle
then:
- sprinkler.resume_or_start_full_cycle: sprinkler_ctrlr_1
- service: pause
then:
- sprinkler.pause: sprinkler_ctrlr_1
- service: start_single_valve
variables:
valve: int
then:
- sprinkler.start_single_valve:
id: sprinkler_ctrlr_1
valve_number: !lambda 'return valve;'
- service: next_valve
then:
- sprinkler.next_valve: sprinkler_ctrlr_1
- service: previous_valve
then:
- sprinkler.previous_valve: sprinkler_ctrlr_1
- service: shutdown
then:
- sprinkler.shutdown: sprinkler_ctrlr_1
ota:
password: "31c25a0db5db3e07302ab86d8de2b971"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.1.232
gateway: 192.168.1.1
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Plyt22 Fallback Hotspot"
password: "PJ2pXGw1ULJh"
captive_portal:
button:
- platform: restart
name: "Podlewanie restart"
text_sensor:
- platform: version
name: ESPHome Version
- platform: wifi_info
ip_address:
name: $devicename IP
ssid:
name: $devicename SSID
bssid:
name: $devicename BSSID
sensor:
- platform: template
name: "Czas zraszania"
unit_of_measurement: "s"
icon: "mdi:timelapse"
accuracy_decimals: 0
lambda: |-
return (id(sprinkler_ctrlr_1).time_remaining_active_valve().value());
update_interval: 1s
- platform: template
name: "Czas zraszania łącznie"
unit_of_measurement: "s"
icon: "mdi:timelapse"
accuracy_decimals: 0
lambda: |-
return (id(sprinkler_ctrlr_1).time_remaining_current_operation().value());
update_interval: 1s
- platform: uptime
name: ${devicename} Uptime
- platform: template
name: "Łączny czas zawór 1"
id: adiusted_run_valve_1
unit_of_measurement: "s"
accuracy_decimals: 0
lambda: |-
return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(0));
update_interval: 300s
- platform: template
name: "Łączny czas zawór 2"
id: adiusted_run_valve_2
unit_of_measurement: "s"
accuracy_decimals: 0
lambda: |-
return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(1));
update_interval: 300s
- platform: template
name: "Łączny czas zawór 3"
id: adiusted_run_valve_3
unit_of_measurement: "s"
accuracy_decimals: 0
lambda: |-
return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(2));
update_interval: 300s
- platform: template
name: "Łączny czas zawór 4"
id: adiusted_run_valve_4
unit_of_measurement: "s"
accuracy_decimals: 0
lambda: |-
return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(3));
update_interval: 300s
- platform: template
name: "Łączny czas zawór 5"
id: adiusted_run_valve_5
unit_of_measurement: "s"
accuracy_decimals: 0
lambda: |-
return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(4));
update_interval: 300s
- platform: template
name: "Łączny czas zawór 6"
id: adiusted_run_valve_6
unit_of_measurement: "s"
accuracy_decimals: 0
lambda: |-
return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(5));
update_interval: 300s
- platform: template
name: "Łączny czas cyklu"
id: total_runtime_enabled
unit_of_measurement: "s"
accuracy_decimals: 0
lambda: |-
return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());
update_interval: 300s
- platform: wifi_signal
name: ${devicename} WiFi Signal
update_interval: 60s
sprinkler:
- id: sprinkler_ctrlr_1
main_switch: "Włącznik główny"
auto_advance_switch: "Uruchamianie szeregowe"
reverse_switch: "Kolejność odwrócona"
standby_switch: "Wstrzymana praca"
next_prev_ignore_disabled: true
multiplier_number:
name: "Współczynnik czasu zraszania"
min_value: 0
max_value: 2
step: 0.1
on_value:
- sensor.template.publish:
id: adiusted_run_valve_1
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(0));'
- sensor.template.publish:
id: adiusted_run_valve_2
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(1));'
- sensor.template.publish:
id: adiusted_run_valve_3
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(2));'
- sensor.template.publish:
id: adiusted_run_valve_4
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(3));'
- sensor.template.publish:
id: adiusted_run_valve_5
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(4));'
- sensor.template.publish:
id: adiusted_run_valve_6
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(5));'
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
repeat_number:
name: "Powtórz sekwencję"
min_value: 0
max_value: 5
step: 1
# valve_open_delay: 2s
# valve_overlap: 2s
valves:
- valve_switch: "Zawór 1"
enable_switch:
name: "Włącz zawór 1"
on_turn_on:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
on_turn_off:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
run_duration_number:
name: "Czas zawór 1"
initial_value: 2
min_value: 0
max_value: 90
step: 1
unit_of_measurement: min
mode: box
on_value:
- sensor.template.publish:
id: adiusted_run_valve_1
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(0));'
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
valve_switch_id: lawn_sprinkler_valve_sw0
- valve_switch: "Zawór 2"
enable_switch:
name: "Włącz zawór 2"
on_turn_on:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
on_turn_off:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
run_duration_number:
name: "Czas zawór 2"
initial_value: 2
min_value: 0
max_value: 90
step: 1
unit_of_measurement: min
mode: box
on_value:
- sensor.template.publish:
id: adiusted_run_valve_2
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(1));'
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
valve_switch_id: lawn_sprinkler_valve_sw1
- valve_switch: "Zawór 3"
enable_switch:
name: "Włącz zawór 3"
on_turn_on:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
on_turn_off:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
run_duration_number:
name: "Czas zawór 3"
initial_value: 2
min_value: 0
max_value: 90
step: 1
unit_of_measurement: min
mode: box
on_value:
- sensor.template.publish:
id: adiusted_run_valve_3
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(2));'
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
valve_switch_id: lawn_sprinkler_valve_sw2
- valve_switch: "Zawór 4"
enable_switch:
name: "Włącz zawór 4"
on_turn_on:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
on_turn_off:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
run_duration_number:
name: "Czas zawór 4"
initial_value: 2
min_value: 0
max_value: 90
step: 1
unit_of_measurement: min
mode: box
on_value:
- sensor.template.publish:
id: adiusted_run_valve_4
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(3));'
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
valve_switch_id: lawn_sprinkler_valve_sw3
- valve_switch: "Zawór 5"
enable_switch:
name: "Włącz zawór 5"
on_turn_on:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
on_turn_off:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
run_duration_number:
name: "Czas zawór 5"
initial_value: 2
min_value: 0
max_value: 90
step: 1
unit_of_measurement: min
mode: box
on_value:
- sensor.template.publish:
id: adiusted_run_valve_5
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(4));'
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
valve_switch_id: lawn_sprinkler_valve_sw4
- valve_switch: "Zawór 6"
enable_switch:
name: "Włącz zawór 6"
on_turn_on:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
on_turn_off:
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
run_duration_number:
name: "Czas zawór 6"
initial_value: 2
min_value: 0
max_value: 90
step: 1
unit_of_measurement: min
mode: box
on_value:
- sensor.template.publish:
id: adiusted_run_valve_6
state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(5));'
- sensor.template.publish:
id: total_runtime_enabled
state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
valve_switch_id: lawn_sprinkler_valve_sw5
switch:
- platform: gpio
id: lawn_sprinkler_valve_sw0
pin: GPIO16
inverted: False
- platform: gpio
id: lawn_sprinkler_valve_sw1
pin: GPIO14
inverted: False
- platform: gpio
id: lawn_sprinkler_valve_sw2
pin: GPIO12
inverted: False
- platform: gpio
id: lawn_sprinkler_valve_sw3
pin: GPIO13
inverted: False
- platform: gpio
id: lawn_sprinkler_valve_sw4
pin: GPIO15
inverted: False
- platform: gpio
id: lawn_sprinkler_valve_sw5
pin: GPIO00
inverted: False
- platform: gpio
id: lawn_sprinkler_valve_sw6
pin: GPIO04
inverted: False
- platform: gpio
id: lawn_sprinkler_valve_sw7
pin: GPIO05
inverted: False