From 106e18d80d7dd0809916ac21cb0690a0af0fdee6 Mon Sep 17 00:00:00 2001 From: Erriez Date: Sun, 13 Feb 2022 11:08:10 -0800 Subject: [PATCH] Change pin control timing - The HA automation script is no longer required and can be removed. - Renamed button/sense. - Updated documentation. --- README.md | 178 +++++++++++++++++++---------- images/ESPMount.jpg | Bin 0 -> 47397 bytes images/ScreenshotHomeAssistant.jpg | Bin 21142 -> 19939 bytes pc-power.yaml | 29 ++++- 4 files changed, 141 insertions(+), 66 deletions(-) create mode 100644 images/ESPMount.jpg diff --git a/README.md b/README.md index b9e6fb7..9f70ec2 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,55 @@ # ESPHome PC Power Control via Home Assistant -This project contains PC power control via HomeAssistant and ESPHome ESP8266 NodeMCU. I use this project to power my ATX based NAS remotely on and off via Home Assistant. +This project contains remote PC power control via HomeAssistant and ESPHome ESP8266/ESP32 boards. -Features: +I use this project to power my PC based NAS remotely on and off via Home Assistant as alternative to Wake-On-Lan (WOL) which has known limitations. -* Short press power button to turn PC on or graceful shutdown. -* Long press power button to generate hard power-off. -* Read power status motherboard (is PC turned on or off). -* Use existing power / reset buttons at the front panel. +## Features + +* Control physical PC power button (front panel) connected to the motherboard: + * Turn PC power on from any power state such as `power-off/suspended/hybernate` (Behavior short press power button). + * Graceful `shutdown/suspend/hybernate` of the operating system (Behavior short press power button). + * Force power-off (Behavior long press power-button). +* Read PC power on/off status from motherboard. +* No operating system dependency. +* Power/reset buttons front panel remains full functional. +* User authorization via Homeassistant. +* Use with any (micro/mini)-ATX computer motherboard. Youtube video: [![Youtube video](https://img.youtube.com/vi/rAcvqaPf830/0.jpg)](https://www.youtube.com/watch?v=rAcvqaPf830) +Homeassistant screenshot: + ![Screenshot Home Assistant](images/ScreenshotHomeAssistant.jpg) +## Differences Wake-On-Lan (WOL) magic packet + +[Wake-On-Lan (WOL)](https://en.wikipedia.org/wiki/Wake-on-LAN) is intended to turn computer power on remotely via Ethernet by sending a so called `magic packet`. This has several known limitations which are not applicable with this ESP project: + +* Wake-On-Lan (WOL) has **no authorization**! The WOL protocol has no functionality to provide a password or allow a specific computer to wake from. Any device on the same LAN can wake a PC by sending a magic packet. The ESP is password protected via Homeassistant. +* Wake-On-Lan (WOL) can only `wake` a PC from suspend or power-off state. There is no shutdown/suspend functionality. +* To put a Linux machine in `sleep` state, a SSH connection to the remote PC can be made for example by executing `pm-suspend` command (Install via `sudo apt install pm-utils`), reference [Ubuntu pm-action documentation](https://manpages.ubuntu.com/manpages/jammy/man8/pm-action.8.html). Disadvantages: + * Requires SSH login. + * Requires sudo rights. +* Wake-On-Lan magic packets are ignored when connecting main power the first time to the power supply, even when WOL is activated in the BIOS. The reason is that WOL is disabled on most computers at first power on and requires activation by a running operating system before the PC responds on a magic packet to wake the computer. Reference: [Ubuntu Wake-On-Lan](https://help.ubuntu.com/community/WakeOnLan). +* Running Homeassistant [Wake-On-Lan](https://www.home-assistant.io/integrations/wake_on_lan) in a Docker container cannot forward broadcast magic packets with a bridged network configuration. It requires an external Docker container as bridge to forward magic packages and is beyond the scope of Homeassistant. This is currently not included in Homeassistant documentation. + ## Hardware -The hardware consists of an ESP8266 and two IO pins, mounted on a PCI metal plate (see picture below). In my case I used an ESP8266 NodeMCU board. Theoretically any ESP8266 or ESP32 board can be used for this project. +The hardware consists of an ESP8266 or ESP32 and two IO pins, mounted on a PCI metal plate (see picture below). In my case I used an ESP8266 NodeMCU board. Theoretically any ESP8266 or ESP32 board can be used for this project. -One pin controls the power button by generating a long or short press and a second pin to read the power status of the ATX motherboard. +* One pin controls the power button by generating a long or short press +* A second pin reads the motherboard power status. ![Hardware](images/NodeMCU.jpg) ## Schematic -My NAS is based on an Intel Core I7 ASRock Z97 ATX motherboard and contains standard 2x5 male connectors: +My NAS is based on an Intel Core I7 ASRock Z97 ATX motherboard and contains standard 2.5mm 2x5 male headers: + +![Schematic](images/Schematic.png) **ATX header USB 2.0:** @@ -39,15 +63,15 @@ Header `J2` contains the power, reset and GND pins: * Short press: Turn PC on or generate graceful shutdown. * Long press: Generate hard power off. * Reset button pin 7. - * Used to read power status (not for hard reset) + * Used to read power status via the reset button pin: + * High: power-on + * Low: power-off * GND pin 5. * Pin `D1` is used to read the power status from the reset pin: High is on, Low is off. Transistor `Q1` is used for secure isolation between ESP8266 and motherboard. * Pin `D2` is used to pull the power button low to generate a short or long press. Resistor `R1` is used to minimize current when the IO pin is accidentally set to output. -All ATX and ESP8266 pins must be operating at 3V3. - -![Schematic](images/Schematic.png) +Warning: All ATX and ESP pins must be operating at 3V3. ## Downloads @@ -55,11 +79,23 @@ All ATX and ESP8266 pins must be operating at 3V3. ## Wiring +![Wiring](images/Wiring.jpg) + A DIY breakout PCB can be mounted at the system panel header to connect power button `SW1` and reset button `SW2`. -There is sufficient space in the ATX computer case to mount the ESP8266 board and connecting a USB cable to program the ESP8266. +## WiFi stability -![Wiring](images/Wiring.jpg) +There is sufficient space in an ATX computer case to mount the ESP board. However, the computer case is metal shielded, so the WiFi distance to the base station reduces. It is recommended to place the ESP outside the computer case when the WiFi connection is unstable or distance too low. An ESP32 may result in different WiFi connection stability, but overall it depends on the environment. + +ESP8266 PCB mounted at the back of the PC case: + +![ESP PC mount](images/ESPMount.jpg) + +## Software updates + +The ESPHome application firmware can be updated via USB connection (virtual serial port) or WiFi OTA (Over The Air update). + +Updating the firmware via WiFi is enabled when configuring `ota` in the .yaml file. This requires a WiFi connection between host computer and ESP. OTA update does not work when the login from ESP to WiFi base station fails due to incorrect WiFi credentials. In this case an update via serial is required or via `ap` fallback as configured in the .yaml file. ## ESPHome @@ -70,7 +106,9 @@ Documentation: * [ESPHome GPIO Switch](https://esphome.io/components/switch/gpio.html) * [ESPHome Binary Sensor](https://esphome.io/components/binary_sensor/gpio.html) -### pc-power.yaml +### Project configuration + +Configure the `platform` and `board` as described in [ESPHome documentation](https://esphome.io/components/esphome.html) in `pc-power.yaml`: ```yaml esphome: @@ -90,26 +128,42 @@ wifi: # Enable logging logger: +# Enable Home Assistant API api: password: !secret esphome_api_password + +# Enable OTA update via WiFi ota: password: !secret esphome_ota_password switch: - platform: gpio - name: "PC Power button" + name: "NAS Power Toggle" icon: "mdi:electric-switch" pin: D2 # Power button output pin + id: power_short_press inverted: no - id: power_pin + on_turn_on: + - delay: 150ms + - switch.turn_off: power_short_press + - platform: gpio + name: "NAS HARD POWER OFF" + icon: "mdi:electric-switch" + pin: D2 # Power button output pin + id: power_long_press + inverted: no + on_turn_on: + - delay: 3500ms + - switch.turn_off: power_long_press + binary_sensor: - platform: gpio - pin: D1 # Power detect input pin - name: "PC Power Sense" + pin: D1 # Power detect input pin (readback from Reset button) + name: "NAS Power State" device_class: power ``` -### secrets.yaml +Configure WiFi SSID and passwords in `secrets.yaml`: ```yaml esphome_api_password: "changeme" @@ -119,11 +173,14 @@ esphome_wifi_ssid: "ssid" esphome_wifi_password: "password" ``` -### Program ESP8266 +### Program ESP8266 or ESP32 -Connect USB cable to ESP8266 board and enter the following commands. (Examples are tested on Ubuntu). For more information, refer to [ESPHome.io](https://esphome.io/guides/getting_started_command_line.html). +Connect USB cable to ESP8266 or ESP32 board and enter the following commands. (Examples are tested on Ubuntu). For more information, refer to [ESPHome.io](https://esphome.io/guides/getting_started_command_line.html). ```bash +# Clone this repository +$ git clone git@github.com:Erriez/ESPHomePCPowerControlHomeAssistant.git + # Install Python3 virtualenv $ sudo apt install python3-virtualenv @@ -136,16 +193,27 @@ $ source venv/bin/activate # Install ESPHome $ pip install esphome +# Optional: Install platformio updates +$ platformio platform update +$ platformio upgrade + +# Optional: Add user permission serial port +$ sudo usermod -a -G dialout +$ sudo reboot now + # Check ESPHome installation $ esphome --help -# Upload program to ESP8266 -$ esphome pc-power.yaml run +# Optional: Compile program without upload +$ esphome compile pc-power.yaml -Select serial upload port +# Upload program to ESP8266 or ESP32 +$ esphome run pc-power.yaml + +# Select serial port or WiFi to upload application # Check logs -$ esphome pc-power.yaml logs +$ esphome logs pc-power.yaml ``` ## Home Assistant configuration @@ -156,58 +224,46 @@ This section describes Home Assistant configuration. * `Configuration | Integrations: Add Integration: ESPHome` * Select hostname or IP address of the ESP device. -* Enter password as configured in `secrets.yml` `esphome_api_password`. +* Enter password as configured in `secrets.yml` | `esphome_api_password`. -### Create Automation Scripts +### Homeassistant | Edit Dashboard | RAW Configuration Editor -Two scripts are needed to generate a short and long pulse of the power button. - -`Configuration | Scripts | Add script`: - -* Name: pc_power_button_short_press -* Action type: Device - * Action: Turn on PC power button -* Action type: Delay 600ms -* Action type: Device - * Action: Turn off PC power button - -`Configuration | Scripts | Add script`: - -* Name: pc_power_button_long_press -* Action type: Device - * Action: Turn on PC power button -* Action type: Delay 5s -* Action type: Device - * Action: Turn off PC power button - -### Edit Dashboard | RAW Configuration Editor +Add PC power integration to a dashboard via raw edit: ```yaml +title: Home +views: - title: PC path: pc badges: [] cards: - type: button - entity: switch.pc_power_button + entity: switch.pc_power_toggle show_name: true - tap_action: - action: call-service - service: script.pc_power_button_short_press - name: PC Power Button - type: button tap_action: action: none - entity: binary_sensor.pc_power_sense + entity: binary_sensor.pc_power_state hold_action: action: none - type: button - entity: switch.pc_power_button - show_name: true tap_action: - action: call-service - service: script.pc_power_button_long_press - name: PC Force OFF + action: toggle + entity: switch.pc_hard_power_off icon_height: 40px + show_state: false + show_name: true + show_icon: true ``` +## Version history + Restart Home Assistant and ready to go! + +### Update 13 February 2022 + +* The button pin timing controlled via Homeassistant scripts was not stable. The power pin control has been moved to the ESP firmware which generates a much more accurate timing. +* Renamed the following names: + * Rename `switch.pc_power_button` to `switch.pc_power_toggle`. + * Rename `switch.pc_power_button_long_press` to `switch.pc_hard_power_off`. + * Rename `switch.pc_power_sense` to `switch.pc_power_state`. diff --git a/images/ESPMount.jpg b/images/ESPMount.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c814a1da0ff74158b9290f1b4a2c58c02658474e GIT binary patch literal 47397 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 literal 0 HcmV?d00001 diff --git a/images/ScreenshotHomeAssistant.jpg b/images/ScreenshotHomeAssistant.jpg index c5050752cce8fe69a62fe2c6f4df608189381770..4c242ce8b7b0a67f0d9c1be426eccd4410c423d7 100644 GIT binary patch literal 19939 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 literal 21142 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