Esphome oświetlenie czasowe (1 przycisk i jeden przekaźnik)

podziękowania dla @szopen @angler - jesteście wielcy!

Użyłem NodeMCU v3 i przekaźnik z optoizolacją zasilany 5V.
Przekaźnik wejście IN1 podpięte pod ESP8266 PIN D7 (GPIO13)
Przycisk dzwonkowy podpiety pod ESP8266 PIN D1 (GPIO5).
Kod działa wyśmienicie, po zwarciu pinu D1 do masy włącza przekaźnik na 2 minuty.
Każde naciśnięcie przycisku D1 przedłuża do 2 minut działanie przekaźnika.

esphome:
  name: test

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "afe78518ea3599494473a627db474666"

wifi:
  ssid: moja_siec
  password: moje_haslo

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "wifi_plytki_test"
    password: "moje_haslo"

captive_portal:
    
web_server:
  port: 80
  
# przekaznik on_off pin D7
switch:
  - platform: gpio
    pin: D7
    name: "test_przekaznik_1"
    id: sw01
    icon: "mdi:light-switch"
    inverted: true
    
#skrypt czasowka przekaznik    
script:
  - id: przekaznik_script
    mode: restart     # Przekaznik bedzie wlaczony przez 2 minuty
                      # od ostatniego nacisniecia przycisku
    then:
      - switch.turn_on: sw01
      - delay: 2 min
      - switch.turn_off: sw01
    
# przycisk na pinie D1
binary_sensor:

  - platform: gpio
    pin:
      number: D1
      mode:
        input: true
        pullup: true
    name: "test_przycisk_1"

    on_press:
      then:
        - switch.turn_on: sw01
        - script.execute: przekaznik_script
        
    device_class: opening
1 polubienie