To set up remote access using HTTP on your AutomationServer:
- Pick an android (or a java capable PC, MAC, linux system, etc, to be your device rules and remote server.
- For java based AutomationServers, see AutomationServer (java), then continue on below. Assign the server system a fixed IP address on your router. Remember this device must remain on and connected to the same network as your devices to provide remote access. Once you've configured your java AutomationServer you'll find the AutomationRemote instructions below. Be sure to enable the secure port in the WemoServer configuration (port 4033).
- For android based AutomationServers:
- If this is a dedicated phone/tablet be sure to activate "always on while charging" in android settings "Developer Options". If "Developer Options" is not available, go to "settings>About>Software Information>Build Number" (sometimes it's under "more"). Tap "Build Number" seven times to enable it.
- Check your advanced wifi settings to confirm wifi will not be turned off to save power. If you have a task killer on your device add the AutomationServer (and AutomationOnDrive if you're using it) to the list of exceptions.
- On some android devices you may need to set the screen to stay on at all times.
- If you're running the AutomationServer on android, start the AutomationServer by adding the AutomationServer widget to one of your home screens of the android you're planning to use as the SERVER. (If you are using the AutomationServer for java see the end of this step after the image below).
- To add the AutomationServer widget either long press your home screen and select "widgets" or open your "all apps" view and touch the "widgets" folder at the top (which depends on your version of android). Scroll to AutomationManager, select one of the AutomationServer widgets (the smallest is usually the best) and drag it to your home screen.
- Now touch the AutomationServer widget to open the app, then menu>Preferences>AutomationServer to choose a port for the SecuredServer (the default is 4033). Make a note of the AutomationServer's IP address (or GCM project id if you're using GCM) from the preferences screen for use below.
- The android version of the AutomationServer should look like this once configured correctly with the green indicators showing all is well.
- See below for enabling AutomationRemote over HTTP.
How do I connect to my HTTP (web) AutomationServer for direct AutomationRemote access?
AutomationRemote over HTTP is the most responsive and reliable method for remote control, but it is the most difficult to configure. Note that in most cases fast response times are not needed when you are not present; AutomationOnDrive will respond within a few seconds in most cases and Google Drive is very reliable.
- Open the AutomationRemote app on the phone you want to use to remotely access your devices.
- Use the "+" or "add server" menu item to create a new HTTP server definition.
- Use any memorable name for the Server Name
- Leave the default client name or use one that you will remember.
- Set up the AutomationServer Address to the IP address (including the port) of your tablet or PC as you noted during the AutomationServer setup, e.g. http://192.168.0.55:4033.
- Save the connection, and select "Register" with the AutomationServer.
- Accept the popup for this AutomationRemote client on the AutomationServer.
- Return to AutomationRemote to complete registration.
- Your devices should now show up in AutomationRemote.
Now make your AutomationServer accessible from the internet. You can do this by forwarding it's (secure) connection through your firewall (read on if that's your preference).
- Enable remote connections by entering a port in the AutomationRemote server port setting of the AutomationServer preferences (usually 4033).
- Configure your router to port forward the desired port to the IP address of the device running the AutomationServer (usually you'll use 4033 for both).
- Note the external IP address assigned to your router by your ISP - should be on the main status page, or open a browser to the google search and type "whats my ip". You may want to use a DDNS service (often provided by the manufacturer of your router) if your ISP occasionally reassigns your router a new static IP.
- To check your IP and port, use a browser: http://yourIp:4033/version. You should receive an html page with the AutomationServer version number as a response.
- In your AutomationRemote preferences add a new server connection using your external IP address (or name), also using the external forwarded port number.
- A single AutomationRemote can have multiple connections (swipe left/right to switch between them). You can delete the internal connection once the external is working.
- Any number of AutomationRemotes can be registered with a AutomationServer. Use your google id on any other phones you'd like to use, install AutomationManager (you'll only use AutomationRemote there) and register them with your AutomationServer.
- Consider configuring a DDNS service (see below).
What is a DDNS and why might I want it? (note, not necessary for GCM nor AutomationOnDrive)
A DDNS service allows you to assign a name to your router's external IP address. Typically there's an application in the router or on a PC inside your network that will determine your external IP and update the DDNS service services. When you use your external name (like in AutomationRemote) you'll first be directed to the DDNS service which will redirect to your router's current IP address. Makes things a little easier to manage.
If your router's manufacturer doesn't provide a free DDNS account, check out http://lifehacker.com/the-best-free-alternatives-to-dyndns-1561556205 as there's no point paying for one unless you run a website.
Most modern ISPs will seldom change your IP which makes it viable to use an application to email you if your external IP changes and to then manually update the IP address in AM Remote.