Home Assistant Pool Water Temperature Sensor — Complete Setup Guide (ESP32 + DS18B20 + ESPHome + Solar Powered)
Know your pool temperature before you even step outside — right from your phone, your dashboard, or any Home Assistant automation.
This guide walks you through building a solar-powered wireless pool water temperature sensor using a DS18B20 waterproof temperature probe, an ESP32, and ESPHome. The sensor reads your pool water temperature and reports it directly to Home Assistant over Wi-Fi — no subscription, no cloud, no monthly fees. Once installed, it just works, quietly doing its job day after day while the sun keeps it charged.
I built this for my own backyard pool after getting tired of walking outside just to check if the water was worth jumping into. Getting it right took some trial and error — deep sleep timing, solar charging behavior, OTA flashing quirks — and I documented all of it so your build goes smoother than mine did.
What's Included:
- Complete step-by-step wiring and assembly instructions
- Full ESPHome YAML configuration — ready to flash
- Home Assistant integration walkthrough
- Deep sleep configuration for maximum battery efficiency
- Solar charging setup guidance and battery sizing tips
- OTA (over-the-air) update instructions including the deep sleep workaround
- Waterproofing and weatherproofing recommendations for outdoor installation
- Troubleshooting section covering the most common issues
Highlights:
🌡️ Accurate Pool Water Temperature — Always Available
The DS18B20 is a waterproof, submersible digital temperature probe accurate to ±0.5°C. It delivers a reliable reading every time the ESP32 wakes from deep sleep and transmits to Home Assistant.
☀️ Solar Powered — Set It and Forget It
The sensor runs on a small LiPo battery kept topped up by a compact solar panel. No running power cables to the pool, no battery swaps, no maintenance. Install it once and let the sun do the work.
😴 Deep Sleep for Maximum Efficiency
The ESP32 spends the vast majority of its time in deep sleep, waking only long enough to grab a temperature reading and push it to Home Assistant — then going right back to sleep. The guide covers exactly how to configure run duration and sleep intervals for your update frequency needs.
⚡ Powered by ESPHome — Native Home Assistant Integration
No cloud dependency, no third-party bridges. The sensor appears as a native entity in Home Assistant the moment it wakes up and reports, ready to use in dashboards, automations, and alerts.
📄 YAML Included — Customize and Flash
The full working ESPHome configuration is included. Plug in your Wi-Fi credentials, adjust your sleep duration, and flash. The guide walks through every section of the YAML so you understand what each part does.
🔧 OTA Flashing — Deep Sleep Workaround Included
Updating a deep sleep device over the air requires a trick — you need to temporarily extend the run duration so the device stays awake long enough to receive the update. The guide covers this exact procedure so you never have to dig out a USB cable for routine updates.
💰 Inexpensive and Weatherproof
Total hardware cost runs $10–15 including the solar panel and LiPo battery. The guide includes recommendations for weatherproof enclosures to protect your electronics from the elements year-round.
🏠 Perfect for Pool Automation
Trigger automations based on water temperature — get a notification when the pool hits your target temp, automatically log daily highs and lows, or display a live reading on your Home Assistant dashboard right alongside your other backyard sensors.
Who This Is For:
This guide is written for Home Assistant users who want a reliable, self-sufficient outdoor sensor without running power cables or relying on cloud services. If you've used ESPHome before you'll feel right at home. If you're newer to it, the step-by-step instructions walk you through every stage from wiring to first reading on your dashboard.
Hardware Required (not included):
- ESP32 development board (~$4–6)
- DS18B20 waterproof temperature probe (~$3–5)
- Small LiPo battery — 1000–2000mAh recommended (~$5–8)
- Mini solar panel — 5V, 1W or greater (~$4–8)
- Weatherproof project enclosure (~$5–10)
- 4.7kΩ resistor (pull-up for DS18B20 data line)