Not sure how to solve this problem, hopefully I’m not the only one experiencing this:
My sonoff Basic is online (got them online using the eWeLink app), and shows as online in ESPHome, but trying to flash it gives a error on API.
I have no password for the API. In the .yaml it is simply "api: "
It means that the sonoff is not working, you will have to solder on the pins needed to access the sonoff with a uart and then to your usb port. I have two sonoffs with the esphomelib firmware, one worked coming from tasmota and one didn’t and I had to open it up and solder the header pins on and connect to my ft232
You cannot flash sonoff devices over the air if they still have their original firmware. You need to open the device an connect USB serial. You don’t need to solder, you can directly plug male dupont cables. But you need the USB TTL uart adapter. After that you can flash anything over the air.
This really depends on the firmware of the Sonoff. Some older firmwares can be flashed OTA with for example Sonota. I believe the S20 can do this (and the TH models as far as I know). But tbh, I thought flashing it with a programmer and some cables would be daunting, but it really isn’t and it is actually easier (at least in my experience) than trying to flash it ota.
Most sonoffs have newer firmware and Ewelink has disabled the “old” way of flashing it. So you probably won’t be able to flash it without a programmer. However after you have flashed it you can flash the sonoffs over the air without problems. (Just remember that sonoffs have very limited memory).