I bought a Tuya 60W Ceiling Light because it was cheap and I ignored the reviews where many people had it fail on them. Sure enough, after a few months the light would no longer connect to WiFi and was constantly flashing off and on. But we can fix this with open source software!
The brains of this light are a proprietary CB3S Tuya WiFi module, but it's pin compatible with the ESP-12 ESP8266 modules, so let's take control of our electronics. This PCB was marked YL.FR4.0257 V1.3 50W 433+WIFI, maybe this PCB is used in other Tuya lamps as well.
I made a forum thread for this here.
Use a hot air rework station to desolder the Tuya module, there's no center pad under the module so you can solder the new ESP-12S module in with a soldering iron.
Solder jumper wires to the ESP pads and connect it to a USB to Serial adapter like a CH340 or FTDI. You need to connect the 3.3V, ground, GPIO0 to ground, RX to TX, and TX to RX. Here is a pinout for the ESP-12. Alternatively, you could use an ESP-12 programming jig like this to flash the module before soldering it.
Enter your WiFi details in secrets.yaml
then follow the ESPHome instructions. Here's another tutorial, or if you're running Home Assistant in a docker container like I am, you can install the ESPHome command line and then run esphome run ESPHome-Tuya-Ceiling-Light.yaml