esphome:
  name: pc-switch
  platform: ESP8266
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:

# Put ota password here
ota:
  password: ""

# Your wifi config
wifi:
  # ssid: ""
  # password: ""

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "PC-Switch Fallback Hotspot"
    password: "fallback-wifi"

captive_portal:

switch:
  - platform: gpio
    pin: D6
    id: power_switch
    internal: true
    on_turn_on:
    - delay: 300ms
    - switch.turn_off: power_switch

  - platform: gpio
    pin: D6
    id: power_switch_force
    internal: true
    on_turn_on:
    - delay: 5000ms
    - switch.turn_off: power_switch_force

  - platform: gpio
    pin: D7
    id: reset_switch
    on_turn_on:
    - delay: 300ms
    - switch.turn_off: reset_switch

binary_sensor:
  - platform: gpio
    pin: D0
    id: pc_power_sensor
    name: "PC Power State"
    device_class: power
    icon: "mdi:desktop-classic"

button:
  - platform: template
    name: "PC Power Button"
    id: power_button
    icon: "mdi:power-standby"
    on_press:
      then:
        - switch.toggle: power_switch

  - platform: template
    name: "PC Force Power Off"
    id: force_power_off
    icon: "mdi:power-plug-off"
    on_press:
      then:
        - switch.toggle: power_switch_force

  - platform: template
    name: "PC Reset Button"
    id: reset_button
    icon: "mdi:restart"
    on_press:
      then:
        - switch.toggle: reset_switch
