Controlling a cheap smart plug from Linux

Using curl from the CLI

But you don't have to use a web browser to give commands to the Sonoff S20. You can use the Bash curl command. To power on the smart plug and let it automatically shut down after seven minutes, use:

$ curl http://192.168.1.22/control?cmd=event,startmakingcoffee

The Timer Function

The smart plug has an internal scheduler. It can be used to program the Sonoff S20 to start and stop at given times. Make a ruleset like the one in Listing 4 to start the plug at 05:45 each morning.

Listing 4

The Internal Scheduler

 

Or you can make it power on depending on the day of the week at predefined hours (Listing 5).

Listing 5

Power-On on a Day of the Week

 

You can even make it do things between certain hours during the day, as shown in Listing 6.

Listing 6

Power-On at a Time

 

Conclusion

With a $4 FTDI controller, four cables, and a bit of soldering, you can turn a Sonoff S20 smart plug into a remote-access power-handling device. Using curl or a web server with predefined HTTP links or JPEG buttons, you can control your entire house, from lights to the fridge to anything that needs power from a wall socket. If you set up a VPN, you can SSH into your OpenWrt-powered router, and from there, pass commands via WiFi LAN to any of your smart plugs.

You can start the air conditioning at your log cabin during hot Summer days while on route, turn on your workplace PC before you enter the office building, warm up tea, or wake up to a hot pot of freshly-made coffee in the morning. Program it to do certain things at certain times of the day or week, plug it in, and forget about it. As long as there's power from the power grid and you can access the WiFi network, you don't need an Android app to control your house. The living room TV could power off at midnight if you fall asleep in front of it – even if it's not a Smart TV. Turn your vintage radio into an alarm clock, or water the lawn periodically without a dedicated hose controller – all with a few smart plugs and Linux.

The Author

Razvan T. Coloja is a Romanian psychologist who has worked both as an administrator since 1997 and as the editor-in-chief of the now-defunct Romanian IT magazine MyLINUX. He was the executive editor of the IT-centric magazine MyCOMPUTER for three years, and he has worked as an editor for CONNECT magazine. He has published Linux articles in international print magazines and online.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Tasmota

    Flashing IoT devices with new firmware lets you wield control and keep them out of the cloud.

  • WiFi Thermo-Hygrometer

    A WiFi sensor monitors indoor humidity and temperature and a Node-RED dashboard reports the results, helping you to maintain a pleasant environment.

  • Programming Snapshot – Power Outages

    A power failure can cause the IQ of a smart home to plummet suddenly. An emergency power supply and a script on the SmartThings platform can prevent a total outage and inform the owner. The polyglot Perlmeister embarks on a foray into the territory of the Groovy scripting language in this issue.

  • First Look at TonidoPlug
  • Gnublin

    Embedded Linux doesn’t have to be rocket science, which the Gnublin board clearly shows. If you want to learn how to read sensors, flip switches, and switch LEDs on ARM Linux, this tiny machine is perfect for your research.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95

News