Facebook
From Chester , 1 Month ago, written in YAML.
Embed
Download Paste or View Raw
Hits: 220
  1. substitutions:
  2.   devicename: plyt22
  3.  
  4.  
  5. esphome:
  6.   name: plyt22
  7.   friendly_name: plyt22
  8.  
  9. esp8266:
  10.   board: esp12e
  11.   # Definiowanie stałego IP
  12.  
  13. logger:
  14.   level: WARN
  15.  
  16. web_server:
  17.     port: 80
  18.  
  19. time:
  20.   - platform: homeassistant
  21.     id: homeassistant_time
  22.  
  23. api:
  24.   encryption:
  25.     key: ""
  26.   services:
  27.     - service: start_full_cycle
  28.       then:
  29.         - sprinkler.start_full_cycle: sprinkler_ctrlr_1
  30.     - service: set_multiplier
  31.       variables:
  32.         multiplier: float
  33.       then:
  34.         - sprinkler.set_multiplier:
  35.             id: sprinkler_ctrlr_1
  36.             multiplier: !lambda 'return multiplier;'
  37.     - service: resume_or_start_full_cycle
  38.       then:
  39.         - sprinkler.resume_or_start_full_cycle: sprinkler_ctrlr_1
  40.     - service: pause
  41.       then:
  42.         - sprinkler.pause: sprinkler_ctrlr_1
  43.     - service: start_single_valve
  44.       variables:
  45.         valve: int
  46.       then:
  47.         - sprinkler.start_single_valve:
  48.             id: sprinkler_ctrlr_1
  49.             valve_number: !lambda 'return valve;'
  50.     - service: next_valve
  51.       then:
  52.         - sprinkler.next_valve: sprinkler_ctrlr_1
  53.     - service: previous_valve
  54.       then:
  55.         - sprinkler.previous_valve: sprinkler_ctrlr_1
  56.     - service: shutdown
  57.       then:
  58.         - sprinkler.shutdown: sprinkler_ctrlr_1
  59.  
  60. ota:
  61.   password: "31c25a0db5db3e07302ab86d8de2b971"
  62.  
  63. wifi:
  64.   ssid: !secret wifi_ssid
  65.   password: !secret wifi_password
  66.   manual_ip:
  67.     static_ip: 192.168.1.232
  68.     gateway: 192.168.1.1
  69.     subnet: 255.255.255.0
  70.   # Enable fallback hotspot (captive portal) in case wifi connection fails
  71.   ap:
  72.     ssid: "Plyt22 Fallback Hotspot"
  73.     password: "PJ2pXGw1ULJh"
  74.  
  75. captive_portal:
  76. button:
  77.   - platform: restart
  78.     name: "Podlewanie restart"
  79.  
  80. text_sensor:
  81.   - platform: version
  82.     name: ESPHome Version
  83.   - platform: wifi_info
  84.     ip_address:
  85.       name: $devicename IP
  86.     ssid:
  87.       name: $devicename SSID
  88.     bssid:
  89.       name: $devicename BSSID
  90.  
  91. sensor:
  92.   - platform: template
  93.     name: "Czas zraszania"
  94.     unit_of_measurement: "s"
  95.     icon: "mdi:timelapse"
  96.     accuracy_decimals: 0
  97.     lambda: |-
  98.       return (id(sprinkler_ctrlr_1).time_remaining_active_valve().value());
  99.     update_interval: 1s
  100.   - platform: template
  101.     name: "Czas zraszania łącznie"
  102.     unit_of_measurement: "s"
  103.     icon: "mdi:timelapse"
  104.     accuracy_decimals: 0
  105.     lambda: |-
  106.       return (id(sprinkler_ctrlr_1).time_remaining_current_operation().value());
  107.     update_interval: 1s
  108.   - platform: uptime
  109.     name: ${devicename} Uptime
  110.   - platform: template
  111.     name: "Łączny czas zawór 1"
  112.     id: adiusted_run_valve_1
  113.     unit_of_measurement: "s"
  114.     accuracy_decimals: 0
  115.     lambda: |-
  116.       return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(0));
  117.     update_interval: 300s
  118.   - platform: template
  119.     name: "Łączny czas zawór 2"
  120.     id: adiusted_run_valve_2
  121.     unit_of_measurement: "s"
  122.     accuracy_decimals: 0
  123.     lambda: |-
  124.       return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(1));
  125.     update_interval: 300s
  126.   - platform: template
  127.     name: "Łączny czas zawór 3"
  128.     id: adiusted_run_valve_3
  129.     unit_of_measurement: "s"
  130.     accuracy_decimals: 0
  131.     lambda: |-
  132.       return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(2));
  133.     update_interval: 300s
  134.   - platform: template
  135.     name: "Łączny czas zawór 4"
  136.     id: adiusted_run_valve_4
  137.     unit_of_measurement: "s"
  138.     accuracy_decimals: 0
  139.     lambda: |-
  140.       return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(3));
  141.     update_interval: 300s
  142.   - platform: template
  143.     name: "Łączny czas zawór 5"
  144.     id: adiusted_run_valve_5
  145.     unit_of_measurement: "s"
  146.     accuracy_decimals: 0
  147.     lambda: |-
  148.       return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(4));
  149.     update_interval: 300s
  150.   - platform: template
  151.     name: "Łączny czas zawór 6"
  152.     id: adiusted_run_valve_6
  153.     unit_of_measurement: "s"
  154.     accuracy_decimals: 0
  155.     lambda: |-
  156.       return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(5));
  157.     update_interval: 300s
  158.   - platform: template
  159.     name: "Łączny czas cyklu"
  160.     id: total_runtime_enabled
  161.     unit_of_measurement: "s"
  162.     accuracy_decimals: 0
  163.     lambda: |-
  164.       return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());
  165.     update_interval: 300s
  166.  
  167.   - platform: wifi_signal
  168.     name: ${devicename} WiFi Signal
  169.     update_interval: 60s
  170.  
  171. sprinkler:
  172.   - id: sprinkler_ctrlr_1
  173.     main_switch: "Włącznik główny"
  174.     auto_advance_switch: "Uruchamianie szeregowe"
  175.     reverse_switch: "Kolejność odwrócona"
  176.     standby_switch: "Wstrzymana praca"
  177.     next_prev_ignore_disabled: true
  178.     multiplier_number:
  179.       name: "Współczynnik czasu zraszania"
  180.       min_value: 0
  181.       max_value: 2
  182.       step: 0.1
  183.       on_value:
  184.         - sensor.template.publish:
  185.             id: adiusted_run_valve_1
  186.             state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(0));'
  187.         - sensor.template.publish:
  188.             id: adiusted_run_valve_2
  189.             state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(1));'
  190.         - sensor.template.publish:
  191.             id: adiusted_run_valve_3
  192.             state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(2));'
  193.         - sensor.template.publish:
  194.             id: adiusted_run_valve_4
  195.             state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(3));'
  196.         - sensor.template.publish:
  197.             id: adiusted_run_valve_5
  198.             state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(4));'
  199.         - sensor.template.publish:
  200.             id: adiusted_run_valve_6
  201.             state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(5));'
  202.         - sensor.template.publish:
  203.             id: total_runtime_enabled
  204.             state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  205.     repeat_number:
  206.       name: "Powtórz sekwencję"
  207.       min_value: 0
  208.       max_value: 5
  209.       step: 1
  210. #    valve_open_delay: 2s
  211. #    valve_overlap: 2s
  212.     valves:
  213.       - valve_switch: "Zawór 1"
  214.         enable_switch:
  215.           name: "Włącz zawór 1"
  216.           on_turn_on:
  217.            - sensor.template.publish:
  218.                id: total_runtime_enabled
  219.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  220.           on_turn_off:
  221.            - sensor.template.publish:
  222.                id: total_runtime_enabled
  223.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  224.         run_duration_number:
  225.           name: "Czas zawór 1"
  226.           initial_value: 2
  227.           min_value: 0
  228.           max_value: 90
  229.           step: 1
  230.           unit_of_measurement: min
  231.           mode: box
  232.           on_value:
  233.            - sensor.template.publish:
  234.                id: adiusted_run_valve_1
  235.                state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(0));'
  236.            - sensor.template.publish:
  237.                id: total_runtime_enabled
  238.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  239.         valve_switch_id: lawn_sprinkler_valve_sw0
  240.       - valve_switch: "Zawór 2"
  241.         enable_switch:
  242.           name: "Włącz zawór 2"
  243.           on_turn_on:
  244.            - sensor.template.publish:
  245.                id: total_runtime_enabled
  246.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  247.           on_turn_off:
  248.            - sensor.template.publish:
  249.                id: total_runtime_enabled
  250.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  251.         run_duration_number:
  252.           name: "Czas zawór 2"
  253.           initial_value: 2
  254.           min_value: 0
  255.           max_value: 90
  256.           step: 1
  257.           unit_of_measurement: min
  258.           mode: box
  259.           on_value:
  260.            - sensor.template.publish:
  261.                id: adiusted_run_valve_2
  262.                state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(1));'
  263.            - sensor.template.publish:
  264.                id: total_runtime_enabled
  265.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  266.         valve_switch_id: lawn_sprinkler_valve_sw1
  267.       - valve_switch: "Zawór 3"
  268.         enable_switch:
  269.           name: "Włącz zawór 3"
  270.           on_turn_on:
  271.            - sensor.template.publish:
  272.                id: total_runtime_enabled
  273.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  274.           on_turn_off:
  275.            - sensor.template.publish:
  276.                id: total_runtime_enabled
  277.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  278.         run_duration_number:
  279.           name: "Czas zawór 3"
  280.           initial_value: 2
  281.           min_value: 0
  282.           max_value: 90
  283.           step: 1
  284.           unit_of_measurement: min
  285.           mode: box
  286.           on_value:
  287.            - sensor.template.publish:
  288.                id: adiusted_run_valve_3
  289.                state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(2));'
  290.            - sensor.template.publish:
  291.                id: total_runtime_enabled
  292.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  293.         valve_switch_id: lawn_sprinkler_valve_sw2
  294.       - valve_switch: "Zawór 4"
  295.         enable_switch:
  296.           name: "Włącz zawór 4"
  297.           on_turn_on:
  298.            - sensor.template.publish:
  299.                id: total_runtime_enabled
  300.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  301.           on_turn_off:
  302.            - sensor.template.publish:
  303.                id: total_runtime_enabled
  304.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  305.         run_duration_number:
  306.           name: "Czas zawór 4"
  307.           initial_value: 2
  308.           min_value: 0
  309.           max_value: 90
  310.           step: 1
  311.           unit_of_measurement: min
  312.           mode: box
  313.           on_value:
  314.            - sensor.template.publish:
  315.                id: adiusted_run_valve_4
  316.                state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(3));'
  317.            - sensor.template.publish:
  318.                id: total_runtime_enabled
  319.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  320.         valve_switch_id: lawn_sprinkler_valve_sw3
  321.       - valve_switch: "Zawór 5"
  322.         enable_switch:
  323.           name: "Włącz zawór 5"
  324.           on_turn_on:
  325.            - sensor.template.publish:
  326.                id: total_runtime_enabled
  327.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  328.           on_turn_off:
  329.            - sensor.template.publish:
  330.                id: total_runtime_enabled
  331.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  332.         run_duration_number:
  333.           name: "Czas zawór 5"
  334.           initial_value: 2
  335.           min_value: 0
  336.           max_value: 90
  337.           step: 1
  338.           unit_of_measurement: min
  339.           mode: box
  340.           on_value:
  341.            - sensor.template.publish:
  342.                id: adiusted_run_valve_5
  343.                state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(4));'
  344.            - sensor.template.publish:
  345.                id: total_runtime_enabled
  346.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  347.         valve_switch_id: lawn_sprinkler_valve_sw4
  348.       - valve_switch: "Zawór 6"
  349.         enable_switch:
  350.           name: "Włącz zawór 6"
  351.           on_turn_on:
  352.            - sensor.template.publish:
  353.                id: total_runtime_enabled
  354.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  355.           on_turn_off:
  356.            - sensor.template.publish:
  357.                id: total_runtime_enabled
  358.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  359.         run_duration_number:
  360.           name: "Czas zawór 6"
  361.           initial_value: 2
  362.           min_value: 0
  363.           max_value: 90
  364.           step: 1
  365.           unit_of_measurement: min
  366.           mode: box
  367.           on_value:
  368.            - sensor.template.publish:
  369.                id: adiusted_run_valve_6
  370.                state: !lambda 'return (id(sprinkler_ctrlr_1).valve_run_duration_adjusted(5));'
  371.            - sensor.template.publish:
  372.                id: total_runtime_enabled
  373.                state: !lambda 'return (id(sprinkler_ctrlr_1).total_cycle_time_enabled_valves());'
  374.         valve_switch_id: lawn_sprinkler_valve_sw5
  375.  
  376. switch:
  377.   - platform: gpio
  378.     id: lawn_sprinkler_valve_sw0
  379.     pin: GPIO16
  380.     inverted: False
  381.   - platform: gpio
  382.     id: lawn_sprinkler_valve_sw1
  383.     pin: GPIO14
  384.     inverted: False
  385.   - platform: gpio
  386.     id: lawn_sprinkler_valve_sw2
  387.     pin: GPIO12
  388.     inverted: False
  389.   - platform: gpio
  390.     id: lawn_sprinkler_valve_sw3
  391.     pin: GPIO13
  392.     inverted: False
  393.   - platform: gpio
  394.     id: lawn_sprinkler_valve_sw4
  395.     pin: GPIO15
  396.     inverted: False
  397.   - platform: gpio
  398.     id: lawn_sprinkler_valve_sw5
  399.     pin: GPIO00
  400.     inverted: False
  401.   - platform: gpio
  402.     id: lawn_sprinkler_valve_sw6
  403.     pin: GPIO04
  404.     inverted: False
  405.   - platform: gpio
  406.     id: lawn_sprinkler_valve_sw7
  407.     pin: GPIO05
  408.     inverted: False
  409.