Files
Obsidian-Vault/Personal/Areas/Tasker/README.md

158 lines
5.5 KiB
Markdown

---
created: 2025-11-11 16:30
updated: 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 reminder
- `Trigger Exercise Notification` → 11:30 AM → Shows exercise reminder
#### Event Listeners (respond to notification button taps)
- `Event: Mark Skincare Done` → Listens for `cmd_mark_skincare_done` → Marks habit complete + dismisses notification
- `Event: Mark Exercise Done` → Listens for `cmd_mark_exercise_done` → Dismisses notification
- `Event: Open Skincare Note` → Listens for `cmd_open_skincare_done` → Opens Obsidian note
- `Event: Open Exercise Note` → Listens for `cmd_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`
- `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`
#### Action Tasks (perform actual actions)
- `Open Skincare Note` → Opens `Personal/Projects/Skincare/Skincare Morning` in Obsidian
- `Open Exercise Note` → Opens exercise note in Obsidian
- `Open Diet Note` → Opens diet note in Obsidian
- `Mark Skincare Done` → Checks off habit in Loop Habit Tracker + dismisses notification
- `Mark Exercise Done` → Dismisses notification
### How It Works
1. **At trigger time** (e.g., 7:30 AM):
- Profile `Trigger Skincare Notification` activates
- Runs task `Show Skincare Notification`
- Notification appears with two buttons
2. **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
3. **When "Mark Done" is tapped**:
- Sends `cmd_mark_skincare_done` command
- `Event: Mark Skincare Done` profile catches it
- Runs `Mark Skincare Done` task
- Checks off habit in Loop Habit Tracker
- Dismisses the notification
### Adding New Routines
To add a new routine (e.g., "Meditation"):
1. **Create time trigger profile**:
- Name: `Trigger Meditation Notification`
- Trigger: Time (e.g., 7:00 AM)
- Task: `Show Meditation Notification`
2. **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`
3. **Create event listener profiles**:
- `Event: Open Meditation Note` → Listens for `cmd_open_meditation_note`
- `Event: Mark Meditation Done` → Listens for `cmd_mark_meditation_done`
4. **Create action tasks**:
- `Open Meditation Note` → Opens Obsidian note
- `Mark 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 standardization
- `standardize_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
```bash
python3 standardize_tasker_v2.py
```
### Import Instructions
1. Open Tasker
2. Long-press Projects tab
3. Select "Import Project"
4. Navigate to `Routine_Reminders.prj.xml`
5. Import
6. 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 `mid0` in 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