esphome: name: esphome-smart-pc friendly_name: SmartPC esp8266: board: nodemcuv2 # Enable logging logger: # Enable Home Assistant API api: encryption: key: "" ota: wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esphome-PC" password: "password" captive_portal: binary_sensor: - platform: gpio id: power_sensor name: "Power" pin: number: 12 mode: input: true pullup: true on_press: then: - if: condition: light.is_on: led_strip then: - light.turn_on: led_strip button: - platform: template name: "Power" icon: "mdi:power" on_press: then: - switch.turn_on: power_relay - delay: 500ms - switch.turn_off: power_relay - platform: template name: "Reset" icon: "mdi:power-cycle" on_press: then: - if: condition: binary_sensor.is_on: power_sensor then: - switch.turn_on: power_relay - delay: 6000ms - switch.turn_off: power_relay switch: - platform: template name: Sata switch icon: "mdi:harddisk" lambda: |- return id(sata_relay).state; turn_on_action: then: - if: condition: binary_sensor.is_off: power_sensor then: - switch.turn_on: sata_relay turn_off_action: - if: condition: binary_sensor.is_off: power_sensor then: - switch.turn_off: sata_relay - platform: gpio pin: 5 id: sata_relay internal: true - platform: gpio pin: 4 id: power_relay internal: true restore_mode: RESTORE_DEFAULT_OFF light: - platform: neopixelbus id: led_strip type: GRB variant: WS2811 pin: 2 num_leds: 60 name: "Leds" effects: - random: name: "Random" transition_length: 4s update_interval: 5s - addressable_rainbow: