This WTH has 3 different closely related complaints:
- Making ESPHome devices that still work when Home Assistant is down
- Making ESPHome devices that still work when the Wifi is unavailable
- Making ESPHome devices that maximize battery life well
I’ll use the concrete example of our ESP32 automated Cat Feeder for demonstration.
Specifically, for (1), it’s hard to write “fallback” cases that attempt to use home assistant for events etc, but if they fail continue to run successfully. (I still want the cat to be fed, even if HA can’t receive events, and I don’t want the ESP device to reboot trying to connect when HA is down)
For (2), it’s similarly difficulty, because ESP32 devices reboot constantly when their wifi connection fails, and it’s not obvious how to prevent it. (Again, I want the cat fed no matter what, even if the router dies)
Finally (3) is the worst issue, because if I have a battery backup, all the options to make deepsleep work on esp32 are very overwhelming and feel like they need a ton of research to get right, and if you’re wrong? Sorry it either fails entirely, or your battery is used immediately and dies very quickly.
I’d love to see additional guides for making more resiliant ESPHome devices, not just very varied ones.