Some weeks ago I bought my first smart plug from MyStrom. If you are living in Switzerland you have only a limited choice of smart plugs because of the non EU standard plug (T13).
MyStrom is pretty cool because it mets almost all my requirement, there is a possibility to measure to power consumption within two rates (day and night), it’s controllable with the mobile phone app and there is a nice web interface.
But one thing I miss, I cannot react to triggers and power of the smart plug on a defined event. Like already in an earlier post mentioned there is a REST API which allows to control the plug from the internal network. (See Another LaMetric IoT script – power control)
Last day’s I just found the API documentation which allows to control the MyStrom out of the cloud:
So I have now all to connect this Thing to the Internet and react on a trigger.
Possibility 1: The everything imaginable way,
MyStrom and Octoblu
If you are using Octoblu beta, which is currently available for everyone for free you can create very intelligent workflows to control your smart plug. You can react to twitter and power of or on depending what is twittered, you can power off your heater as soon a temperature is reached, you can stop charge as soon your device have a defined state of charge.
The Things you connect use with Octoblu are nearly infinite.
Octoblu is for advanced use, and to be honest I’m also on the learning phase! I do not describe here more details for this case. There are a lot of sample blueprints on https://www.octoblu.com . Octoblu was acquired by Citrix in 2015.
Possibility 2: The easy way,
MyStrom and IFTTT
This way is suitable for “Home use” and for people who only want to create a simple workflow where a trigger initiate for example a Power On or Power Of of the smart plug.
All what you need is a Control-Script on a Webserver with PHP on the Internet, and a IFTTT account.
How it works: The script is very simple, it just handle the authentication process on the API, read the AuthToken out of the JSON answer and Push out the payload with the AuthToken. IFTTT just take the trigger and call the script with the username, passwort and the payload which you can build from the API
Example: I want to control my smart plug by twitter, if I twitter #lightsoff
Take this script and put it on your webserver:
Create a recipe on IFTTT, use Twitter as Trigger and Maker as Action. In maker you create your request:
e.g. the payload to turn of the device with Mac 64002D012325 is: https://mystrom.ch/mobile/device/switch?on=false%id=64002D012325
The result should be that:
You create 2 of those recipies, one to Power On and one to Power Off
Now you can twitter you defined hashtags to control your smart plug.