v4.0.0
TaskMate v4.0.0
The largest TaskMate release to date — a full gamification layer, a big batch of chore/points/reward capabilities, a redesigned notification system, and admin tooling. Everything below is live after a HACS Redownload; cards self-register, so there's nothing to wire up in Lovelace.
✨ Gamification
Levels & XP (#468, #470) — every child now has a level driven by total points earned, with a level badge and an XP-to-next-level progress bar on the child card. Levels also gate avatar unlocks (below).
Avatar unlockables (#492) — each child has an avatar catalogue (Starter, Rocket, Robot, Ninja, Royalty, Champion, On Fire, Diamond…) unlocked by reaching a level, a lifetime-earned threshold, or a streak length. Children pick from what they've unlocked; locked avatars show a 🔒 with the requirement. Managed via the taskmate.choose_avatar service / the child card.
Quests / chore chains (#489) — chain chores into an ordered quest (Quests tab → Add quest). The child advances one step each time the chore at their current step is approved; finishing every step awards a bonus. Quests can be repeatable and assigned to specific children or everyone.
Daily / weekly challenges (#495) — time-boxed goals (Challenges tab → Add challenge) with a scope (daily/weekly), a metric, a target, and a bonus-point reward on completion.
Tiered celebrations (#487) — completion celebrations now scale: bigger, longer celebration moments for bigger achievements rather than one flat animation.
Surprise / random daily bonus (#455) — optional random bonus that can fire once a day to keep things fresh (Settings).
✨ Chores
Difficulty tiers (#416) — mark a chore Easy / Medium / Hard in the chore editor; each tier applies a points multiplier so harder chores are worth more.
Photo / evidence proof (#480, #504/#507) — toggle Require photo proof on a chore. The child is prompted to capture/attach a photo when completing; the completion is held for parent approval with the photo attached. (Known limitation — see below: the photo currently shows in the admin panel's approval/activity view but not yet on the approvals/parent-dashboard Lovelace cards.)
Early-bonus / late-penalty by time (#478) — set a due time on a chore plus an early-completion bonus and/or a late-completion penalty, so timing affects the points awarded.
First-come-first-served assignment (#401) — a new assignment mode that shows a chore to the whole pool; the first child to claim it wins and the chore locks for the others (race-losers get a graceful message, #405/#406).
Complete on behalf of a child (#402) — parents can complete a chore for a child from the Overview/dashboard; this is admin-gated on the backend (as_parent, #410/#411), and auto-approves the completion.
Sibling chore swaps (#483) — a child can request to take over another's rotation assignment for the day (taskmate.request_swap), subject to parent approval.
Vacation / pause mode (#419) — pause chores and freeze streaks for a date range (Settings) so holidays don't break streaks or pile up overdue chores.
Clone / duplicate a chore (#432), optional expiry date (#459), and bulk operations — delete / enable / disable / reassign multiple chores at once (#462).
✨ Points & Rewards
Inter-child points gifting (#466) — parent-controlled transfer of spendable points between children (Children tab → Gift points, or taskmate.gift_points).
Periodic savings interest (#476) and optional points decay (#464) — reward saving, or discourage hoarding, on a schedule (Settings).
Undo / retract (#430) — reverse an applied penalty or bonus from the transaction log (taskmate.undo_transaction).
Per-period reward spending cap (#474) — limit how many points a child can spend per day/week/month.
Reward auto-restock (#457) — rewards with limited stock can refill automatically on a daily/weekly/monthly schedule.
✨ Notifications & Admin
Redesigned notification routing — per-type master toggles and per-recipient routes (Notifications tab), with parent recipients and per-child notify services.
- Weekly digest for parents (#485)
- Test-notification — send a sample of any type to verify routing before going live (#436)
- Streak-milestone notifications (#427)
- Graceful fallback for non-
mobile_appnotify backends (#421)
Badge OR-logic (#425) — badge criteria now support an OR combinator and operators beyond >=.
Config export / import (#438) — back up and restore your full TaskMate configuration.
Admin audit log (#423) — records who changed what, and when.
More events (#434) — fires penalty / bonus / reward-approved / reward-rejected / chore-rejected bus events for your own automations.
🐛 Fixes & hardening
- Service calls now raise clean validation errors instead of unhandled 500s + tracebacks — locked-avatar / over-balance gift / unknown-id / bad-swap, etc. (#501/#502)
- Stale Lovelace resources for the three removed read-only cards are deregistered on startup — fixes 3×
404console errors on every dashboard load for anyone upgrading (#505/#506) - Pending-approval notifications now reach a parent, not the completer — the old code popped an instance-wide persistent notification for every event, leaking parent-only "awaiting approval" messages to the child on a kiosk; parents are now auto-subscribed to default-on parent types (#508/#509)
- Security hardening: linked-child gate, rotation-quota enforcement, CI action SHA-pinning (#415); admin gate on
as_parentcompletion (#410/#411) - Retired the deprecated options flow in favour of the admin panel (#412)
- Friendlier child-undo message (#511)
🌐 Internationalisation
German, French, Norwegian Bokmål/Nynorsk, and Portuguese (PT/BR) updated across the whole batch, including the photo-evidence strings (#499, #512, #472, #440).
⚠️ Known limitations
- Photo evidence on cards: a captured photo is visible in the admin panel's approval/activity view, but not yet on the
approvals/parent-dashboardLovelace cards (those cards don't renderphoto_url, and the sensor doesn't expose a signed URL yet). A follow-up patch will wire this up. Approve from the admin panel to see the photo in the meantime.
⬆️ Upgrading
- HACS → TaskMate → ⋮ → Redownload → 4.0.0, then restart Home Assistant. Cards re-register automatically (check Settings → Dashboards → ⋮ → Resources for
/taskmate/*). - Notifications: for approval alerts to reach only a parent, set that parent recipient's channel (Notifications tab) to a per-person service such as
notify.mobile_app_<your_phone>—notify.persistent_notificationis instance-wide and will also show on kiosk dashboards. - New gamification data (levels, quests, challenges, avatars) initialises automatically; existing points/streaks/history are preserved.