# ESP-PC-Controller
ESP8266-basierte Fernsteuerung für PCs, steuerbar über Web Interface, HTTP-API und MQTT.

Wegen schlechter Erfahrungen mit Wake-on-LAN musste eine zuverlässigere Lösung her, um den PC von unterwegs aufwecken zu können. 
WoL funktioniert meist nur zuverlässig wenn der PC im Sleep-Modus ist - ist er heruntergefahren wird es zum Glücksspiel. Wurde der PC nach dem herunterfahren vom Stromnetz getrennt, funktioniert WoL überhaupt nicht mehr. 

Eine einfache Möglichkeit ist natürlich den PC an eine WiFi-Steckdose anzuschließen und diese bei Bedarf einzuschalten. Das hat aber einige Nachteile - es muss dann im BIOS eingestellt sein, dass der PC immer startet wenn die Stromversorgung unterbrochen war. Dadurch würde der PC manchmal unbemerkt laufen, ohne dass er gebraucht wird. Außerdem funktioniert das nicht bei Verwendung des Sleep-Modus - und könnte zu Datenverlust führen, wenn der im Sleep befindliche PC einfach vom Stromnetz getrennt wird. 

Ich wollte daher eine Lösung, mit der ich ganz einfach den Power-Button des PC fernbedienen kann, und die Rückmeldung über den aktuellen Status gibt, indem die Power-LED ausgewertet wird. 

Dafür bietet sich ein Modul auf Basis des ESP8266 an. Die Stromversorgung kann von der +5VSB-Leitung des ATX Netzteils abgegriffen werden, dann ist der ESP aktiv solange der PC am Strom hängt. Für die Anbindung an die PC-Hardware braucht man dann nur ein paar Transistoren und Widerstände.


## Features
- connects to the POWER switch, RESET switch and POWER-LED terminals on the PC motherboard
- detection of PC status (on, sleep, off) by observing the power LED output (blinking LED is sleep on most motherboards)
- perform short press and hold on the POWER switch
- perform reset switch action
- controllable via web interface, HTTP-API and MQTT
- status reporting via web interface, HTTP-API and MQTT
- WiFi setup via captive portal
- configurable via web interface
- direct support for Home Assistant switch and sensor devices

