This is about the Home Assistant side. Device configuration is covered by the ESPHome items.
Adding a device
- Devices on the same network show up as Discovered in Settings → Devices & services.
- Manual setup: host name or IP and port 6053 (native API).
- Home Assistant asks for the device's encryption key, a 32-byte base64 noise key from the device's
api: encryption: key:configuration. Use one per device and keep it out of shared configs (ESPHome supports!secrettoo).
Actions are off by default
An ESPHome device can't call Home Assistant actions (services) or send events unless you enable it in the device's integration options ("Allow the device to perform Home Assistant actions"). If a device's homeassistant.action does nothing, this is the first thing to check. Only enable it for devices that need it: it lets the device control other parts of your home.
Bluetooth proxies
An ESP32 running ESPHome can serve as a Bluetooth proxy. BLE sensors far away from the Home Assistant host are then received through the nearest proxy. Scanning mode in the integration options:
| Mode | Trade-off |
|---|---|
| Auto (recommended) | sensible default |
| Active | faster discovery, more battery drain on nearby BLE devices |
| Passive | least impact on battery-powered devices |
Place a few proxies around the house instead of one strong one. ESP32 Wi-Fi and BLE share a radio (see the ESP32 coexistence item), so prefer Ethernet-connected ESP32 boards for busy proxies.
When a device keeps going unavailable
Check Wi-Fi signal (ESPHome's wifi_signal sensor), power supply (brownouts) and whether the API key or device name changed after a re-flash. The integration logs show connection and handshake errors.