Tasker’s latest update adds sleep tracking and a favorite actions menu

Tasker’s latest update adds sleep tracking and a favorite actions menu

In February this year, Tasker received a significant update on the beta channel (v5.12.3) that added sleep tracking automation to the app. The feature used Google’s Sleep API to centralize sleep detection processing in a battery-efficient manner and helped users easily track their sleeping state using the app. The feature is now rolling out on the stable channel, and you can try it out right away.

The Sleeping state feature is now live in Tasker 5.12.18, which has started rolling out to users via the Google Play Store. As seen in the beta release, the feature can help you easily monitor your sleep using inputs from your phone’s light and motion sensors. Check out the video attached below to see how you can track your sleep data with the new feature.


Along with the new sleep tracking feature, the latest Tasker update adds a new Favorite Actions menu that lets you easily add your favorite actions with a single click. The update also brings external storage support on devices running Android 11 and above, Array Functions, and much more. Check out the full changelog for the latest Tasker update in the section below.

Tasker 5.12.18 changelog

  • Main Additions:
    • Added Sleeping state: track your sleep with Tasker.
    • Added “Sleeping” event so that you can use all sleep events sent by Google Play Services so you can log them somehow if you want, or for other uses where you might need all updates
    • Added native JSON, HTML/XML, and CSV reading with the dot or square brackets notation.
    • When setting a global variable that’s compatible with a structured type Tasker will ask you if you want to enable easy structure reading for that variable
    • Added “Parse/Format DateTime” action allowing to parse and format dates and times in all kinds of formats.
    • Added Simple Matching/Regex action allowing you to easily match and extract data from any piece of text.
    • Added “Arrays Merge” action: merge 2 or more arrays together into 1.
    • Added a new “Tick” event which will automatically trigger a profile in a set interval. Intervals can be between 100 milliseconds and 2 minutes.
    • When adding an action, if you search for a task name and select the “Perform Task” action, the task name will be automatically filled in.
    • When adding an action, if you search for an Input Dialog type and select the “Pick Input Dialog” action, the dialog type will be automatically filled in.
    • When adding an action, if you search for a specific Tasker Function name the “Tasker Function” action, the function will be automatically selected and set up.
    • New setting in Project/Profile/Task variables that allows you to customize what value gets exported independently from the value the variable is set.
    • Added “Favorite Actions” option when long-clicking the “Add” button when editing a Task
    • You can also set favorite actions to show on short click if you want and the regular dialog to show long click if you want.
    • If you add a favorite action resulting from a search for the “Perform Task” action directly with a pre-filled in Task name or a “Pick Input Dialog” action with a certain dialog type or a “Tasker Function” action with a certain function, the favorite action will also directly prefill the same options.
    • Changed long-click variable in variable list behaviour: now a helper menu will show up with common ways you can access variables so you don’t have to remember them.
    • Allow joining arrays directly by writing %array(+JOINER) where JOINER are any characters you like.
    • Allow specifying a joiner in all array functions that return multiple values by writing something like %array(+SEPARATOR+1,3,4) for example.
    • Allow getting all array items that match an expression by using %array($?expression)
    • Added ability to query a Tasker array for multiple locations in one go. For example %array(1,3,5) will get the array’s first, third and fifth items.
    • Fixed querying arrays for items in several formats where a variable wwas used instead of the formats directly, eg: %query = 1:2 ; %array(%query) wouldn’t work but now it does.
    • Added Support for external USB and SD cards on Android 11+
    • Added function to list all storage volumes in “Tasker Function” action
    • Added ability to select from multiple external storage options if multiple are available in the File Select window (for example SD Card and USB)
    • Fixed copying files to SD Card in some situations
    • Fixed a lot of other external storage related issues
  • Other Additions
    • Added “Calendar” and “Calendar Entry” options in the “Pick Input Dialog” action
    • Added “Is Locked” and “Is Securely Locked” to “Test Display” action
    • Added “Music Active” action to “Tasker Function” action
    • Added “Rewind” and “Fast Forward” functions to the “Media Control” action
    • Added “Structure Output” option in relevant states/events/actions
    • Added “Structured Variable” option to Project/Profile/Task variables
    • Added “Variable Set Structure Type” action to explicitely set the type of a variable’s structure
    • Added option to “Get Location v2” to force high accuracy, meaning it’ll ONLY use GPS satellites to get your location and nothing else
    • Added %gl_satellites variable to “Get Location v2” which will have the number of satellites that were used to get your high accuracy location
    • Added ability for plugins to open a URI when their plugin action is done running so that they can launch activities without the permission to draw over other apps
    • Added ADB Wifi helper for easy setup of permission granting/revoking commands
    • Added helper in HTTP Request action’s Headers field to easily set commonly used headers
    • Added option to “Variable Split” to use the splitter as a regex
    • Added option to configure the Tasker notification when there are no active profiles separately
    • Added option to make project/profile/task variables immutable. These variables can’t be changed from tasks
    • Added support for structured Global Variables. You can now read JSON from %Json.info for example
    • Added support for the parseFormatDateTime() variable function in JavaScript
    • Added Ukranian translation
    • Allow “Input Dialog” to have a default text of “%”
    • Allow multi-line input in the “Array Push” action in the “Value” field
    • Allow space characters in “Array Set” > “Values” input
    • Allow using new lines and spaces as the splitter in the “Variable Split” Action
    • Allow using spaces and new lines as the splitter in the “Array Set” action
    • Made the text in various action fields (like Run Shell, ADB Wifi, Variable Set, etc) not wrap and have configurable text size (new “Command Text Size” option)
    • Made the Monospace-not-wrapped text in certain input fields optional (Preferences > UI)
  • Changes
    • Made the sound quality of recordings done with the “Record Audio” action much better when the MP4 format is selected
    • Removed the “Codec” option from the “Record Audio” action. It is now automatically selected based on the “Format”
    • Automatically trim input variable names in “Multiple Variables Set” action
    • Changed: If multiple project/profile/task variables with the same name exist in scope simultaneously, only the most “inner” scope available will be affected
    • Don’t alert user of missing Tasker Settings in the “Vibrate On Ringer” action in some situations
    • Made “Ping” action always time out after 10 seconds if no response is gotten
    • Made “Turn Off” action with the “Lock” option enabled lock the screen even if the screen is off
    • Made “Variable Join”‘s “Joiner” and “Write To File”‘s “Text” field able to receive new lines and other blank characters
    • Made Tasker monitor notification for when there are no active profiles use a different notification category from when there are active profiles so that users can disable one and not the other
    • Made the “Off” text that appears when Tasker is disabled more evident
    • Removed the “Enabled” option from the “Device Idle” state since it wasn’t doing anything
    • Request for path access directly in the Tasker file picker when needed
    • Updated conditions to use 6 decimals when comparing numbers instead of 3
    • Made app factory not use legacy file access and use the new required SAF file system
  • Bug fixes
    • Fixed editing actions beeing very slow if your Tasker setup is big, specially if you use a lot of Java functions in your setup
    • Fix long-standing bug of not being able to unzip files on external storage
    • Fixed using Tasker with the “Don’t keep Activities” developer option enabled and other situations where activities could restart like switching between light/dark theme while using Tasker
    • Fixed long-standing bug where disabled “For” action would run forever
    • Fixed Tasker not toggling Wifi the first time it’s used after boot if Tasker Settings is needed to toggle it
    • Fixed a bug that sometimes some Xiaomi devices have that crash Tasker when a certain kind of notification is created
    • Don’t clear condition local variables when applying the current Tasker setup
    • Don’t mistakenly warn about missing plugin if timeout for plugin action is too high
    • Don’t show alerts for errors in the “Record Audio” action if “Continue Task After Error” is selected
    • Fix actions inside disabled For loops not running when the actions themselves are enabled
    • Fix local media icons when importing old projects/tasks and icons still exist on same path
    • Fixed “Received Text” event when the SIM is selected and both the SIMs on the phone have the same name
    • Fixed “Test Scene” not affecting project/profile/task variables
    • Fixed “Multiple Variable Set” action in some situations
    • Fixed “Vibrate On Ring” action in some situations
    • Fixed some root related actions running in some situations
    • Fixed 3rd party apps setting variables externally
    • Fixed backup dialog not pre-filling in the folder and file name of the backup in some situations
    • Fixed BeyondPod actions on newer Android versions
    • Fixed bug that global variables couldn’t be cleared via javascript’s “setGlobal()”
    • Fixed bug where sometimes Multiple Variables Set would fail
    • Fixed crash in some scenes where a Video element is used
    • Fixed crash when selecting an image from the Downloads folder in some situations
    • Fixed easy service commands for the “Shell Command” action
    • Fixed empty icon for Tasker notification not being applied in some situations
    • Fixed issue when using array inputs in some actions in some situations when Turkish was the selected language
    • Fixed issue in some cases when exporting something to Taskernet where Tasker would restart
    • Fixed issue where Tasker would complain that density was not initialized in some situations
    • Fixed issue with setting multiple variables with Do Maths enabled but some of them didn’t have maths expressions
    • Fixed Project/Profile/Task variables in some cases when using Scene Web Elements
    • Fixed not being able to check if %var is not set by checking %var ~ \%var
    • Fixed referencing apps by name in some situations in actions where apps can be selected (“Launch App”, “Media Control”, etc)
    • Fixed setting project/profile/task variables from the “Java Function” action
    • Fixed using Profile/Project variables in some situations
    • Fixed some situations where editing an action and then restarting the activity would result in the inputs for the action resetting
    • Fixed issue when downloading Google Drive files to external storage in some situations
    • Fixed using setLocal() function in Scene WebView for project/profile/task variables
    • Fixed variable name hints for certain Project/Profile/Task variables
    • Try to fix clipboard change sensing on Android 11 on some specific devices
    • Fixed a few crashes

You can check out the official Tasker changelog post here for demos showcasing some of the new features.

Developer: joaomgcd
Price: $3.49

About author

Pranob Mehrotra
Pranob Mehrotra

A Literature and Linguistics graduate with a keen interest in everything Android. When not writing about tech, Pranob spends most of his time either playing League of Legends or lurking on Reddit.

We are reader supported. External links may earn us a commission.