[Android Apps and Games] danielherrero:
Hi

After 2 years developing and improving Rules Engine I have created Automated Device for 4.0+ devices.

This program is rules engine that let your device behave automatically according to conditions and execute actions

Please submit any comment, error, suggestion here.

Android Market link

Direct link to APK

Automated Device is an application designed to let you automate the behaviour of your device. It is based in rules. The user can define many rules to define the device's state in different situations.

A rule is defined by:

Conditions: When every condition (AND clause) o at least one (OR clause) in a rule is satisfied then the rule is satisfied. Examples:

From Monday to Friday, between 12:00 and 05:00 (Time-Date condition)

To be inside (or outside) my home (Position condition)

Bluetooth state is ON (Hardware condition)

Battery level between 0% and 20%

Incoming phone call

Incoming SMS containing some word

Power state, battery or connected

Screen state

Other rule is matched or not

Other program is running or not

Phone state (ringing...)

Calendar appointments. This condition is matched when current date is inside of the appointment and the appointment text contain a user defined word

Brightness mode

autosync state

Network type (GPRS, HSPA, CDMA, LTE, etc)

Device connectivity state

Headphone state

Car mode

Dim state

Wifi hotspot

To be connected to a wifi network specified by its name

To receive a SMS/MMS comming from some phone number or with its text containing some word or phase

Ambient light

Ambient temperature

Pressure

Proximity sensor level

Some phone number is calling you (ringin), or is in call with you, or just called you

Mobile operator name

Actions to be executed when the rule passes from unmached to matched: Actions to be executed when every condition is satisfied. Each one can be applied once or periodically while the rule is matched Examples:

Set Bluetooth OFF

Set device volume

Launch a program

Kill a program

Apply a profile. A profile is compound by actions. So when the rule applies a profile it simply execute its associated actions.

Set different kinds of sound levels (system, notification, alarms, etc)

Set Brightness mode (automatic / manual) and bright level

Set autosync state

Play a song

Send SMS

Send Email. You can include many variables, like free memory and disk, last caller, battery statistics, sensors values (pressure, light, temperature, etc)

Car mode

Set wallpaper

Set ringtone (android ringtone or user mp3)

Screen off timeout

Dim state

Wifi hotspot

Play a system notification

Vibrate some milliseconds

Show popup message with free text and variables

Show a tob bar notification with free text and variables

Enable / Disable rules.

Sent variables (temperature, position, etc) to a web server as HTTP parameters

Open system dialogs, like 3G/2G, Tethering, etc

Actions to be executed when the rule passes from matched to unmatched. (The same ones like the above section)

The device broadcast many events, like battery level, time, etc. Those events are processed by Automated Device and the rules are evaluated.

Important: When a rule is applied then It wont be applied again until it doesn't satisfy it previously. For example, if a rule condition is "Battery level less than 15%" and the action is "Play a song" and current battery level is 10% then the song will play. But it wont play again until the rule wont be satisfied and then satisfied again. So if the battery level raises to 20% and then decreases again to 8% then it will play the song again. This avoid loops so a rule is executed many times.

Sections:

SWITCHERS: This window lets you change the state of Wifi, Bluetooth, etc. It also lets you set a time-out. When the time expires the program will set the previous state. It also lets you "lock" a profile with/without time limit. For example, if you go the cinema you could lock the profile "Silent". When Automated Device is locked it wont execute any rule

PROFILES: A profile is a set of actions. This section lets you define and apply right now a profile. For example, you could create the profile "Meeting". Its actions would be speaker to vibrate, flight mode and send a SMS. The three actions would be applied. You could establish a timeout. During this time the program WONT apply any rule. In this way the program wont apply other rule that could change the speaker state, for example. Once the timer expires then the engine will be enabled again.

NEW PROFILE: This dialog lets you choose a name and description for the new profile.

ACTIONS: Here you can choose the set of actions associated to the profile.

RULES: In this windows you can manage your rules and create new ones. If the background of the rule is RED it means the rule isn't met right now. If the background is GREEN it means the rule is met right now.

RULE INFORMATION: This screen lets you manage the name and description and shows how many conditions and actions the rule has. It lets you set the priority of the rule. If two rules match at the same time then this priority will solve conflicts. For example, if both rules are going to change the audio state. It also lets you add/edit/remote more actions/conditions.

RULE CONDITIONS: This screen lets you add / remove / edit conditions. There are several types of conditions:

WEEK DAY AND TIME: You can select some weekdays and then a begin time and end time. For example, Monday and Tuesday from 22:00 to 06:00

ENTER/EXIT A PLACE: You must choose a location and a radius. So if you choose a "Enter a place condition" then the condition will be met if you are inside. If you choose "Exit a a place condition" then the condition will be met if you are outside.

STATUS CONDITIONS: There are many conditions related with some hardware status. For example, you could use WIFI ON. This condition is matched when the WIFI state is ON

LOG: This screen shows the application log. Each log line has a category: Debug, Info, Warning and Error. Here you know what happens inside the program. You can see a rules history. And you can clear it and export it by email.

SETTINGS: Hare you configure the program.

Launch at boot time: If selected the the program will be launched at boot time.

Log level. This options lets you choose what kind of log events you want to store.

Automated Device enabled. If disabled then It wont process events.

Show icon notificacion in the top bar.

EXPERIMENTAL: Location autorefresh interval. By default Android doesnt allow location changes when the screen is off. This option try to fix it.

Log changes

V2.0.45 (2014-03-08)

Compatibility between accessibility service and OK Google

NFC tags can be detected with the program in background

V2.0.38 (2014-03-04)

Action HTTP Request uses GET instead of POST

New Variable. Last HTTP Status for action HTTP request

Flag feature action. Set value to a Variable value

Accessibility can be disabled

Bug fixing

V2.0.37 (2014-03-02)

Condition NFC. Use your NFC tags as conditions

Option to disable Accessibility service

Bug fixing

V2.0.30 (2014-02-21)

New action: Text speech. You can use free text and variables

New Flag: Last top bar notification text

New Condition: Detect a top bar notification. You can filter by program sender, text or none

With these features you can, for example, let AD read aloud the notifications coming from gmail, line, etc

New option in home windows: Export. It takes your rules and convert them into text to share it with developer and other users

V2.0.27 (2014-02-19)

Improved disable/enable lock screen

Bug fixing

V2.0.24 (2014-02-18)

Improved Sound action: Added BT call sound

Vibrate if internal error is optional

Improved Variables: time, date and flag value

Improved Bar Notification action: persistent. You decide if the user can dismiss the notification with his finger

Improved set flag action: Persistent. Choose if the flag is removed when a rule is modified and all the rules are re-evaluated

Improved set flag action: Numeric operations: You can increment or decrement a flag (if numeric)

Improved flag condition: New comparators: bigger, bigger or equals, lower, lower or equals

V2.0.43 (2014-03-07)

Flight mode switcher, condition and action enabled. Only for rooted devices with Xposed and Flight mode helper

V2.0.36 (2014-02-25)

Option backup the database

Option restore the database from a previous version

So you can do a backup, play with new rules, conditions....and restore if you are not happy with the result

Support for xlarge screens

V2.0.23 (2014-02-17)

Improved action Show notification bar. The user can select a custom icon

New action: Dismiss a notification bar. So you can, for example, display a notification bar when a rule or profile is applied and remove it when it doesnt match

Bug fixing

V2.0.21 (2014-02-15)

New action: set call forwarding status

New conditions: On booting and On shutting down

Bug fixing

V2.0.18 (2014-02-14)

Switcher to enable/disable lock screen

New action: Enable / Disable lock screen

V2.0.17 (2014-02-13)

Improved location condition

New action: Set a flag value

New condition: check a flag value

See active flags from home window menu

V2.0.22 (2014-02-16)

New action: Send Android Intent

New action: Call forwarding (international)

Bug fixing

V2.0.16 (2014-02-12)

Bug fixing

Program status condition allows to search between all the processes or only the foreground ones

V2.0.15 (2014-02-11)

New Location system: Google play services.Check settings page

Added command in home window to recreate the database

V2.0.14 (2014-02-10)

Bug fixing

Improved BT connected device. Now works with multiple devices at the same time

V2.0.11 (2014-02-09

Bug fixing

Added compatibility without telephony system, like tablets

New condition: Phone Signal Strength

New condition: Device orientation (facing up/down)

V2.0.8 (2014-02-08)

Periodic actions are executed in a background thread, solving problems related with network actions (send mail, http post)

Bug fixing

V2.0.7 (2014-02-07)

New condition: Dock state

V2.0.6 (2014-02-06)

Actions execution delay now included in Action repeat window

Changed bar notification icon (white)

New Condition: Battery temperature

V2.0.5 (2014-02-05)

New condition: Lock screen state

V2.0.4 (2014-02-04)

Bug fixing....

V2.0.3 (2014-02-03)

Fixed send email action

Bug fixing...

V2.0.2 (2014-01-27)

Back button in home page hides the GUI

Menu button in home page shows menu drawer

V2.0.1 (2014-01-26)

Fix icon bar notification

Several optimizations

V2.0 (2014-01-15)

Automated Device is ported to Android 4.x and named Automated Device to leverage android 4.x power

Fixed automated backup/restore data from/to google account