HowTo
How do I set up remote access?
See: AM Remote instructions.
The AM Manager seems to affect my battery life. What can I do?
Only run (open) the AM Manager when you need it, and close it when finished.
Use "Clear and start over" or "Forget" if you have removed any devices from your network (the WemoServer will continuously to try to find missing device).
Use the AM Switch widget as it is passive, connecting when you request a state or status change. When it's red or yellow touch it to request a status update without changing the state of the switch.
Don't use the AM Device widget on your phone as it continually searches for and keeps the wemo status up to date (or you can set your SSID in the app preferences to search only when on your home Wifi).
Only use the AM Server widget with scheduled rules and make sure "Let android sleep" is enabled.
Set the Wifi only and SSID preferences so that the AM Server and device widgets only connect when you're on your home wifi.
Increase the refresh timer in the AM Manager. This controls the AM Manager, AM Server and AM Device wiget - how often they will search for devices that are failing to report status.
Set the refresh period to 0 in the AM Remote so that it only connects when you click the refresh button for the app or a device. Use the WemoRemote switch widget only when you need to check or change the switch state.
Use the option that prevents the AM Server and AM Device widgets from polling when the phone is unplugged.
If you're using AM Server you can use the Let Android Sleep preference. Only scheduled rules will wake the device this AM Server preference is set. Depending on the android version, the device will sleep when it's not plugged into the charger.
How do I use custom images for my Wemo's?
Open the app and touch the "camera" button for that wemo device. Choose a picture from your gallery.
If you want to use the default Belkin versions but they are not available on your Wemos, download Belkin.zip from WemoServer (java). Save the file to your android device, unzip the images into your picture gallery, and select the appropriate picture using the same method as above.
How do I start the AM Server on Android?
For a conventional AM Server, configure AM on your server device:
AM Preferences "Refresh and Charging" as "Refresh always" (unchecked)
AM Preferences "Refresh and Wifi" as "Refresh any time..." (unchecked)
AM Server "Let Android Sleep" as "device will stay awake" (unchecked)
AM Server "AM Server Rules" as "Rules rae being applied" (checked)
AM Server: "Rules on Wifi" as "Rules are active on any connection (unchecked)
Install the AM Server widget. When installed the AM Server widget looks like this and the AM Server will run:
Add the AM Server widget to one of your android device's home page. Any of the AM Server widgets will do, the small one (no devices displayed) is usually the best choice.
On most android versions long press on your home screen, pick "widgets" from the menu, then scroll to find it. Long press to drag it to your home screen.
On some versions of android open your "all apps" view. Look for the widget tab at the top and scroll/swipe to find the WemoServer widgets. Long press and drag it to a convenient place on your home screen.
Touch the widget to open AM Manager, you'll find the AM Server configuration in the settings menu.
It's important that the AM Server be kept running at all times if you're using the rule engine or want to access your wemos remotely.
Newer android devices are more aggressive with apps to save battery and resources. When running a server you often will need to confirm whether you have a task killer. If so, add the AutomationManager app to the list of exceptions. Check settings / device maintenance / battery manager, settings / app manager ./ special access / Optimize battery use. Confirm the app is set to unmonitored for battery savings.
It's usually necessary to force the android device to stay awake and the screen to remain on. First enable developer options: open settings, find "about device", find "Build number", and tap it 5-7 times. You should see a message that developer options have been enabled. Return to the settings main page to find the new options page. Enable "Stay Awake" to set the mode to prevent the screen (and android) from entering sleep mode. Always keep the server device on AC power.
Check the advanced wifi settings to ensure the wifi device is set to be always on, that it's not allowed to sleep to save power.
To enable remote access see AM Remote.
How do I use my devices with android automation apps?
You need to add the AM Server widget to your home page to enable automation. This will keep the process that is communicating with the Wemo devices active. It should show green, and show that all of your devices have connected properly.
Android apps communicate with "Broadcast Intents" or "Intents". These will be the actions you can perform in your automation app, and the WemoServer will send intents that can be received by the automation apps to trigger actions.
Each device "Intents" page has values (intent names, UDN, etc) that can be copied into the clipboard for pasting into your automation app.
What Intents does the AM Server recognize and act on? Note the AM Server widget must be active on your device's home page for intents to work (see above).
The preferred mechanism for initiating actions in the AutomationServer is to use the intent:
mpp.android.WemoManager.DoCommand
with the string extra: "command" set to one of the commands defined in: Automation Commands
The original intents are still supported:
mpp.android.WemoManager.TurnSwitchOn
set the string extra "UDN" to the switch's UDN
mpp.android.WemoManager.TurnSwitchOff
set the string extra "UDN" to the switch's UDN
mpp.android.WemoManager.ToggleSwitch
set the string extra "UDN" to the switch's UDN
mpp.android.WemoManager.StartFlashing
set the string extra "UDN" to the switch's UDN
set the string extra PERIOD to the desired value in seconds, if not specified the default is 2s.
mpp.android.WemoManager.StopFlashing
set the string extra "UDN" to the switch's UDN
mpp.android.WemoRules.ExternalEvent
set the string extra "EVENT" to an OnEvent trigger for the rule
fires any rule in the WemoRules engine with that OnEvent trigger name
the rules engine must be enabled
And the functional intents:
mpp.android.WemoManager.QueryState
Query the current (binary) state of the switch. Set the extra "UDN" to the device's UDN for a single device, or don't provide the UDN extra for all devices. The WemoServer will respond with an intent reporting the devices' current state (see below).
mpp.android.WemoManager.StartSearch
Look for new or missing devices
mpp.android.WemoRules.Calculate
request the app calculate the next sunrise and sunset times
if the string extra "location" is found with a "latitude,longitude" as decimal numbers, that location is used for the calculations
if not included, the last known location of the device is used if possible, or the device is asked for a coarse location
the WemoManager will respond with "mpp.android.WemoRules.SolarUpdate"
What intents does the AM Server broadcast that I can receive and act on?
mpp.android.WemoManager.ON.{deviceUDN}
with the same extras as StateEvent
mpp.android.WemoManager.OFF.{deviceUDN}
with the same extras as StateEvent
mpp.android.WemoManager.TRIGGERED.{deviceUDN}
from a WeMo Maker sensor, with the same extras as StateEvent
mpp.android.WemoManager.UNTRIGGERED.{deviceUDN}
from a WeMo Maker sensor, with the same extras as StateEvent
mpp.android.WemoManager.POWER.{deviceUDN}
sent when a WeMo Insight load changes by more than 1000mW
the extra "POWER" is the new power value in mW (long)
mpp.android.WemoManager.StateEvent
sent when a wemo device changes
the string extra "UDN" identifies the device
the string extra "STATE" is the device state
the string extra "NAME" is the device friendly name
the string extra "TRIGGER" is the trigger state (Maker only)
the string extra "ERROR" if the device has an error
mpp.android.WemoManager.ErrorEvent
sent when there's a device action or general error
the string extra "UDN" identifies the device if known device error, if not present it's a general error
the string extra "ERROR" is the error message
mpp.android.WemoManager.Sunrise
mpp.android.WemoManager.Sunset
mpp.android.WemoRules.SolarUpdate
the string extra "sunrise" is the next sunrise date/time (your locale)
the string extra "sunset' is the next sunset date/time (your locale)
the string extra "sunrise_time" is the next sunrise date/time ("dd.MM.yyyy HH:mm")
the string extra "sunset_time" is the next sunset date/time ("dd.MM.yyyy HH:mm")
use this intent to set the current sunrise/sunset in your automation application
What Intents does the AM Remote recognize and act on?
These intents can be used for automation from your phone, e.g. have the lights turn on when you enter your home cell phone zone.
NOTE: the AM Server must be running for these intents to be processed (new with Android 26+)
mpp.android.WemoRemoteDeviceWidget.TurnOn
mpp.android.WemoRemoteDeviceWidget.TurnOff
mpp.android.WemoRemoteDeviceWidget.SendEvent
mpp.android.WemoRemoteDeviceWidget.QueryDevice (no UDN for all)
For the remote intents use these extras:
Set the string extra UDN to the switch's UDN for device related intents.
Set the string extra EVENT to the event name from the OnEvent rule you want to execute
Set the string extra SERVER to one of:
http://your.domain.com:4033 or http://server.ip:4033 for HTTP remote connections
the client location name if using AutomationOnDrive connections
GCM project number if using GCM (deprecated). Note that Tasker sends an all numeric extra value as an INT extra by default - this will not work, the project number must be a string.
the ServerName you've assigned in the WemoRemote connection.
set the int extra RETRIES to 0 or more as the request can fail due to communication problems
How do I use NFC to control my wemos from my phone?
Get the NFC ReTag app from google play. Follow the instructions to capture your tag ID.
Create OnEvent rules in AM Server to perform the actions you want when the tag is detected. (If you're using AM Manager on your phone without a dedicated AM Server you can configure it to only run these events).
For AM Manager/AM Server, use the "ReTag Broadcast" action set to
mpp.android.WemoRules.ExternalEvent
where extra RETAG_MYVAR is set to the event name
For AM Remote, use the broadcast action as
mpp.android.WemoRemoteDeviceWidget.SendEvent
where extra RETAG_MYVAR is set to server:event
What is the HTTP/REST interface and how do I use it?
The HTTP/REST interface is a mini web server running in your AM Server (android AM only) giving you a simple way to control the Wemos from other automation services
Add the AM Server to one of your home screens and make sure the indicators are green (meaning the servers are running and all of your devices can be accessed).
Open the AM Server settings and enter a valid port number. The AM Server will start an HTTP/REST server and begin listening on that port on the IP address assigned to your Android phone/tablet (as shown on the widget)
The server supports the following:
GET .../devices - returns a JSON array containing all known devices and states
GET .../devices/{udn} - returns a JSON object with that devices state, including
"STATE": error|pending|off|on|standby
GET .../images/{udn} - returns the icon for that device (if available) as a jpg
PUT .../update/{udn} - tells AM to request a status update from the identified device
PUT .../devices/{udn} - tells AM to send a command to a device. The body should be "application/json" as
{"STATE": true|false|flash|noflash } for flash, period defaults to 2 seconds
{"STATE": flash, "PERIOD": N } where N is the flash period in seconds
PUT .../event/{event} - fires any rule triggered by that OnEvent trigger event name
POST .../intent - allows you to send a general intent to android, useful for other automation functions
{"INTENT": "intent_string"}
the json body keys/values are put into the INTENT as String extras
You can add custom devices to AM Manager, updating them through the REST server (android only).
Use an Analog device for a sensor that has an analog value such as a thermometer.
Use a Sensor device for binary sensors (e.g. motion detector or door sensor)
PUT .../webdevices/{udn}?state=[on|off] to set the value of a custom sensor
PUT .../webdevices/{udn}?value=##.#&state=[on|off] to the value a custom analog sensor
Custom devices can also be updated/controlled via commands, see Automation Commands.
AM will poll custom devices using the refresh period, set the poll URL in the custom device URL submenu.
GET .../list returns a text list of the available device udns and friendly names
How do I find out why the intents that I sent don't work?
Listen for the "mpp.android.WemoManager.ErrorEvent" intent from the WemoServer (see above). Examine (or display) the string extras "UDN" and "ERROR".
Keep the WemoManager app open on the device, unsolicited errors will pop up or be shown in the device's status.
Open the WemoLog on the WemoServer to see if any intents were rejected.
On older androids, examine LogCat for errors and warnings with the tag "mpp*".
How do I use the AutomationManager with Automagic?
Add the AM Server widget to your home page (intents will not work and the background service will not find devices without that widget active).
Import the WemoManager sample flows into Automagic (see below).
How do I get the WemoManager samples loaded into Automagic?
Open the AM Manager.
Touch the Automagic button for the desired device and follow the instructions to load the samples into Automagic.
Open Automagic, find the flows you are going to use, enable them, then call them from your own flows.
How do I send an intent to WemoManager from Tasker?
Also see: http://tasker.dinglisch.net/userguide/en/intents.html. Note that WemoServer intent extras are usually String values, and Tasker may default to numeric values. You can cast extras like this: "UDN:(String)12345", useful in the case of LED groups.
Action: mpp.android.WemoManager.TurnSwitchOn (see above for other intents)
Cat:
Mime Type:
Data:
Extra: UDN:?????????????? (this is the UDN of your wemo, e.g. UDN:Insight-1_0-01234567890, you can copy from the "intents" menu for that device in WemoManager)
Extra:
Package:
Class:
Target: Broadcast Receiver
How do I receive intents from Tasker?
Follow the Tasker guide. Use the receive intents documented above as the intent action. The information passed by WemoManager in the intent as extras will appear as local variables in Tasker, e.g. %sunrise and %sunset. See http://tasker.dinglisch.net/userguide/en/intents.html
How can I log AM device events to GoogleDrive?
Note that AutomationOnDrive is now the preferred method for recording device state changes, saving them to a sheet on Google Drive.
How can I use AutomationManager with IFTTT?
Set up IFTTT to allow Google Drive actions to AutomationOnDrive (android only) by following: Voice. Use any IFTTT trigger in place of the Google Home voice trigger to drive the action.
How do I use voice support with AutomationManager
Use Alexa or Google Assistant as this function is no longer supported natively by AutomationManager: Voice/IFTTT