from Hacker News

Reprogramming a $13 consumer wifi-enabled outlet

by zipfle on 11/25/17, 8:14 PM with 42 comments

  • by kogepathic on 11/25/17, 10:06 PM

    This looks quite similar to the Sonoff S20. [1] Although they opted for the ESP module instead of designing a custom PCB around the ESP8266 chip as Sonoff does.

    According to the S20 schematic, uart is routed to a header, so it should be easier to flash. [2]

    The Sonoff S20 is the same price as the mentioned model, and is supported by espurna. [3] Espurna is great, it has MQTT, Domoticz, Home Assistant, an HTTP API, and Alexa integration. Espurna also supports sending data directly to InfluxDB which is very handy.

    If you want to monitor power consumption as well, I can highly recommend the Sonoff POW. [4] Although to get a plug you will need to butcher an extension cable or power strip. If you only want to monitor power consumption and don't want to have the relay, it's quite easy to solder across the relay in the Sonoff POW and use it only as a power monitoring device.

    Just a reminder to anyone working with these devices: never, ever connect UART while the device is plugged into AC!!

    [1] https://www.itead.cc/smart-socket.html

    [2] https://www.itead.cc/wiki/S20_Smart_Socket

    [3] https://bitbucket.org/xoseperez/espurna/wiki/Hardware.md

    [4] https://www.itead.cc/sonoff-pow.html

  • by peterburkimsher on 11/26/17, 1:35 AM

    A few months ago there was a similar post about Edimax power sockets and the Raspberry Pi. I commented that I'd like to automatically reset my WiFi router/modem when the Internet connection fails.

    Someone commented to tell me about the ResetPlug, which does just that. I'm now the very happy owner of one.

    I don't mean that as a advert, but as an encouragement that when you comment useful links to products that already exist, it does make a difference, and I appreciate it. (not spam, but user recommendations).

  • by martyvis on 11/25/17, 9:29 PM

    The most popular esp8266 based relay from Sonoff is designed for friendly reprogramming - http://randomnerdtutorials.com/reprogram-sonoff-smart-switch...
  • by peteforde on 11/25/17, 11:28 PM

    I really enjoyed reading this, but it wasn't entirely clear to me what the author planned to reprogram the unit to actually do. So from my perspective, the article ended abruptly when the author declared success even though I was looking forward to a description of the conclusion.

    The story is important and often overlooked in these moments. It's what justifies spending a hundred hours and $200 to achieve something you could probably just buy for $50.

  • by tga on 11/25/17, 9:26 PM

    The Sonoff S22 is a good candidate for reprogramming, with the bonus option that it supports external temperature+humidity sensors.

    You can definitely achieve the same functionality cheaper with a ESP8266 breakout + shield, but this way you get a nice case that can just sit on a socket.

    https://www.aliexpress.com/item/Sonoff-S22-Smart-Wifi-Power-...

    https://github.com/arendst/Sonoff-Tasmota/issues/627

  • by Johnny555 on 11/26/17, 7:54 AM

    While DIY can be fun, I prefer to buy a finished product when there's a solution readily available... Especially when dealing with home wiring.

    When faced with a similar problem (big room, wanted to control multiple lights without pulling wires), I used an Insteon battery operated remote switch:

    https://www.smarthome.com/insteon-2342-242-mini-remote-switc... ($42)

    And an inline switch module that went up in the ceiling light housing: https://www.smarthome.com/insteon-2443-222-micro-on-off-modu... ($49)

    And a couple plug in lamp modules:

    https://www.smarthome.com/lamplinc-insteon-2457d2-plug-in-la... ($39)

    One advantage of the off the shelf products is that they are all UL approved for the use, so if it catches fire and burns my house down, I don't have to prove that it wasn't my fault.

  • by Robotbeat on 11/26/17, 6:38 AM

    I've noticed a big market gap, ever since I got an electric car. Every EV owner has a 120V AC charger that they can plug in almost anywhere with an outlet, however getting permission is a challenge. Owners of the outlets rightfully want compensation. But a full commercial charger rig is like $1000 at least. That's way too much!

    What I'd like is for outlets to have wifi or bluetooth connectivity on them. I just tell the outlet to turn on via some app, and the app/outlet keep track of how long the outlet is on and charges me a flat rate per unit time. Simple. The smarts for this need only cost $13 above what a regular outlet costs, as this project shows.

    This would be especially useful in apartments or parking garages. Provided you already have lights, it'd be cheap to run a 120V outlet to within reach of most (or at least a large number of) parking spots. $13 of electronics plus maybe $50 (i.e. a quad outlet of $200 split among 4) to install an outdoor outlet is all it'd cost to electrify a parking space. The owner of the parking lot could offer low cost electricity and, say, make a profit off the difference between residential and commercial/industrial electrical rates (might take a few months to pay for the outlet, but not more than a year for a well-used spot, then the owner makes an easy profit). Everyone wins, and urban EVs become practical for everyone (and a slow charge is fine. of course, you would still want fast chargers to top up if you were doing a lot of driving, but that can be done elsewhere). Also would be pretty cheap to install on all parking meters.

    Just need someone to develop that app and an outdoor outlet with a $13 bluetooth relay that talks to the user's app (only the user's app would necessarily need internet connectivity). Someone do this and be a hero.

  • by xt00 on 11/26/17, 3:17 AM

    I think it’s great that the author did this as a learning experience. It seems like soldering on a few wires could have saved you like 3 weeks.. but anyway, the ESP8266 is a great platform. Super cheap, minimal components, easy to program, you can write code natively using the SDK or various script based languages. And has good support from the manufacturer.
  • by colemannugent on 11/25/17, 9:23 PM

    There seems to be enough room in the enclosure to solder on some pin headers to both sides of the ESP-12. That would make getting access to them a lot easier than trying to rig up a custom 3D printed pogo pin setup.

    Other than that, this is exactly what I've been looking for. I have an old wireless outlet (controlled by a RF remote) that I rigged up a Raspberry Pi Zero to, but that is a lot of effort compared to soldering some headers and flashing a new firmware.

    Now all we need is some good software to securely integrate this with other IoT systems.

  • by gumby on 11/26/17, 6:02 PM

    I like the explanation of the "journey" rather than just the description of "how you can do this too."
  • by rcarmo on 11/26/17, 10:28 AM

    I’m looking for a direct hardware equivalent with an EU plug - anyone got references to share?
  • by unixhero on 11/26/17, 8:16 AM

    I use tp-link hs110, Wi-Fi enabled metering plugs. Highly recommended.
  • by jtchang on 11/26/17, 2:57 AM

    Cool I was actually working on this exact thing!
  • by z3t4 on 11/25/17, 10:55 PM

    wifi seems overkill to send on off signals. i would use 433mzh