is there a way to make the esp act as a universal remote? other than being an ir receiver and doing every single button for every single device manually.

Edit: after writing all this I realize this is specifically NOT what you are looking for.... my bad

You definitely need to check out ESPHome. Just solder an IR receiver and IR transmitter to an ESP32 (iirc ESP32 has more accurate signal processing)

After a couple simple lines of YAML configuration, the logs will show the binary output of each IR signal you point at the receiver. There are even some common Panasonic/Sony etc codes that it will detect.

Then you just program that same binary or hex to be transmitted through your IR transmitter (with a couple more simple lines of YAML), then rinse and repeat.

I've found that a cheap SDR and antennae can help debug as you go along.

Super cheap way to do it in my opinion, and kinda fun if you enjoy doing that kinda thing

/r/esp8266 Thread