# ESPHome

ESPHome is the official container for creating custom firmware for ESP8266, ESP32, Raspberry Pi, and Beken boards. It is open source and self-hosted, installable on Docker Hub, Proxmox, Kubernetes (Helm), ZimaOS, TrueNAS, Umbrel and Unraid.

Canonical page: https://ourlocalhost.com/app/53/esphome

## Description

ESPHome is the official container for creating custom firmware for ESP8266, ESP32, Raspberry Pi, and Beken boards. It streamlines building, flashing, and configuring ESP devices, provides helper tools for a reliable local workflow, and is useful for homelab users who want self-hosted firmware management for sensors, displays, and smart-home components.

## Platform availability

Available on 6 of 9 platforms: Unraid, TrueNAS, Umbrel, ZimaOS, Proxmox, Helm.

## Health score

42/100 (Fair), based on 3 of 4 factors.
- Maintained: 0 (GitHub repository no longer exists)
- Easy to install: 85 (6 install platforms, install notes, Docker image)
- Light to run: 95 (512 MB minimum RAM, runs on ARM)

## Links

- Documentation: https://esphome.io/install/
- Docker Hub: https://hub.docker.com/r/esphome/esphome
- Proxmox: https://community-scripts.github.io/ProxmoxVE/scripts?id=esphome
- Kubernetes (Helm): https://artifacthub.io/packages/helm/geek-cookbook/esphome
- ZimaOS: https://github.com/bigbeartechworld/big-bear-casaos/tree/master/Apps/esphome
- TrueNAS: https://apps.truenas.com/catalog/esphome/
- Umbrel: https://apps.umbrel.com/app/esphome
- Unraid: https://ca.unraid.net/apps/esphome-133ykx00t0xrps?q=ESPHome
- Official website: https://esphome.io/
- GitHub: https://github.com/esphome/esphome

## Common questions

### Why does my Dockerized ESPHome dashboard lose track of my devices?

ESPHome relies on mDNS to discover devices and resolve their .local names. Running Docker without host networking can stop multicast from reaching it. Use Docker's host networking mode.

### Can ESPHome devices work without a Home Assistant instance?

Yes, ESPHome can run without connecting to any Home Assistant instance, although many examples show it running under Home Assistant.

### What connection details does an external app need to talk to an ESPHome device?

Use the device's IP or .local name, port 6053, and the noise_psk encryption key. Without the correct address and key, the app cannot securely log in to the device.

### How should an app recover after an ESPHome device reboots or drops off the network?

Wrap the API client in ReconnectLogic and call start(). Set deep_sleep if the device sleeps, otherwise the app can stay disconnected after a network drop or reboot.

### Why does flashing over USB fail even when the chip is powered?

A common cause is a charging-only USB cable that cannot establish a data connection. Use a USB data cable for installation.

---
Source: Our Local Host (https://ourlocalhost.com/app/53/esphome), the self-hosted and open-source app directory.
