You may well have seen plenty of reviews and adverts for the Sonoff S26 WiFi Smart plug so I won’t go into too much technical detail here other than to say this VERY inexpensive wall socket can easily be re-flashed to run alternative software for those not to keen on relying on Chinese servers.
The S26 can be reflashed with nothing more than your PC and an inexpensive FTDI (USB to serial convertor) and can then run the excellent, free Tasmota software (sonoff release). Just be wary that the soldering connections are small.
I used the free ESP8266Flasher software to reprogram the units. https://github.com/nodemcu/nodemcu-flasher
Tasmota supports not only Sonoff switching operations but also Amazon Alexa which means you can turn devices on and off via the local button, by Alexa speech or by your chosen software.. I use Node-Red on a Raspberry Pi with MQTT to control most of my devices including the S26 units.
Probably the CHEAPEST IOT solution for controlling mains devices remotely is the Sonoff WIFI unit – but these require that you stick a plug on one end and hardwire the other end. With Sonoff S26 you simply plug the S26 into the wall and your device into the S26. I have the EU versions popular in Spain – you can get them for many other areas including the USA and UK. More info in the links.
SONOFF® S26 10A AC90V-250V Smart WIFI Socket -- http://bit.ly/2FuqHcj
More SONOFF Devices -- http://bit.ly/2YdwIBv