Hey folks! I’ve been working on a small iOS app to make ESPHome a lot more approachable for family members and anyone who doesn’t want to poke YAML or IPs all day.
Meet ESPHome Device Manager for iPhone and iPad — now on the App Store:
- App Store: ESPHome Device Manager
What it does
-
Auto-discovers ESPHome devices on your network (Bonjour/mDNS). No typing IPs.
-
Shows a clean device overview: name, IP, last seen, and whether the web server is running.
-
Pulls a list of components/entities per device and their current state.
-
One-tap controls for common components (switches, lights, fans, covers, numbers, selects, etc.).
-
Periodic refresh and pull-to-refresh to keep states up to date.
-
Manual add by IP/port if discovery is blocked, plus HTTP basic auth support.
-
Optional organizing: group, reorder, or hide components for each device (great for simplifying for non-technical users).
Make it great: enable component listing
For the best experience, please install the “listcomponents” web_server extension on your devices. It exposes a /components endpoint that the app reads to accurately list and control entities.
- Extension: esphome-webserver-listcomponents
Add this to your ESPHome YAML (keep your existing web_server: settings):
external_components:
- source: github://domgrimm/esphome-webserver-listcomponents
components: ["webserver_listcomponents"]
# Enable the built-in web server (required)
web_server:
# Enable the list components component
webserver_listcomponents:
It works without the extension (the app falls back to the REST API and some lightweight HTML parsing), but with listcomponents everything is faster, more reliable, and more complete — especially for non-technical users who just want a simple list of “things” to tap.
Why it helps non-technical users
-
No Home Assistant setup required to see/control what’s on the device.
-
Friendly names and grouped sections keep the screen focused on what matters.
-
Clear “No web server running” hints so you know what’s missing.
-
“Fallback AP” detection with a built-in link to the device’s captive portal when you need to fix Wi‑Fi.
If you’ve got ideas or feedback, I’d love to hear it!