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