I love ESPHome, I have it on a variety of smart lightbulbs, smart plugs, custom ESP32 projects and Shelly 1's. Having the device behaviour as "code" (yaml) for me is much nicer than some UI configuration when you start to scale up to lots of devices. It means I can have my IoT devices behaviour stored in Git and roll out updates quickly.