AutomationServer

WemoServer (java)

This is a free standalone implementation of the AutomationServer built into AutomationManager on play. To use the full set of features (rule engine, remote access) you do need to purchase and configure 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.

Yes, it's still called "WemoServer" but it is the engine from AutomationServer and does handle the same set of devices.

Download the jar using the arrow at the bottom right side of this page.

Search, will, when it's not blocked by your firewall or in use on Windows, perform a UPNP search for your wemos. You can disable upnp searching if your OS does not allow access to port 1900. You may need to open port 1900 for UDP and multicast on your server to allow this discovery to work.

On Windows you can use "Configure>Windows" Search if Windows has found the wemos. Do a refresh of My Computer>Network to see if your Wemo's show up in Other Devices, and then use "Manage>Search" in WemoServer. You may need to enable Upnp searches in Windows' network settings. If it doesn't work you'll need to use "Where's Wemo?" to find your devices. This page may help with configuring SSDP/UPNP: UPnP/SSDP on Windows.

Where's Wemo? will search a given IP for your wemos. Assign them a static IP in your router to ease your burden. AutomationServer will retain device information between runs.

Uncheck "Allow Registration" once you've registered and accepted all of your AutomationRemote clients.

Use AutomationRemote to view and control your devices while you are away.

AutomationRemote can also be used to create, test, download your rules, AutomationServer for java runs the same rules as AutomationServer for android.

The REST, intent, and HTTP/browser features of AutomationServer for android are not supported by AutomationServer for java.

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.

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 AutomationServer rules engine. You can work around this by setting the proper timezone where Java can see it, either in the user profile of the AutomationServer 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 the serverin headless mode on linux (e.g. on NAS servers), see the wemo-scripts.tar attachment below. Thanks Sander!

State changes

The AutomationServer registers with and receives events back from the devices. The IP address shown in the AutomationServer 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:

127.0.1.1 raspberrypi

This is incorrect and must be removed for AutomationServer to work properly.