I'll be the contrarian. I really do not like ESPHome at all. It sure is a nifty whizzbang project, and generating firmware on the fly from a json config is pretty neat, but I found it to be utterly insufferable.
First, the ESP is a beast of a chip. The 32s have megabytes of flash space. Maybe I'm missing something, but it seems that it should be very possible to have one firmware image that consumes the same json config directly to set up components at runtime. The compiler for ESP is slow and the binaries are quite large. Makes far more sense to beam over a couple kb of json than a few MB image.
I found the documentation to be absolutely terrible. Took me multiple hours to figure out how to use the LEDC peripheral with RGBW LEDs.
I also wanted to include an IR remote transceiver, the ESP has hardware for this. There seemed to be no IR receive software available, and the IR transmit module gave you a single button. Just one. I was expecting a keypad at the very least.
Also the whole process of finding a module for the functionality you want is a little ridiculous. You just scroll through this endless list of poorly categorized modules with ambiguous names and irrelevant icons. Then once you find what you want, you have to find the documentation for its json somewhere else entirely.
Honestly I would enjoy this project a lot more if it were simply a light framework that you plug into your own firmware. Handle the web stuff and HA API calls for me and just expose some events so I can handle user input myself. Instead I have this gigantic binary blob. I'm sure I could go find the firmware it's generating and customize it myself, but it seemed like a lot of effort so I gave up.
It's a neat project if all you want to do is plug some stuff together and never, ever think about anything. That's not how I like to work, there's far, far too much hidden from me.
First, the ESP is a beast of a chip. The 32s have megabytes of flash space. Maybe I'm missing something, but it seems that it should be very possible to have one firmware image that consumes the same json config directly to set up components at runtime. The compiler for ESP is slow and the binaries are quite large. Makes far more sense to beam over a couple kb of json than a few MB image.
I found the documentation to be absolutely terrible. Took me multiple hours to figure out how to use the LEDC peripheral with RGBW LEDs.
I also wanted to include an IR remote transceiver, the ESP has hardware for this. There seemed to be no IR receive software available, and the IR transmit module gave you a single button. Just one. I was expecting a keypad at the very least.
Also the whole process of finding a module for the functionality you want is a little ridiculous. You just scroll through this endless list of poorly categorized modules with ambiguous names and irrelevant icons. Then once you find what you want, you have to find the documentation for its json somewhere else entirely.
Honestly I would enjoy this project a lot more if it were simply a light framework that you plug into your own firmware. Handle the web stuff and HA API calls for me and just expose some events so I can handle user input myself. Instead I have this gigantic binary blob. I'm sure I could go find the firmware it's generating and customize it myself, but it seemed like a lot of effort so I gave up.
It's a neat project if all you want to do is plug some stuff together and never, ever think about anything. That's not how I like to work, there's far, far too much hidden from me.