Sunday, December 30, 2018

Wemo local control from Homeseer

Wemo Mini Smart Plug, WiFi Enabled, Works with Alexa, Google Assistant & Apple HomeKit

3Camel price chart

Got a couple of these for half price on Good Friday looking for another cheap option to reset cams and such. I also wanted something I could control locally unlike the Etekcity and Sonoff options which Wemo is supposed to do.

What did not work

First I tried the Eric Fetty Wemo Software Plug-in for HS3 This appears to integrate well from past reviews but for some reason seems to have stopped working for some like me. I could never get it to discover the plugs.  Trying to debug lead me to the github project palominolabs/belkin-wemo-switch then cybergarage/cybergarage-upnp. After some playing around with these I found it only discovered the Wemo plugs intermittently. I looked a few others. Most of them wanted to set up some sort of bridge server.

Getting a working interface

Then I came across agilemation/Belkin-WeMo-Command-Line-Tools. The only "downside" seems to be it uses linux shell scripts byt installing cygwin will get around that. When you install cygwin be sure to get the curl command. Of course you could reverse engineer this to make the HTTP calls but calling from Homeseer is simple enough to make the effort seem like a waste. So here is what I did:
Install cygwin (including curl)
Install npm via Node.js
Make a folder for the projects. I put mine in C:\npm
cd c:\npm
Run the command
npm install belkin-wemo-command-line-tools
The new commands are in C:\npm\node_modules\belkin-wemo-command-line-tools
in C:\npm I created a bat command containing

cd C:\npm\node_modules\belkin-wemo-command-line-tools
C:\cygwin\bin\sh wemo -h %1 -a %2

Now you have a simple command with the syntax of wemo ip_of_switch ON_or_OFF

Linking to Homeseer

First you need to create a virtual similar to those outlined in this post.
Then you just need to setup a couple events to trigger on the state change of that virtual similar to these.
In this case 10.10.1.141 is the IP address of my first Wemo switch.

Note you could also create scripts to get state, signal strength and name info and even set the name of the plug. Though at that point reverse engineering the shell script into VB might be worth the effort.

No comments:

Post a Comment