README.md 1.8 KB

LibreTasker is an event-based task performer, similar to Tasker.

This means that you can trigger Actions when events (filtered on input) occur, taking into consideration current state.

Supported events (and their conditions):

  • Network:
    • Type: Wifi / Cellular / VPN
    • State: Connected / Disconnected
    • SSIDs: List of SSIDs when Type is Wifi
  • DateTime (Similar to cron):
    • Month: List of ints
    • DOM: List of ints (Day of Month, 1-31)
    • DOW: List of ints (Day of Week, 1-7)
    • Hour: List of ints (00-24)
    • Minute: List of ints (00-59)
    • InvertHour: boolean (whether to invert the match on the 'Hour' field)
    • InvertMinute: boolean (whether to invert the match on the 'Minute' field)
  • Screen:
    • OFF: boolean (whether to trigger on ON or OFF )
  • SMS:
    • BodyRegex (String, Regex)
    • NameRegex (String, Regex)
    • Sender (String, matching Phone number exactly)

There's an special event called 'State'. State takes a Key (String) and Value (Object). This gets triggered automatically when an Action with type 'State' changes its value.

Supported Actions (and their parameters):

  • Toast:
    • String (text to display)
  • Notification:
    • , with 2 Pairs: Title and Value, both must be non-null.
    • Beep:
      • None (Plays the default notification ringtone)
    • Volume:
      • Stream (Ring, Alarm, Music, Notification, System), Volume in %
    • State:
      • , set a state key to a value. Will trigger the 'State' special event if the value changed.
    • For example you could do something like:

      • At 22:59 => Set Ringtone volume to 0%
      • At 7:59 => Set Ringtone volume to 100%

      or achieve the same thing with states:

      • Between 22:59 and 7:59 => Set state 'sleepy' to true
      • On 'sleepy' change to true => Set volume to 0%
      • On 'sleepy' change to false => Set volume to 100%