[APP][4.0+][V2.0.45]Automated Device (Rules Engine evolution)

Search This thread

danielherrero

Senior Member
Oct 3, 2006
3,280
247
Madrid
www.softwaredhr.es
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
 

Attachments

  • device-2014-01-25-142442.png
    device-2014-01-25-142442.png
    169.4 KB · Views: 7,991
  • device-2014-01-25-142416.jpg
    device-2014-01-25-142416.jpg
    114.1 KB · Views: 7,611
  • device-2014-01-25-142541.jpg
    device-2014-01-25-142541.jpg
    221.8 KB · Views: 7,298
Last edited:

Hallahan

Senior Member
Feb 16, 2009
141
62
Enschede
Hi there,

When I choose 'send email' as an action on a lost wifi connection it doesn't do anything, even though the phone switches to 3G
 

danielherrero

Senior Member
Oct 3, 2006
3,280
247
Madrid
www.softwaredhr.es
Hi there,

When I choose 'send email' as an action on a lost wifi connection it doesn't do anything, even though the phone switches to 3G
Thanks, I already know it. I use a gmail account to send mails but google is rejecting them because they are very far (Spain, USA). I am going to create web service in my web server. So the device will contact my server and this one will send the email
 

Hallahan

Senior Member
Feb 16, 2009
141
62
Enschede
Thanks, I already know it. I use a gmail account to send mails but google is rejecting them because they are very far (Spain, USA). I am going to create web service in my web server. So the device will contact my server and this one will send the email

Isn't it just the fact that Google only accepts sending email when you, or I, log on to their smtp servers using a valid username and password? So if you are able to send the mail that way, the problem should be solved...
 

danielherrero

Senior Member
Oct 3, 2006
3,280
247
Madrid
www.softwaredhr.es
Isn't it just the fact that Google only accepts sending email when you, or I, log on to their smtp servers using a valid username and password? So if you are able to send the mail that way, the problem should be solved...

See what Google sent a few minutes ago. It's no related with user and password but an Gmail account sending emails from Spain usa France etc using the same account

Hi Daniel,

Someone recently used your password to try to sign in to your Google Account rules.engine.android@gmail.com. This person was using an application such as an email client or mobile device.

We prevented the sign-in attempt in case this was a hijacker trying to access your account. Please review the details of the sign-in attempt:

Monday, February 3, 2014 12:05:14 PM UTC
IP Address: 31.20.201.179
Location: The Netherlands


If you do not recognize this sign-in attempt, someone else might be trying to access your account. You should sign in to your account and reset your password immediately.

Enviado desde mi SM-N9005 usando Tapatalk 4
 

theepicflyer

Senior Member
Jan 8, 2014
272
54
Every time I try to enter the enter or exit location in rules, the app force closes. KitKat Moto g. ROM has a gps bug though. Can't get lock.
upyhu6eb.jpg
 

Top Liked Posts

  • There are no posts matching your filters.
  • 91
    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
    7
    reuploaded apk to set release google maps api key
    4
    V2.0.1 Uploaded
    Fix icon bar notification
    Several optimizations
    3
    Uploaded to market V2.0.2
    Back button in home page hides the GUI
    Menu button in home page shows menu drawer