Tuesday, May 31, 2011

AutomateIt goes Pro !

Visit our new website at http://www.automateitapp.com

AutomateIt PRO is here at last ! it has all the goods that the free version has and it's an ad-free, popup-free version with some awesome new and advanced features.

The advanced features included in this version are:
  • Composite Triggers - use more than a single trigger for each rule using AND/OR logic between these triggers
  • Composite Action - execute several actions as a result of a single trigger (which can be a composite trigger)
  • Rule Active Period - set an active period for each rule. Really useful if you only want a certain rule to be active only during daytime, weekends, just an hour a day etc.
  • Sensor Trigger - utilize all your device' sensors as a trigger for a desired action. This includes usage of all the sensors supported by Android - Accelerometer, Light, Proximity etc.
  • Calendar Trigger - allows your device to act once a calendar event starts or ends.
  • Enable/Disable Screen Lock Action - Enables or disables your screen lock slide/pattern/password/pin.
  • Cancel delayed execution by trigger - Auto-cancel delayed execution when defined trigger is launched.
  • Recurring Event Trigger - Executes a defined action every defined time interval
  • Copy RuleCreate a new rule, based on an existing one
See ideas for useful rules using these advanced features on this post.

If you are upgrading from the free version, follow these simple steps for an easy upgrade:
  • Backup your existing rules from the main screen menu
  • Uninstall AutomateIt free version
  • Install AutomateIt Pro
  • Restore your backed-up rules
Composite trigger allows you to define a set of triggers that when ALL or ANY of them is set, will trigger the rule. For this functionality we have two new triggers that can be selected - "Composite AND trigger" and "Composite OR Trigger":
Once we select one of those triggers, we can further define the triggers contained in the composite trigger (as usual, press the wrench/screwdriver icon on the edit rule screen after selecting the trigger from the selection list):
When we begin editing the composite trigger we can start adding sub-triggers to it using the "Add Trigger" button (the green plus sign). for this demo we will define a composite AND trigger that has two sub-triggers:
Notice the red "remove" button for each trigger which allows you to remove any sub-trigger.

The trigger we have defined in the image above means that the rule will trigger when battery level drops below 35% AND there is no power connected to the device.

Note: Although in this example we only use two triggers, there is no limit on the number of triggers that can be contained in a single composite trigger.

To complete the demo we will use a Composite Action to execute several actions. First we need to select the "Composite Action" from the Action selection on the edit rule screen:
and then we can begin editing the composite action, in the same way as we did for the composite trigger:
As you can see in the image above, we have defined three sub-actions that will be executed one after another. You can change the order of execution by clicking the up/down arrow buttons.
Note: Although in this example we only use three actions, there is no limit on the number of actions that can be contained in a single composite action.

After saving the rule we have just defined, the main screen will show the details of the defined rule:

Composite OR Trigger
The only difference between "Composite AND Trigger" and "Composite OR Trigger" is that the AND trigger will launch only when ALL the sub-triggers are set, whereas the OR trigger will launch when ANY of its sub-triggers is set. One good usage of that capability could be to execute the same set of actions when there is an incoming call from "someone" OR "someone else" as defined in the following images (take a look at the "Important call" rule):

Hierarchical Composite Triggers
Composite triggers can be used as any other trigger and be contained in another composite trigger. It might complicate things a bit but gives you a lot of flexibility when defining rules. If we will continue with the "Important call" rule, we can define the following hierarchical trigger:
  • Composite AND Trigger
    • Sound Mode Changed Trigger (Silent)
    • Composite OR Trigger
      • Incoming call (Someone)
      • Incoming call (Someone else)

Using this new capability you can set different rules for various times of the day or the week. 
For each rule you define there is a new checkbox on the edit rule screen that by default is marked as "Always Active" (We use the same "Important call" rule defined before):

Once you uncheck this checkbox, you can define specific days of the week and specific hours in which this rule will be active. In this case, we set it to be active on weekdays between 8:00 and 18:00. this is visible both on the edit rule screen and in the description of the rule on the main screen:
In the following screenshot, we changed the rule to be active on weekdays between 8:00 and 14:00 and the screenshot was taken at 14:48 (e.g, the rule is supposed to be Inactive), so the main screen shows us which rules are currently Inactive:
There are some similarities between Inactive and Disabled rules in the sense that they both will not be triggered in case the defined trigger is set, BUT there is an important difference between them - Inactive rules will be automatically activated on the defined time and disabled rules will be activated manually or by using the "Enable/Disable Rule Action". They will also be displayed differently on the main screen:

Sensor trigger allows you to use the built-in sensors that your device has and define rules based on specific sensor states. This trigger can be used with its basic presets (as will be demonstrated here) or can be tweaked by using more advanced customization.
The trigger can be selected like any other trigger on the edit rule screen:
After selecting the "Sensor Trigger" it can be customized using the following screen:
This screen has several fields:
  • Sensor - selection list of all sensors available on your device (name and type of each sensor. Please note that several users have reported that when using the Proximity Sensor, it might have a significant impact on your battery consumption):
  • Sensor State - selection list of presets available for each sensor or advanced customization state (Will be further explained). The following image shows a list of sensor state presets for the Accelerometer sensor.
  • Sensitivity - Since the exact values of each sensor can change by slight deviation, you can define how sensitive to these changes you want your trigger to be.
  • Sampling Rate - This field is used to define the rate in which the sensor will be sampled. In most cases "Normal" should be sufficient (other rates are Fast, Faster, Fastest). The exact rate depends on the specific sensor but approximate rates are as follows:
    • Normal - ~4 Hz (4 samples in one second)
    • Fast - ~9 Hz
    • Faster - ~16 Hz
    • Fastest - ~22Hz
  • Time required to set trigger - number of seconds required to set off the trigger. To better explain what it means, let's assume we have selected the "Face Down" preset as shown in the image above, and set the "Time required to set trigger" to 1 second - in this case, only when the device is lying face down for at least 1 second, the trigger will launch.
Sensor Trigger - Advanced
There are two advanced customization modes that can be used when using the "Sensor Trigger":

Record State - Almost all sensors have a special "Sensor State" called "[Custom] Record State". When this state is selected the edit screen shows a record button between the sensor state selection list and the sensitivity bar:
When this button is pressed, AutomateIt will record the current state of the selected sensor and will display detailed info on the recorded values:

In the image above the device was lying facing up on a table, but you can use this feature to record all kinds of sensor states that are not defined as presets.

An even more advanced customization method is the Manual sensor state. When this state is selected, instead of a record button, you'll be required to enter specific values that define a sensor state. In the following example we are using the proximity sensor and its value is the distance in centimeters from the sensor (some sensors only have a near/far indication) :
To further understand what the exact values of each sensor mean, refer to the following guide.

Calendar Trigger
Calendar trigger allows your device to act once a calendar event starts or ends (Note: All day events are ignored).
The calendar trigger configuration has the following parameters:
  • Calendar - The calendar that will be monitored for events.
  • Calendar Events Filter - A filter that can be used to act on specific events (details below).
  • Trigger on event start - When this checkbox is checked, the trigger will launch on the beginning of the events matching the defined filter on the selected calendar. When this checkbox is unchecked, the trigger will launch when the events ends. If this trigger is used as part of a Composite AND Trigger, this checkbox acts as a during/not during indication.
  • Refresh Rate - Since the calendar events might change, this trigger requires refreshing once in a while to keep track of the updated upcoming events. By default this is set to 4 hours. (Default value can be changed from the Settings screen).
When using the Calendar Events Filter, there are two parameters that can be used to filter matching events:
  • Filter show me as... - Only trigger on events with the selected "Show me as" status - can be Busy Only\Available Only\Busy or Available.
  • Event title filter - Filter events by their title. Can be an exact match or partial match by checking/unchecking the "Title exact match" checkbox.

Pro version reviewes
Liked it ? Loved it ? Help me keep improving it...
(Donation is also available from the About screen in the Pro version)