Just a couple notes with the POW’s based on what I’ve experienced recently…
Be careful flashing the latest firmware (5.12.0) via OTA from the web site or manual upload. Its left my Sonoff POW’s totally inoperable. I had some other POWs lying around on my desk so I tested flashing these via Arduino IDE with the same firmware, and found they boot up, crash, reboot over and over. However I noted that the cause of this was that the lwIPvariant was set to v2 prebuilt, so under Tools menu in IDE, change to v1.4 prebuilt then reflash and it stops the continuous reboot behaviour. I am also unsure, after I did the OTA update on my original ones, whether the lwIPvariant has a bearing on the crashing issue there, since it seems to be an IDE setting? I have yet to unplug the “dead” POWs from the wall and update directly via serial yet (hopefully tonight after work). Also don’t bother with development release 5.12.0d yet, while that boots up ok, MQTT doesn’t work. Rollback to 5.12.0 and MQTT works again.
EDIT 1: Actually, one of the Sonoffs is a basic, and that’s dead… so may be related to other models too.
EDIT 2: Removing from the wall, plugging into FTDI and testing, nothing, dead as. Re-flashing, voila, comes up and working fine again. Need to do more testing to do determine OTA flashing cause…
EDIT 3: Tested flashing the Sonoff basic OTA again, pointing to 5.12 bin file, appears to be successful, restarts, but then no response doesn’t come back up, doesn’t respond to pings. However, pulling power completely and plugging back in, it does respond again. So, tested dropping mains power to whole house, power back on, however this does NOT fix the Sonoff POW. Going to have to remove from the wall and attempt re-flashing the POW and see what happens…
EDIT 4: Removed Sonoff POW from wall (it runs my swimming pool return pump) and noticed it had a burn LIVE pin on it. I plugged in via FTDI cable to test anyway. Got zero response from it, no button press etc, just didn’t work. So, I re-flashed it via serial - it completed flashing 100%, but just wouldn’t work (connected, disconnected from serial over and over). Burnt pin,… in the bin. I am fairly positive that the burnt pin was caused by Sonoff booting up, crashing, resetting over and over. I took a video of this and uploaded to Youtube - (turn your volume up) you can hear the relay clicking on/off very fast - likely a continuous reboot, crash, startup would have created some fairly heavy surges in mains power and caused this. Scary stuff as this is a potential fire hazard…, and something I would suggest gets trapped in the firmware - say either delay a couple of seconds on start up, or some process on startup to check the “boot count” within a fixed time period, and if its on, off, on, off, within milliseconds, then stop. Obviously if the Sonoff crashes prior to the code kicking in its useless, but food for thought.