ESPHome is open-source firmware for ESP32, ESP8266 and similar chips, built from a YAML description. ESPHome devices connect to Home Assistant locally over its native API. Newer chips can also join Zigbee or Thread networks.[1–4]
ESPHome
Platform / DIY firmware
Updated
Capabilities
What ESPHome supports
How facts are sourced: every cell cites its source below| Capability | Supported | Since |
|---|---|---|
| Wi-Fi with local control | Yes[1] (Every ESPHome device works with Home Assistant locally and privately.) | unknown |
| Bluetooth proxy | Yes[5] (The Bluetooth proxy component forwards BLE advertisements and active connections to Home Assistant. BLE only.) | unknown |
| Home Assistant native integration | Yes[6] | unknown |
| Matter over Wi-Fi | unknown | unknown |
| Zigbee | Yes[3] (As a Zigbee end device or router on ESP32-C5, C6, H2 and nRF52, Home Automation profile only. ZHA or Zigbee2MQTT is the coordinator.) | unknown |
| Thread network node | Yes[4] (OpenThread component on ESP32-C5, C6, H2 and nRF52840. Needs a Thread border router.) | unknown |
| MQTT (local) | Yes[7] (Alternative to the native API.) | unknown |
What it is
ESPHome is firmware, not a hub. A device is described in a YAML file or the visual Device Builder, and ESPHome generates and flashes the firmware. It targets ESP32, ESP8266 and RP2040/RP2350 boards, plus BK72xx, RTL87xx, LN882 and nRF52 chips found in many off-the-shelf plugs and bulbs. After the first flash, updates can go over the air.[1][8]
The hub is whatever the device talks to, which in practice is Home Assistant. Its ESPHome integration discovers ESPHome devices and controls them over the local network.[1][6]
Which paths it supports
The native API is a compact protocol-buffer connection with no broker in between. MQTT is available as an alternative.[2][7]
On ESP32-C5, C6 and H2 and on nRF52, ESPHome can join a Zigbee network as an end device or router, with ZHA or Zigbee2MQTT as the coordinator. It supports the Home Automation profile only. The same chips can join a Thread network through ESPHome's OpenThread component, which needs a Thread border router.[3][4]
The Bluetooth proxy turns an ESP32 into a remote Bluetooth LE radio for Home Assistant. It forwards advertisements and, on ESP32 and RP2040, active connections.[5]
Local or cloud
ESPHome devices work with Home Assistant locally, with no cloud account involved.[1][6]
Limitations
- Zigbee support exposes only basic properties, and Wi-Fi access point mode cannot run alongside Zigbee. The docs report the ESP32-H2 as more reliable than the C6.[3]
- On Thread, OTA updates fail on sleepy devices with a poll period set, and sleepy end device support is incomplete.[4]
- The Bluetooth proxy handles BLE only, with three active connection slots by default on ESP32.[5]
Devices that list ESPHome
Devices that work with ESPHome
How facts are sourced: every cell cites its source below| Device | Path | Supporti | Integration | Home Assistant | Homey |
|---|---|---|---|---|---|
| Espressif ESP32-DevKitC | DIY firmware | Native[9] | - | Workaround | unknown |
| Konnected Alarm Panel Pro (Board Only) | Wi-Fi local | Native[10][11] | - | Native (local) | unknown |
| Konnected Alarm Panel Pro 12-Zone Conversion Kit | Wi-Fi local | Native[10][11] | - | Native (local) | unknown |
| Konnected Alarm Panel Pro 12-Zone Interface Kit | Wi-Fi local | Native[10][11] | - | Native (local) | unknown |
| Konnected Smart Garage Door Opener blaQ | Wi-Fi local | Native[10] | - | Native (local) | Community app |
| Konnected Smart Garage Door Opener White (v2) | Wi-Fi local | Native[10] | - | unknown | |
About these columns
- Support
- Native means the platform controls the device on this path out of the box. Via integration means it needs an add-on. Not supported means it does not work on this platform.
Sources
- [1]
- [2]
- [3]
- [4]
- [5]
- [6]
- [7]
- [8]
- [9]
- [10]
- [11]MFRsupport.konnected.io / ESPHome Customization on the Konnected Alarm Panel Pro - Konnected help centerAccessed Back to text