Symptom
A device restarts roughly every 15 minutes. The logs show a reboot with no crash. Typical situations:
- The device reports via MQTT only, or runs standalone with no Home Assistant.
- Home Assistant is down, being updated, or the device was deleted from the ESPHome integration.
- The device is somewhere with no Wi-Fi coverage.
Why
Both watchdogs are intentional and on by default:
| Setting | Default | Triggers when |
|---|---|---|
api: reboot_timeout |
15 min | no client has been connected to the native API for that long |
wifi: reboot_timeout |
15 min | no Wi-Fi connection for that long (not while in access point mode) |
ESPHome explains the API timeout: the network stack can report "connected" when it isn't, and only a full reboot fixes that.
Fix
MQTT-only or standalone device, where nothing connects to the API:
# either remove the api: block entirely, or:
api:
reboot_timeout: 0s
Device that must keep running its local logic even when Wi-Fi is down (thermostat, pump controller):
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
reboot_timeout: 0s
Keep the defaults on normal Home Assistant devices: they're a useful self-healing mechanism. Disable them deliberately, and only where a reboot is worse than a stuck connection. For example, if a restart would switch a relay off, also check restore_mode on switches.