Quantcast
Channel: tasker tutorial – Pocketables
Viewing all 51 articles
Browse latest View live

Tasker – Your first profile

$
0
0

Tasker – How does it work?

Tasker runs quietly in the background, monitoring all activities  performed on your mobile device.  User created profiles contain conditions that tasker responds to.  Each time a condition becomes true, tasker performs set of actions. This simple principle allows you to create elaborate profiles, or even network of profiles working together. Although starting with tasker isn’t easy, within few sessions you will feel comfortable creating simple profiles.

Your first profile

Before we dive into the details about usage of the application alone, let’s create an example profile that will help us to illustrate how it all works. Please follow the video instructions. Below you have all the main stages listed and explained.

Profiles

List of conditions in the profile tabThis profile is a simple auto-rotation controller. Whenever Youtube or MX Player is opened, we will allow auto-rotation on our device, otherwise the phone will be locked in the portrait mode.

In the profile tab please add new profile – select application context. This will be our state condition. Whenever selected applications are open – condition will be true.  Select Youtube and another app from your list. Tasker will start monitoring these.

Now go back and pop up for a new Task should be visible.

Small bug in the Tasker may prevent you from seeing your input in Task name field,  name it regardless and hit Enter to create the task. I called mine Rotation+. This task will contain list of actions we want to perform when our selected applications are open.

 

Tasks

Firstly, we want to control the rotation of our display. You may be prompted to grant tasker with extra privileges, based on your android version. If so – please do so.

Actions in a taskIn Action category please go to Display or start typing in a Filter below: Display AutoRotate.

This will take you to the toggle responsible for that action. Set it to ON.

Next step will be to add another action, this time go to Variables and use Variable set action.

Variable name will be %Rotation+

And we are going to set it to ON.

To test the Task now – hit the play button. Your phone should apply autorotation to your display and variable %Rotation+ will be created and set to ON.

 

Scenes

Go to the Scenes tab, as we are going to create simple dialog letting us know that changes to our settings have been made.
Create a new scene.

In the scene properties you can also change the background colour. Once this is done, grabbing an edge of the background you can resize it. Make it smaller.

Scene and scene elements

You will notice the Zoom icon in the corner, press  it to enter into an edit mode.  You will be able to add your scene elements there. Look at + and you will see a list of available elements to be added. Select the text element.

We will create short message that will tell us an orientation of our phone.

Use text field to enter your notification, then input your variable %Rotation+ either by typing its name with % symbol, or pressing the icon in the corner. Value of our rotation variable will be displayed instead, when the scene is displayed.

Exit that screen and tap and hold element to resize it. Align it to your preferences and you are ready to exit that scene.

Go to the task again – we will add actions responsible for displaying the scene on your phone.How to display a scene

Add – Scene – Create Scene, (you will see your scene’s name) then Display Scene from the same menu. Display as: Dialog

As we want the scene to be visible for short time we will apply a Wait task between Show Scene and Destroy Scene action. Go to Action – Task  and select Wait. Set your timer to 1 sec. Then add the previously mentioned Destroy Scene action from the scene menu.

Let’s test it.

Your task will stop and display an error. Tasker saves data on exit, and since we have created the scene we have not exited the application, and we are unable to reference it properly in our profile. Exit task, then exit tasker out, and reopen it again. Now all should work as intended.

tests

 

Congratulations! You have a working profile.

I’m aware that this may not be a spectacular example, and you can’t wait to create something more suited to your needs, but this will serve us as an example.

Part 2

Last thing before you go further. Go to Tasker preferences and in UI settings – disable the beginners mode. Since I will be telling you more about tasker, it is a good idea that you would see all options available in the tasker itself.

Tasker Preferences

Tasker – Your first profile by Mat Zolnierczyk first appeared on Pocketables.


Tasker in details (Projects, Profiles, Tasks, Scenes & Variables)

$
0
0

Most elements in Tasker can be interacted with by tapping on them, or long pressing. This will enable additional settings and properties, import/export menu, copy and paste options etc. You can also move the profiles, tasks and actions around by tapping and dragging it at the very right side of each one. Experiment a little to get yourself comfortable with the user interface.

Then head to the tasker properties and in UI tab – disable the beginners mode!

Projects

To organise your creations, Tasker allows you to put them into folders called projects. This will contain your profiles, tasks and scenes which have been created within that project. To add, and access projects menu, long tap on home icon in the bottom left corner.

Screenshot_20160402-200845There you can also find options like import and export (please note you cannot export the default home project.) It is likely that you will come across ready-made creations in tasker, and files shared will often be listed as filename.prj.xml. The file will contain all information about the profiles, and can be imported. Importing files to Tasker has to be done via the correct import menu. If you are unable to find your file chances are, that you have imported a profile file instead, or you are accessing your import through an incorrect menu. Please be aware of this, as it is one of the most common questions asked online by beginners. In addition to the above you have options to add icons or rename your folders as well.

Profiles

Profiles contain two elements: context (condition) and a task (list of actions to perform). This is how your creations are built. Conditions are divided into two types:

Adding ConditionsEvent

When you receive a text message, or at exactly 3pm your phone registers an event condition. It is short and you are unable to define its range, just the time it occurred. Tasker monitors these and uses it to trigger tasks once something happened on your phone. Your task will run once when the event condition is true. Profiles based around event conditions don’t have the option for an exit task.

State

When your phone has an unread text message, or it is within the 3pm-4pm range we are talking about state conditions. These define a state a phone is in, you can also clearly define the start and the end of the state (you are able to tell when your phone has a pending message, or if it’s within a time range). If the condition becomes true, tasker will run your entry task. It will do so once, and if you have assigned an exit task, this will run once as well, when the condition becomes false.

You don’t have to assign an exit task to have a complete profile, by default Tasker will enable ‘restore settings’ (see profile properties) which will revert any changed settings back to the initial values. This applies only to actions with a ‘cog’ icon, and if you assign an exit task make sure to take this option into consideration.

Each profile can have up to four conditions attached to it. Only one of them can be an event condition. Tasker will monitor conditions based on the power usage, starting with low power draw first, so you wouldn’t have to worry about the power draw too much.

Options for profiles

Tasks

When profile is activated, Tasker will perform a list of actions. These are grouped in tasks and linked to your profiles. Tasks can be linked to profiles, or you can run it by placing a shortcut on your home screen.

Options for tasks

A Task contains a list of defined actions that are run in order. If one of the actions fails, this usually stops Tasker, unless you have selected otherwise. Tasker will wait for the action to be performed before moving onto another one. Tasker allows you to export and import files, they are stored as filename.tsk.xml and contain actions only. It is also possible to set the collision handling, should you run the same task multiple times before your initial task has been finished.

Scenes

Scene and scene elements

Scene and scene elements

To allow user interaction tasker has a built-in GUI system. Scenes are an interface that you can create to display data or allow user input. Each scene contains general working space which can be populated with arrays of elements. These can appear dynamically, and can carry data passed over from tasker, toggles, buttons or input methods.

In addition to this, each element can contain a task to be performed when interacted with.

Scenes allow you to create an app-like look to your Tasker projects, however mastering the layouts can take a while with its fiddly interface.

To display a scene you have to call a ‘create scene’ action, then ‘show scene’ action otherwise the scene will be created but will remain invisible.

You can export and import scenes as filename.scn.xml file through the usual import/export menu. It will contain the tasks included in elements created within that scene.

Variables

If you ever had anything to do with programming – I don’t have to explain much to you. Otherwise – you may want to pay attention to this section. Variables are like buckets, they allow you to store information, or value, and refer to it by calling its name (pass me this blue bucket) and process the data without actually checking what’s inside (whether the bucket contains nails or concrete i can still refer to it as ‘blue bucket)

Variables start with % and we have 3 types available in Tasker

Screenshot_20160402-201212

%SYSTEM (all upper case)

These are provided by Tasker, and their values are always set by tasker itself. Thanks to this we can use them in state conditions (ie %WIFI checks if WiFi on your device is on/off)

%Global (at least one upper case)

These are created by users and can be used to store or manipulate data. Data is stored until variable is cleared or changed. Global variables are available to use between profiles or projects.

%local (just lower case)

These are the quickest to process the data stored inside, but come with a trade-off. Only available while your task is running. Once task is complete – the variable is being wiped and data deleted unless you passed it over to a global variable.

Plugins often use local variables to allow you to capture data from the plug-in – and manipulate it when an associated task is running.

Variables take time to understand, but you can have a look on this video that explains each variable action available in Tasker.

Tasker in details (Projects, Profiles, Tasks, Scenes & Variables) by Mat Zolnierczyk first appeared on Pocketables.

Tasker – Android automation

$
0
0

tasker1

What can we do with Tasker?

You are reading this post, because you are not a programmer, and you would like to do something, that cannot be achieved with the existing apps, or you just really fancy an automated home from TV show Eureka or Jarvis from Iron Man franchise. Although AI is still beyond our reach (for better or worse) the tech of 21 century allows a creative person to achieve a high degree of everyday automation.

This is where the Tasker comes to play. It allows you to create your own profiles, actions, and behaviours allowing to interact with you, your surroundings, internet and internet of things (IoT).

Imagine that you’ve left the work, your phone is texting your loved ones with information about your estimated  arrival. Displays a traffic information, and the list of items to buy generated by your partner while you have been working. It opens the garage doors as soon as you hit your driveway. All this while making sure that your thermostat is set to your preferred setting. You are welcomed to a warm room, music from your playlist and lights on so you wouldn’t harm yourself over slipper you left in the morning. This is all doable without you even touching your phone however,  you cleaning up  slippers is not something Tasker can help you with.

Why Tasker then isn’t the next ‘hip’ thing? Learning curve is very steep. You are in the right place to get your head around the basics. If you never used Tasker before – please have a look on the complete guide to Tasker for beginners. If you have some experience already – feel free to jump from topic to topic.

Beginners Guide to Tasker 2016 ed.

All videos are made using the latest Tasker and Android 6.0 Marshmallow on a Nexus 6P

  1. Your first profile
  2. Projects, profiles, tasks, scenes and variables explained
  3. Home profile
  4. Sleep/night profile
  5. Voice notifications in multiple languages

Tasker Archives

Here you will find all previously written articles about Tasker. Please bear in mind a lot of information may be outdated, as the articles refer to older versions of the Tasker and Android.

Tasker – Android automation by Mat Zolnierczyk first appeared on Pocketables.

Smart sleep profile in Tasker

$
0
0

Rule no.1 of my household:

No mobile notifications in bed

Creating a smart sleep profile  or sleeping on a sofa?  This is where the Tasker comes in. I know, that you already figured out  how to do time conditions, however my profile is little more advanced. I work nights, away from home. I also stay up late at home, when an article like this one needs writing. So my sleep profile needs to account for these possibilities. We are going to use our previous project Home Profile to determine when our sleep profile is enabled.

The plan

Before you open the Tasker and start adding actions and profiles, it’s a good idea to write down, or draw a logic chart of what you are going to make. This doesn’t have to be anything sophisticated, just enough details to outline your plan of action.smart sleep profiles notes

Please don’t try to read into the notes too much. It’s a road map of what I’m going to do with the profile. This can help you find any potential problems before you start to create anything in Tasker. I do this a lot. In fact I have a dedicated notebook, as most of the time I will use a pen and paper over Journal software.

I’m going to create a main profile, which will enable/disable the sleep mode on my mobile. This profile will be toggled by supporting profiles, one for home location, and one for ‘not home’. The supporting profiles will trigger notifications, that will allow me to either cancel, or postpone sleep of my device when I’m home, or ask to enable the sleep profile when I’m not home. Notifications will have a button to launch independent tasks to create appropriate behaviour.

Profiles

There are three profiles:

  • Sleep Time (uses a time condition where our starting value is a variable  %SleepTime, and ends at 7am)
  • Warning at Home (uses the variable %Home=1 from the previous tutorial – home profile, and time condition to launch the task an hour before the sleep time)
  • Warning Outside (uses the variable %Home=0 from the previous tutorial – home profile, variable set when I’m not at work %Work=0 and time condition to launch the task an hour before the sleep time to ask if I need the sleep profile)

Smart night profiles

Sleep Profile is linked to 2 tasks Sleep+ (in) and Sleep- (out), and this is where I will enter all my night mode adjustments (silent mode etc). For now, I will just add an alert action as a place holder. Keep in mind that we will have to come back to Sleep- to add a Cancel task, and to Sleep+ to add a notification that our phone is in a sleep mode.

Warning at Home is linked to Enable Sleep which Sets  %SleepTime=23 (1h later), enables our Sleep Profile and issues an Sleep Profile notification with options to Postpone or Cancel (both actions will trigger special tasks).

Warning Outside just launches new notification also called Sleep Profile, which has 3 actions: Set Now, Postpone, Cancel – each will launch tasks corresponding to their names.

Because I don’t have any tasks I want to run when the buttons are pressed, I will only assign label name and an icon for now, and when this is done, I’m going to create the needed tasks. Additional tasks will consist of:

  • Cancel (will wipe all variables used, and cancel notifications visible on the screen, will also disable the Sleep Time profile)
  • Postpone (will set the %SleepTime to an hour later, cancel currently open notification, then display confirmation of the Sleep Time profile)
  • Sleep Now (will launch Sleep Time profile with a 30 sec delay, cancel all existing notifications )

Tasks

Cancel and Postpone tasks are used in several notifications. Once created, you will have to go to each notification, check what options (buttons) have you assigned to the notification, and add action Run Task, then select the correct one.

Cancel

A1: Notify Cancel [ Title:Sleep Profile Warn Not Exist:Off ]

A2: Notify Cancel [ Title:In Sleep Warn Not Exist:Off ]

A3: Notify Cancel [ Title:Pending Sleep Warn Not Exist:Off ]

A4: Variable Clear [ Name:*Time* Pattern Matching:On ]

A5: Profile Status [ Name:Sleep Time Set:Off ]

 As we are using limited notification names – we need to make sure when cancel button is tapped – all of them  named the same way, will be removed. (A1,A2). Next the variables are cleared, I could use Variable clear action twice, however you can select pattern matching and use RegEx to find the names of variables to clear. If you want to learn more about RegEx in Tasker see this! Lastly the sleep profile is disabled.

Postpone

A1: Notify Cancel [ Title:Sleep Profile Warn Not Exist:Off ]

A2: Variable Set [ Name:%SleepTime To:%TIMES + 3600 Do Maths:On Append:Off ]

A3: Variable Convert [ Name:%SleepTime Function:Seconds to Date Time Store Result In:%PostponeTime ]

A4: Notify [ Title:Pending Sleep Text:The sleep will be enabled at %PostponeTime Icon:hd_aaa_ext_bulb Number:0 Permanent:Off Priority:3 Actions:(2) Run Task: Postpone, Cancel ]

Smart sleep profileOnce notification is cancelled we are using %TIMES system variable (Time in seconds)  and we are setting it to 1h later by adding 3600 seconds (make sure do math is selected). This will set our variable %SleepTime to the time an hour from now. To make the value easier for us to read I use convert variable, and display the time in the normal format in the next notification under %PostponeTime – this notification also has 2 buttons: Postpone and Cancel.

Sleep Now

A1: Variable Set [ Name:%SleepTime To:%TIMES + 30 Do Maths:On Append:Off ]

A2: Profile Status [ Name:Sleep Time Set:On ]

A3: Notify Cancel [ Title:Sleep Profile Warn Not Exist:Off ]

A4: Notify Cancel [ Title:Pending Sleep Warn Not Exist:Off ]

This task will run when Set Now button is pressed in the notification given from Warning Outside. It cancels the notifications present on the screen and sets our profile Sleep Time on.

End Thoughts

As you see, Tasker can be very flexible. I’m able to set the smart sleep profile to run only when needed, and even then I have the option to adjust the settings. Project like this can be also linked to your alarms and other location-based profiles. It is possible to use Tasker to create an elaborate night mode that will disable other devices, lights and whatever you desire. For now lets leave it here and in the next article we will have a look on usage of plugins and variables more. Files for download and detailed description available in the description of the video.

Smart sleep profile in Tasker by Mat Zolnierczyk first appeared on Pocketables.

How to manage headset notifications in multiple languages using Tasker

$
0
0

Being bilingual can be a curse at times. I have BT headset (LG Tone) which I often use when cycling, to listen to the music. LG companion app allows for the  notifications to be spoken through the headset. This is great, however, every time my Polish friend messages me – it feels like cursing in an ancient language.  I decided to put an end to this and show you at the same time how to use variables and plug-ins with Tasker to create bilingual headset notifications. This profile can be used with headsets, Bluetooth headsets or just as a car profile.

For the sake of this tutorial, we will be using Autonotification plug-in.

Autonotification

AutoNotificationAutonotification is one of the most useful plug-ins available. It allows you to create rich, custom notifications on your screen, and read existing notifications, then store its content inside local variables. This can be used to process the data from notifications in your  tasks, or creating elaborate notification trees with buttons, icons, and information.

Profile

Headset autonotification

We are going to use an event condition to intercept notifications from Messenger (Facebook), Whatsapp and Hangouts. If you want to add more, just follow the steps accordingly. In profiles, select plug-in Autonotification – Intercept to respond to each notification from selected apps and gather information from these notifications in local variables. Once notification appears on our screen, Tasker will have a variable available to be used in a task.

Task

Action Say allows the headset notifications profile to select the text to be spoken out loud, and language we want to use. By default, it will be set to your mobile’s language. As our profile is using Autonotification, new variables will be available to us. %antitle will store the name of the person who sent us a message and %antext is responsible for storing the body of the text message. Entering both variables in Say field will read the content of the variable once the message is received.

Headset Notifications

To select correct language press magnifying glass, then select language of your choice. Copy this entry, as we will use a variable %leng to store information about what language we want to use to play this message.

Create 2 actions (or more for more languages), both Variable Set, one for each language. Set variable %lang to values copied from the TTS setting. One of this tasks will be run, depending on our Replace search result.

Add another action Variable Search Replace. This allows us to pick a variable (%AlterLanguage) and look up its content for a specific information. %AlterLanguage will contain a list of names of our contacts (in my case my Polish friends). We will be checking our %antitle which contains the name of the person who messages us against this list. When a match is found, we will store it in the %foundone array. Select ‘multiline’ and ‘one match only’  and you are ready to go to the last step.

Headset Notifications

When name from %antitle matches one of the lines in %AlterLanguage -as a result, it populates an array with each match. As we are looking for one match only, the first variable in this array will be filled %foundone1. If this variable is set, we want our TTS setting to speak Polish, otherwise English. Go to the task and Variable Set %lang use IF condition  to IS SET/NOT SET to allow selection of the correct language. In my example, TTS in Polish is SET and TTS in English is NOT SET.

Make sure all actions are set in the right order and you are ready to try it. Each name added to %AlterLanguage needs to be the exact spelling of your contact from the phonebook.  Each contact must be on the new line of this variable. You can also use Read/Write File action to store the list in a file.

Task description

Received Message (9)

A1: Variable Search Replace [ Variable:%AlterLanguage Search:%antitle Ignore Case:Off Multi-Line:On One Match Only:On Store Matches In:%foundone Replace Matches:Off Replace With: ]

A2: Variable Set [ Name:%lang To:com.google.android.tts:pol-pol Do Maths:Off Append:Off ] If [ %foundone1 Set ]

A3: Variable Set [ Name:%lang To:com.google.android.tts:eng-gbr Do Maths:Off Append:Off ] If [ %foundone1 !Set ]

A4: Say [ Text:%antext Engine:Voice:%lang Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ]

In conclusion I hope this clarifies a bit more how to use variables and plug-ins, and also removes the entertaining mispronunciations of google’s TTS. As always, links to the headset notification profile xml files are in the video description.

How to manage headset notifications in multiple languages using Tasker by Mat Zolnierczyk first appeared on Pocketables.

Tasker Emergency Profile – Great for cycling or a night out

$
0
0

It’s all good until somebody gets hurt. As a keen cyclist, I have had a fair share of punctures, and few scraps with cars or near road obstacles. Fortunately, I came out of it unscathed. I’m also responsible for some of that grey hair my mom got, by not telling here where I am and when I will be back. Perhaps it is too little, too late for me, but you may be the right person to talk to. The Tasker Emergency Profile will let designated person know your whereabouts without draining your battery. Perhaps it won’t prevent you from getting in troubles in the first place, but it could make saving your neck little easier.

Tasker Emergency Profile – not only for cycling

This profile is responsible for reporting. It will issue a text message (yes, good old fashion text in case you have no internet coverage) to the person of your choice when:

  • when you leave (it will let them know what time you should be back, and how to request your location)
  • when your battery is about to die (so, they wouldn’t get worried sick)
  • when you have changed your plans and you are running late (cause it makes sense to keep your close ones updated)
  • when you got safely home (so they would stop worry sick)
  • AND I hope that won’t happen when something happened, and you are not back home when you suppose to (so they could find your last location or request one)

GPS is an old debate. It uses a lot of battery power which is so precious when outside. Strava and other fitness trackers can share live location updates for the same purposes, but this will drain your battery considerably faster.  Tasker Emergency Profile will save you some juice by checking your location on request only. I see on forums that a lot of users still trying to toggle GPS, I left this out in this tutorial. Unless there are some privacy concerns, GPS and location reporting works well as it is.

Conditions

The Tasker Emergency Profile contains  5 contexts. These aren’t actually complicated, 3 of them, responsible for returning the location via SMS are linked to the same task, one to cancel the profile altogether. The last one makes sure we can send out a text message.

Low Battery Update

screenshot_20161020-120251Because I want this profile to be active only when I’m cycling, I have created the variable %BikeRide  this will be one of the conditions in my profiles. The second context is battery level which is set to 0-5. This should have enough juice to get the last location and send the SMS. I have picked bigger number instead of 2% just in case we are outside the network, and the SMS is pending to be sent for a while.

Text Location Update

screenshot_20161020-120255

While on the bike, any (or defined – up to you) contact can use a keyword to request your location. The text has to contain the exact word, but the word can be placed anywhere in your regular text. This remains active for the duration of your bike ride. After all – you may not always want to share your position. Just in case you wish to go for that quick drink after work.

Time Condition Update

screenshot_20161020-120300If you are running late, this condition sends the text message unless an action is taken. Without some sensors running wildly and sucking in all the battery power you have left, it is hard to tell when you had an accident. If you have been involved in one, and you are not back on time, the profile will become active and sends a text message out.

Home – close on WiFi

screenshot_20161020-120308Let’s face it, chances are that you will forget once or twice to turn this off in time. If you have a home area set up to enable the WI-FI on your phone, this will disable the Tasker Emergency Profile when you have connected again to the home WI-FI.

Signal check

screenshot_20161020-120313This is a simple profile that checks the signal strength. If a signal is present, variable %InRange is set to 1, otherwise, it is 0. This profile will be used with Wait Until action – to make sure that the SMS is sent when the signal is present. Entry task changes the value to 1 while exit task will set the value of the variable to 0.  Further on the variable is used  to check every 5 second if value of %InRange is 1, then the text message is sent.

Tasks

screenshot_20161020-123238Tasks are kept fairly simple too in the Tasker Emergency Profile. As you have seen in the contexts section Tasker Emergency Profile reuses Send Location profile multiple times. The entire project starts with the Start task. As the tasks are fairly simple please look at the bottom of the page for the action list.

Start

This is where we are going to create and display 1st scene (Bike 999). Later on, I have added a destroy scene as my 1st action to make sure I have an escape, should I close the scene via the  back button.

Send Location

To get the location with a pin on google maps we have you query the coordinates. Fortunately, the location coordinates provided by Tasker (variable %LOCN) are formatted correctly and all we have to do is plug it in inside this URL:

[code]http://maps.google.com/maps?q=loc:%LOCNz=12[/code]

The value of b is responsible for a zoom level when the link is opened. This link works with both Google Maps app and web interface. When the link is composed Wait Until action and %InRange variable sends the text message only when the networks allows us to do so. By default, my text looks like this:

Currently about %LOCACC m away from %GoogleURL

However, if my battery is low, I’d like to send a slightly different message. This also allows me to have all three profiles using the same task:

My phone battery is low.  Just want to let you know where I am.  I went for a bike ride. Currently about %LOCACC m away from %GoogleURL. I’ll call you once I’m back home.

Extend

If I’m running late, I need to pull up a new scene (Extend) and pick new ETA for my return. This task cancels the notification and opens a new scene for me.

Got Home

Once I’m back home, I have to close the profile and let the person know I’m OK. Both manual deactivation and the Wi-F- context is linked to this task. It will deactivate the needed profiles, cancels the notification, sends the message out that I’m safe and then clears the %Bike* variables.

InRange+/-

As discussed in the Signal check condition.

Scenes

Bike 999

screenshot_20161020-125009All interactive elements (apart from the OK button) in the Tasker Emergency Profile do the same thing. They set a value  %new_val to a specific variable. So for number pickers its %BikeHour and %BikeMinute. For the text entry, it is %EmergencyContact and for the checkbox it is %EmergencySend. These are assigned when changed, and the OK button is dealing with the default values and processing the text message.


Few things to discuss here.

A1-A5 – obvious.
A6 – assign the default contact number
A7-A8 – assign the defaults for number pickers
A9 – A10 – Create a variable which will format the time correctly for the SMS. If values are <10 additional zeros are added.
A11 – This variable is used in the Time contexts, needs no zeros but requires a ‘.‘ to work in the context
A12 – notification contains two actions – Extend and End
A16:

Hey!  I’m going on a bike ride.  I should be back at %ReturnTime.  You can always look up my location via text.  Use LOCATION in your text to receive the update, if I’m not back by the time listed give me a call.

Message with instructions which is sent if tick box was selected.

Extend

screenshot_20161020-125015This scene was made as a copy of Bike 999 one. Then other elements were removed and the OK button has been modified a little. Save yourself the trouble and finish the 1st scene first and you will notice that there are only a few things to change.

screenshot_20161020-125055

Remove the actions that don’t belong to this list.  then change your text message to reflect the action:

It’s taking little longer.  I should be back by %ReturnTime

And you are pretty much done here.

Conclusion

Tasker Emergency Profile  can have more than one use. Whether you are going for a long bike ride or just a crazy night  this profile could increase your safety. Perhaps you are still young and it could be an additional argument presented to your parents to let you go out for longer, or a hiking trip. I think I covered most common scenarios, but the project is not limited to these uses.

    [code]Profile: Low Batt Update (12)
    	State: Battery Level [ From:0 To:5 ]
    	State: Variable Value [ %BikeRide ~ 1 ]
    Enter: Send Location (10)
    	A1: Get Location [ Source:Any Timeout (Seconds):40 Continue Task Immediately:Off Keep Tracking:Off ] 
    	A2: Variable Set [ Name:%GoogleURL To:http://maps.google.com/maps?q=loc:%LOCN&z=12 Do Maths:Off Append:Off ] 
    	A3: Wait Until [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ] If [ %InRange ~ 1 ]
    	A4: Send SMS [ Number:%SMSRF Message:Currently about %LOCACC m away from %GoogleURL Store In Messaging App:Off ] If [ %BATT > 5 ]
    	A5: Send SMS [ Number:%SMSRF Message:My phone battery is low.  Just want to let you know where I am.  I went for a bike ride. Currently about %LOCACC m away from %GoogleURL. I'll call you once I'm back home. Store In Messaging App:Off ] If [ %BATT < 6 ]
    
    [/code]

    [code]Profile: Text Loc Update (13)
    	Event: Received Text [ Type:SMS Sender:C:ANY Content:*LOCATION* ]
    	State: Variable Value [ %BikeRide ~ 1 ]
    Enter: Send Location (10)
    	A1: Get Location [ Source:Any Timeout (Seconds):40 Continue Task Immediately:Off Keep Tracking:Off ] 
    	A2: Variable Set [ Name:%GoogleURL To:http://maps.google.com/maps?q=loc:%LOCN&z=12 Do Maths:Off Append:Off ] 
    	A3: Wait Until [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ] If [ %InRange ~ 1 ]
    	A4: Send SMS [ Number:%SMSRF Message:Currently about %LOCACC m away from %GoogleURL Store In Messaging App:Off ] If [ %BATT > 5 ]
    	A5: Send SMS [ Number:%SMSRF Message:My phone battery is low.  Just want to let you know where I am.  I went for a bike ride. Currently about %LOCACC m away from %GoogleURL. I'll call you once I'm back home. Store In Messaging App:Off ] If [ %BATT < 6 ]
    
    [/code]

    [code]Profile: Time Condition Update (30)
    	Time: From %BikeTime Till %BikeTime
    	State: Variable Value [ %BikeRide ~ 1 ]
    Enter: Send Location (10)
    	A1: Get Location [ Source:Any Timeout (Seconds):40 Continue Task Immediately:Off Keep Tracking:Off ] 
    	A2: Variable Set [ Name:%GoogleURL To:http://maps.google.com/maps?q=loc:%LOCN&z=12 Do Maths:Off Append:Off ] 
    	A3: Wait Until [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ] If [ %InRange ~ 1 ]
    	A4: Send SMS [ Number:%SMSRF Message:Currently about %LOCACC m away from %GoogleURL Store In Messaging App:Off ] If [ %BATT > 5 ]
    	A5: Send SMS [ Number:%SMSRF Message:My phone battery is low.  Just want to let you know where I am.  I went for a bike ride. Currently about %LOCACC m away from %GoogleURL. I'll call you once I'm back home. Store In Messaging App:Off ] If [ %BATT < 6 ]
    
    [/code]

    [code]Profile: Home(44)
    	State: Wifi Connected [ SSID:FASTBERRY MAC:* IP:* ]
    	State: Variable Value [ %BikeRide ~ 1 ]
    Enter: Got Home (43)
    	A1: Profile Status [ Name:Low Battery Update Set:Off ] 
    	A2: Profile Status [ Name:Text Location Update Set:Off ] 
    	A3: Profile Status [ Name:Time Condition Update Set:Off ] 
    	A4: Profile Status [ Name:Signal Check Set:Off ] 
    	A5: Notify Cancel [ Title:Bike Profile Active Warn Not Exist:Off ] 
    	A6: Wait Until [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ] If [ %InRange ~ 1 ]
    	A7: Send SMS [ Number:%EmergencyContact Message:I'm back home now.  Thanks. Store In Messaging App:Off ] 
    	A8: Variable Clear [ Name:%Bike* Pattern Matching:On ] 
    
    [/code]

    [code]Profile: Signal Check (11)
    	State: Signal Strength [ From:1 To:8 ]
    Enter: In Range+ (31)
    	A1: Variable Set [ Name:%InRange To:1 Do Maths:Off Append:Off ] 
    
    Exit: In Range- (40)
    	A1: Variable Set [ Name:%InRange To:0 Do Maths:Off Append:Off ] 
    
    [/code]

    Tasker Emergency Profile – Great for cycling or a night out by Mat Zolnierczyk first appeared on Pocketables.

    Tasker – Lock Apps on Android devices

    $
    0
    0

    Are you still locking apps like it’s 1999? Do you have kids or a very curious partner? This profile could be for you! I came across few online profiles that suppose to protect your apps from unwanted attention using a password or a fingerprint reader. Would you like to see me bypass it  in a few seconds?  I think it’s time to come up with a little bit more robust solution. This time, we are using Tasker to lock apps and prevent anyone from accessing it.

    Lock Apps on Android with Tasker

    Watch the video to understand the limitation of other, available online methods. Secure shortcuts are very easy to bypass with a recent app screen or by launching the app with the voice command instead. Joao Dias’s tutorial can be bypassed with a split screen hack. It’s little too easy to bypass the app this way, and you would be better off buying a designated app that takes care of this for you. What if you wish to automate this with Tasker? Here is what you can do.

    Limitations

    The locked applications will become inaccessible, this means you won’t be able to receive any notifications issued by the application itself. This could be a good or a bad thing depending on your needs. Locked apps won’t have any access to the internet either. You can take the advantage of this fact as well.

    The other limitation is the actual security of the method. Although the idea is simple and very efficient it is not really secure if you know how the application has been locked.  This is not something anyone can figure out on their own.

    The process will require root access.

    How does it work?

    Tasker lock apps profile simply changes the name of the folder in which application is installed. This renders the application useless.  There is no need to move the files alone (it takes time and it does not increase the security) and unless you know what are you looking for, the app will remain inaccessible. To increase the confusion of the hacker – the name picked can be little more ambiguous than the one I have used in an example (posing as another app).

    To restore the access simply reverse the code and rename the folder to the original name. The app will resume where you left it.

    Lock Apps

    Tasker lock appsOnce the shortcut is activated Tasker will create unlocking notification (optional). The notification has options to unlock the apps via password or fingerprint reader and it is linked to the corresponding tasks. This task will change the name with a run shell action (use root):

    mv /data/app/{com.android.chrome-1,this.are.not.the.secret.files.you.looking.for}

    In {original_name,new_name} we are listing the current name of the app followed by the name we wish to change it to. Then a simple notification is displayed that process has been completed successfully.

    Unlock Apps

    Tasker Lock Apps profile can be unlocked in any way you wish. I will show you the password and the fingerprint method but feel free to link this to any other activity. Bear in mind to lock the tasker access in options, otherwise, the whole purpose of this is wasted.

    Fingerprint scanner

    screenshot_20161024-211617We will need an AutoTools for this. A dialog is created to read the fingerprint and a variable  %atbutton  is set to 2 if the scan was successful. Please select Continue Task After Error to allow Tasker to complete the task should fingerprint read fail. In AutoTools app disable the warning message, otherwise, you will see the additional notification when the scan  fails.

    If %atbutton = 2 – your task will unlock the app (or apps) otherwise it will throw an error and wait for the next attempt to unlock it.

    Password

    screenshot_20161024-211622I’m also using the AutoTools here, however, you can easily swap this for a scene or similar. A dialog will capture user input and will save it in the %attext variable. If this variable is set to the same value as your password the run shell changes the name of the folder to the original form.

    Conclusion

    Tasker  – Lock Apps on Android profile is a clever and simple way to lock a single app or multiple apps at once.

    Android ver: Any
    Plugin: AutoTools (optional)
    Needs: Root
    Complete project file is available here.

    Lock App (46)
    A1: Notify [ Title:Lock Enabled Text:Your application has been locked Icon:hd_ab_device_access_secure Number:0 Permanent:On Priority:3 Actions:(2) ]
    <Lock>
    A2: Run Shell [ Command:mv /data/app/{com.android.chrome-1,this.are.not.the.secret.files.you.looking.for} Timeout (Seconds):0 Use Root:On Store Output In: Store Errors In: Store Result In: ]
    A3: Flash [ Text:Locked Long:Off ]
    
    

    UnLock App (47)
    Abort Existing Task
    A1: Status Bar [ Set:Collapsed ]
    A2: AutoTools Dialog [ Configuration:Dialog Type: Fingerprint
    Title: Scan your fingers
    Number Of Tries: 1
    Text Size: 20
    Dim Background: true
    Top Margin: 16
    Bottom Margin: 16
    Bottom Buttons Top Margin: 16
    Bottom Buttons Bottom Margin: 16
    Cancelable: true
    Turn Screen On: true Timeout (Seconds):60 Continue Task After Error:On ]
    A3: If [ %atbutton ~ 2 ]
    <Unlock>
    A4: Run Shell [ Command:mv /data/app/{this.are.not.the.secret.files.you.looking.for,com.android.chrome-1} Timeout (Seconds):0 Use Root:On Store Output In: Store Errors In: Store Result In: ]
    A5: Flash [ Text:UnLocked Long:Off ]
    A6: Notify Cancel [ Title:Lock Enabled Warn Not Exist:Off ]
    A7: Else
    A8: Flash [ Text:Wrong Finger Long:On ]
    
    

    UnLock App Pass (48)
    Abort Existing Task
    A1: Status Bar [ Set:Collapsed ]
    A2: AutoTools Dialog [ Configuration:Dialog Type: Input
    Title: Enter your password (HINT:1234)
    Text Size: 20
    Input Type: 1
    Output Variable: attext
    Dim Background: true
    Top Margin: 16
    Bottom Margin: 16
    Bottom Buttons Top Margin: 16
    Bottom Buttons Bottom Margin: 16
    Cancelable: true
    Turn Screen On: true Timeout (Seconds):60 ]
    A3: If [ %attext ~ 1234 ]
    <Unlock>
    A4: Run Shell [ Command:mv /data/app/{this.are.not.the.secret.files.you.looking.for,com.android.chrome-1} Timeout (Seconds):0 Use Root:On Store Output In: Store Errors In: Store Result In: ]
    A5: Flash [ Text:UnLocked Long:Off ]
    A6: Notify Cancel [ Title:Lock Enabled Warn Not Exist:Off ]
    A7: Else
    A8: Flash [ Text:Cmon I thought you can read! Long:On ]
    
    

     

    Tasker – Lock Apps on Android devices by Mat Zolnierczyk first appeared on Pocketables.

    Create 7 custom fingerprint reader Tasker actions

    $
    0
    0

    Previously I did a tutorial on how to assign custom fingerprint actions  and make it context dependent. You can have a look at this tutorial here. This time I will show you few different profiles that utilize this action, and make the fingerprint sensor even more useful. If you don’t have a fingerprint scanner on your phone, don’t worry, this would as well work with an onscreen button. I will show you how to create an invisible one too!

    Let’s have a look at custom fingerprint actions.

    Chrome – send the web page to another device (upgraded)

    This is an iteration, so it’s bound to be better. While the profile alone does exactly the same thing, it will cast the page to the selected PC based on a WIFI connected or a dialog. I also added a toggle for accessibility services for AutoInput, as these tend to slow down the Android. You can either use a WIFI connected  context to pick a PC of your choice (home/work in the example)  or display a dialog. In both examples, I have added Secure Settings accessibility toggle as A1 and last action. If you struggle to get the Secure Settings working look at this solution or check the run shell options from here.

    WIFI connected

    custom fingerprint actionsUnless you can get the location values from another profile, you will need to create two additional  profiles. One will set the variable %Location to home, another to work. Create the profile, WIFI connected, fill in your home SSID, and link the task which will set the variable %Location to home. Do the same for the work WIFI.

    Now that we have this ready  we can simply add an IF condition to Join Push action. A push to the correct device will be issued depending on our %Location variable.

    Profile: Connected Home
    	State: Wifi Connected [ SSID:FASTBERRY/SLOWFROG MAC:* IP:* ]
    Enter: Connected Home
    	A1: Variable Set [ Name:%Location To:home Do Maths:Off Append:Off ] 
    
    Profile: Connected Work
    	State: Wifi Connected [ SSID:ITC-STAFF MAC:* IP:* ]
    Enter: Connected Work
    	A1: Variable Set [ Name:%Location To:work Do Maths:Off Append:Off ] 
    
    Profile: Chrome On PC
    	Application: Chrome
    	State: Variable Value [ %FingerScanned eq 1 ]
    Enter: Chrome
    	A1: Secure Settings [ Configuration:AutoInput: service.ServiceAccessibility - Enabled Timeout (Seconds):0 ] 
    	A2: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ] 
    	A3: AutoInput UI Query [ Configuration:Only Visible: true
    Only Clickable: false
    App Package: com.android.chrome
    Check Screen State: false
    Text: ((?<=http:\/\/|https:\/\/|https:\/\/www.|http:\/\/www.|www.))?.*
    Regex: true
    Variables: address Timeout (Seconds):20 ] 
    	A4: Join Send Push [ Configuration:Device: Chrome@Home
    Url: %address Timeout (Seconds):60 ] If [ %Location ~ home ]
    	A5: Join Send Push [ Configuration:Device: Chrome@work
    Url: %address Timeout (Seconds):60 ] If [ %Location ~ work ]
    	A6: Secure Settings [ Configuration:AutoInput: service.ServiceAccessibility - Disabled Timeout (Seconds):0 ]

    Dialog

    screenshot_20161204-151219If you have multiple PC in the single network, perhaps a dialog would be a better option for you. I’m going to use AutoTools to generate a dialog which will consist names of the PCs I can cast the web page to. Once clicked  – the website will be sent. If you are going to use just the dialog, you don’t need to recreate the profiles from above. All you need to do is add the AutoTools Dialog action to your task. Populate the names with your options and assign commands to each option. These commands will be stored in a variable %atcommand. Once pressed, the variable will be set, and we can trigger the correct Join Push action. Each Join Push action will have a match IF condition (%atcommand ~ home or work etc).

    Profile: Chrome On PC
    	Application: Chrome
    	State: Variable Value [ %FingerScanned eq 1 ]
    Enter: Chrome Dialog
    	A1: Secure Settings [ Configuration:AutoInput: service.ServiceAccessibility - Enabled Timeout (Seconds):0 ] 
    	A2: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ] 
    	A3: AutoInput UI Query [ Configuration:Only Visible: true
    Only Clickable: false
    App Package: com.android.chrome
    Check Screen State: false
    Text: ((?<=http:\/\/|https:\/\/|https:\/\/www.|http:\/\/www.|www.))?.*
    Regex: true
    Variables: address Timeout (Seconds):20 ] 
    	A4: AutoTools Dialog [ Configuration:Dialog Type: List
    Title: Select your pc
    Icon: android.resource://net.dinglisch.android.taskerm/hd_hardware_dock
    List Type: 0
    Texts: Home,Work
    Text Size: 20
    Image Width: 100
    Commands: home,work
    Dim Background: true
    Top Margin: 16
    Bottom Margin: 16
    Bottom Buttons Top Margin: 16
    Bottom Buttons Bottom Margin: 16
    Close On Select: true
    Separator: ,
    Command Variable: atcommand
    Cancelable: true
    Turn Screen On: true Timeout (Seconds):60 ] 
    	A5: Join Send Push [ Configuration:Device: Chrome@Home
    Url: %address Timeout (Seconds):60 ] If [ %atcommand ~ home ]
    	A6: Join Send Push [ Configuration:Device: Chrome@work
    Url: %address Timeout (Seconds):60 ] If [ %atcommand ~ work ]
    	A7: Secure Settings [ Configuration:AutoInput: service.ServiceAccessibility - Disabled Timeout (Seconds):0 ]

    WhatsApp – Continue on the PC

    screenshot_20161204-151223WhatsApp is great and everything, but you know that it is easier to have that heated discussion on the computer instead. Very simplistic, and yet very useful profile that will get the WhatsApp up and running on your PC so you could continue talking. If you have more than one PC, feel free to link this to a WIFI or create a dialog like we did above. If you not aware, WhatsApp has a web interface at: https://web.whatsapp.com/ use this in the URL field.

    Profile: WhatsApp On PC
    	State: Variable Value [ %FingerScanned eq 1 ]
    	Application: WhatsApp
    Enter: Whatsapp
    	A1: Join Send Push [ Configuration:Device: Chrome@Home
    Url: https://web.whatsapp.com/ Timeout (Seconds):60 ] If [ %Location ~ home ]
    	A2: Join Send Push [ Configuration:Device: Chrome@work
    Url: https://web.whatsapp.com/ Timeout (Seconds):60 ] If [ %Location ~ work ]

    Facebook – Open Facebook on a PC

    screenshot_20161204-151227In a very similar fashion, we can continue our Facebook browsing. In the same way as before link a new URL: https://www.facebook.com/  and you ready to roll. Of course feel free to link this to a WIFI or add a dialog option.

    Profile: Facebook On PC
    	State: Variable Value [ %FingerScanned eq 1 ]
    	Application: Facebook
    Enter: Facebook
    	A1: Join Send Push [ Configuration:Device: Chrome@Home
    Url: https://www.facebook.com/ Timeout (Seconds):60 ] If [ %Location ~ home ]
    	A2: Join Send Push [ Configuration:Device: Chrome@work
    Url: https://www.facebook.com/ Timeout (Seconds):60 ] If [ %Location ~ work ]

    Maps – Navigate home, or to your favorite location

    One click ‘Take me home’ is a very practical thing to have. When maps are open we can pass an intent and ask Google to take us home (requires home location in Google Maps, or hardcoded address in the variable). If you wish to have few favorites to choose from like work or Las Vegas, we can also link a dialog.

    Navigate Home

    screenshot_20161204-151231With a quick press of a button an Intent action is sent. This will open the Map and set home as your destination. Simple!

    Profile: Maps Go Home
    	State: Variable Value [ %FingerScanned eq 1 ]
    	Application: Maps
    Enter: Maps
    	A1: Send Intent [ Action:android.intent.action.VIEW Cat:None Mime Type: Data:google.navigation:q=home Extra: Extra: Extra: Package: Class: Target:Activity ]

    Favorite Locations


    Create a dialog with AutoTools, and fill in a list of locations. You can use places like home or work, cities or specific addresses. List them separated with commas. The AutoTools dialog will populate the variable %attext when the option is pressed. This option will be passed over to the intent, in the data field: google.navigation:q=%attext . The intent: android.intent.action.VIEW  will take you to your destination.

    Profile: Maps Go Home 
    	State: Variable Value [ %FingerScanned eq 1 ]
    	Application: Maps
    Enter: Maps Dialog
    	A1: AutoTools Dialog [ Configuration:Dialog Type: List
    Title: Select location
    Icon: app-icon:com.google.android.apps.maps
    List Type: 0
    Texts: Home,Work,Las Vegas
    Text Size: 20
    Image Width: 100
    Dim Background: true
    Top Margin: 16
    Bottom Margin: 16
    Bottom Buttons Top Margin: 16
    Bottom Buttons Bottom Margin: 16
    Close On Select: true
    Separator: ,
    Command Variable: atcommand
    Cancelable: true
    Turn Screen On: true Timeout (Seconds):60 ] 
    	A2: Send Intent [ Action:android.intent.action.VIEW Cat:None Mime Type: Data:google.navigation:q=%attext Extra: Extra: Extra: Package: Class: Target:Activity ]

    Hangouts – Quick reply templates


    I know I seem to love the AutoTools Dialog action, but it is one of the most useful actions in my opinion. This time we will set the clipboard with a quick response template. Once the selection is made, you can paste your text message or reply in seconds. No need for typing.

    To create an array, use Variable Set and list your options separated by the comma. Perform Variable split by the comma and you have a handsome looking array! We will use this array to store our templates in. Make sure it is a global array (contains upper case letter in the name) as local arrays will disappear. You can modify the array later as well. The AutoTools Dialog will take the %Templates() array in the text field and will populate your list with options. All you need to do now is use Set Clipboard action to store the value of %attext. I kept the array created actions for you in the description. Once you have an array you can delete A1 and A2 actions.

    Profile: Hangout Template 
    	State: Variable Value [ %FingerScanned eq 1 ]
    	Application: Hangouts
    Enter: Hangout (16)
    	A1: [X] Variable Set [ Name:%Templates To:option 1, option 2, option 3 Do Maths:Off Append:Off ] 
    	A2: [X] Variable Split [ Name:%Templates Splitter:, Delete Base:Off ] 
    	A3: AutoTools Dialog [ Configuration:Dialog Type: List
    Title: Select your template
    Icon: android.resource://net.dinglisch.android.taskerm/hd_content_edit
    List Type: 0
    Texts: %Templates()
    Text Size: 20
    Image Width: 100
    Dim Background: true
    Top Margin: 16
    Bottom Margin: 16
    Bottom Buttons Top Margin: 16
    Bottom Buttons Bottom Margin: 16
    Close On Select: true
    Separator: ,
    Command Variable: atcommand
    Cancelable: true
    Turn Screen On: true Timeout (Seconds):60 ] 
    	A4: Set Clipboard [ Text:%attext Add:Off ] 
    	A5: Flash [ Text:Clipboard set to: %attext Long:On ]

    Camera – Delayed shutter

    screenshot_20161204-151245I always find uncomfortable to use the camera for selfies. Scanning your finger perhaps is not the greatest option, however, you can set the camera to a timer, and get your hand in position. This gives you  the extra reach needed for that ultimate selfie.

    To give ourselves a warning, the Android lady will count down for us with the action Say. After this – use action Button – Camera to take the picture with the main camera. No need to play with the timers or reaching out for a button.

    Profile: Camera Seflie Main
    	State: Variable Value [ %FingerScanned eq 1 ]
    	Application: Camera
    Enter: Camera 
    	A1: Say [ Text:In 3,2,1... Engine:Voice:com.google.android.tts:eng-gbr Stream:2 Pitch:6 Speed:6 Respect Audio Focus:On Network:On Continue Task Immediately:Off ] 
    	A2: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ] 
    	A3: Button [ Button:Camera ]

    YouTube – Cast to PC


    I always found this annoying, if you have a smart TV – casting the YouTube video to PC is very difficult. Unless your PC has the YouTube page open in a TV mode, the cast option is not possible. We can enable the option using the scanner. This is yet another simple profile, but so useful. Open Join Push URL page: https://www.youtube.com/tv on your PC, and you can select the source of your cast by long pressing the cast option in the YouTube Video! So simple!

    Profile: Youtube PC (21)
    	State: Variable Value [ %FingerScanned eq 1 ]
    	Application: YouTube
    Enter: Youtube (20)
    	A1: Join Send Push [ Configuration:Device: Chrome@Home
    Url: https://www.youtube.com/tv Timeout (Seconds):60 ]

    Conclusion – custom fingerprint actions alternatives

    If you don’t have a sensor the same behavior can be reproduced with an overlay. I’m using an image added to the scene. Modifying the alpha value according to my needs. If you make an invisible scene that will act exactly the same way as scanning your finger. Place it in a fixed location, so you would know where to tap (or long tap) and execute the following:screenshot_20161204-151206

    Scanned Finger
       A1: Variable Set [ Name:%FingerScanned To:1 Do Maths:Off Append:Off ] 
       A2: Wait [ MS:0 Seconds:2 Minutes:0 Hours:0 Days:0 ] 
       A3: Variable Set [ Name:%FingerScanned To:0 Do Maths:Off Append:Off ]

    You can make the button visible, but I found it little distracting especially when watching the videos etc.  Select all applications that would support the use of the button by creating a profile which will show and destroy the scene.

    Profile: Fake Button
    	Application: Chrome, Camera, Hangouts...
    Enter: Fake Button 
    	A1: Create Scene [ Name:Fake Finger ] 
    	A2: Show Scene [ Name:Fake Finger Display As:Overlay, Blocking Horizontal Position:200 Vertical Position:100 Animation:System Show Exit Button:On Continue Task Immediately:On ] 
    
    Exit: Fake Button-
    	A1: Destroy Scene [ Name:Fake Finger ]

    I’m keen to see what other uses you could come up with. Let me know and I will update this post.

    You will need:
    Android ver: 6+ (Used 7.0),
    Apps: Join (or AutoRemote), Fingerprint scanner tools (Tasker support need to be unlocked)
    Plugin: AutoInput AutoTools Secure Settings
    Needs: Fingerprint Reader
    You can find the project file to download here.

    Create 7 custom fingerprint reader Tasker actions by Mat Zolnierczyk first appeared on Pocketables.


    How to avoid highways with Tasker

    $
    0
    0

    Avoid highways with Tasker

    I love getting about on my bicycle. Thanks to Google Maps, finding the destination, and arriving there on time has never been an issue for me. There are few caveats though if you are a cyclist:

    • I’m a roadie, and me and bike paths are not friends. I stick to roads, I don’t feel comfortable zipping at 40km/h  centimeters from pedestrian. For my imperial friends out there, it’s inches too close, when I’m going way too fast. Therefore unless a special occasion calls for it, I use Google Maps – driving navigation.
    • Google Maps also underestimates my ETA, which is annoying, as I’m young and fit for now. I’m sure I will appreciate it more in my 50s. I’d like to see an average speed slider to get the notifications on time.
    • When using Google Maps for cars, you have to be careful not to end up on a highway, which is often the case around my area.

    Specifying driving directions – avoid highways with Tasker

    While Google Maps  provides you with the voice commands, which wasn’t the case earlier on, you can request your route to be changed accordingly by saying:

    Avoid tolls/highways/ferries (C’mon Google it’s motorways around here!)

    Frankly speaking, this is something I often forget to do when setting off. Here is how tasker could help you. This simple profile will allow you to pre-set the travel mode. I have mine (avoid highways) linked to my bike mode. So whenever my phone is on the bike (NFC context inside my bike case) it will look up the Google Maps directions for driving, avoiding the motorways.

    Here is how:

    Avoid highways with Tasker
    Avoid highways with Tasker

    Profile: Avoid Tolls
        Event: AutoVoice Recognized [ Configuration:Command: "navigate to" ]
    Enter: Avoid Tolls
        <tolls>
        A1: Send Intent [ Action:android.intent.action.VIEW Cat:None Mime Type: Data:google.navigation:q=%avcommnofilter&avoid=t Extra: Extra: Extra: Package:com.google.android.apps.maps Class: Target:Activity ]
        <highways>
        A2: Send Intent [ Action:android.intent.action.VIEW Cat:None Mime Type: Data:google.navigation:q=%avcommnofilter&avoid=h Extra: Extra: Extra: Package:com.google.android.apps.maps Class: Target:Activity ]
        <ferries>
        A3: Send Intent [ Action:android.intent.action.VIEW Cat:None Mime Type: Data:google.navigation:q=%avcommnofilter&avoid=f Extra: Extra: Extra: Package:com.google.android.apps.maps Class: Target:Activity ]
        A4: Kill App [ App:Google Use Root:Off ]

    The profile responds to our AutoVoice command navigate to and passes the navigation as an intent to the Google Maps. The destination is stored in %avcommnofilter.

    The intent created contains the limitations we want to apply:

    • avoid tolls: avoid=t
    • avoid highways: avoid=h
    • avoid ferries: avoid=f

    Then we are building the intent of our choice:

    Action:android.intent.action.VIEW
    Data:google.navigation:q=%avcommnofilter&avoid=f
    Package:com.google.android.apps.maps
    Target:Activity

    If you want to speed things up you can use Kill App action: Google Now, but this step is not required. The Project contains all 3 intents, so if you are going to use the file, please disable the unwanted intents.The project has been suggested to me by Mishaal Rahman from xda-developers.com  so thanks to him for that.

    You will need:
    Android version: 4.0+ (Used 7.0),
    Apps: Google Maps
    Plugin: AutoVoice
    Needs: N/A
    The complete project file is available here

    How to avoid highways with Tasker by Mat Zolnierczyk first appeared on Pocketables.

    Save location with Tasker, retrieve it later

    $
    0
    0

    Save location with Tasker

    If you are using Google Now, you are aware of the ‘where I parked my car’ card. The additional card is displayed (needs to be enabled in settings) whenever Google thinks you have stopped driving, and abandoned the vehicle. I don’t drive on a regular basis, I cycle everywhere and I find it very flattering each time Google serves me this card. It proves that Google doesn’t know everything about us just yet, but if you quick enough – the card can be used to find your bike again. Sadly not when it’s stolen.
    With the incoming trip to China, I realized that Google services won’t be helping me in my daily life. China blocks their servers. If you are lucky enough to go traveling where Google can’t go, or if you simply prefer other than stock launcher, you might be interested in the replicating the profile below. The project has been suggested to me by Mishaal Rahman from xda-developers.com  so thanks to him for that.

    Dude, where’s my car?

    Save location with Tasker

    The profile is fairly simple. I’m going to use AutoVoice or a widget button to save the location. A widget will provide us with a feedback. You will be able to navigate back to saved location via notification or a voice command.

    It’s good to point out, that the Android does a pretty decent job at managing your location, but if you prefer to keep your services disabled – you have to enable the location services before getting the value of the %LOC variable. The more location services you have enabled the quicker the fix. By default, Android will check the GPS, mobile data, and WIFI. If you already toggle these – you know what to do, if you are happy with the way the Android works – just leave it on.   Otherwise, use AutoTools or the run shell action:

    settings put secure location_providers_allowed=gps,network,wifi

     Secure Settings also can also be used to toggle these (here is how to make the Secure Settings enabled). For the sake of this tutorial, I will show you how to use both, a widget and voice command trigger.

    Save location with Tasker

    Save location with Tasker
    LocCar 
    	Abort Existing Task
    	A1: Variable Clear [ Name:%LastLocation Pattern Matching:Off ] 
    	A2: Notify Cancel [ Title:Location Issue Warn Not Exist:Off ] 
    	A3: Get Location [ Source:GPS Timeout (Seconds):20 Continue Task Immediately:Off Keep Tracking:Off Continue Task After Error:On ] 
    	A4: Variable Set [ Name:%LastLocation To:%LOC Recurse Variables:Off Do Maths:Off Append:Off ] 
    	A5: Notify [ Title:Location Saved Text:Tap to Navigate Icon:hd_location_place Number:0 Permanent:Off Priority:5 ] If [ %LastLocation Set ]
    	A6: Set Widget Icon [ Name:LocCar Icon:content://com.android.externalstorage.documents/document/primary%3AMaterial-Icons-010317-032209%2Fres%2Fdrawable-xxxhdpi%2Fic_car.png ] If [ %LastLocation Set ] 
    	A7: Notify [ Title:Location Issue Text:Im sorry location could no be set. Icon:hd_aaa_ext_car Number:0 Permanent:Off Priority:5 Actions:(1) ] If [ %LastLocation !Set ]	
    	A8: Set Widget Icon [ Name:LocCar Icon:content://com.android.externalstorage.documents/document/primary%3AMaterial-Icons-010317-032710%2Fres%2Fdrawable-xxxhdpi%2Fic_car.png ] If [ %LastLocation !Set ]
    

    Getting location (A1-A4)

    There are few things I want to do before getting the location set. Because most of the time %LOC will have a value assigned already (last fix) I only want to use the location coordinates requested through the profile. I will use the global variable %LastLocation to store these coordinates. If the task has been run again due to error or a timeout, I need to clear existing warning notification with the Notify Cancel.

    Notifications (A5,A7)

    Save location with Tasker
    Save location with Tasker

    There are two outcomes of the Get Location action. We will end up with a new set of coordinates, or the action will fail to acquire the coordinates. If the fix is found, a notification will be displayed. Note the name of it. We will use this name to trigger the Return Location profile later. If the fix is not found, we want to display a warning with an option to rerun the same task again (Action Perform Task assigned as a button).

    Button (A6,A8)

    Save location with Tasker
    Save location with Tasker
    Save location with Tasker

    I mentioned earlier that there will be a button;  which will change the color to show us a state of our parking profile. Color codes are:

    • white (ready)
    • red (fail)
    • green (armed)

    All you need is a widget (not the shortcut) placed on your home screen for the task which will save the location. Make sure to assign an icon to this task to be able to add a task shortcut from the widget screen. I’m using this instead of the shortcut as I get the Tasker to change the color of the icon according to the current state.
    One of my favorite ways of getting the icons is the Material Design Icons collection, as you can find the one that suits you and quickly provide the color alternatives.
    I have labeled the actions to show which one correspond with fail/success outcomes. The IF conditions %LastLoctation = set/not-set determines that outcome.

    Return the location

    Save location with Tasker

     ReturnLocation 
            A1: Send Intent [ Action:android.intent.action.VIEW Cat:None Mime Type: Data:google.navigation:q=%LastLocation&mode=w Extra: Extra: Extra: Package:com.google.android.apps.maps Class: Target:Activity ] 
    	A2: Set Widget Icon [ Name:LocCar Icon:content://com.android.externalstorage.documents/document/primary%3AMaterial-Icons-010317-032200%2Fres%2Fdrawable-xxxhdpi%2Fic_car.png ] 
    	A3: Wait [ MS:0 Seconds:3 Minutes:0 Hours:0 Days:0 ] 
    	A4: Variable Clear [ Name:%LastLocation Pattern Matching:Off ]

    The task is very simple. We will run a Google Maps intent which will contain a  location link:

    Action:android.intent.action.VIEW
    Data:google.navigation:q=%LastLocation&mode=w
    Package:com.google.android.apps.maps
    Target:Activity
    

    Our location global variable will supply the needed coordinates. Once this is done, we just need to clean up the variable (please add a wait action) and change the color of the widget icon to white.

    Profile: Return To Location

    Save location with Tasker

    Profile: Return To Location
    	Event: Notification Click [ Owner Application:* Title:Location Saved ]
    Enter:
          ReturnLocation

    To trigger this task from the notification create an event Notification Click and add the name of the notification created earlier (Location Saved)

    You have a complete profile ready.

    Linking the AutoVoice

    Profile: Save Location
    	Event: AutoVoice Recognized [ Configuration:Easy Commands: save my location,save this location,save my parking spot,save this parking spot,remember my parking spot,remember my location,mark this location,mark this spot,mark this parking spot
    Responses: okay i'll save your parking spot ]
    Enter: LocCar	
    

    Conclusion

    It is easy to assume, that everyone has an access to the same as me resources, but this is not often the case. This project can be modified and used for other purposes, and unlike Google Now parking card, it’s not dependent on google services. You can also experiment with AutoNotification to make the notifications prettier or more interactive. I kept the entire project close to Tasker vanilla experience (apart from AV).

    You could also create an array what would store more notification at once, or do something interesting with a collection of these points on the map. Let me know if the project inspires you – I’m always happy to look at the reader’s projects.

    You will need:
    Android version: 4.0+ (Used 7.0),
    Apps: Material Design Icons (optional)
    Plugin: AutoVoice (optional), AutoTools (optional)) or Secure Settings (optional)
    Needs: root (optional for toggling the location)
    You can find the project file to download here.

    Save location with Tasker, retrieve it later by Mat Zolnierczyk first appeared on Pocketables.

    Create a train schedules and delays Tasker profile

    $
    0
    0

    There has been a  profile for driving, cycling and getting back to the car or saved location already. We are missing a public transport profile to close this experimental mini-series. The train schedules and delays Tasker project aim to give you the information you need. If Google Transit covers your country, this should work for you. You can check if your location is supported here: https://maps.google.com/landing/transit/cities/

    For a while now I have been trying to get the train schedules and delays available to me on request.  I have noticed, that Google Now gives you the train schedules and delays card, but the card isn’t available until you get to the train station. I plan some of my journeys but I find entering each train ticket very impractical to receive Leave Now Card.
    A few tests later I was able to display this card with a live train table on request:

    Limitations

    Because Google is being clever and all that, Cards should be displayed on your device when Google thinks you need it, not when you would like to see one. This means that there are situations when the card with the schedules and delays may not be displayed when you have a calendar event with a location in the same city within next few hours.
    Removing the location from the event works, and the  Google Now Card is reporting correctly.
    While the train updates show up instantly, going back to the original location may take few moments. Bear in mind this will mess up your %LOC variable in Tasker until the next GPS fix is available.

    Train schedules and delays Tasker Profile

    For the purpose of this tutorial I will split the request into two triggers:

    Dialog request

    Manual Lookup
    	Abort Existing Task
    	A1: AutoTools Dialog [ Configuration:Dialog Type: List
    Title: Pick the train station
    Icon: /storage/emulated/0/Material-Icons-011017-121644/res/drawable-xxxhdpi/ic_train.png
    List Type: 0
    Texts: Yarn,Manchester
    Text Size: 20
    Text Color: #E3F2FD
    Button Text Color: #E64A19
    Image Width: 100
    Commands: 54.4939:-1.3516,53.4774:-2.2309
    Dim Background: true
    Top Margin: 16
    Bottom Margin: 16
    Bottom Buttons Top Margin: 16
    Bottom Buttons Bottom Margin: 16
    Close On Select: true
    Separator: ,
    Command Variable: atcommand
    Cancelable: true
    Turn Screen On: true Timeout (Seconds):60 ] 
    	A2: Variable Split [ Name:%atcommand Splitter:: Delete Base:Off ] 
    	A3: Variable Set [ Name:%lat To:%atcommand1 Recurse Variables:Off Do Maths:Off Append:Off ] 
    	A4: Variable Set [ Name:%lon To:%atcommand2 Recurse Variables:Off Do Maths:Off Append:Off ] 
    	A5: AutoLocation Mock Location [ Configuration:
    Starting Mock Locations
    Persistent Notification: true
    Notification Title: We are set your location to %attext
    Notification Text: Don't worry it will get cancelled soon.
    Latitude: %lat
    Longitude: %lon
    Accuracy: 10 Timeout (Seconds):0 ] 
    	A6: Variable Set [ Name:%LocationTimeout To:%TIMES+180 Recurse Variables:Off Do Maths:On Append:Off ]



    In this scenario, the coordinates for each station have to be assigned manually, this is a great way of adding your train stations for the commute or regular travels.

    To start with this, we will need to use Google to find the exact coordinates for each station in question. Google maps won’t show you the coordinates directly if a named location is displayed, but you can find it in the URL of the location:

    https://www.google.co.uk/maps/place/Leeds+Station/@53.7943125,-1.5497304,17z/data=

    The Latitude is first (53.7943125) and the Longitude second (-1.5497304). We need to format it so we could use it with the AutoTools Dialog action:

    53.7943125:-1.5497304 (please note the colon)

    A1

    My AutoTools Dialog action stores the names of the stations in the Text field (separated by comma) and the associated coordinates are stored in the Commands field  (also separated by comma):

    • Yarm, Manchester
    • 54.4939:-1.3516,53.4774:-2.2309

    The dialog will be closed once the option is selected.  You can find this behavior in advanced settings.

    A2-A4

    I need to split these when the appropriate option is pressed and separate the coordinates with the splitter ‘:’ (colon) Next, just store the %atcommand1 in %lat and %atcommand2 in %lon using Variable Set action.

    A5

    These values will be used in AutoLocation Mock Location action as Latitude and Longitude entries. I will also pass the %attext in the associated notification because I’m fancy like that!

    Accuracy 10m is enough to get the Google Now triggered.

    A6

    Lastly, I will create a timeout by setting the variable %LocationTimeout to %TIMES+180 (or however long in seconds you wish to keep the fake location on) Select ‘do math‘. That action will trigger our canceling profile later.

    Voice request

    Profile: Lookup any Train station
    	Event: AutoVoice Recognized [ Configuration:Command: "show me trains at*. (regex)" ]
    Enter: AutoLocation lookup (81)
    	A1: AutoLocation Info [ Configuration:Coordinates Search Query: %avcommnofilter
    Coordinates Max Results: 1 Timeout (Seconds):60 ] 
    	A2: AutoLocation Mock Location [ Configuration:
    Starting Mock Locations
    Persistent Notification: true
    Notification Title: I'm pretending that you are at %avcommnofilter
    Notification Text: I will reset the location soon
    Latitude: %alcoordenatelatitudes1
    Longitude: %alcoordenatelongitudes1
    Accuracy: 10 Timeout (Seconds):0 ] 
    	A3: Variable Set [ Name:%LocationTimeout To:%TIMES+180 Recurse Variables:Off Do Maths:On Append:Off ] 
    



    A1

    The AutoLocation profile is used to get the coordinates of the train station. I’m limiting the results to one entry only. This way I will know where in the %alcoordenatelatitudes() and %alcoordenatelongitudes() arrays (please note the spelling mistake in the variable – I will get this reported).

    Profile

    To pass the name of the train station I’m using the AutoVoice recognize event. The command filter is: show me trains at*. (regex)  (using the hard way option). The name of the train station will be stored in the %avcommnofilter variable, which is used to perform the AutoLocation Info action for the coordinates search.

    A2

    Once the coordinates are known, I simply use again AutoLocation Mock Location action to start the service  with Latitude = %alcoordenatelatitudes1 and the Longitude = %alcoordenatelongitudes1 (I’d limited my result to 1  for that precise reason)

    A3

    Lastly, I’m adding the same action variable set, to trigger the end of location spoofing. Set the %LocationTimeout to %TIMES+whatever seconds you wish.

    Cancel the Location spoofing

    Profile: End fake location (84)
    	Time: From %LocationTimeout
    Enter: Cancel fake location (82)
    	A1: AutoLocation Mock Location [ Configuration:
    Stopping Mock Locations Timeout (Seconds):0 ] 
    	A2: Variable Clear [ Name:%LocationTimeout Pattern Matching:Off ] 
    


    A very simple task, in which AutoLocation Mock Location gets unchecked and canceled and the variable %LocationTimeout cleared.

    Conclusion

    Sadly the Train schedules and delays Tasker profile can’t be used for now to get the same information from the coach stations. I hope this will change in the future. I find this project to be a very handy solution whenever I want to check the status of a train I’m trying to catch. What are your thoughts?

     You will need:
    Android version: 4.0+ (Used 7.0),
    Apps: Material Design Icons (optional)
    Plugin: AutoLocationAutoVoice (optional), AutoTools (optional)
    Needs: Google Now Cards
    The complete project file is available here.

    Create a train schedules and delays Tasker profile by Mat Zolnierczyk first appeared on Pocketables.

    Tasker PC control – tutorial #1

    $
    0
    0

    I rewrote the profile several times, therefore I’m slightly afraid that this tutorial is directed at more experienced Tasker users. If you want to know what it does – please watch the demo on YouTube. In short. this is a permanent notification that allows you to add buttons and actions to do stuff on your PC. The tutorial will come in 4 parts and this is part 1, in which we will mostly focus on the framework. Please also bear in mind, that I will be updating these write-ups, as I still play with this project, adding more functions or simplifying things.

    Tasker PC control – tutorial

    The project consists of two parts. One is things you have to do on the PC, and another tells you how to use Tasker to achieve this. The general idea is to create a loop that will send information to the PC, and receive the confirmation from the PC once the action has been performed.  To do this, I will get the EventGhost to ping the information back and forth using the AutoRemote plugin.  If you want to learn more about AutoRemote use this guide.

    EventGhost

    Let’s start with an EventGhost. If you never used it before, you can think of it as some sort of Tasker/macro tool for PC. It’s far from perfect but you can get it to work with Tasker. If you never connected this to the Tasker here is few things that you need to know. You can download it here, Don’t be put off but bare looking interface. This can be a very powerful program with a lot of other integrations.  You will need to add the AutoRemote plugin to make it work and register the devices you own in the EventGhost as well. You can see the instructions here.  You will have to add the device you want to connect to in the plugin settings and then you are ready to send and receive information via AutoRemote.

    Tasker PC controlThe first menu in my project is the power menu. There are 4 main actions assigned to that menu: sleep, lock, restart, and power off. This means that we have to tell EventGhost to perform these for actions. Each one of them is available in the system menu of the EventGhost actions. There will be an additional task performed on the boot. This gives us 5 actions as follows:

    You will notice that each action contains few triggers and a message that is issued back to the Tasker. While the messages can contain your own commands, there is some consistency to keep here. The message sent back to the Tasker is always in this format pc=:=yourmessage.  This is important and profiles in tasker will rely on the prefixes to decrease the number of tasks needed. The same goes for the messages sent to the EventGhost. Each message ends with ‘pc’. Ie:  turnoffpc, sleeppc. This rule will apply to every single command issued via AutoRemote.

    Each macro also has additional triggers and will try to capture the events (lock, sleep, restart, power off) triggered by the system. To give a chance for the EventGhost to send the message – an additional wait of 6 seconds is imposed.

    Boot Task

    An extra task is run at boot. It sends a message to our phone with a 10 sec delay. Once the EG is loaded, it waits 10 sec and issues the notification that computer is online. I have added the additional triggers to capture resume from sleep, lock and restart. This picture should cover everything you need set in EventGhost. Make sure that AutoRemote plugin is loaded and configured correctly.

    Tasker

    I used icons from the Material Design Icon app and I can’t wait for Tasker to incorporate this in the new version. Feel free to experiment but if you are using AutoNotification Buttons, you will only need the icons in a single color. You can change the color using a tint option in the plugin. I understand that not all options are available on every Android version, so be creative if you are using Android 5.0. The notification created by AutoNotification is persistent and updated each time an action is performed.

    Tasker PC controlThe Tasker PC control project has 5 profiles. You will need all of them to get a single button working. In exchange, adding more actions won’t add more tasks and profiles as long as you stick to the same formula. This means that the project is fairly lightweight.

    1. Buttonone Actions
    2. Buttontwo Actions
    3. Open Sub Menu
    4. Submenu Actions
    5. PC Feedback

    Profile 1 and 2

    These two profiles handle the AutoNotifications commands issued by buttons located in row one (buttonone) and row two (buttontwo).

    Open Sub-Menu

    This profile opens the correct submenu for each button in row one. The command is issued by the AutoNotification as well

    Sub-Menu Actions

    A very simple profile that sends the selected action via AutoRemote to your target.

    PC Feedback

    A profile that updates the notification based on the information received from the PC.

    The Power Menu

    I hope that all is understandable by now. We about to start the actual work here. The power menu has several functions. When a PC is offline, sleeps or locked the menu will show you correct status. If AutoRemote had the chance to send in the message (more on that later). In addition to that, the Sleep and Online icons have text that tells you when the computer went to sleep, or online. Not sure if this is any use to you. You can wake up your PC from the sleep option, or perform the sleep, lock, restart and turn off actions.  Limitations:

    • Turn Off – it is not possible to wake the device again (no remedy to this one)
    • Lock – it is not possible to log back through the icon, you can, however, do this via Remote Desktop (for now)
    • Wake on LAN –  requires LAN connection most of the time (some WIFI cards support it) if you not hooked up to LAN – check this article out

    To create the notification I’m using the AutoNotification Button action. The notification is permanent, therefore an ID has to be assigned to it. I strongly suggest to create the notification that will consist the following:

    • Buttons – create 2 rows of buttons, 4 columns each – see the column setting, the buttons won’t show up until actions are assigned. Assign all 8 buttons.
    • Actions – assign all 8 actions, upper row starts with ‘open…’ bottom row ends with ‘…pc’ in each action.
    • Colors – set color for each button, copy and paste the same color, it will be easier to change it later

    Keep this notification as a template and copy and paste it in various tasks, it will save you some time.

    Tier 1 Buttons Task

    The default notification contains 4 icons (submenus are closed), this should be the first notification to be created. Arrange all 4 icons, and assign actions: openpower, openvolume,openbookmark,openscreen (the open… part is important one). Lastly, assign the prefix as buttonone. When a button is pressed, the action will be triggered. Once this is complete, create an Event AutoNotification. This will be the Open Sub-Menu profile.

    Open Sub-Menu Profile/Submenu task

    The open submenu will respond to regex (open.*) and in advanced settings set a Comm Params Prefix as buttonone, as the command is issued by the button from row one. In the task linked to this profile, paste the notification template, and assign IF condition. This notification should only open when %ancomm ~ openpower.

    Notification is configured as follows:

    • Buttons – as per your liking, make sure the first row is consistent.
    • Actions: the first row starts with open (see template) but the power menu icon should have openclose action assigned instead. The second row has actions ending with ‘‘…pc
    • Color, only first color should be different.
    • Prefix for actions: buttontwo

    This will assure that, if power icon is pressed again – the default notification will return. If other buttons from row one are pressed, the corresponding menus will open (in later tutorials) and if an icon from row two is pressed, an Autoremote command will be issued.

    Sub-Menu Actions Profile/ Send AR task

    Create a new Event AutoNotification, and set the trigger to regex (.*pc), set a Comm Params Prefix as buttontwo. This will respond only to the commands send by the row two of your notification. Link this to Send AR task which will contain a STOP action IF %ancomm ~ close. (prevents closing action from issuing a AR message). Add an AutoRemote Message action. And send the %ancomm as the message.

    Add another template Notification and link it to IF condition (does not match RegEx lockpc|sleeppc|rebootpc|turnoffpc ) These commands have custom notifications.

    Notification is configured as follows:

    • Buttons – only 4 main buttons, this is your default notification
    • Actions: the first row starts with open (see template)
    • Color, each one should have the same color. As this message is displayed when your PC is online, feel free to color the Power menu one.
    • Prefix for actions: buttonone

    PC- Feedback Profile/Notification task

    I’m using an AutoRemote Event that accepts any message. In advanced, the Comm Params Prefix is set to pc, so it would interact with messages sent from the previously configured EventGhost profiles. The task contains several actions that will be triggered based on the message received. Set a variable %PcPowerontime to %TIME, and apply IF %arcomm ~ online. This will tell you when the PC logged on online. Then we will create 5 notification states based on what message has been sent by computer:

    IF %arcomm ~ online

    Notification is configured as follows:

    • Buttons – only 4 main buttons, this is your default notification
    • Actions: the first row starts with open (see template)
    • Color, each one should have the same color. As this message is displayed when your PC is online, feel free to color the Power menu one.
    • Prefix for actions: buttonone
    • Add the text label in the 1st position  – use %PcPowerontime (you will need this in each default step – so check the Send AR task and tier 1 buttons task apply this as well)

    IF %arcomm ~ turnoff

    Notification is configured as follows:

    • Buttons – only one button, to show pc offline
    • Actions: you have to assign one to make the button visible, so make up a fake one
    • Color, red is good
    • Prefix for actions: n/a

    IF %arcomm ~ sleep

    Notification is configured as follows:

    • Buttons – only one button
    • Actions: openwakeup
    • Color – anything you like
    • Prefix for actions: buttonone
    • Assign the %artime – this will provide you with exact time of the computer going to sleep

    IF %arcomm ~ reboot

    Notification is configured as follows:

    • Buttons – only one button
    • Actions: you have to assign one to make the button visible, so make up a fake one
    • Color, yellow is good
    • Prefix for actions: n/a
    • You can create label if you want letting you know how long it takes

    IF %arcomm ~ lock

    Notification is configured as follows:

    • Buttons – only one button
    • Actions: you have to assign one to make the button visible, so make up a fake one
    • Color, yellow is also good
    • Prefix for actions: n/a
    • Create the label if you want

    Buttonone Actions Profile/Tier 1 Buttons task

    Create a profile with the AutoNotification Event. The message filter is set to regex (open*.) and the prefix in advanced settings is set to buttonone. This will link to the task we have created at the beginning of this tutorial. The task has to be modified as well. The first action will be a configured plugin Wake on LAN which will launch  IF %arcomm ~R wakeup. The second action will simply close the notification’s sub-menu and restore the default view.

    Notification is configured as follows IF :%arcomm ~R close:

    • Buttons – only 4 main buttons, this is your default notification
    • Actions: all start with ”open…”
    • Color, each one should have the same color. As this message is displayed when your PC is online, feel free to color the Power menu one.
    • Prefix for actions: buttonone
    • Text %PcPowerontime

    Buttontwo Actions Profile/Tier 1 Buttons task

    This profile links to, the same as above, task. The only difference is the prefix in the AutoNotification Event which is butttontwo. It responds to the clicks from submenu and opens different sections.

    Profile: Buttonone Actions
    	Event: AutoNotification [ Configuration:Event Behaviour
    	Filter: open*. (regex) ]
    Enter: Tier 1 Buttons 
    	A1: Wake Device [ Configuration:Device|1|PAJOPC Timeout (Seconds):0 ] If [ %ancomm ~R wakeup ]
    	A2: AutoNotification Buttons Notification [ Configuration:Id: default
    		Images: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png,/storage/emulated/0/Tasker/Material Icons/green/ic_volume_medium.png,/storage/emulated/0/Tasker/Material Icons/green/ic_book_variant.png,/storage/emulated/0/Tasker/Material Icons/green/ic_desktop_mac.png
    		Actions: openpower,openvolume,openbookmark,openscreen
    		Action Prefix: buttonone
    		Status Bar Icon: hardware_dock
    		Status Bar Icon Manual: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png
    		Status Bar Text Size: 16
    		Priority: 2
    		Persistent: true
    		Vibration: 0,421,385,64,86,40
    		Align: Center
    		Column Count: 4,4
    		Button Size: 80
    		Button Tint: #FF43A047,#FFFFFFFF
    		Button Padding: 1
    		Enabled: 1,1,1,1
    		Background Color: #212121
    		Texts: %PcPowerontime,%PcVolume,,%PcScreen
    		Text Color: #FFFFFFFF
    		Text Size: 12 Timeout (Seconds):20 ] If [ %ancomm ~R close ]
    

    Profile: Buttontwo Actions
    	Event: AutoNotification [ Configuration:Event Behaviour
    	Filter: open*. (regex) ]
    Enter: Tier 1 Buttons 
    	A1: Wake Device [ Configuration:Device|1|PAJOPC Timeout (Seconds):0 ] If [ %ancomm ~R wakeup ]
    	A2: AutoNotification Buttons Notification [ Configuration:Id: default
    		Images: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png,/storage/emulated/0/Tasker/Material Icons/green/ic_volume_medium.png,/storage/emulated/0/Tasker/Material Icons/green/ic_book_variant.png,/storage/emulated/0/Tasker/Material Icons/green/ic_desktop_mac.png
    		Actions: openpower,openvolume,openbookmark,openscreen
    		Action Prefix: buttonone
    		Status Bar Icon: hardware_dock
    		Status Bar Icon Manual: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png
    		Status Bar Text Size: 16
    		Priority: 2
    		Persistent: true
    		Vibration: 0,421,385,64,86,40
    		Align: Center
    		Column Count: 4,4
    		Button Size: 80
    		Button Tint: #FF43A047,#FFFFFFFF
    		Button Padding: 1
    		Enabled: 1,1,1,1
    		Background Color: #212121
    		Texts: %PcPowerontime,%PcVolume,,%PcScreen
    		Text Color: #FFFFFFFF
    		Text Size: 12 Timeout (Seconds):20 ] If [ %ancomm ~R close ]
    

    Profile: Open Sub Menu
    	Event: AutoNotification [ Configuration:Event Behaviour
    	Filter: open*. (regex) ]
    Enter: Submenu Open
    	
    	A1: AutoNotification Buttons Notification [ Configuration:Id: default
    		Images: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png,/storage/emulated/0/Tasker/Material Icons/green/ic_volume_medium.png,/storage/emulated/0/Tasker/Material Icons/green/ic_book_variant.png,/storage/emulated/0/Tasker/Material Icons/green/ic_desktop_mac.png,/storage/emulated/0/Tasker/Material Icons/green/ic_sleep.png,/storage/emulated/0/Tasker/Material Icons/green/ic_key.png,/storage/emulated/0/Tasker/Material Icons/green/ic_reload.png,/storage/emulated/0/Tasker/Material Icons/green/ic_power.png
    		Actions: openclose,openvolume,openbookmark,openscreen,sleeppc,lockpc,rebootpc,turnoffpc
    		Action Prefix: buttontwo
    		Status Bar Icon: hardware_dock
    		Status Bar Icon Manual: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png
    		Status Bar Text Size: 16
    		Priority: 2
    		Persistent: true
    		Align: Center
    		Column Count: 4,4
    		Button Size: 50
    		Button Tint: #F7FFB74D,#FFFFFFFF,#FFFFFFFF,#FFFFFFFF,#FFFFFFFF,#FFFFFFFF,#FFFFFFFF,#FFFFFFFF
    		Button Padding: 10
    		Enabled: 1,1,1,1,1,1,1,1
    		Background Color: #212121 Timeout (Seconds):20 ] If [ %ancomm ~ openpower ]
    

    Profile: Submenu Actions 
    	Event: AutoNotification [ Configuration:Event Behaviour
    	Filter: pc (regex) ]
    Enter: Send AR 
    	A1: [X] Stop [ With Error:Off Task: ] If [ %ancomm !Set | %ancomm ~ close ]
    	A2: AutoRemote Message [ Configuration:Recipient: HomeGhost
    		Message: %ancomm Timeout (Seconds):200 ] 
    	A3: AutoNotification Buttons Notification [ Configuration:Id: default
    		Images: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png,/storage/emulated/0/Tasker/Material Icons/green/ic_volume_medium.png,/storage/emulated/0/Tasker/Material Icons/green/ic_book_variant.png,/storage/emulated/0/Tasker/Material Icons/green/ic_desktop_mac.png
    		Actions: openpower,openvolume,openbookmark,openscreen
    		Action Prefix: buttonone
    		Status Bar Icon: hardware_dock
    		Status Bar Icon Manual: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png
    		Status Bar Text Size: 16
    		Priority: 2
    		Persistent: true
    		Vibration: 0,421,385,64,86,40
    		Align: Center
    		Column Count: 4,4
    		Button Size: 80
    		Button Tint: #FF43A047,#FFFFFFFF
    		Button Padding: 1
    		Enabled: 1,1,1,1
    		Background Color: #212121
    		Texts: %PcPowerontime,%PcVolume,,%PcScreen
    		Text Color: #FFFFFFFF
    		Text Size: 12 Timeout (Seconds):20 ] If [ %ancomm !~R lockpc|sleeppc|rebootpc|turnoffpc ]
    

    Profile: Pc Feedback
    	Event: AutoRemote [ Configuration:All Messages ]
    	Enter: Notification 
    	A1: Variable Set [ Name:%PcPowerontime To:%TIME Recurse Variables:Off Do Maths:Off Append:Off ] If [ %arcomm ~ online ]
    	
    	A2: AutoNotification Buttons Notification [ Configuration:Id: default
    		Images: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png,/storage/emulated/0/Tasker/Material Icons/green/ic_volume_medium.png,/storage/emulated/0/Tasker/Material Icons/green/ic_book_variant.png,/storage/emulated/0/Tasker/Material Icons/green/ic_desktop_mac.png
    		Actions: openpower,openvolume,openbookmark,openscreen
    		Action Prefix: buttonone
    		Status Bar Icon: hardware_dock
    		Status Bar Icon Manual: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png
    		Status Bar Text Size: 16
    		Priority: 2
    		Persistent: true
    		Vibration: 0,421,385,64,86,40
    		Align: Center
    		Column Count: 4,4
    		Button Size: 80
    		Button Tint: #FF43A047,#FFFFFFFF
    		Button Padding: 1
    		Enabled: 1,1,1,1
    		Background Color: #212121
    		Texts: %PcPowerontime,%PcVolume,,%PcScreen
    		Text Color: #FFFFFFFF
    		Text Size: 12 Timeout (Seconds):20 ] If [ %arcomm ~ online ]
    		
    	A3: AutoNotification Buttons Notification [ Configuration:Id: default
    		Images: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png,/storage/emulated/0/Tasker/Material Icons/green/ic_volume_medium.png,/storage/emulated/0/Tasker/Material Icons/green/ic_book_variant.png,/storage/emulated/0/Tasker/Material Icons/green/ic_desktop_mac.png
    		Actions: action
    		Action Prefix: buttonone,
    		Status Bar Icon: hardware_dock
    		Status Bar Icon Manual: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png
    		Status Bar Text Size: 16
    		Priority: 2
    		Persistent: true
    		Vibration: 0,421,385,64,86,40
    		Align: Center
    		Column Count: 4,4
    		Button Size: 80
    		Button Tint: #FFE53935
    		Button Padding: 1
    		Enabled: 1,0,0,0
    		Background Color: #212121
    		Texts: Offline
    		Text Color: #FFF44336
    		Text Size: 14 Timeout (Seconds):20 ] If [ %arcomm ~ turnoff ]
    	
    	A4: AutoNotification Buttons Notification [ Configuration:Id: default
    		Images: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png,/storage/emulated/0/Tasker/Material Icons/green/ic_volume_medium.png,/storage/emulated/0/Tasker/Material Icons/green/ic_book_variant.png,/storage/emulated/0/Tasker/Material Icons/green/ic_desktop_mac.png
    		Actions: openwakeup
    		Action Prefix: buttonone,
    		Status Bar Icon: hardware_dock
    		Status Bar Icon Manual: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png
    		Status Bar Text Size: 16
    		Priority: 2
    		Persistent: true
    		Vibration: 0,421,385,64,86,40
    		Align: Center
    		Column Count: 4,4
    		Button Size: 80
    		Button Tint: #FFE53935
    		Button Padding: 1
    		Enabled: 1,0,0,0
    		Background Color: #212121
    		Texts: %artime
    		Text Color: #FFF44336
    		Text Size: 14 Timeout (Seconds):20 ] If [ %arcomm ~ sleep ]
    	
    	A5: AutoNotification Buttons Notification [ Configuration:Id: default
    		Images: /storage/emulated/0/Tasker/Material Icons/green/ic_reload.png
    		Actions: restarting
    		Action Prefix: buttonone,
    		Status Bar Icon: hardware_dock
    		Status Bar Icon Manual: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png
    		Status Bar Text Size: 16
    		Priority: 2
    		Persistent: true
    		Vibration: 0,421,385,64,86,40
    		Align: Center
    		Column Count: 4,4
    		Button Size: 80
    		Button Tint: #FFF9A825
    		Button Padding: 1
    		Enabled: 1,0,0,0
    		Background Color: #212121
    		Texts: restarting
    		Text Color: #FFF9A825
    		Text Size: 14 Timeout (Seconds):20 ] If [ %arcomm ~ reboot ]
    	
    	A6: AutoNotification Buttons Notification [ Configuration:Id: default
    		Images: /storage/emulated/0/Tasker/Material Icons/green/ic_key.png
    		Actions: locked
    		Action Prefix: buttontwo
    		Status Bar Icon: hardware_dock
    		Status Bar Icon Manual: /storage/emulated/0/Tasker/Material Icons/green/ic_power_settings.png
    		Status Bar Text Size: 16
    		Priority: 2
    		Persistent: true
    		Align: Center
    		Column Count: 4,4
    		Button Size: 50
    		Button Tint: #FFF9A825
    		Button Padding: 10
    		Enabled: 1,1,1,1,1,1,1,1
    		Background Color: #212121
    		Texts: locked
    		Text Color: #FFF9A825
    		Text Size: 14 Timeout (Seconds):20 ] If [ %arcomm ~ lock ]
    

    This is the end of Part 1. Most of the things covered here should work on its own. We have some more work to be done in part 2,3 and 4. The good news is, these parts will be much shorter. This is the entire framework. Thanks for being patient. Subscribe to the email, YouTube channel, and social media. It helps me grow and in return, I can keep helping you.

    Tasker PC control – tutorial #1 by Mat Zolnierczyk first appeared on Pocketables.

    Tasker PC control – tutorial #2 (Volume Control)

    $
    0
    0

    If you missed the part one, I strongly recommend you to check it out. It tells you all about the framework used, and you will find yourself lost without that. Without the further introduction, let’s talk about the Tasker PC control  – Volume Menu.

    EventGhost

    We are going to start with setting up the new folder for the volume controls in the EventGhost. These work in a similar way to what we have done with the power menu. An AutoRemote message is received by EventGhost, a reply is sent back and the volume is set to the desired value. Feel free to modify the steps and values. Each message sent to the mobile starts with pc=:= so it could be intercepted by the previously created AutoRemote profile. Values are entered after v, simply because I’m lazy. Feel free to split the variable to get the correct the format for the volume. (more on that in the Tasker part)

    The only unique task in EventGhost is intercepting the volume change. Use system volume trigger and this will store the message inside the {eg.eventpayload}. Then send this message to Tasker via AutoRemote with the pc=:=v prefix (p=:=v{eg.event.payload})

    Tasker PC control Volume Menu

    The idea is rather simple. I’m creating a notification that will allow me to set a predefined system volume, or mute the sounds all together. I was thinking at first about unmute option but setting the volume again will other values does the same thing. Limitations:

    • Slider would be nice, but due to how EventGhost handles things, it’s more trouble than it should be

    If you followed the previous tutorial, you will see that this step is fairly easy. And the good news  – other power menus will be easy to add as well. This is the main benefit of going through the framework set up. Once you know where things should be added it becomes really fast.

    You can still use the same template notification to add new Sub-Menu, just modify it.  The default notification that we always retreat to will be the one from the previous tutorial as well.

    Open Sub-Menu Profile/ SubMenu Open

    Create a new notification and link it to the IF %ancomm ~ openvolume. If the volume icon from the first row is pressed  – this action will be called.

    Notification is configured as follows:

    • Buttons – as per your liking, make sure the first row is consistent.
    • Actions: the first row starts with open (see template) but the volume menu icon should have openclose action assigned instead. The second row has actions ending with ‘‘…pc”. I used mutepc,lowvpc,medvpc,highvpc.
    • Color, only a second color should be different.
    • Prefix for actions: buttontwo

    Submenu Actions/Send AR

    Since the framework is already done, we don’t need to add anything else. All that hard work from the part one finally paid off.

    PC Feedback/Notification

    The EventGhost will issue a reply when the volume is changed from the PC or through our volume menu. The to simplify the process (you can go nuts) the AutoRemote message is sent in this form pc=:=v(value). This means that we have to intercept all the messages starting with (regex)v.*

    In a similar way to power menu, I’m creating a variable %PcVolume and simply setting the value of it to the %arcomm. The value will get assigned to the default notification. At this stage go and update the default notifications (the ones that have only 4 icons) with this variable. Each notification should have %PcPowerontime,%PcVolume in the text field.

    In the next tutorial, we will focus on bookmark/app menu.

    Tasker PC control – tutorial #2 (Volume Control) by Mat Zolnierczyk first appeared on Pocketables.

    Tasker PC control – tutorial #4 (Screen Menu + bonus)

    $
    0
    0

    This is the last part of this series. Please make sure you have seen at least part one. Part two and three are similar and worth checking too!

    This sub-menu will control the screen timeout on a PC. I have added it, as I want to have an easy control over the timeout when I’m using a remote desktop. At the end of the tutorial, I will also show you how to set up other actions. The profile files are available at the end of this part.

    EventGhost

    The set up is very similar to the volume menu. An AutoRemote action is issued, the EventGhost changes the screen timeout options then reports back. Repeat this for each timeout option you want to have. For the sake of the consistency, I have four.

    You know how to set up a trigger and issue the response already so here is the screen action:

    powercfg -Change -monitor-timeout-ac 5

    Use Windows Command option in EventGhost actions. Change the value to any number you wish.

    Tasker

    Open Sub-Menu Profile/ SubMenu Open

    Create a new notification and link it to the IF %ancomm ~ openscreen If the screen icon from the first row is pressed  – this action will be called.

    Notification is configured as follows:

    • Buttons – as per your liking, make sure the first row is consistent.
    • Actions: the first row starts with open (see template) but the screen menu icon should have openclose action assigned instead. The second row has actions ending with ‘‘…pc”. I used screen1pc,screen5pc,screen30pc,screen120pc.
    • Color, only a second color should be different.
    • Prefix for actions: buttontwo

    Submenu Actions/Send AR

    Since the framework is already done, we don’t need to add anything else. All that hard work from the part one finally paid off.

    PC Feedback/Notification

    The EventGhost will issue a reply when the screen timeout is changed through our screen menu. The to simplify the process (you can go nuts) the AutoRemote message is sent in this form pc=:=screen(value). This means that we have to intercept all the messages starting with (regex)screen.*

    In a similar way to power menu, I’m creating a variable %PcScreen and simply setting the value of it to the %arcomm. The value will get assigned to the default notification. At this stage go and update the default notifications (the ones that have only 4 icons) with this variable. Each notification should have %PcPowerontime,%PcVolume and %PcScreen in the text field.

    And that was all!

    Bonus:

    Lights Menu

    Open Sub-Menu Profile/ SubMenu Open

    Create a new notification and link it to the IF %ancomm ~ openlight If the lights icon from the first row is pressed  – this action will be called. (update the default notification and change the column count to 5 (see part one)
    You will  have to change the following in each notification created so far:

    • Column count (5:4) to reflect number of your menus
    • Actions – add new action everywhere (one for menu, one for submenu)
    • Enabled: 1,1,1,1,1 (equal to number of icons)

    Notification is configured as follows:

    • Buttons – as per your liking, make sure the first row is consistent, because you are creating a new menu, you have to update each notification.
    • Actions: the first row starts with open (see template) but the lights menu icon should have openclose action assigned instead. The second row has actions ending with ‘‘…tsk”. I used lighttsk as I only have one smart light.
    • Color, only a second color should be different.
    • Prefix for actions: buttontwo

    Submenu Actions/Send AR

    Our profile can intercept only actions ending with …pc, therefore we have to modify it. The profile context will respond to regex pc|tsk and the task will contain IF statement when sending the previously made AR action: IF %ancomm =R pc.

    Add another action – Perform Task and create condition IC %ancomm =R tsk. The action to perform is %ancomm. It’s easier to rename a task to fit the bill than create a name matching profile.

    Lighttsk

    I only control one light at this time. The controller is simplistic as I made the WIFI module myself and I’m currently working on it. Here is how you create a toggle switch.

    Create the variable %lightStatus and set it to 0. I’m using the HTTP Get request to turn on/off the light. When the %lightStatus = 0 the light is off and when it’s 1 the light is on. Create the IF condition that checks the value of the variable, updates the value respectively, and sets the correct action then stops:

    lighttsk (26)
    	A1: If [ %lightState ~ 0 ]
    	A2: HTTP Get [ Server:Port:192.168.1.163/?pin=ON1 Path: Attributes: Cookies: User Agent:
                Timeout:10 Mime Type: Output File: Trust Any Certificate:Off Continue Task After Error:On ] 
    	A3: Variable Set [ Name:%lightState To:1 Recurse Variables:Off Do Maths:Off Append:Off ] 
    	A4: Stop [ With Error:Off Task: ] 
    	A5: Else 
    	A6: HTTP Get [ Server:Port:192.168.1.163/?pin=OFF1 Path: Attributes: Cookies: User Agent:
                Timeout:10 Mime Type: Output File: Trust Any Certificate:Off Continue Task After Error:On ] 
    	A7: Variable Set [ Name:%lightState To:0 Recurse Variables:Off Do Maths:Off Append:Off ] 
    
    

    For any other setups simply run the task that is named in the same way as the %anconn message issued by the sub-menu. If you need more than one menu, rinse and repeat the steps. You can download all the files for editing (Tasker project, EventGhost tree, and icons used (place folder in the Tasker folder) from the links in the video)

    Tasker PC control – tutorial #4 (Screen Menu + bonus) by Mat Zolnierczyk first appeared on Pocketables.

    Tasker Quick Start – get started in 10min!

    $
    0
    0

    Are you new to Tasker? This is how you should spend first 10 min with the application. Tasker has a steep learning curve. I hope this Tasker Quick Start will get you up and running in no time. This is a setup guide, I’m not going to talk about creating any profiles just yet (I have plenty of tutorials for beginners for you to use) but setting up the Tasker so it would work with whatever you throw at it.

    Tasker Quick Start

    Don’t be surprised if Tasker won’t run in the background if you don’t have any running profiles. Before I show you how to create your own, we have some things to do.

    Settings

    To let Tasker do its own thing we have to enable few settings. These are Android level settings and placed all over your menus. Use search icon to search the location of each option. Remember that custom ROMs and manufacturers can group these in different sub-menus.

    1. Disable battery optimisation – this means that Tasker won’t be closed due to battery saving actions. Don’t worry, the app is not using that much battery. You won’t even notice it.
    2. Grant Notification access –  Tasker can see what notifications are present in your status bar but only if you allow the app to see it.  Make sure this is enabled.
    3. Device Manager –  enabling this (needs to be disabled before you can uninstall the Tasker) will allow Tasker to perform more low-level actions like locking your screen.
    4. Accessibility Settings – For now, Tasker still has the access to this, but Google changes the policy on how these settings can be utilised by apps. It’s possible that future version of Tasker won’t have access to this menu.  You can read more about changes here.

    Tasker Preferences

    We have 10 min, and I want you to be as PRO in Tasker as possible! This means we will step up the game a little and change some preferences (3-dot menu) to suit the rest of our tutorial. Open preferences menu in Tasker and change the following:

    UI Tab
    • Disable Beginner’s Mode – trust me I’m an engineer! It will open new options in the Tasker menu.
    • Disable Icon Colour from the theme – otherwise, your project icons will have the same colour.
    • List Item dragging – set to On Right, Visible – it will create a visible guideline to show you where to hold to move the tasks around.
    Monitor Tab
    • Use Reliable Alarms – set to always, you can disable it later if you want. It will create an alarm icon in your status bar but it will make the timer based context reliable. More about the topic here.
    • Enable Notification Action Buttons – It will add a Disable to the Tasker notification, it’s handy for toggling Tasker to check if profile triggers correctly.
    Misc Tab
    • Local Auto-backup Max age – I use 1 day, it will place an auto backup file in the Tasker folder.
    • Allow External Access – allow Tasker to do even more stuff. Won’t bore you with details, for now, we have plenty to do.

    New Tasker GUI

    If you followed the previous chapter, you will see that Tasker looks slightly different,  it has more tabs. You are in the PRO mode now so here is the explanation what’s what:

    Profile Tab

    A profile is a tab for contexts (triggers). You can have multiple profiles, and each profile can have multiple contexts. These are conditions in which something has to be done. It could be a time condition like it’s 4 pm do something now. It could be hardware based: the screen just got turned on, do something now, or software based: the YouTube app is open – you need to make sure this is done when the app is opened.

    Each profile can contain up to 4 contexts (4 state conditions or 3 state and 1 event condition):

    • event condition – this is an instantaneous change in Android.  It lasts a fraction of the time.  A good example would be – I received a text message, it happens each time I get one text, it’s active for a fraction of the second.
    • state condition – this context is a boolean (true/false) statement and is active if a condition is true. A good example is a notification for an unread text message. The message is unread until you read it, so profile would be active as long as the message is unread.

    To recap, if you receive a message – this is an event, but if you have an unread message pending, this is a state condition.

    Tasks Tab

    Tasks are folders in which actions are placed.  When a condition is met (see profile) a linked task will be executed by Tasker. Tasker will go through each action stored in a task in a specified order.

    • Entry Task – this task is available for each profile by default.
    • Exit Task –  (optional) can be added to state profiles only (long press on task linked in Profile tab). Tasker runs this task if the condition is no longer met.
    Actions

    Actions are listed under Tasks. These are steps that Tasker goes through to do stuff.  Each step is an action.  So action could be turning on WiFi, enabling silent mode or saving a phone number to a variable. You can have an almost unlimited number of actions in a single task.

    You can test the tasks manually by tapping the play button at the bottom.

    Scenes Tab

    In this tab, you can build your user interface. Tasker can create overlays which contain buttons toggles and switches. This UI can control Tasker values and variables. There are many alternatives, as the Tasker interface can be a bit cumbersome.

    Variables Tab

    This tab stores all the variables that belong to the project. Variables are split into 3 groups

    • System Variables (ie %TIMES)
    • Global Variables (ie %HomeTime)
    • Local Variables (ie %count )

    System variables (spelt with caps) are created and updated by Tasker. You cannot change the value of this variables. These are ‘read-only’ variables. You can copy the value to a global variable and manipulate it further.

    Global variables are user created. The variable must have at least one uppercase letter. You can create these at will and modify the data stored in that variable. You can also share the data between your projects or profiles.

    Local variables are created by the user, but also some of them are provided by the system. These are spelt with all lower case letters and they hold the data for a short time.  You cannot share the data stored outside of the task they run within.  Once the task is completed the variable automatically clears the data stored.

    If you want to know more about the variables – check out this tutorial and the Tasker reference page.

    Projects Tabs

    At the bottom, you will see a space for more tabs. This is how you organise your projects. You can name the projects, set icons and keep your projects organised. Think of the projects as folders. They have no impact on how Tasker works, but keeping things organised can help in keeping the law and order among your profiles.

    Creating your first profile

    The process can start from any tab really. You could start with a task, scene or profile – the best way to explain this one is this video:

    Examples from internet

    I mentioned this multiple times in my tutorials, here is a quick rundown. Tasker files come in 4 flavours.

    • Tasker Project file (name.prj.xml)
    • Tasker Profile file (name.prf.xml)
    • Tasker Task file (name.tsk.xml)
    • Tasker Scene file (name.scn.xml)

    When importing files from the internet, pay attention to the file extension, and what menu you use to import the files over. If you try to import the project file via profile import menu, you are not going to find the file in your directory. Only files specific to the import menu are visible to you. To access the import menu, long press on a correct tab.

     

     

    Troubleshooting

    I suspect you will run into issues sooner or later. There are few things you can do to fix it. Before you run online and ask questions, check if the downloaded file is compatible with your phone and the Android version.

    Run your task manually, when an action is performed successfully, you will see a small green circle confirming it. Otherwise, you will see a red circle indicating that this action is causing the issue.

    Another way is to enable the log and check the orders of your tasks. This may look a little daunting at first, but it is worth learning how it looks like and how to learn it. The log is available via Tasker menu (More/Run Log). It will display the tasks and actions that are performed in the chronological order. Watch out for error messages which will point you to the task or action that causes the issues.

    Still no luck?

    Before you ask questions take a look at 10 most common Tasker mistakes. If you decide that the issue is more than you can bite on, get prepared. The community will ask you for your profile file or description, screenshots or error messages. Be descriptive, provide the Android version and the phone you are working on. Not all actions are available on the same devices, Android versions or ROMs. 

     

    To export the description – select the task or profile in question and use the Tasker menu. The Export section will give you an option to copy the task description to the clipboard/email.

    More Questions?

    I took a swing at answering the most popular questions listed by Google. Perhaps your question is there as well? All look at all posts we have about Tasker. I write for pocketables.com for free, if you enjoy my content you can tip me via PayPal or join one of Patreon Rewards tiers.

    Tasker Quick Start – get started in 10min! by Mat Zolnierczyk first appeared on Pocketables.


    Getting Started with Tasker 2019 ed

    $
    0
    0

    Hi Tasker friends!

    I finally had time to act on feedback given to my 10 min tasker guide video, and I decided to reshoot the whole thing. The video is no longer 10 min long, but I walk you trough Tasker at a much slower pace.

    Getting started with Tasker

    If you are new to Tasker – you should watch it!

    This is just a start-up guide explaining principles of Tasker. I have a whole page of tutorials including special Tutorials for beginners:

    1. Part 1: Your first profile
    2. Part 2: Projects, profiles, tasks, scenes and variables explained
    3. Part 3: Home profile
    4. Part 4: Sleep/night profile
    5. Part 5: Voice notifications in multiple languages

    If you want to learn even more take a look at this collection of Tasker articles:

    Happy tasking

    If you like my work you can always buy me a coffee or support me via Patreon.

    Getting Started with Tasker 2019 ed by Mat Zolnierczyk first appeared on Pocketables.

    Tasker: Seconds into DD:HH:MM:SS (dynamic)

    $
    0
    0


    There are two reasons I write about this. I accidentally shut off my remote access and I cannot complete the other tutorial I had in plans, and I think this is a very useful task, which I’m actually going to use in my next Tasker project.

    Seconds to DD:HH:MM:SS

    The system variable %TIMES gives you the number of seconds from 1 Jan 1970 and this count can be used for a lot of things in Tasker, including timers. Since humans don’t operate well with 10 digit numbers (unless you are one of these rich humans – PayPal details below!) so translating this into a readable form is most desired.

    • just seconds
    • with minutes
    • and hours
    • days too!

    The easy mode would be to do some basic maths and call it quits with the format: 00d 00h 00m 05s, but that’s just lazy, and my reputation of “knowing something about Tasker” calls for a more sophisticated approach. How about these:

      05s 
    32m 03s
    07h 04m 02s
    01d 10h 28m 01s

    It makes complete sense to display the only range of the values in use. No need to use “days” if all I have is 10 min worth of seconds in my timer!

    Maths behind the seconds

    To convert Seconds to DD:HH:MM:SS all I need is good old math! So how to extract days, hours, minutes and seconds from a very big integer? Modulus and rounding functions are the primary answers.

    Modulus (% – yes like in a variable) the modulo operation finds the remainder after division of one number by another. Or in common language – the result is the remainder of the division that doesn’t turn the result into a number with a decimal:

    16%5 = (5+5+5)+1 = 1 
    25%7 = (7+7+7)+4 = 4

    The calculation is super handy if you want to check if you are dealing with an odd or even number:

    X%1 = 1  odd
    x%1 != 1 even

    Rounding options – are the easiest ways to get rid of the decimal point. There is more than one function and consider the potential result:

    floor(x) round down  --> floor(2.8) = 2
    ceil(x) round up --> ceil(2.8) = 3

    So far, this post has been a great “back to school” warm-up! Right? Let’s brain some more!

    Thanks to this excellent collab and discussion I had my first contact with JavaScriplets! I have to say, that /u/_Elisoft_/ did an excellent job of translating this into a single JavaScript the similar conversion can be used with a single action. I included both ways for you:

    Tasker actions

    Days

    To extract a number of days from X seconds we have to:

    Xsec /24h/60m/60s  and round down so: floor(x/86400)
    Hours

    To calculate the total number of hours: Xsec /60m/60s and round down so: floor(x/3600) but here is an issue, I want the complete days to be excluded, so the actual formula would look like:

    (Xsec%86400) / 60m/60s and round down so: floor((x%86400)/3600) 
    Minutes

    In a similar way, to get the total number of minutes one must Xsec /60s and round down so: floor(x/60) but I don’t want to count minutes that are already counted in the hours, therefore:

     (Xsec%3600) /60s and round down so: floor((x%3600)/60) 
    Seconds

    I’m including these because of my OCD, for the upcoming project, seconds will have minimal impact. Let’s do it anyway because you may need it! Since you know the total number of seconds X. All you need is to extract the ones that are under 1 min:

    X%60  - done!

    JavaScriplet

    Use JavaScriplet action to perform all the maths calculations in a single action and extract the values you need. Set the variable %par to specify the seconds (Scriplet don’t like the %par1 )and use the code:

     d = ("0"+Math.floor(par/86400)).slice(-2);
    h = ("0"+Math.floor((par%86400)/3600)).slice(-2);
    m = ("0"+Math.floor((par%3600)/60)).slice(-2);
    s = ("0"+par%60).slice(-2);

    var timer = "";
    timer += (par>86400?d+"d ":"");
    timer += (par>3600?h+"h ":"");
    timer += (par>60?m+"m ":"");
    timer += s+"s";

    The value will be available in the %timer variable. Add the return action to make it usable as a subtask. If you going to use this JavaScriplet, you can jump to the conclusion.

    Dynamic DD:HH:MM:SS

    If you are just getting started with Tasker, don’t panic. This task is the 3rd iteration. Each one was working ok, but the final one has the nicest structure of actions. How do you display the values that matter without writing complicated rules?

    With simple filters. Create 4 display messages and corresponding IF statement. Compare it against the total value of seconds (X) and:

    SS          IF X < 60                  (display seconds only)
    MM:SS IF X > 59 && X < 3600 (display min & sec only)
    HH:MM:SS IF X > 3599 && X < 86400 (display min & sec only)
    DD:HH:MM:SS IF X > 86399

    More OCD in Seconds to DD:HH:MM:SS

    I’m not done. The eagle-eyed readers noticed that my values under 10 have leading zero! so 9 seconds looks like this: 09s. This is something we have to take care of manually! Sadly there is no clever way of adding it, but I opted out for a Sub-task which will be performed for each variable %days, %hours, %minutes, %seconds

    Perform Task – add leading 0

    If you never used it, action Perform Task lets you specify up to 2 variables that will be sent to the subtask. I could take the advantage of that but for the sake of simplicity, I’m using one variable at the time %par1 and this is why the entire subtask use that variable (it’s also a hint to why the main task uses %par1 too! YES you guessed it this is a subtask I will use).

    Time for lazy IF statements! It’s not inventive, you define ranges and then use Variable set to set the correct formatting of each range.

    %par1 < 1

    If we have no seconds we want 00. Yes, it’s cheating but it works!

    %par1 < 10 && %par1 > 0

    For anything bigger than 0 but needing leading 0 I use 0%par1

    %par1 > 9

    Anything that doesn’t need a leading zero – well… you could skip it or set it to %par1 just to please your OCD!

    You can be also as smart as /u/EllaTheCat and:
    The leading zero can be done without conditionals: add 100 then remove the 1 with Variable Section.

    Lastly, let’s return the value – it means that this number will be now available in our main task.

    Back to Seconds to DD:HH:MM:SS

    It’s time to organise everything. After every day|hour|minute|second calculation I’m using perform task action to set the leading zeros and returning a custom variable. This is the variable that holds my final value. All I need now is to use the filters from above to display correctly formatted timer!

    Conclusion

    It’s been a while since I made a detailed tutorial that aims at beginners of Tasker! I hope you will find creative uses of this task. I will keep mine secret for now, but you should read about it soon!

    If you want, you can totally go for the v2.0 where leading 0s are removed if the value is in a leading spot ie: 07m 15s vs 7m 15s. My OCD can live without these! But if you do! I will add your method to the end of the post with your permission. You can download the complete project from this link.

    If you like my work you can always buy me a coffee or support me via Patreon.

    Tasker: Seconds into DD:HH:MM:SS (dynamic) by Mat Zolnierczyk first appeared on Pocketables.

    Tasker – Your first profile

    $
    0
    0

    Tasker – How does it work?

    Tasker runs quietly in the background, monitoring all activities performed on your mobile device.  User created profiles contain conditions that tasker responds to.  Each time a condition becomes true, tasker performs set of actions. This simple principle allows you to create elaborate profiles or even network of profiles working together. Although starting with tasker isn’t easy, within few sessions you will feel comfortable creating simple profiles.

    Your first profile

    Before we dive into the details about usage of the application alone, let’s create an example profile that will help us to illustrate how it all works. Please follow the video instructions. Below you have all the main stages listed and explained.

    Profiles

    List of conditions in the profile tabThis profile is a simple auto-rotation controller. Whenever Youtube or MX Player is opened, we will allow auto-rotation on our device, otherwise, the phone will be locked in the portrait mode.

    In the profile tab please add new profile – select application context. This will be our state condition. Whenever selected applications are open – condition will be true.  Select Youtube and another app from your list. Tasker will start monitoring these.

    Now go back and pop up for a new Task should be visible.

    Small bug in the Tasker may prevent you from seeing your input in Task name field,  name it regardless and hit Enter to create the task. I called mine Rotation+. This task will contain a list of actions we want to perform when our selected applications are open.

     

    Tasks

    Firstly, we want to control the rotation of our display. You may be prompted to grant tasker with extra privileges, based on your android version. If so – please do so.

    Actions in a taskIn Action category please go to Display or start typing in a Filter below: Display AutoRotate.

    This will take you to the toggle responsible for that action. Set it to ON.

    Next step will be to add another action, this time go to Variables and use Variable set action.

    Variable name will be %Rotation

    And we are going to set it to ON.

    To test the Task now – hit the play button. Your phone should apply autorotation to your display and variable %Rotation will be created and set to ON.

     

    Scenes

    Go to the Scenes tab, as we are going to create simple dialog letting us know that changes to our settings have been made.
    Create a new scene.

    In the scene properties, you can also change the background colour. Once this is done, grabbing an edge of the background you can resize it. Make it smaller.

    Scene and scene elements

    You will notice the Zoom icon in the corner, press it to enter into an edit mode.  You will be able to add your scene elements there. Look at + and you will see a list of available elements to be added. Select the text element.

    We will create a short message that will tell us an orientation of our phone.

    Use the text field to enter your notification, then input your variable %Rotation+ either by typing its name with % symbol, or pressing the icon in the corner. The value of our rotation variable will be displayed instead, when the scene is displayed.

    Exit that screen and tap and hold element to resize it. Align it to your preferences and you are ready to exit that scene.

    Go to the task again – we will add actions responsible for displaying the scene on your phone.How to display a scene

    Add – Scene – Create Scene, (you will see your scene’s name) then Display Scene from the same menu. Display as: Dialog

    As we want the scene to be visible for short time we will apply a Wait task between Show Scene and Destroy Scene action. Go to Action – Task  and select Wait. Set your timer to 1 sec. Then add the previously mentioned Destroy Scene action from the scene menu.

    Let’s test it.

    Your task will stop and display an error. Tasker saves data on exit, and since we have created the scene we have not exited the application, and we are unable to reference it properly in our profile. Exit task, then exit the Tasker out, and reopen it again. Now all should work as intended.

    tests

     

    Congratulations! You have a working profile.

    I’m aware that this may not be a spectacular example, and you can’t wait to create something more suited to your needs, but this will serve us as an example.

    Part 2

    Last thing before you go further. Go to Tasker preferences and in UI settings – disable the beginner’s mode. Since I will be telling you more about tasker, it is a good idea that you would see all options available in the tasker itself.

    Tasker Preferences

    Tasker – Your first profile by Mat Zolnierczyk first appeared on Pocketables.

    Tasker in details (Projects, Profiles, Tasks, Scenes & Variables)

    $
    0
    0

    Most elements in Tasker can be interacted with by tapping on them, or long pressing. This will enable additional settings and properties, import/export menu, copy and paste options etc. You can also move the profiles, tasks and actions around by tapping and dragging it at the very right side of each one. Experiment a little to get yourself comfortable with the user interface.

    Then head to the tasker properties and in UI tab – disable the beginners mode!

    Projects

    To organise your creations, Tasker allows you to put them into folders called projects. This will contain your profiles, tasks and scenes which have been created within that project. To add, and access projects menu, long tap on home icon in the bottom left corner.

    Screenshot_20160402-200845There you can also find options like import and export (please note you cannot export the default home project.) It is likely that you will come across ready-made creations in tasker, and files shared will often be listed as filename.prj.xml. The file will contain all information about the profiles, and can be imported. Importing files to Tasker has to be done via the correct import menu. If you are unable to find your file chances are, that you have imported a profile file instead, or you are accessing your import through an incorrect menu. Please be aware of this, as it is one of the most common questions asked online by beginners. In addition to the above you have options to add icons or rename your folders as well.

    Profiles

    Profiles contain two elements: context (condition) and a task (list of actions to perform). This is how your creations are built. Conditions are divided into two types:

    Adding ConditionsEvent

    When you receive a text message, or at exactly 3pm your phone registers an event condition. It is short and you are unable to define its range, just the time it occurred. Tasker monitors these and uses it to trigger tasks once something happened on your phone. Your task will run once when the event condition is true. Profiles based around event conditions don’t have the option for an exit task.

    State

    When your phone has an unread text message, or it is within the 3pm-4pm range we are talking about state conditions. These define a state a phone is in, you can also clearly define the start and the end of the state (you are able to tell when your phone has a pending message, or if it’s within a time range). If the condition becomes true, tasker will run your entry task. It will do so once, and if you have assigned an exit task, this will run once as well, when the condition becomes false.

    You don’t have to assign an exit task to have a complete profile, by default Tasker will enable ‘restore settings’ (see profile properties) which will revert any changed settings back to the initial values. This applies only to actions with a ‘cog’ icon, and if you assign an exit task make sure to take this option into consideration.

    Each profile can have up to four conditions attached to it. Only one of them can be an event condition. Tasker will monitor conditions based on the power usage, starting with low power draw first, so you wouldn’t have to worry about the power draw too much.

    Options for profiles

    Tasks

    When profile is activated, Tasker will perform a list of actions. These are grouped in tasks and linked to your profiles. Tasks can be linked to profiles, or you can run it by placing a shortcut on your home screen.

    Options for tasks

    A Task contains a list of defined actions that are run in order. If one of the actions fails, this usually stops Tasker, unless you have selected otherwise. Tasker will wait for the action to be performed before moving onto another one. Tasker allows you to export and import files, they are stored as filename.tsk.xml and contain actions only. It is also possible to set the collision handling, should you run the same task multiple times before your initial task has been finished.

    Scenes

    Scene and scene elements
    Scene and scene elements

    To allow user interaction tasker has a built-in GUI system. Scenes are an interface that you can create to display data or allow user input. Each scene contains general working space which can be populated with arrays of elements. These can appear dynamically, and can carry data passed over from tasker, toggles, buttons or input methods.

    In addition to this, each element can contain a task to be performed when interacted with.

    Scenes allow you to create an app-like look to your Tasker projects, however mastering the layouts can take a while with its fiddly interface.

    To display a scene you have to call a ‘create scene’ action, then ‘show scene’ action otherwise the scene will be created but will remain invisible.

    You can export and import scenes as filename.scn.xml file through the usual import/export menu. It will contain the tasks included in elements created within that scene.

    Variables

    If you ever had anything to do with programming – I don’t have to explain much to you. Otherwise – you may want to pay attention to this section. Variables are like buckets, they allow you to store information, or value, and refer to it by calling its name (pass me this blue bucket) and process the data without actually checking what’s inside (whether the bucket contains nails or concrete i can still refer to it as ‘blue bucket)

    Variables start with % and we have 3 types available in Tasker

    Screenshot_20160402-201212

    %SYSTEM (all upper case)

    These are provided by Tasker, and their values are always set by tasker itself. Thanks to this we can use them in state conditions (ie %WIFI checks if WiFi on your device is on/off)

    %Global (at least one upper case)

    These are created by users and can be used to store or manipulate data. Data is stored until variable is cleared or changed. Global variables are available to use between profiles or projects.

    %local (just lower case)

    These are the quickest to process the data stored inside, but come with a trade-off. Only available while your task is running. Once task is complete – the variable is being wiped and data deleted unless you passed it over to a global variable.

    Plugins often use local variables to allow you to capture data from the plug-in – and manipulate it when an associated task is running.

    Variables take time to understand, but you can have a look on this video that explains each variable action available in Tasker.

    Tasker in details (Projects, Profiles, Tasks, Scenes & Variables) by Mat Zolnierczyk first appeared on Pocketables.

    Tasker – Android automation

    $
    0
    0

    tasker1

    What can we do with Tasker?

    You are reading this post because you are not a programmer, and you would like to do something, that cannot be achieved with the existing apps, or you just really fancy an automated home from TV show Eureka or Jarvis from Iron Man franchise. Although AI is still beyond our reach (for better or worse) the tech of 21 century allows a creative person to achieve a high degree of everyday automation.

    This is where the Tasker comes to play. It allows you to create your own profiles, actions, and behaviors allowing to interact with you, your surroundings, internet and internet of things (IoT).

    Imagine that you’ve left the work, your phone is texting your loved ones with information about your estimated  arrival. Displays a traffic information, and the list of items to buy generated by your partner while you have been working. It opens the garage doors as soon as you hit your driveway. All this while making sure that your thermostat is set to your preferred setting. You are welcomed to a warm room, music from your playlist and lights on so you wouldn’t harm yourself over slipper you left in the morning. This is all doable without you even touching your phone however,  you cleaning up  slippers is not something Tasker can help you with.

    Why Tasker then isn’t the next ‘hip’ thing? The learning curve is very steep. You are in the right place to get your head around the basics. If you never used Tasker before – please have a look on the complete guide to Tasker for beginners. If you have some experience already – feel free to jump from topic to topic.

    Beginners Guide to Tasker 2016 ed.

    All videos are made using the latest Tasker and Android 6.0 Marshmallow on a Nexus 6P. These should introduce you to the new Tasker interface, show you how Tasker works and how to use contexts, tasks, and actions in your projects. At the same time, you will be able to create few very useful profiles.

    1. Part 1: Your first profile
    2. Part 2: Projects, profiles, tasks, scenes and variables explained
    3. Part 3: Home profile
    4. Part 4: Sleep/night profile
    5. Part 5: Voice notifications in multiple languages

    Projects

    Tasker Archives

    Here you will find all previously written articles about Tasker. Please bear in mind a lot of information may be outdated, as the articles refer to older versions of the Tasker and Android.

    Tasker – Android automation by Mat Zolnierczyk first appeared on Pocketables.

    Viewing all 51 articles
    Browse latest View live