Call Timer which beep every 10 minutes by using Tasker?

437 views
Skip to first unread message

Likkle Swift

unread,
Aug 20, 2014, 10:04:43 AM8/20/14
to tas...@googlegroups.com
i've search all over the forum and on the net but i cannot find a call timer profile that could notify me every 10 minutes (by vibrating with different patterns at each 10 minutes interval) when i'm either calling someone or receiving a call...
or is there a profile that can end a call after 10 minutes (but that notifies me one minute earlier by a beep that the call is going to be automatically ended)?

Marta Hintz

unread,
Aug 20, 2014, 10:57:32 AM8/20/14
to tas...@googlegroups.com
Create one and when you get stuck someone will help.

Likkle Swift

unread,
Aug 20, 2014, 11:03:41 AM8/20/14
to tas...@googlegroups.com
i've actually created one but the problem is that i think there is something missing it. It goes like this:

Profile: Phone Offhook
Task Edit: Call Timer
A1: Wait 1 minute
A2: Vibrate Time 200
A3: Goto Type Action Number 1

Marta Hintz

unread,
Aug 20, 2014, 2:49:47 PM8/20/14
to tas...@googlegroups.com
Try Morse for a beep

Scott

unread,
Aug 20, 2014, 3:41:41 PM8/20/14
to tas...@googlegroups.com
Here's one idea.

You could have a Phone Offhook profile that starts a task that waits a minute and then increments a variable and starts over.

Then have a Variable Set profile that activates when the variable you were incrementing changes and runs a task with a bunch of if statements that check the value and perform some action for each different value. 

The exit task for the Phone Offhook would stop the enter task and reset the variable.

Likkle Swift

unread,
Aug 21, 2014, 9:07:49 AM8/21/14
to tas...@googlegroups.com
Thanks for the idea Scott,
but could you please post here how to create that profile? I am a bit new to Tasker.

Scott

unread,
Aug 21, 2014, 11:11:29 AM8/21/14
to tas...@googlegroups.com
What part do you have questions about?

There will be two profiles.  One with the State "Phone>Call>Any" (I think this is right, I haven't used phone states before), and one with the Event "Variable>Variable Set" that looks for the variable %Phonetime.

The entry task for the Phone>Call>Any profile will have a Task>Wait action that waits one minute, a Variable>Variable Set action that sets %Phonetime to %Phonetime + 1  with "Do Math" checked, and a Task>Goto action that goes to action 1.

The exit task for that profile will have a Variable set action that sets %Phonetime to 0 and a Task Stop action that stops the entry task.

The task for the Variable set event profile will have If tasks that check the value of %Phonetime against each minute you want something to happen.  So if you want the phone to vibrate at 3 minutes you'd have an action that checks if %Phonetime is equal to 3.  Then you'd have an action that does a vibrate and then an End IF action.  You'll do that for every minute you want an action to happen.

If none of that makes any sense I'd recommend some beginner tutorials.  The language for Tasker is kind of specific, specifically "profile," "task," "action," "state," and "event."

Likkle Swift

unread,
Aug 21, 2014, 11:45:43 AM8/21/14
to tas...@googlegroups.com
So, according to you Scott, it should bea bit like this:


Profile: Call Timer (24)
State: Call [ Type:Any Number:* ]
Event: Variable Set [ Variable:%Phonetime Value:* ]
Enter: Call Timer Entry Task (29)
A1: Wait [ MS:0 Seconds:59 Minutes:0 Hours:0 Days:0 ]
A2: Variable Set [ Name:%Phonetime To:%Phonetime + 1 Do Maths:On Append:Off ]
A3: Goto [ Type:Action Number Number:1 Label: ]

Exit: Call Timer Exit Task (30)
A1: Variable Set [ Name:%Phonetime To:0 Do Maths:Off Append:Off ]
A2: Stop [ With Error:Off Task: ] 

Scott

unread,
Aug 21, 2014, 2:47:41 PM8/21/14
to tas...@googlegroups.com
A2 of the Call Timer Exit Task should stop the task named Call Timer Entry Task.  If you don't force that task to stop it will run forever (or probably just until your phone reboots).

You may already realize this, but you still need an event task that is activated if %Phonetime is changed and a task that checks %Phonetime and acts accordingly.

The way it works with states is the entry task is runs once any time the profile condition goes from not met to met.  The exit task runs once once the profile condition goes from met to not met.  So when you go from not on a call to on a call it will run the entry task.  That task is an infinite loop as it is right now, so it won't stop itself.  So we use the exit task to force the entry task to stop.  It also resets the counter variable.

Alternatively you could have put the action that sets %Phonetime to 0 at the beginning of the entry task as A1, then have the Goto jump to A2, which would be the wait.  Then the exit task would only need to stop the entry task to stop the infinite loop.

Another way you could do it is to check %PACTIVE to see if "Call Timer" is active before you increment the variable in the entry task and only increment the variable and jump from the GoTo if your profile is active.  Otherwise it would just stop itself.  That way you wouldn't need the exit task.

The way the event profile will work is it will run a task when some event happens.  In this case the event is %Phonetime being set.  So there is no concept of an exit task because it's a one time event.

Hopefully that didn't end up being more confusing than helpful.  Ignore the "Alternatively" and "Another way" paragraphs if they were confusing and you don't feel like asking about them.

Rich D

unread,
Aug 21, 2014, 10:29:38 PM8/21/14
to Tasker Google Groups Post

> or is there a profile that can end a call after 10 minutes (but that notifies me one minute earlier by a beep that the call is going to be automatically ended)?
>

For this one I think you can do it with one profile

Context: call any
Enter task:
1. Wait 9 min
2. Play beep , notify call ending
3. Wait 1 min
4. End call

Exit task:
1 Stop : Enter task

For the stop action to work in the exit task, you will need to name your enter task then select that task in the stop action. (Use the mag glass in "task" option in the stop action. )

Likkle Swift

unread,
Aug 22, 2014, 9:27:31 AM8/22/14
to tas...@googlegroups.com
Thanks a lot Scott but it seems that even though I've followed all your instructions, it seems not to work and the task is an infinite loop.
 Here are my two profiles:

FIRST PROFILE
Profile: Call Timer (24)
State: Call [ Type:Any Number:* ]
Enter: Call Timer Entry Task (29)
A1: Wait [ MS:0 Seconds:0 Minutes:1 Hours:0 Days:0 ]
A2: Variable Set [ Name:%Phonetime To:%Phonetime + 1 Do Maths:On Append:Off ]
A3: Goto [ Type:Action Number Number:1 Label: ]
Exit: Call Timer Exit Task (30)
A1: Variable Set [ Name:%Phonetime To:0 Do Maths:Off Append:Off ]
A2: Stop [ With Error:Off Task:Call Timer Entry Task ]

SECOND PROFILE
Profile: Phonetime Profile (31)
Event: Variable Set [ Variable:%Phonetime Value:* ]
Enter: Call Timer Condition (38)
A1: If [ %Phonetime = 3 ]
A2: Vibrate [ Time:334 ]
A3: End If 

Scott

unread,
Aug 22, 2014, 10:57:42 AM8/22/14
to tas...@googlegroups.com
That all looks right to me, though I've never used the "Call" state, so I might not understand how it works correctly.

One very useful debugging tool in Tasker is the Alert>Flash action.  It briefly shows a string on your screen.  If I were debugging this I'd lower my wait time to a couple seconds and then add a Flash action after you increment %Phonetime to display %Phonetime.  This will show you that the loop is working correctly.  I'd put another Flash action in the exit task to verify that the exit task is running.  

If, for some reason, the flash doesn't work well when going from on a call to hanging up, you can always just set a variable in your entry task and then set it to something else in your exit task.  Then, after it's all done you can see what's in your test variable.

Matt R

unread,
Aug 22, 2014, 1:12:06 PM8/22/14
to tas...@googlegroups.com
Make sure "enforce task order" is unchecked in the profile properties (long-press on the profile and select the sliders icon).

Matt
Reply all
Reply to author
Forward
0 new messages