created, updated
| created | updated |
|---|---|
| 2025-11-11 16:30 | 2025-11-11 16:30 |
Tasker Routine Reminders Project
Standardized Tasker automation project for daily routine reminders with notification buttons that trigger actions.
Project: Routine_Reminders.prj.xml
Naming Conventions
Commands (used in AutoNotification buttons/filters):
- Format:
cmd_<action>_<target> - Examples:
cmd_open_skincare_note,cmd_mark_skincare_done
Notification IDs:
- Format:
notif_<routine>_<time> - Examples:
notif_skincare_morning,notif_exercise_prep
Profiles:
- Time triggers:
Trigger <Routine> Notification - Event listeners:
Event: <Action> <Target>
Tasks:
- Notification display:
Show <Routine> Notification - Actions:
<Action> <Target>(e.g.,Open Skincare Note,Mark Exercise Done)
Project Structure
Time-Based Triggers (show notifications at specific times)
Trigger Skincare Notification→ 7:30 AM → Shows skincare reminderTrigger Exercise Notification→ 11:30 AM → Shows exercise reminder
Event Listeners (respond to notification button taps)
Event: Mark Skincare Done→ Listens forcmd_mark_skincare_done→ Marks habit complete + dismisses notificationEvent: Mark Exercise Done→ Listens forcmd_mark_exercise_done→ Dismisses notificationEvent: Open Skincare Note→ Listens forcmd_open_skincare_done→ Opens Obsidian noteEvent: Open Exercise Note→ Listens forcmd_open_exercise_note→ Opens Obsidian note
Notification Tasks (display the actual notifications)
Show Skincare Notification→ Creates notification with buttons:- Button 1: "Open Note" → Sends
cmd_open_skincare_note - Button 2: "Mark Done" → Sends
cmd_mark_skincare_done
- Button 1: "Open Note" → Sends
Show Exercise Notification→ Creates notification with buttons:- Button 1: "Open Note" → Sends
cmd_open_exercise_note - Button 2: "Mark Done" → Sends
cmd_mark_exercise_done
- Button 1: "Open Note" → Sends
Action Tasks (perform actual actions)
Open Skincare Note→ OpensPersonal/Projects/Skincare/Skincare Morningin ObsidianOpen Exercise Note→ Opens exercise note in ObsidianOpen Diet Note→ Opens diet note in ObsidianMark Skincare Done→ Checks off habit in Loop Habit Tracker + dismisses notificationMark Exercise Done→ Dismisses notification
How It Works
-
At trigger time (e.g., 7:30 AM):
- Profile
Trigger Skincare Notificationactivates - Runs task
Show Skincare Notification - Notification appears with two buttons
- Profile
-
When button is tapped:
- AutoNotification sends command (e.g.,
cmd_open_skincare_note) - Event profile listens for that command (e.g.,
Event: Open Skincare Note) - Runs linked task (e.g.,
Open Skincare Note) - Opens Obsidian to the correct note
- AutoNotification sends command (e.g.,
-
When "Mark Done" is tapped:
- Sends
cmd_mark_skincare_donecommand Event: Mark Skincare Doneprofile catches it- Runs
Mark Skincare Donetask - Checks off habit in Loop Habit Tracker
- Dismisses the notification
- Sends
Adding New Routines
To add a new routine (e.g., "Meditation"):
-
Create time trigger profile:
- Name:
Trigger Meditation Notification - Trigger: Time (e.g., 7:00 AM)
- Task:
Show Meditation Notification
- Name:
-
Create notification display task:
- Name:
Show Meditation Notification - Action: AutoNotification
- Notification ID:
notif_meditation_morning - Button 1 command:
cmd_open_meditation_note - Button 2 command:
cmd_mark_meditation_done
- Name:
-
Create event listener profiles:
Event: Open Meditation Note→ Listens forcmd_open_meditation_noteEvent: Mark Meditation Done→ Listens forcmd_mark_meditation_done
-
Create action tasks:
Open Meditation Note→ Opens Obsidian noteMark Meditation Done→ Marks habit complete + dismisses notification
Dependencies
- AutoNotification (Joao Apps) - For creating interactive notifications and listening to button commands
- Loop Habit Tracker - For checking off habits
- Obsidian - For opening notes via obsidian:// URLs
Files
Routine_Reminders.prj.xml- Main project file (import into Tasker)Skincare_Demo_Standardized.prj.xml- Original file before standardizationstandardize_tasker_v2.py- Python script used for standardization
Standardization Script
Run standardize_tasker_v2.py to:
- Standardize all naming conventions
- Link notification buttons to event profiles
- Add missing event listeners
- Remove trailing spaces and inconsistencies
python3 standardize_tasker_v2.py
Import Instructions
- Open Tasker
- Long-press Projects tab
- Select "Import Project"
- Navigate to
Routine_Reminders.prj.xml - Import
- Enable profiles
Tips
- Use
cmd_prefix for all AutoNotification commands (consistency + easy grep) - Use
notif_prefix for all notification IDs (avoids conflicts) - Always create event listener profiles for button commands
- Link event profiles to existing action tasks via
mid0(task ID)
Troubleshooting
Button doesn't do anything when tapped:
- Check that event profile exists for that command
- Verify command name matches exactly (case-sensitive)
- Check that event profile is enabled
- Verify
mid0in profile points to correct task ID
Notification doesn't appear:
- Check time trigger is correct and profile is enabled
- Verify notification display task is working (run manually)
- Check AutoNotification permissions
Wrong note opens:
- Check Obsidian URL in action task
- Verify vault name and file path are correct
- Test URL in browser first