| .gitignore | ||
| AGENTS.md | ||
| LICENSE | ||
| README.md | ||
| shower-valve.yaml | ||
shower-valves
ESPHome Shower Valve Configuration
These are simple ESP32 devices hooked up to 12V water valves on GPIO pin 32, plumbed into the hot water lines for showers.
The ESPHome configuration is in shower-valve.yaml.
Configuration
Each device needs the following substitutions set in its copy of shower-valve.yaml:
| Substitution | Description | Example |
|---|---|---|
name |
Device hostname (lowercase, hyphenated) | boys-shower |
friendly_name |
Display name shown in Home Assistant | Boys' Shower |
ip_address |
Static IP assigned by the router (for OTA/logs) | 192.168.1.50 |
WiFi credentials are stored separately in secrets.yaml (not tracked in git):
wifi_ssid: "YourSSID"
wifi_password: "YourPassword"
The ip_address substitution sets use_address so the ESPHome dashboard can reach the device by IP instead of mDNS.
Deployment
-
Set the substitutions and WiFi credentials as described above.
-
Flash the device via USB for the first time using the ESPHome web UI with Factory format.
-
Subsequent updates can be applied over-the-air using OTA format from the ESPHome web UI.
Daily Reboot
The devices are configured to automatically reboot at 3:00 AM daily to mitigate occasional connectivity drops. The valve is turned off before restarting as a safety measure.