This is a free standalone implementation of the WemoServer built into AutomationManager on play. To use the full set of features (rule engine, remote access) you do need to purchase and control it with AutomationManager. The basic function (discover devices, monitor state, set on/off, logging) work in this free version. For this basic function It can be started when needed - running it as a server is not required.
Download the jar using the arrow at the bottom right side of this page.
Pre-reqs - Java JRE (or JDK) 1.8 or later installed on your system. See http://www.java.com.
If you get a start up message mentioning version errors double check with "java -version".
Once you've got this running you can use the WemoManager app (WemoRemote) to access the server, see WemoRemote instructions for setting up remote access.
Run (with gui) using
"java -jar WemoServer.jar"
"javaw -jar WemoServer.jar"Where "java" is the path to your java 1.8 or later java.exe (or javaw.exe).
On windows you can usually just double click on the jar, depending on how java was installed.
I hope use is self-explanatory.
Use WemoRemote to view and control your devices while you are away.
WemoRemote can also be used to create, test, download your rules, WemoServer for java runs the same rules as WemoServer for android.
The REST, intent, and HTTP/browser features of WemoServer for android are not supported by WemoServer for java.
WemoCLI and Events - adding external automation.
Headless Operation - for systems without a GUI (e.g. raspberry pi or a NAS server). If you don't have one already consider using an old android phone. Less than $50 used from ebay, a phone already has wifi, a battery, and a touch screen.
TimeZone issues on Linux (with thanks to Sander for helping me solve this):
At the time of writing Java/Linux may not play well together with respect to timezones. In some cases the java runtime library does not pick up the linux system timezone settings properly. This can cause issues with scheduled rules running in the WemoServer rules engine. You can work around this by setting the proper timezone where Java can see it, either in the user profile of the WemoServer user:
set "export TZ=Europe/Amsterdam”
or for all users in the system:
create /etc/timezone and add "Europe/Amsterdam"
Of course you would substitute your own local timezone.
Sander has graciously provided a set of scripts that can make it easier to run wemo in headless mode on linux (e.g. on NAS servers), see the wemo-scripts.tar attachment below. Thanks Sander!
Wemo State changes
The WemoServer registers with and receives events back from the wemos. The IP address shown in the WemoServer window must match the device, as it uses this as the registration address. If it is incorrect, confirm that there is no override of the IP in the /etc/hosts file on the device, for example:
This is incorrect and must be removed for WemoServer to work properly.