[TUT] Tasker – Google Calendar Widget (via Minimalistic Text) | Optional AutoNav V2 - Android Apps and Games

Profile Aim
Tasker reads your calendar creating a home screen widget via Minimalistic Text. Reacting to a future ‘meeting’ entry, it queries Google to find out the route information and journey time. Using the journey time information and meeting start time, it calculates what time you will have to leave and loads Sav Nav with the preselected route 5 minutes before you are due to depart.
Now FULLY Functional
Whilst creating the ‘Ultimate Alarm Clock’ I wanted the speech engine to read out the details of my meetings for the coming day from my calendar. I was a little disappointed that Tasker did not yet have the functionality to do that and despite delving into the calendar data base files; I could not find a way to achieve it. Damn.
When Tasker is able to read calendar entries in future releases, the tasks described below can be easily adapted to make sure you have a ready to go profile, but in the mean time, and I hope as always, this tutorial is full of handy Tasker tips and tricks…
New to Tasker? Download your free trial here
MT Google Calendar Widget only
If you don't want the AutoNav, I've included a download below with just the MT widget in. There is therefore only limited preparation you'll need to perform:
* Download the Minimalistic Text (MT) Plugin free from the market.
* Following the simple instructions in this link and get the private url output of your calendar in xml format. Remove the https://www. from the beginning and test it in your device's browser.
* At the end of the URL after 'basic' put '?max-results=3&futureevents=true&orderby=starttime&sortorder=ascending' (without the ' ) and that should order the calendar by the next three events.
* Edit action #2, #3 & #4 in GCAppTime to replace the time-zone abbreviation with that relevant to your location. It currently splits at 'BST'. Check the output file googlecal.txt on your storage card if you're unsure.
Head to the download link!
Initial Full Preparation (very simple)
* A Gmail account and calendar.
* Download the Minimalistic Text (MT) Plugin free from the market.
V3 PREP: Following the simple instructions in this link and get the private url output of your calendar in xml format. Remove the https from the beginning and test it in your device's browser. Tasker will be extracting your calendar data from this.
At the end of the URL after 'basic' put '?max-results=3&futureevents=true&orderby=starttime&sortorder=ascending' (without the ' ) and that should order the calendar by the next three events.
So you don't have to change the all the icons I've used, download them directly to your device from here and unzip to folder level inside sdcard/Tasker/.icn
Overview
We are going to use the Google calendar private xml output to provide details of our up and coming calendar events. Tasker will react to a keyword of *meeting* within the title field and extract the relevant details to populate a widget and get your sat nav ready to take you there, loading up when you are due to leave.
First Shortfall (doh!)
Tasker does not yet have the functionality to trigger a profile when a created variable such as %MEETING_DEPARTURE_TIME = %TIME (current time). As a work-around, a new calendar entry is created to trigger the navigation to load.
Secondary Preparation (very simple)
We have to structure the content within the Google calendar so that it is constant. The XML feed will need to be split apart to extract the information we need. Tasker cannot adapt to changes in format, so until you are comfortable enough with the variable splits that take place, you’ll need to follow these instructions.
In the ‘title field’, put this text: Meeting - Bank Manager
In the ‘where field’ you want to put a location that is obvious to Google Maps and wouldn’t give you choices if you put the same query in a browser.
Example: in the ‘where field’, put: Oxford+UK
Do not leave spaces between the location information. Join them with ‘+’ symbols. Post codes work in the UK too, but I’m not sure about ZIP codes etc abroad. Just experiment in a browser first if needs be.
The ‘description’ field (although extracted) is not used in these profiles, so you can populate that how you like.
Ensure you have at least one of the above formatted events and another two calendar entries of any kind.
Installation
Download and import the following 12 tasks:
GCAppLoc
GCAppDesc
GCAppTime
GCAppTit (lol?)
GCGetJD
GCJD
GCJT
GCAT
GCJTMaths
GCNavMaths
GCEntry
GCMT
Download and import the following 2 profiles:
Google-Calendar
Google-AutoNav
The .zip folder also contains the file Google_calendar_mtpref. This should be dragged into the sdcard/MinimalisticTextPreferences folder. It can then be selected in the MT Preference Manager or by selecting the 'restore' option when creating a new MT widget.
Customisation
Set the profile GoogleCalendar to however often you wish to pull the feed.
Edit action #2 in GCgetDatato the URL of your private XML feed. Don't forget drop the https://www. from the beginning and add the URL extension detailed above to the end.
Edit action #4, #5 & #6 in GCAppTime to replace the time-zone abbreviation with that relevant to your location. It currently splits at 'BST'. Check the file Googlecal.txt if you're unsure
Edit action #5 in GCJD to replace the splitter ',UK' with your country. You may need to view this in a browser to see how Google handles this.
Edit action #22 in GCEntry to the calendar you wish to use for the reminder.
That’s it!
Testing
In each of the tasks after a STOP action, I've left in various 'flash' and 'list' actions that I used when creating the tasks. If anything goes wrong, you can drag these up the list to see where/why a task might be failing.
The tasks are numbered in the notification bar, so should something go wrong, you'll be able to see on which task the profiles failed.
Tick the profiles to active them and apply out of Tasker!
Make sure your data connection/wifi is turned on and ‘Use GPS satellites’ and ‘Use wireless networks’ is ticked under ‘Location & Security’ in settings. You’ll be getting a GPS fix, so get ready to hang out of a window!
Press 'test' in the task GCGetData and you're off!
The icons in the notification bar tick down from 11 until the departure time is displayed and then check your calendar for the entry that will trigger the navigation to start!
If you are testing multiple times, you'll need to variable set %GCNAV to 1 each time. If this variable is set to 2, Tasker will ONLY update the MT calendar widget.
Job done….

Tutorial & Task Explanation
Google-Calendar
The initial profile is trigger is time based. You can set it to update how every frequently you want the Minimalistic Text widget to refresh.
GCGetData
First up, this task pulls the XML feed from your calendar. The output is written to a text file sdcard/Googlecal.txt. You can view the file in an explorer to see the data it pulls.
GCAppLoc
Splitting apart the XML feed (having transferred it to a created variable %GCFEED for good housekeeping), we extract the three appointment locations and place them in:
%GCLOC1
%GCLOC2
%GCLOC3
GCAppDesc
As above, this time extracting the description field to:
%GCDESC1
%GCDESC2
%GCDESC3
GCAppTime
As above, placing the calendar entry date and time into:
%GCTIME1
%GCTIME2
%GCTIME3
GCAppTit (lol?)
The final splitting task, that gets us the three titles:
%GCTIT1 (lol?)
%GCTIT2 (lol?)
%GCTIT3 (lol?)
You'll notice at action #18 there is a GOTO IF %GCNAV = 2. This variable is set to 1 when the navigation calendar entry triggers. IF it is still set to 2, then Tasker knows you already have a pending navigation entry and won't create another one. The GOTO skips all of the other tasks and goes straight to refreshing the MT widget with the above data, before stopping.
Assuming %GCNAV isn't set to 2, the task continues and checks if each of the %GCTITs (lol?) MATCHES 'Meeting*' (the '*' being a wild card to allow further body text after). If it does, it sets the main %GCTIT (lol?) to its contents and is told to perform the task %GCGetJD.
You'll note that IF %GCTIT1 (lol?) does match 'Meeting*' the perform task action has a STOP on, so Tasker will not get to consider the contents of %GCTIT2 (lol?) & %GCTIT3 (lol?). This avoids multiple requests for navigation entries.
GCGetJD
If Tasker did find 'Meeting*' in the title fields, a location request is actioned as your assumed starting point (this will change in V3). Once the location information is received, Tasker needs to know which of the three %GCLOC# variables it needs to include in the URL as the destination.
This is achieved by asking on each HTTP GET action, IF the corresponding %GCTIT# (lol?) entry contained 'Meeting*'. Using the same GOTO principle as above, the correct %GCLOC# can be set to %GCLOC and is therefore requested in the URL for the direction details.
The output file is written to SDCard/Journey.txt which you can view with a file explorer should you wish.
GCJD
This task reads from the file Journey.txt and splits it to populate %JOURD with the journey distance.
GCJT
Similar to the above, this time we populate %JOURT with the journey time.
GCAT
Using similar GOTO and IF actions to previous tasks, we establish which of the calendar events is the meeting and populate the information to %CALDTD so we can manipulate it.
The start time of the calendar entry is used for the arrival time and after some variable splits, is set again to %CALDTD
Note: Variable splits can be difficult to understand at first. Often when testing, I add a 'Variable List' action followed by a STOP action after each split. This way I can see what is happening to the data when I split it and the Variable List that appears details all of the parts I may either wish to use or clear for good housekeeping.
GCJTMaths
This is where it started to get a little tricky... As structured as the data is, there are of course many eventualities when it comes to the possible journey time:
Code:
# mins
1 hour
1 hour 1 min
1 hour # mins
# hours
# hours 1 min
# hours # mins
Using the method I described earlier of listing the variables after each split, I had to look for constants and newly created variables that I could use to cope with each eventuality.
For example, the first split I do is at the instance of 'hour'. Looking above you'll see that we could end up with the following:
Code:
# mins ~ will create no further variables
1 hour ~ will create no further variables
1 hour 1 min ~ will create a variable of '1 min'
1 hour # mins ~ will create a variable of '# mins'
# hours ~ will create a variable of 's'
# hours 1 min ~ will create a variable of 's 1 min'
# hours # mins ~ will create a variable of 's #mins'
Splitting further again by the instance of 'min':
Code:
# mins ~ no further variables ~ no further variables
1 hour ~ no further variables ~ no further variables
1 hour 1 min ~ a variable of '1 min' ~ a variable of '1'
1 hour # mins ~ a variable of '# mins' ~ variables of '#' & 's'
# hours ~ a variable of 's' ~ no further variables
# hours 1 min ~ a variable of 's 1 min' ~ a variable of '1'
# hours # mins ~ a variable of 's # mins' ~ variables of '# min' & others
Scrolling through the task, I had to establish which journey time eventualities would lead to which data being populated to which variables! It gave me brain ache, but eventually I cracked with the help of plenty of IF statements and a GOTO action.
The result was having journey time hours (%JOURTDH) and minutes (%JOURTDM) separated into created variables.
GCNavMaths
Knowing my arrival time and the journey time, next up was to calculate what time I would need to depart. Unfortunately, simply subtracting one from the other isn't a possibility. An example arrival time of 14:30 with a journey time of 2 hours and 38 minutes may have Tasker trying to get you to leave at 12:-8; if at any time at all!
It's necessary to first deal with possible minus numbers and such issues as 3 hours before 01:00 not being at time of -2.00
Here's a working example:
If the appointment time is #:30 and the journey minutes are 40, then the we are after a departure time of #:50 rather than -10 if Tasker was left to its own devices. Seeing that the journey minutes are greater than (>) the arrival minutes, this gives us a chance to prevent the minus number occurring by adding 60 to the appointment minutes. This of course has to take place after the appointment time has been split apart into hours and minutes...
Code:
30 + 60 - 40 = 50 ~ The desired departure minutes
Using IF statements to establish whether the above scenarios are true, gives us the opportunity to take the action of adding 60 only IF journey minutes are greater than arrival minutes.. IF not, the action is skipped.
IF we've had to add 60 to the minutes, we can therefore deduce that we need to reduce the hour by 1. The exact same IF action above tells Tasker whether to perform this or not.
When we are finally left with separate departure time hours and minutes we need to variable join them into a time format. As a note, Tasker uses #.# rather than #:# as a time separator. Joining the hours and minutes using '.' would just be too easy wouldn't it... If the departure time is 02.09 in the morning for example, Tasker currently has them stored separately as 2 and 9. Joining them in this state would give us 2.9 which is no good of course...
We solve this issue by joining the hours to a leading zero IF they are less than 10, giving us '02'. We join the minutes to '.0' IF they are less than 10, or just '.' otherwise. We now have 02.09 stored in the created variable %DEPTD. Sorted.
GCEntry
It would be fantastic if the departure time above (%DEPTD) could be triggered when it equals the inbuilt time variable %TIME, but alas, that's not yet implemented in Tasker. The work-around to this is to trigger the navigation to start when a calendar entry becomes active with the departure details contained inside it.
The problem to this is that Tasker only enables you to set a calendar entry using 'minutes from now', so yes our example of 02.09 above is currently useless. I'm sure this will change in future releases so I persisted with GoogleNavMaths despite this, but regardless, next we have to convert the departure time into the number of minutes from now... Oh joy...
It involves a similar practice to GCNavMaths where we split the hours and minutes of the actual %TIME along with our example of 02.09, convert them both into minutes and find the difference between them. For the example below, lets say the current time is 19.38.
Code:
02.09
02 * 60 = 120
120 + 09 = 129
19.38
19 * 60 = 1140
1140 + 38 = 1178
129 - 1178 = !ERROR!
You can see that if the departure time is earlier the next day than the current time, we'll end up with incorrect data. The answer to this was quite simple - IF the departure hours are less (<) than current hour, we add 24 to it.
Code:
02.09
(02 + 24) * 60 = 1560
1560 + 09 = 1569
19.38
19 * 60 = 1140
1140 + 38 = 1178
1569 - 1178 = 391 mins
391 = 6 hours and 31 minutes
6 hours and 31 minutes from 19.38 is indeed 02.09
In practice, it was actually easier to deal with the subtraction of the hours and minutes separately and add them together after, but the principle remains the same.
The end result was having the number of minutes stored in %DEPTDCAL which could be used in the insert calendar entry action, along with %GCTIT (lol?) and %GCLOC.
* Check post 3 for current limitations with this task
GoogleMT
Minimalistic Text is a great application that can display any Tasker variable you send to it. The MT calendar widget backup is included in the .zip file. Once you have it on your home screen, you'll have to edit the font sizes etc to make this look good for you - it's currently fugly.
This task splits out some of the useless data such as the current year and passes the variables you would look to use over to MT.
Google-AutoNav
The profile is triggered by the context of a calendar event becoming active with matching matching variables %GCLOC & %GCTIT (lol?).
GCAutoNav
Finally, this task loads up the navigation at the equivalent of %DEPTD with the destination of %GCLOC. It sets %GCNAV to 1 to let Tasker know it can set another navigation entry should it wish on the next refresh...
And off you trot...
Google_calendar_mtpref
This should be dragged into the sdcard/MinimalisticTextPreferences folder. It can then be selected in the MT Preference Manager or by selecting the 'restore' option when creating a new MT widget.

Download | Change Log | FAQ
Limitations and Shortfalls
1) Have to split via the current month – Needs to be edited every month or use 12 IF variables.
2) Gets current location – may not be where you’re departing from! Need to look at including departure location in 'where' field.
3) A profile cannot currently be triggered by %VARIABLE = %TIME. Pleaded with Tasker Dev.
4) Incoming *meeting* SMS will overwrite the previous data & the widget details. Need some kind of loop to avoid overwriting.
5) Buffer time - didn't include the fact that you may want to leave 15 minutes or so spare...
6) MT widget only receives *meeting* entries. Need to get non-meeting entries into the calendar for a useful widget.
7) Time in seconds until the departure time does not consider days. Python script required to convert date from XML feed format:
'Wed Jun 1, 2011' to '5-30-11' (which is %DATE %TIME). Any volunteers?!
FAQ
Q) I just want to use the calendar widget only. Can I do that?
A) Yes, there's a separate download below.
Q) I have many other Tasker questions, can I post them here??
A) To avoid clutter, probably best to use this official Google group
Q) Where can I learn more about Tasker?
A) The manual and Profiles and step-throughs on the Tasker wiki and you’ll be up to speed in no time.
Change Log
V2
Code:
* Private XML calendar feed used, rather than SMS service.
* Full Google Calendar widget via Minimalistic Text
* Calendar provides default alarm 'buffer time' to navigation start.
* Renamed most tasks
* More intelligent tasks to handle multiple 'meeting' event.
* Prevented multiple navigation entries on refresh by using [B]%GCNAV[/B] set to 2.
V3 - Coming Soon!
Code:
* Profile triggered by [B]%VARIABLE[/B] = [B]%TIME[/B].
* Read departure location from calendar rather than assuming current location
* Python script to navigation events more than 24 hours away
Future Requests
None as yet.
Installation Instructions
Download and import the following 12 tasks:
GCAppLoc
GCAppDesc
GCAppTime
GCAppTit (lol?)
GCGetJD
GCJD
GCJT
GCAT
GCJTMaths
GCNavMaths
GCEntry
GCMT
Download and import the following 2 profiles:
Google-Calendar
Google-AutoNav
The .zip folder also contains the file Google_calendar_mtpref. This should be dragged into the sdcard/MinimalisticTextPreferences folder. It can then be selected in the MT Preference Manager or by selecting the 'restore' option when creating a new MT widget.
Credits: RichardKemp for prompting me to go RSS hunting.
------------------------------------------------------------------------------------------------------
The thanks meter lets me know I'm appreciated!

Wow!
You're on a roll!!!
Don't need this profile but I'll take a look for inspiration and new ideas.

Check it :-]

Archon810 said:
Check it :-]
Click to expand...
Click to collapse
Love the Skynet reference! Thank you
At 12:37am BST on May 24th 2011, Tasker became self aware....

leftAlone said:
You're on a roll!!!
Don't need this profile but I'll take a look for inspiration and new ideas.
Click to expand...
Click to collapse
Any testers and feedback appreciated!

Sweet, thanks for sharing, I will have a good hunt through this later when I have a moment.
I used to have something similar set up by using google apps script to make a publicly accessible spreadsheet containing my calendar entires, and download that spreadsheet (as a csv) using tasker. Unfortunately this stopped working when Google forced the use of https on all Docs, as neither Tasker nor any other way I could find to do it (I tried curl and wget) would allow https. Any suggestions for this? I would prefer not to use the sms version you mention so as not to clog up my inbox. Another way that almost works is getting the daily email agenda google offers, except Tasker can't access email bodies (only subjects, grr).
I was half considering writing some sort of app to make future calendar data accessible easily to tasker. I may do this over summer.

richardkemp said:
Sweet, thanks for sharing, I will have a good hunt through this later when I have a moment.
I used to have something similar set up by using google apps script to make a publicly accessible spreadsheet containing my calendar entires, and download that spreadsheet (as a csv) using tasker. Unfortunately this stopped working when Google forced the use of https on all Docs, as neither Tasker nor any other way I could find to do it (I tried curl and wget) would allow https. Any suggestions for this? I would prefer not to use the sms version you mention so as not to clog up my inbox. Another way that almost works is getting the daily email agenda google offers, except Tasker can't access email bodies (only subjects, grr).
Click to expand...
Click to collapse
I had a quick google on your suggestion and came up with a couple of applications here and here. You've also got me thinking that I must be able to pull a queried RSS feed from the calendar that would support the 'widgets' on the iGoogle home page for example. I'll dig a little further into this, as same with you, I failed when first looking at the 5am agenda email.
EDIT: Your prompting has lead me to this page which has resulted in me being able to get a private url of my agenda in xml or html output! Thank you! Looks like I have another evening of variable splits in front of me.....
I was half considering writing some sort of app to make future calendar data accessible easily to tasker. I may do this over summer.
Click to expand...
Click to collapse
I've heard a few people screaming out for task and agenda synchronisation from outlook without exchange server use. I don't know if someone has cracked this yet, but a CSV export would surely be pretty easy to convert?

This is cheeky, but any chance of getting this to work with TfL?

sabret00the said:
This is cheeky, but any chance of getting this to work with TfL?
Click to expand...
Click to collapse
Which aspect of it? Do you mean train times as opposed to by car?
Sent from my HTC Desire using XDA Premium App

Version 2 Up!
Change Log
V2
Code:
* Private XML calendar feed used, rather than SMS service.
* Full Google Calendar widget via Minimalistic Text
* Calendar provides default alarm 'buffer time' to navigation start.
* Renamed most tasks
* More intelligent tasks to handle multiple 'meeting' event.
* Prevented multiple navigation entries on refresh by using [B]%GCNAV[/B] set to 2.
V3 - Coming Soon!
Code:
* Profile triggered by [B]%VARIABLE[/B] = [B]%TIME[/B].
* Read departure location from calendar rather than assuming current location
* Python script to navigation events more than 24 hours away
FAQ
Q) I just want to use the calendar widget only. Can I do that?
A) Yes, there's a separate download link.
Let me know it works folks!

Glad to have helped in some small way! Also incredibly grateful you actually found a way to make this work, once my exams are over I'll get on it and adapt this to my needs
As a suggestion for further uses for this calendar data, what I use it for is automatically setting the time I need to wake in the mornings. Basically, when I go to sleep I run a task which dims the screen, quiets the phone, etc etc. It also sets my alarm time to 7 hours in the future, *or two hours before my first appointment of the day*, whichever is sooner. Currently this uses a series of alarm profiles/tasks in Tasker, but I switch to Gentle Alarm when Tasker support works.
Again, when exams are over I'll (possibly) write up my 'Alarm in Tasker' solution and post here, with comments on how to integrate with your calendar stuff.

richardkemp said:
Glad to have helped in some small way! Also incredibly grateful you actually found a way to make this work, once my exams are over I'll get on it and adapt this to my needs
As a suggestion for further uses for this calendar data, what I use it for is automatically setting the time I need to wake in the mornings. Basically, when I go to sleep I run a task which dims the screen, quiets the phone, etc etc. It also sets my alarm time to 7 hours in the future, *or two hours before my first appointment of the day*, whichever is sooner. Currently this uses a series of alarm profiles/tasks in Tasker, but I switch to Gentle Alarm when Tasker support works.
Again, when exams are over I'll (possibly) write up my 'Alarm in Tasker' solution and post here, with comments on how to integrate with your calendar stuff.
Click to expand...
Click to collapse
You certainly gave me a nudge in the right direction!
I'll look forward to your write up and interested to see how you get the alarm to trigger. Good luck in your exams!

Seems like the download for calendar only is 0 bytes. At least for me. I tried 5 times

Jufis said:
Seems like the download for calendar only is 0 bytes. At least for me. I tried 5 times
Click to expand...
Click to collapse
I've just tried and the file won't open for me either. Strange... Thanks for letting me know, I'll repost later when I have access to the files.
Sent from my HTC Desire using XDA Premium App

Jufis said:
Seems like the download for calendar only is 0 bytes. At least for me. I tried 5 times
Click to expand...
Click to collapse
Replaced the download - should work now. Thanks again for letting me know

The alarm trigger is a bit hackish.. basically there's two profiles, one runs each hour if the night variable is set, splits %TIME and checks if %TIME1 matches %ALARMHOUR. If so, it turns on another profile which runs every 5 mins, doing a similar thing to check if %TIME2 is greater than %ALARMMINUTES. If true, turn off profile and run the alarm task.
Prior to that version I was using another little trick Pent recommended me (not quite as good though), I had a profile with the context %TIME > %ALARMTIME, but obviously it didn't check the variables and didn't fire. TO solve this there was another profile which every 15 mins (when %NIGHT is set) would set %ALARMTIME to %ALARMTIME. Apparently re-setting the variable like that triggers the check. The first one I mentioned is a bit more efficient. I have considered switching to using calendar event based triggering, but it wasn't immediately obvious to me how I could edit the alarm event's time once set, short of literally editing the event on the calendar.

hi Brandall,
already read me elsewhere isn't it?
FAQ
Q) I just want to use the calendar widget only. Can I do that?
A) Yes, there's a separate download link.
Let me know it works folks!
Click to expand...
Click to collapse
so I can tell that it works about var and MT but... as i am franch speaking and so GC is french xml tags are to be corrected on splitting task ... where - event status and so one... CEST instead BST for continental (gmt+1)
Also as mentionned early in that thread should use some convenience fullfiling the appointment so could easly to get splitting process....
i'm actually on it .
I stay tuned as soon as it is corrected for french speaking I would give back report about mod I have done...
tks a lot very good way to learn how splitting process works

richardkemp said:
The alarm trigger is a bit hackish.. basically there's two profiles, one runs each hour if the night variable is set, splits %TIME and checks if %TIME1 matches %ALARMHOUR. If so, it turns on another profile which runs every 5 mins, doing a similar thing to check if %TIME2 is greater than %ALARMMINUTES. If true, turn off profile and run the alarm task.
Click to expand...
Click to collapse
Not too hackish! I like it... Hadn't thought of doing that - At worst it triggers the alarm a few minutes late, and doesn't use an additional calendar entry... I'm really hoping the next release will have the context %VAR = %TIME...
Prior to that version I was using another little trick Pent recommended me (not quite as good though), I had a profile with the context %TIME > %ALARMTIME, but obviously it didn't check the variables and didn't fire. TO solve this there was another profile which every 15 mins (when %NIGHT is set) would set %ALARMTIME to %ALARMTIME. Apparently re-setting the variable like that triggers the check. The first one I mentioned is a bit more efficient. I have considered switching to using calendar event based triggering, but it wasn't immediately obvious to me how I could edit the alarm event's time once set, short of literally editing the event on the calendar.
Click to expand...
Click to collapse
I prefer what you've done to using a calendar entry - It felt messy doing that, although I suppose it can have the appointment title, destination time etc etc in...

Related

Phone Profiler v1.0 betatest (a Cell based profile manager)

actually i wanted to make it exclusive to the german ppc welt community forum, but i figured this community is very cool too
from the readme:
Phone Profiler v1.0
-------------------
Phone Profiler detects the "Mobile Phone Cell" your PDA is currently logged into.
You can enter a different profile for every cell that gets applied once your PDA gets logged into
the cell.
Features:
-Volume Profile
-Phone Volume Profile
-Ability to execute a programm by entering a cell
-Start the Phone Profiler with windows
-Real C code (no mfc and no visual basic) for a fast programm with a low memory footprint
-Ability to work hidden in the background
-Pocket OOZ (2004)
Click to expand...
Click to collapse
get the files here: http://www.ppc-welt.info/community/showthread.php?t=46338
this is the betea demo, you can only change the profile for the first cell(all others will work as default). haven't done any testing yet, but i've decided to go for an public beta test..
if you got ideas for improvements then please post it here i'm open for suggestions until the release
thanks
(screenshots from earlier versions)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hello Dutty,
Don't quite understand what this is used for, could you provide a bit more information. I downloaded and it advised it cannot find a cell, what cell is it looking for???
maybe it's only working on XDA2, the beta test just started..
it's like mini-gps for the S60, it uses the cell your mobile phone is logged into to create profiles (with volume, app to execute etc.) which will get automatically executed once you log into a cell.
miniGPS is a powerful tool to locate yourself in the GSM network. Its main goal is to perform defined actions based on your location taken from your network. It also shows the details of the network cell, to which your phone is logged in at the moment. At the current stage, due to some problems in SE firmware the program shows only cell id, but it seems to be good enough for performing events.
Click to expand...
Click to collapse
it's the first application on the xda that allows something like this if i'm right.
changelog:
+possiblity to execute a wav file, simply select wave file *.wav in the filedialog
+signal strength of cell visible in cell info dialog
+sending only one command at every intervall.
PUBLIC BETA 1.0
interesting software, i like it!
useful for day to day operations, leaving my GPS in my car
how much do you intend to sell it for?
This program sounds good mate.
If I understand this correctly I can basically set a profile for say the cell I would be connected to when I'm at work? so that the phone automatically goes to vibrate mode or something ?
I will give this a try when I get home.
Cheers
Neil
Great Program
Great program, worked perfectly on my XDAII in Ireland.
A couple of suggestions for future version that you might consider...
The ability to bind multiple cells to a single profile. While in my house my phone picks up 3 different cells depending on where in the house I am. If I could just have a single profile called home and then add cells to that it would be nice.
Create a Today Screen plugin to display the current profile/cell. I have software that runs in the icon bar at the top and the PP icon causes conflicts with this software.
Can't wait to see the final version of this, it's shaping up very well.
I can't get it working on my XDA 1 (AT&T A30.09 Rom) I am told no cell information available then after 60 seconds it gives an error message stating "Failed to set IoControl" if I OK that error then it throws up back up every 60 seconds when it scans.
If you want someone to test developments on the XDA1 I am more than willing to help out..
Cheers
Neil
probably it won't work on the XDA1 for now, i'll have to finish version 1.0 and then, if it's not working on XDA i'm going to find out why(are you running wm2k3 or ppc2002)
it should work on all xda2 so far it worked on all devices in the german ppc-welt community forums. can you give more informations about your device, what errors etc?
what kind of price would be ok? minigps is beeing sold for 20$ i think, but that's a little bit too much for a ppc software
Re: Great Program
qtzar said:
Great program, worked perfectly on my XDAII in Ireland.
A couple of suggestions for future version that you might consider...
The ability to bind multiple cells to a single profile. While in my house my phone picks up 3 different cells depending on where in the house I am. If I could just have a single profile called home and then add cells to that it would be nice.
Create a Today Screen plugin to display the current profile/cell. I have software that runs in the icon bar at the top and the PP icon causes conflicts with this software.
Can't wait to see the final version of this, it's shaping up very well.
Click to expand...
Click to collapse
yes this idea has already been suggested and i'm going to work on it tonight if i have free time!
i'll also add the ability to turn off the notifications popping up automatically.
Hi Dutty,
Hopefully you can get this working on XDA1 because its a great idea.
I'm running WM2003 on my XDA, the only error message I receive is the one posted earlier..
As i said, if you want anyone to test on XDA1 or provide any info just let me know.
Cheers
Neil
once i will release the official version, it contains logging options and stuff like that, we can go on with the xda1 testing!
in the meantime, enjoy this logfile from today
+added logging capabilities to control the network responses
+added 'assign group' dialog ( added possibility of assigning groups.. if you switch from one cell
to another and it's the same group, then there is no notify bubble displayed )
-added 'add group'
-added 'group list'
-added 'delete group'
-added 'assign group'
+added 'cell profile' dialog
-all cellprofile settings displayed there
-added group display
+redesigned cell options
-added 'Assign Group'
-added 'Cell Profile'
-removed all cell profile options
+possiblity to execute a wav file, simply select wave file *.wav in the filedialog
( alarm? possibilitiy.. now possible, that the device tells you when you have to drive slower etc.
or it could remind you with a note you've recorded that you have to do XXX once you enter your homezone )
+signal strength of cell visible in cell info dialog
+one command after init
+sending only one command at every intervall.
PUBLIC BETA 1.0 ----
notes:
if you switch to a new cell and both cell profiles got the same group then there will be no
notification (no icon AND no textbubble)
you can get the signal strength in the cell information dialog
don't enable the logfile if you don't need it, it could grow to the size of 1GB
if you disable popup notification then there will only be an icon displayed if you switch cell/group
if you're in hidden mode to get back into the options of the programm, just execute it again while it's running
Click to expand...
Click to collapse
Excellent idea! Seems pretty robust too for a beta. Well done.
Humble suggestion... Please see my post at
http://forum.xda-developers.com/viewtopic.php?p=38761#38761
Zendrui has achieved a lot in the profile management area and perhaps you can work with him to combine the great new functionality into his product rather than re-inventing the wheel or should I say, profile ...
qtzar said : "Create a Today Screen plugin to display the current profile/cell. I have software that runs in the icon bar at the top and the PP icon causes conflicts with this software. "
Can you provide an alternative to go at the bottom right hand side of the screen, next to the BT indicator? This may be a good option for people with busy Today screens too.
I was looking at the miniGPS site. Taking the idea from them, sending SMSses from your product would be cool too. Also note you only generate alerts, actions on login. It would also be good to have the option to attibute actions / alerts to logouts.
During the beta phase can you also enable the ability for the user to update the cell info on all cells? It is very hard to test the product where you can only manipulate the first record. Suggest you change to a time based trial mechanism rather than the one record manageability option you have now. Just a humbe "consumer" opinion.
Last but not least, It would be great to be able to stop scanning for new cells but continue to detect login/logouts at the knowns (in database) cells. Example : after you train the application, you have all cells of interest in your database. In the current form the application keeps on recording all cells thats you pass through. After a month in a big city I presume I would have a huge list...
All in all, great job ! Best Regards
Installed it tonight at my xda I device, and it looks running fine.
Played a little bit and found that the tool is very interesting.
I also got some ideas to enhance the tool.
Wouldn't it be better that you can disable the Option "finding a new cell" and get instead a learning mode?
If you use the xda in your car, you get a lot of messages concernig a new cell. And all the time, all the volumes are set to 100%.
Maybe it will also be interesting to set the default values. In my case for example, the telephone volume is always much higher than the normal volume...
HTH
Stefan
PS: Would be nice, if there will be a "low cost edition" for including it into the kitchen....
i will make it opensource after i got some little profit, i'm living a hard life as a student, coding in freetime is bad, i should go working in freetime
great idea this learning mode, but it's already been implemented like this:
go into the system options, select hide popup notifications..
if it detects a cell then it won't display any popup, just an icon on the top, clicking on it will remove it. to go back into the programmoptions restart the programm
btw, if it detects a new cell it won't set any profile.. maybe i will make the default profile = no profile, it will not set anything until you've set the profile correctly!
During the beta phase can you also enable the ability for the user to update the cell info on all cells? It is very hard to test the product where you can only manipulate the first record. Suggest you change to a time based trial mechanism rather than the one record manageability option you have now. Just a humbe "consumer" opinion.
Last but not least, It would be great to be able to stop scanning for new cells but continue to detect login/logouts at the knowns (in database) cells. Example : after you train the application, you have all cells of interest in your database. In the current form the application keeps on recording all cells thats you pass through. After a month in a big city I presume I would have a huge list...
Click to expand...
Click to collapse
both very good ideas!!! i will implement both.. a one week time trial or something will be good enough!
I was looking at the miniGPS site. Taking the idea from them, sending SMSses from your product would be cool too. Also note you only generate alerts, actions on login. It would also be good to have the option to attibute actions / alerts to logouts.
Click to expand...
Click to collapse
i think logouts are not important, since there are soo many cells and you can have an own profile for each cell.. one event per cell change is enough!
sending SMS is good, but what's the use? telling somebody that you're waiting for him? okay, sounds nice but that's not that important too. maybe i will do it for 1.0, maybe for 1.1
qtzar said : "Create a Today Screen plugin to display the current profile/cell. I have software that runs in the icon bar at the top and the PP icon causes conflicts with this software. "
Can you provide an alternative to go at the bottom right hand side of the screen, next to the BT indicator? This may be a good option for people with busy Today screens too.
Click to expand...
Click to collapse
yes, good idea. low priority too but it's a very good idea. i'm going to do that tonigh if i got free time.
Installed it tonight at my XDA I device, and it looks running fine.
Played a little bit and found that the tool is very interesting.
I also got some ideas to enhance the tool.
Wouldn't it be better that you can disable the Option "finding a new cell" and get instead a learning mode?
If you use the XDA in your car, you get a lot of messages concernig a new cell. And all the time, all the volumes are set to 100%.
Maybe it will also be interesting to set the default values. In my case for example, the telephone volume is always much higher than the normal volume...
HTH
Stefan
Click to expand...
Click to collapse
hey stefan, could you give more details about your XDA1 maybe you can compare settings and installed tools with the other XDA1 device so we can figure out what stops it from working on the other machine.
btw, hast du irgendwas installiert an deinem XDA1 oder wäre es möglich einen hardreset auszuführen cell profiler zu installieren und dann zu testen obs funkt (also von windows default her)
danke stefan ;P
Hi dutty. Thanks for your prompt response. Logout action is good against theft or accidentally forgetting the phone in the cab... Once the phone moves out of your regular circle of cells you get an SMS on an alternate number. This reminds me. Adding a cluster of cells into a cell family seems to be a must. Someone else mentioned this already. I now have 24 cells picked up between my home & office. In my room at the office I got 5 different cells picked up at different times... I am imagining I would create a Home family, one for Office, one for Malls etc that I frequent and then anything else would stay unknown. When you have a new unknown you would have the darg & drop option to throw it into an existing family. Setting profile (sound, alert and executable etc) by family rather than cell would be awesome as well since right now we have to do it for each & every cell. Does this make sense?
Last but not least, I tried to attach an executable to a cell and notice that the file browse box only shows me My Documents folder. How can I navigate to the Program Files folder?
Have a great weekend!!!
sadly you can't. it's a microsoft limitation...
the filedialog box only shows my documents and storage card. and i'm a student i can't invest so much time to develop a new file searching method - and i haven't got money to buy a license for those filebrowsers that search for everything.
so if you want to start programms you should have them on the storage card, but that solution is ok to me.
oh yeah here is the latest changelog, 1.0 seems finished if there won't show up any bugs or stuff like that.
Code:
+added about box
+added logo to mainscreen
+improved main screen, show more information - including groupname
+++++ added an icon to the 'today - tray' in the lower right corner, clicking it will bring up the main screen
it will add the icon once you click on 'hide' or if you've got 'auto hide' selected suggest by k_kirk
+added the ability to 'disable learning new cells' inorder to stop the programm from learning new cells
this is good if you're living in a big city and you already got all your cells in the database
enabling it will not add any cells to the database AND it will never display the 'we found a cell' popup suggested by lumpistefan
+added the ability to 'delete cell' to cell options
+changes to 'ini' file format
+redesigned icons :)
+added 'disable notification popup' inorder stop the bubble from popping up suggested by k_kirk
+added logging capabilities to control the network responses
+added 'assign group' dialog ( added possibility of assigning groups.. if you switch from one cell
to another and it's the same group, then there is no notify bubble displayed )
-added 'add group'
-added 'group list'
-added 'delete group'
-added 'assign group'
+added 'cell profile' dialog
-all cellprofile settings displayed there
-added group display
+redesigned 'cell options' dialog
-added 'Assign Group'
-added 'Cell Profile'
-removed all cell profile options
+possiblity to execute a wav file, simply select wave file *.wav in the filedialog
( alarm? possibilitiy.. now possible, that the device tells you when you have to drive slower etc.
or it could remind you with a note you've recorded that you have to do XXX once you enter your homezone )
+added 'signal strength of cell' to cell info dialog
+added 'cell info' dialog
+one command after init
+sending only one command at every intervall.
PUBLIC BETA 1.0 ----
notes:
if you switch to a new cell and both cell profiles got the same group then there will be no
notification (no icon AND no textbubble)
you can get the signal strength in the cell information dialog
don't enable the logfile if you don't need it, it could grow to the size of 1GB
if you disable popup notification then there will only be an icon displayed if you switch cell/group
if you're in hidden mode to get back into the options of the programm, just execute it again while it's running
left TODO:
-figure out best way to lock features/functions for demo version?
-> users suggest time trial
left for NEXT VERSION:
-send sms message on event
btw, what you requested has been implemented. family=group
And where to download new version?

Text-to-image utility for WM?

Anyone know of a utility that will take a text file as input and spit out a simple GIF/JPG/PNG/BMP?
If there are none, plan B would be text-to-speech. Anyone know of a good one that sounds reasonably natural?
Thanks in advance!
if there are such options this is the search which will lead you to them
http://www.google.dk/search?hl=da&q=ocr+pocketpc&btnG=Søg&meta=lr=lang_da|lang_en
you can replace ocr with text to speach if you wanna search for that
One of us is misunderstanding...
As I understand Optical Character Recognition, it takes an image (which contains text) and extracts the text. I'm trying to do the opposite - take a text file as INPUT and OUTPUT to an image. (See attachment.)
BTW- I Googled this heavily before posting. Tons of Text2Image links, but everything I found was made for a desktop PC - not Pocket PC. And including "pocket pc" in the search criteria didn't help... lots of pages with Wintel Text2Image software that mention "Pocket PC" somewhere on the page.
Have you thought of using a fullscreen doc viewer (picsel comes to mind...) and a screen-capture mapped to a hardware button? It isn't automated, but it would get the job done.
larsuck said:
It isn't automated, but it would get the job done.
Click to expand...
Click to collapse
With mortscript, you can automate pretty much anything, right? Problem is, that really wouldn't get the job done.
Let me explain the application a bit better...
I use Wisbar Advanced Desktop extensively and I have a pretty sophisticated UI set up. I have a special page for weather, but I'm really not happy with *any* of the weather today plug-ins (and I think I've tried pretty much all of them!) So what I want to do is pass 2 or 3 URLs to mortscript, have it read the file in, parse out the stuff I don't want, leaving me with text that gives me the precise details I do want. I then convert the text to an image file, saving it with the same name ands size every time (e.g. currentconditions.gif - which is already set as a positioned element on the WAD virtual page.) I do the same with extended forecast and surf report (I live at the beach in SoCal) and tell mortscript to go out and update this once per hour. Then, when I go to my weather page, I get exactly the info I want (including sunset time, water temp, UV index, etc.) and my info is no older than 59 minutes.
I'm starting to think that I should just do this server-side... maybe I can find a text-to-image script using php. Hmmmm...

manila2d (3d) calendar scrolling ???

Hello,
Is there somebody here that could make a script or an app. to make the calendar-line of manila2d or even 3d showing cycling information about to calendar.
So, instead of showing a single today (all day event) item, cycling between all the events of that day.
That way we can see al the info about the whole day on the home screen.
Greetz
It is a very good idea !
Hello,
Manila specialists.
Is it possible?
It would make manilla much more useful for me.
Thanks.
Greetz
I don't think it's possible for 2d and I'm pretty sure it's been mentioned in the 2d thread. 3d may be a different story, in fact, I think that is one advantage of 3d is vertical scrolling on the main screen to view multiple appointment s and days . anyhow 3d is still early in development so give it some time.
Hello,
I think it must be possible to change the registrykey that manila reads and displays for the calendar line.
I am thinking about an app. or script that reads the info in the calenderapp and writes it item by item in that registrykey.
If possible it ignores past items. That way we see all the actual info of the day cycling on one single line
ive been wondering about this, i like the ability to scroll on opal.
Hello,
Manila2d displays the info in "[HKEY_CURRENT_USER\System\State\Appointments\HomeScreen]"
When a edit the values in the keys manually, manila displays that immediatly.
So, when someone can get the info out of the calendarapp from WM we can display all the info we want (cycling).
Unfortunately i can't do the job because i don't know how to do it.
Greetz
Nice idea !
Do you know where data of calendar are stored ?
And what about the cycling ? On/OFF by launching an app, or automatic each x minutes ?
would someone please move this to Q&A?
toniolol said:
Nice idea !
Do you know where data of calendar are stored ?
And what about the cycling ? On/OFF by launching an app, or automatic each x minutes ?
Click to expand...
Click to collapse
No, I dont know where data is stored.
I prefer a cycling time of a few seconds, maybe 10 or so.
Maybe the next upcoming event a little longer or next event and time - another event and time - next event and time - another event and time - ...
Even better with adaptable times and time peroid to show (even next days).
I think we can use the following registry :
HKCR\System\State\Appointments
In this we can find Event, HomeScreen, List & Next.
After it will be necessary to translate REG_BINARY times into real times !
YE
Keep Working:d
Ok 1st return :
the active key for the display is Event -> Subject
Don't know what is the key HomeScreen.
And the Next key is for the...next event !
But can't find all next events !
And not sure of the way to make this :
#1 Mortscript with automatic event all x seconds
#2 .Net 3.5 with GUI to program what you want but how to make it refresh, a Timer would be nice but it means the app must be in the background...=> memory.
My knowledge on .Net is very old (1.1) and I must be refreshed !
Edit : One good path to have what you want : http://www.developer.com/ws/pc/print.php/10947_3556186_1
Maybe there is something better on the 3.5, if you know it, please tell me
would be very interested in this also. keep looking please.
toniolol said:
Ok 1st return :
the active key for the display is Event -> Subject
Don't know what is the key HomeScreen.
And the Next key is for the...next event !
But can't find all next events !
And not sure of the way to make this :
#1 Mortscript with automatic event all x seconds
#2 .Net 3.5 with GUI to program what you want but how to make it refresh, a Timer would be nice but it means the app must be in the background...=> memory.
My knowledge on .Net is very old (1.1) and I must be refreshed !
Edit : One good path to have what you want : http://www.developer.com/ws/pc/print.php/10947_3556186_1
Maybe there is something better on the 3.5, if you know it, please tell me
Click to expand...
Click to collapse
Mortscript should work. Something similar has been done for cycling weather data display in the network provider name on the home screen.
claus1953 said:
Mortscript should work. Something similar has been done for cycling weather data display in the network provider name on the home screen.
Click to expand...
Click to collapse
The problem with MortSprit is to access the pim datas because the registry store only the next event and if you want to scroll for all day or 2,3 or week it's impossible....arf...maybe possible but I'm not strong enaught.
Maybe I can do it with .Net 3.5 but I may need some help with some tweaks.....and must format my PC because VS2008 doesn't like my old install/erases of 2005 and 2003.....
Im not an expert and may be im going a little to far but i have this idea:
It would be good to make one tab in manila to open something like "Second Today".
This way one tab may contain a smaller clock and calendar+ showing more apointments or anythig else. This would be nice!
a quick way:
Is it pasible to make one tab simply to lunch a program (second today)? This way we can simulate a tab containing any today plugin (calendar+). Ofcourse the bottom slider will disaper but we can put there one big button down there fot close seckond today or simply bind closin on one softkey.
What do you think about it? sorry for my english
PS: for me it would be best if sliding the keybord (in hermes) would run seckond today
But ofcourse it will be perfect if 3 or 4 events from the calendar would apear under the clock
Is someone could help me find the algo to convert this hexa in datetime please ?
Thanks in advance
Hex :
"Start Time"=hex:\
00,38,d8,92,17,4d,c9,01
"End Time"=hex:\
00,a0,9c,f4,1f,4d,c9,01
DateTime :
2008-11-22 07:00 PM
2008-11-22 08:00 PM
Anyone working on this ?
I still think it is usefull for many people.
Thanks
I'm sorry, I'm completely off this time, but hope to find couple hours to have a look on this and help people who wants to go on with this request.
For now I've started a VB.NET 2008 project and started function which could open PIM and take all events in it because there's not enough in registry.

[Q] How many it will cost?

Will cost how many to write not the complex(difficult) program for PDA, phone, etc
It is possible to look here http = myppc.ru/forum/topic_9384 (on Russian), soon I shall translate on English.
The given program IS SHORT:​
Is realized as an alarm clock, with an opportunity to reproduce beforehand written down sound files and should be established on PDA, phone, etc. Many series of files are united by general(common) names (indexes) and are included - are disconnected by the operator for one operation (method, for example, statement of a tag, opposite to group connected elements, one general(common) name. Names there can be a large set. Under - names there can be, as, a large set). On programmed, beforehand, time-table (time - alarm clock) the included groups of files (on against each file (in group) his(its) time of reproduction), incorporated by general(common) names - are reproduced. ALL works as in an alarm clock, only with the extended options and opportunities.
Picture 1: http = wprints.narod.ru/Myppc/E1.jpg (The basic table of the program with the names of the included or switched off existing time-tables of a call of sound files.)
Picture 2: http = wprints.narod.ru/Myppc/E2.jpg (Opening of one of the tables of the existing time-tables. In the open table it is visible that actually and there is an alarm clock.)
From figures becomes obvious, that in the basic table (the picture 1) is possible to include and to switch off the whole time-tables of routes of movement of various vehicles (picture 2), that you can not do in a usual alarm clock. And as it is possible to add the new time-tables to existing and to hold them in the included or switched off condition, depending on necessity required to you itself. The sound files then can look like the following character. Before departure of the bus number 22 remained 10 minutes or the bus number 22 is sent or Before departure of a train there were 20 minutes or the train is sent. Notice, that many sound files can be used several times in same, and in different kinds of the programmed time-tables.
Well and certainly not only time-table of movement of vehicles, and there are more opportunities at the given program. It is possible to use for planned meeting, for performance of the certain work and ещ ё much and much, where you even can not guess now, the given program can be useful. In any case it not looking on complexity, is intuitively clear and in many respects surpasses usual alarm clocks in convenience. Especially it is necessary to notice, that simple alarm clocks, frequently I have such not a prosperity, as too confusing and not convenient management.
e-mail: [email protected] ICQ: 611007136​
Addition​
The basic table contains names of the programs. Under each name in this structure the whole time-table (list or better disappears to tell the time-table) time of character. The statement opposite to such name of a tag accordingly includes or the removal switches off this time-table (from the list). Names of the various time-tables or time-tables, associated with them, there can be a uncountable set and subset accordingly. In an operating time of the program it works as a usual alarm clock with the extended options. For avoidance of the conflicts time of character in the table of the associated names (programs or names of the time-tables) contains a field - priority, agrees which caused signals go on time, but one after another concerning names of the programs or names of the time-tables. Thus planned signals on the same time go one after another. Upon termination of one signal with a priority one, goes the message (signal) with a priority two, then three and so on, irrespective of an exact times of their reproduction (notification). The conflict planned (or conterminous) on one time of the established signals thus is authorized.

[TUT] Tasker+Todo.txt.touch=>Nagging todo Reminders

I've been using todo.txt touch developed by Gina Trapani and one of its shortcomings would be the lack of reminders whenever a todo is being added. Therefore I have devised a method to have tasker notify you every 30minutes any outstanding todos in todo.txt.
Step 1: Have tasker read todo.txt
We will first create a profile in tasker, lets name it todo. Next add time context (I have mine set to from 10.00 to 20.00 repeat every 30minutes) this would depend on how frequent you want tasker to "read" todo.txt for any todos.
Next add a task lets name it read. Now todo.txt has a file in your sdcard that stores all created and completed todos located at /sdcard/data/com.todotxt.todotxttouch/todo.txt
so we will now add new task>file>read line> location:/sdcard/data/com.todotxt.todotxttouch/todo.txt ; line leave it empty; Var set to:%TODO, click done.
Now for this function, if line is left empty, tasker will read the line after what was being 'read' by tasker in the previous run. If the end of the file is read %TODO will be set to EOF, we don't want that. Also, a completed todo shows up as 'x ddmmyyyy (name of todo)' we don't want that 'read' either.
Step 2: Have next line or first line read if %TODO is EOF/starts with x
Now add another task under read >tasker>stop select IF %TODO!~EOF/x* this would allow tasker to stop 'reading' todo.txt if %TODO~an outstanding todo.
Add another task >tasker>goto action select 1 , this would allow tasker to read the next line or read the first line again if EOF is reached or a completed todo line is 'read' until a %TODO output containing an outstanding todo is reached.
Step 3: preventing loop actions in the absence of oustanding todos
In the absence of any outstanding todos, the file will contain either x ... or EOF, so the task will run in an infinite loop if there is no further condition applied.
We will be using a counter to stop any infinite loops
First add a task>variables> variable clear set to clear %COUNTER, place this task at the top above the task that reads /sdcard/data/com.todotxt.todotxttouch/todo.txt . (position 1)
Next add another task > variables>subtract value set to %COUNTER value=2 if %TODO ~x* place it below the read /sdcard/data/com.todotxt.todotxttouch/todo.txt task (position 3)
Add another task>variables>subtract value> set to %COUNTER value=1 if %TODO~EOF. Place it at position 4 before the stop task.
Add another task>variables>add value>set to %COUNTER value=2 Do not select any if variables. Place it at position 6 after the stop task.
Finally alter the Goto task at position 7 to run action 2 instead of 1 and select IF %COUNTER<2.
The previous step basically prevents the task to continue in an infinite loop by limiting the number of loops to go through the todo.txt file twice.
Now the task list should look like:
1. clear %COUNTER
2. read /sdcard/data/com.todotxt.todotxttouch/todo.txt to %TODO
3. subtract value= 2 to %COUNTER if %TODO~x*
4. subtract value= 1 to %COUNTER if %TODO~EOF
5. stop if %TODO!~EOF/x*
6. Add value= 2 to %COUNTER
7. goto action 2 if %COUNTER<2
click done
Step 4 Create Notification
Last but not least we need a notification to get this working. Create another profile name it reminder (or as you please) set context to when %TODO is set.
For the tasks we will first add a stop function if %TODO~EOF/x*, this prevents your notification from popping up when a completed todo is read or EOF is reached.
Next add in the type of notification under add task>alert>notify sound select to display %TODO and play a custom sound. You may add in notify vibrate if you wish.
click done.
And apply your changes!
**you may wish to test your tasks out before applying**
And thats it!
Have fun todo-ing!
Monk.
can u make tutorial how to use tasker with WhatsApp app
-juanito- said:
can u make tutorial how to use tasker with WhatsApp app
Click to expand...
Click to collapse
Hi Juanito!
How do you want Whatsapp to work with tasker? I need more information about the task that you want to run.
Thanks and regards
monk.
Would be possible to make location remainders? Location => context of a task
wow i am starting to think tasker is under rated. i love how it replaces so many apps. i have a bunch of profiles and i was missing/wanted a reminder profile. i couldnt find it till now. i hope this works as i want it to!

Categories

Resources