[GUIDE][Difficulty: intermediate] alternative way to set alarm based on calendar - Tasker Tips & Tricks

The task is triggered by a time based profile, every day at 11:59 pm.
Set alarm (94)
A1: For [ Variable:%count Items:2:12 ] If [ %tit1 !~ shift ]
#a for-loop with up to 11 cycles, if condition to stop the loop, once an entry with the proper title is found. Since the "Test App" action checks at a certain point in time for an entry, we have to check every hour seperatly. 1st cycle will check for an calendar event starting at 2am, 2nd cycle will check at 3am and so forth. Last cycle will check for events starting at 2pm, because i expect myself to be woken up till then without an alarm clock.
A2: Variable Set [ Name:%times To:3600*%count+%TIMES Do Mathsn Appendff ]
#the "Test App" action requires the time of when to check for an entry so we prepare a variable by adding one hour in seconds, multiplied by the cycle item (2-12), to the device time. If ur calendar event duration (start to end) is less than one hour u have to double the amount of cycle items (2-24) and multiply it by 1800 in order to check for an entry every 30min.
A3: Test App [ Type:Calendar Start (Seconds) Data:%times Store Result In:%res Continue Task After Errorn ]
#if an calendar event is found at %times, it will write its starting time into the array %res
A4: Test App [ Type:Calendar Title Data:%times Store Result In:%tit ]
#this will write the events title into %tit.
A5: End For
#self expaining
A6: Stop [ With Errorff Task: ] If [ %tit1 !~ shift ]
#the task stops, if all cycles are executed and no calendar entry is found.
A7: Variable Convert [ Name:%res1 Function:Seconds to Medium Date Time Store Result In:%dat ]
#if u dont have overlapping calendar events, %res (still an array!) will have only one entry. So we convert it into a human readable format and save it inside %dat
A8: Variable Split [ Name:%dat Splitter: Delete Baseff ]
#we want only the time and not the whole date so we split at every whitespace
A9: Variable Split [ Name:%dat4 Splitter:: Delete Baseff ]
#now we have %dat4 in the format hh:mm but the "Set Alarm" action requires the providing of hours and minutes seperatly. So we split once again, this time ofc at the ":"
A10: Variable Subtract [ Name:%dat41 Value:2 Wrap Around:0 ]
#reducing the hours by 2 to have the alarm ring 2 hours before the event starts.
A11: Set Alarm [ Hours:%dat41 Minutes:%dat42 Message: Confirmff ]
#self explaining
Iam going make this guide more fancy (screen shots and more explaination) later.
Best regards, Chillmann

Screen-shot would have been useful. Thanks anyway.

this is actually UNBELIEVABLE!
I have the mostly same thing and was thinking of writing a similar guide like this the other day.
My version has some minor difference, of course, but the concept is mostly the same.
Again, unbelievable!

Don't forget to share the task/project xml.

I finaly found what I was looking for.
I am a starter with Tasker.
I entered the task but I get a error
Variable convert: %res1: no value.
What did I do wrong?

Related

[Guide] Kill all frozen apps with Tasker

Hello,
Do you had frozen some system apps and bloatwares ? Did you observed that these are not killed ?
Here is a script for Tasker, to force stop (kill) all frozen apps (greenify). It’s cleaner than just freeze. These are not uninstall, just keep frozen but stopped now.
Description :
Code:
Kill frozen apps (24)
Stay Awake
A1: Notify [ Title:start Text:%TIME Icon:null Number:0 Permanent:eek:ff Priority:3 ]
A2: Run Shell [ Command:su Timeout (Seconds):0 Use Root:eek:n Store Output In:%RET Store Errors In:%ERR Store Result In: Continue Task After Error:eek:n ]
A3: Run Shell [ Command:pm list packages -d Timeout (Seconds):0 Use Root:eek:n Store Output In:%RET Store Errors In:%ERR Store Result In: Continue Task After Error:eek:n ]
A4: Variable Split [ Name:%RET Splitter:package: Delete Base:eek:ff ]
A5: For [ Variable:%RET Items:%RET(2:130) ]
A6: Run Shell [ Command:am force-stop %RET Timeout (Seconds):0 Use Root:eek:n Store Output In:%RET Store Errors In:%ERR Store Result In: Continue Task After Error:eek:n ]
A7: End For
A8: Notify [ Title:End Text:%RET
%TIME Icon:null Number:0 Permanent:eek:ff Priority:3 ]
Steps of the script :
1- Get a list of all packages disabled.
2- Split the results into variables, one package by variable
3- In a loop, for each package, launch a shell with su to force stop package.
I didn’t identify the maximum of the list of packages, so I set 130 as maximum.
In attachement, the xml to import in Tasker. To import, open the xml with Tasker. Then, open in Tasker, tap (not hold) on tasks tab on top of Tasker and select import.
Is it possible to kill Facebook, Facebook Messenger, Instagram, and Twitter on screen off?
Will this work to stop/kill open apps (not freezed/disabled) as well? The ``Kill app´´ function in Tasker does not work very well, not even with root. I tried to kill my audiobook-player when headset disconnects, the app disappears for a moment when killed but returns again after ~10 seconds. I googled about this and apparently there is no really good way to completely kill an open app?

Gear S2 send voice text from watch to phone and run tasker tasks

Send voice commands that you speak into the Gear S2 and have them transmit to your phone to run tasker tasks!
I made a youtube video of how it works : https://www.youtube.com/watch?v=SrXLeuY4sIc
I recently switched from a Pebble Time Round to a Gear S2. Pebble was very easy to run tasker apps from the watch including voice commands. Now with the Gear S2 it's a different story with the Tizen OS - not much support for this. I've seen some requests made to joaomgcd as he's done some amazing stuff for Tasker but the Tizen watches are too expensive for him to develop on.
I was trying to find a way to send voice commands that I spoke into the Gear S2 and have them transmit to my phone to run tasker tasks. I searched high and low and see that there are may others trying to so the same thing. There is the TaskS2 that lets you press the screen on the phone to run tasker apps which is good but doesn't capture text. So I came up with a work-around to be able to speak into the watch and have it run tasker tasks on the phone using the text that I spoke into the watch
**How it works once you have everything setup:**
1) The Gear S2 with the command "text" will send text info to a contact. So to get our text we will create a dummy contact.
2) Define a wake up command on the Gear S2 such as "OK Google". With your screen ready say to the watch "OK Google"
3) When the prompt comes up, say to the watch something like "Text Samsung task to deposit cheque at bank"
What this does is it recognizes the 'Text' command as sending a SMS text message to a contact called "Samsung" (which is a dummy contact). When the confirmation then it shows you the text on the watch, say "OK"
4) It then will send your phone an outgoing text message to the contact "Samsung" with the text as "task to deposit cheque at bank". The word "text" gets dropped as it's the command and "Samsung" gets dropped as it's the dummy contact it sends the message to
5) Now the contact on your phone "Samsung" has one text message with the message "Text Samsung task to deposit cheque at bank" - Yay! we now have useable text that we spoke into our Gear S2 and through the magic of bluetooth is now on our phone and we can use as a cliboard variable in tasker!
6) Macro Droid is then triggered by the fact that an outgoing sms event occurred that you told it to monitor the specific contact "Samsung". From here an action in MacroDroid is used to call a tasker task (Macro driod can use LOCALE/Tasker plugins - I used Secure settings - tasker shortcut). The tasker task then extracts the text from the Samsung contact, copies it to clipboard, deletes the outgoing text message so it's fresh for another new message, and can then other tasker steps with the text now in the clipboard.
The hardest thing I found was trying to capture the outgoing sms event as a trigger as tasker only deals with it's own "SMS sent successful" - it doesn't capture any broadcast receiver intent or ContentObserver from the SMS application on the phone and therefore no trigger once the text has been sent out. That's where after trial and error with some apps, I stumbled upon MacroDroid. This is what closed the loop on the solution - where it monitors that text being sent out by the dummy contact and it works very well for this.
**Requirements:**
-Tasker
-AutoInput tasker plugin - to simulate screen clicks and type in info)
-Macro Droid - to capture the event of sms sent when a dummy contact is used and trigger the tasker tasks
Optional
-Secure settings tasker plugin - for 'clear password' to turn screen on if you want, also for Macro Droid to run a tasker shortcut
**Steps:**
1) Create a dummy contact. I used "Samsung" as my contact name. Give it a dummy 10 digit phone number with a valid area code. I used (416)000-0000
2) Create your tasker tasks
Task 1: using Autoinput: launch contacts, lookup contact samsung, press the sms icon, long click on the message that the Gear S2 sent, copy to clipboard, delete the message - task done - you now have the text in a variable called %CLIP. At the end of this task call the next task
Task 2: now that you have the text the %CLIP variable, you can set a new variable and copy to say %CLIP1 and search and replace and remove any text you don't need. For example: "task to deposit cheque at bank" can be massaged using variable search and replace to something like "to deposit cheque at bank". In this task you can create if, else, then statements. For example:
a) "Text Samsung task to deposit cheque at bank" - if %CLIP matches reggex keyword .*task*. then run a task such as a reminder application like DGT
b) "Text Samsung drive to work" if %CLIP = keyword "drive to work" then run a task such as launching a shortcut for google maps or waze
Task 3: if needed, you can then run some clean up tasks like to close the contact & message app so it's not open in the back ground. I use 1) Go Home 2) Run Shell input keyevent 187 3) wait 1 second 4) AutoInput Action: Close all Action
3) Create a Macro in Macro droid 1) Trigger "SMS Sent to Contact" - specify contact as "Samsung" and SMS text "Any" . 2) action Locale/ Tasker plugin - Secure Settings - Execute Shortcut - choose the tasker task that you want to then run from step 2
**Here are the 2 tasker tasks:**
**1st) to deal with the capturing text on dummy contact:**
A1: Secure Settings [ Configuration:Clear Password Timeout (Seconds):0 ]
A2: Launch App [ App:Contacts Data: Exclude From Recent Appsff Always Start New Copyff ]
A3: AutoInput Action [ Configuration:Type: Text
Value: Search
Action : Click
Is Tasker Action: false
Check Screen State: false Timeout (Seconds):20 ]
A4: AutoInput Action [ Configuration:Type: Text
Value: Search
Text to Write : samsung
Action : Write
Is Tasker Action: false
Check Screen State: false Timeout (Seconds):20 ]
A5: AutoInput Action [ Configuration:Type: Id
Value: com.android.contacts:id/cliv_name_textview
Action : Click
Is Tasker Action: false
Check Screen State: false Timeout (Seconds):20 ]
A6: Wait [ MS:0 Seconds:2 Minutes:0 Hours:0 Days:0 ]
A7: AutoInput Action [ Configuration:Type: Text
Value: Send message
Action : Click
Is Tasker Action: false
Check Screen State: false Timeout (Seconds):20 ]
A8: Wait [ MS:0 Seconds:2 Minutes:0 Hours:0 Days:0 ]
A9: AutoInput Action [ Configuration:Type: Point
Value: 1292,582
Action : Long Click
Is Tasker Action: true
Check Screen State: false Timeout (Seconds):20 ]
A10: AutoInput Action [ Configuration:Type: Text
Value: Copy text
Action : Click
Is Tasker Action: false
Check Screen State: false Timeout (Seconds):20 ]
A11: AutoInput Action [ Configuration:Type: Text
Value: More
Action : Click
Is Tasker Action: false
Check Screen State: false Timeout (Seconds):20 ]
A12: AutoInput Action [ Configuration:Type: Text
Value: Delete
Action : Click
Is Tasker Action: false
Check Screen State: false Timeout (Seconds):20 ]
A13: AutoInput Action [ Configuration:Type: Text
Value: All
Action : Click
Is Tasker Action: false
Check Screen State: false Timeout (Seconds):20 ]
A14: AutoInput Action [ Configuration:Type: Text
Value: Delete
Action : Click
Is Tasker Action: false
Check Screen State: false Timeout (Seconds):20 ]
A15: AutoInput Action [ Configuration:Type: Text
Value: Delete
Action : Click
Is Tasker Action: false
Check Screen State: false Timeout (Seconds):20 ]
A16: Variable Set [ Name:%CLIP1 To:%CLIP Recurse Variablesff Do Mathsff Appendff ]
A17: Perform Task [ Name:GR If Cond Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stopff ]
**2nd) task to run IF statements based on keyword**
A1: Flash [ Text:%CLIP Longff ]
A2: If [ %CLIP ~R .*tomorrow.*Task.*|.*Task.*tomorrow.* ]
A3: Perform Task [ Name:TV GTD remindr tomor Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stopff ]
A4: Else If [ %CLIP ~R .*Task.* ]
A5: Perform Task [ Name:TV GTD remindr Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stopff ]
A6: Else If [ %CLIP eq Drive to work ]
A7: Perform Task [ Name:Wazewk Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stopff ]
A8: Else If [ %CLIP eq Drive to home ]
A9: Perform Task [ Name:Wazehm Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stopff ]
A10: Else If [ %CLIP ~R .*Text.* ]
A11: Perform Task [ Name:TV Type Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stopff ]
A12: End If

tasker - profile based on time - new user

Hi all,
I'm using phone profile plus on Android, and it's work very well, but it's quite limited... So I want to test Tasker
BUT I don't know why my profile didn't start automatically...
I want to have, for example very easy, one task for the day and on exit another one for one profile.
Profile: Day (16)
Restore: no Enforce: no
Time: From 07:30 Till 22:20
Enter: Journée (17)
Abort Existing Task
A1: Wait [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ]
A3: Bluetooth [ Setn ]
Exit: Nuit (6)
A1: Wait [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ]
A2: Do Not Disturb [ Mode:None Continue Task After Errorn ]
A3: [X] Auto Brightness [ Setff ]
Task: Background Image: Layoutopup Task Buttons Timeout (Seconds):10 Show Over Keyguardn ]
Ok i dont understand maybe how it is work but it didn't start on time..
I tried to change manually the time to see what happen, but even if i apply the changing, nothing happen, and sometimes it's work... But most of the time nothing!!
I have allowed all permission for Tasker, same for power save etc...
What's wrong?
Please help me!
Edit : hum I have understand why it didn't work...
But please what can I do to have profile
1) profile 7 to 22 : task A
2) profile 22 to 7 : task B
When I tried that, I have two profile activated...
Thanks
For example now... Profile not activated, why??...
In preferences, monitor tab, make sure "use reliable alarms" is set to always.
"Good judgment comes from experience, and a lot of that comes from bad judgment." - Will Rogers
ktmom said:
In preferences, monitor tab, make sure "use reliable alarms" is set to always.
"Good judgment comes from experience, and a lot of that comes from bad judgment." - Will Rogers
Click to expand...
Click to collapse
Thanks I will try !

Tasker Mute call if unknown Contact

Is there a way to use Tasker to mute calls from numbers not in my contacts?
Yes, I end the call if not in my contacts which effectively just seems them to voice mail. The end call action is not guaranteed to work on all devices, but you could exchange it for a action to lower the audio -> ringer volume.
In the following profile, I use a variable %CallBusy, to prevent disconnecting if I'm actively in a call. This variable is set in a separate profile that just looks if the phone is off hook.
Profile: Unknown Caller Disconnect
Event: Phone Ringing [ Caller:!C:ANY ]
State: Variable Value [ %CallBusy !~ true ]
Enter: End Call
A1: End Call
A2: Variable Set [
Name:%CallerEnded
To:%CNUM
Recurse Variables: Off
Do Maths: Off
Append: Off
Max Rounding Digits:0 ]
A3: Flash [
Text:Just blocked caller %CallerEnded
Long: On ]

intervelometer

I wish to be able to take multiple photos with touching the phone or talking to it or smiling at it I want it to take photos after setting it, until I stop it
Can tasker be my answer and do this somehow?
Would be great if someone could assist me with this
Thanks in advance
You can create a task that takes a picture, waits however long you want them loops back using a "go to" action to take a picture again. Putting an if statement to check a variable (maybe "takePhoto") in the "go to" action and execute the "go to" only if the "takePhoto" variable is true.
I would have a profile that calls this task if that "takePhoto" variable is true.
To start the process of taking pictures, use a Tasker shortcut/widget to call a task that sets the "takePhoto" variable to true. The next time that Tasker shortcut/widget is run, clear the "takePhoto" variable which will stop the task that is actually taking photos. You can toggle the "takePhoto" variable using logic like:
A1: If [ %takePhoto ~ true ]
A2: Variable Clear [
Name:%takePhoto
Pattern Matching: Off
Local Variables Only: Off
A3: Else
A4: Variable Set [
Name:%takePhoto
To: true
Recurse Variables: Off
Do Maths: Off
Append: Off
Max Rounding Digits:0
A5: End If
Duolicated
ktmom said:
You can create a task that takes a picture, waits however long you want them loops back using a "go to" action to take a picture again. Putting an if statement to check a variable (maybe "takePhoto") in the "go to" action and execute the "go to" only if the "takePhoto" variable is true.
I would have a profile that calls this task if that "takePhoto" variable is true.
To start the process of taking pictures, use a Tasker shortcut/widget to call a task that sets the "takePhoto" variable to true. The next time that Tasker shortcut/widget is run, clear the "takePhoto" variable which will stop the task that is actually taking photos. You can toggle the "takePhoto" variable using logic like:
A1: If [ %takePhoto ~ true ]
A2: Variable Clear [
Name:%takePhoto
Pattern Matching: Off
Local Variables Only: Off
A3: Else
A4: Variable Set [
Name:%takePhoto
To: true
Recurse Variables: Off
Do Maths: Off
Append: Off
Max Rounding Digits:0
A5: End If
Click to expand...
Click to collapse
sorry but istruggling to get the hang of this, is there a way you can create the profile and I can load it to my tasker?
I could, but I'm not interested in writing other people's tasks for them [emoji846]. There are apps in the play store that won't require Tasker.
If you post your current attempt (see the sticky post in this forum for help with that), I'd be happy to help you troubleshoot or tweak.

Categories

Resources