-
Notifications
You must be signed in to change notification settings - Fork 2
Challenges
A challenge sets a recurring target — complete a number of chores today, or earn a number of points this week — and awards a one-off bonus when a child hits it. Progress and the award reset automatically each period, so challenges give kids a fresh goal every day or every week.
Each challenge tracks a metric toward a target within a period:
Approved chores / points within the period → reaches target → bonus awarded once → resets next period
- Challenges count approved chore completions (bonus sub-task completions are excluded)
- The
choresmetric counts completions; thepointsmetric sums the points awarded by those completions within the period - A challenge is awarded once per period — the same challenge can be earned again after the period rolls over
- Hitting the target awards the bonus points, fires a
taskmate_challenge_completedevent, and triggers a medium celebration
| Scope | Period | Resets |
|---|---|---|
daily |
The current calendar day | At midnight, each new day |
weekly |
Monday-anchored week | The start of each Monday |
The reset is automatic — there's no scheduled job to configure. When a new period begins, progress starts from zero and the award becomes available again.
Challenges are managed in the Admin Panel → Challenges tab (TaskMate's sidebar panel). There's no Settings config flow — add, edit, and delete them from the panel.
| Field | Default | Description |
|---|---|---|
| Name | — | Display name of the challenge (required) |
| Description | "" |
Optional description |
| Icon | mdi:trophy-outline |
MDI icon |
Refreshes (scope) |
daily |
daily or weekly
|
Goal type (metric) |
chores |
chores (completions) or points (points earned) |
| Target | 3 |
How many to reach within the period (must be at least 1) |
| Bonus points | 15 |
Points awarded once the target is met |
| Assign to | all children | Which children the challenge applies to — leave empty for all |
| Active | true |
Inactive challenges don't track progress or award bonuses |
Each child's entry in the sensor.taskmate_overview children attribute carries a challenges array. Each item describes that child's progress through one active challenge assigned to them for the current period:
| Field | Description |
|---|---|
challenge_id |
The challenge's ID |
name |
Challenge name |
icon |
Challenge icon |
scope |
daily or weekly
|
metric |
chores or points
|
target |
The goal value |
progress |
Current value, capped at target (good for progress bars) |
value |
The raw current value (may exceed target) |
bonus_points |
The bonus awarded on completion |
complete |
true when value >= target
|
awarded |
true if the bonus has already been credited this period |
Only active challenges assigned to the child appear in the array.
When a child meets a challenge target:
- The bonus points are credited and logged as a
Challenge complete: <name>transaction - The bonus counts as earned points, so it also feeds the child's XP and level
- A
taskmate_challenge_completedevent fires withchild_id,child_name,challenge_id,challenge_name,scope,bonus, andtimestamp - A medium celebration is triggered
alias: Announce challenge completed
triggers:
- trigger: event
event_type: taskmate_challenge_completed
actions:
- action: notify.family
data:
message: >
{{ trigger.event.data.child_name }} smashed the
{{ trigger.event.data.scope }} challenge
"{{ trigger.event.data.challenge_name }}" (+{{ trigger.event.data.bonus }})!- Quests — ordered chore chains that award a bonus on completion
- Chores — completions are what challenges count
- Levels and XP — challenge bonuses feed XP
- Celebrations — the moment fired on challenge completion
- Admin Panel — where challenges are created and managed