I'll look into this over the weekend and confirm, but if it isn't working it's a bug I'll fix for the next release.
Wow... 215 Stars (and counting)! Thank you, everyone!
Hey everyone,
I woke up this morning to an incredible surprise: the ChoreOps repo went from just over 100 stars yesterday to 215 stars today! ![]()
Whether you've been here since the early experimental commits or just clicked "Star" in the last 24 hours, I wanted to say a massive thank you. Building a gamified chore and economy engine for Home Assistant has been a huge labor of love, and seeing all the attention from the community is great!
Quick Question for the Newcomers...
Since this spike happened so suddenly, I’m dying to know: What brought you here? * Did someone share ChoreOps in a video, newsletter, or a specific forum thread?
- Drop a comment or a link below—I’d love to check it out and thank whoever sent you our way!
What’s Next?
If you're jumping into the setup, make sure to check out the Wiki, and feel free to open a thread in the Discussions tab if you want to share ideas or have questions!
Thanks again for the support!![]()
I came across this a while ago but have been trying to get a few other things working first (calendar, task lists, cctv etc).
I did setup a quick morning task list for my children that they could "tick" but wanted to set this up for a while.
I finally got 30 minutes to myself the other night and blitzed through the initial setup.
Its really great! I have a few things to figure out and tweak which I will work on.
For me the guides almost put me off a because they are so detailed - which is great - but I almost assumed it was more complicated because of it. But its incredibly intuitive and something you can get up and running in a short space of time.
Keep up the great work!!!
I came from the comments section of this post
Great system, migrating from grocy to this
Also, how come all 3 people got this notification? It's on rotation so surely only the person whos turn it was should have got this?
Is it possible to trigger tasks from other devices? We have a washing machine that needs a drum clean after 30 wash cycles.
Of course, this isn’t a fixed cycle. So I would need to set up an automation where, if there have been more than 30 wash cycles, a drum clean task is triggered.
Is there any way to trigger this?
Sure, this is a good use case.
Overview: Setting a Cycle-Based Chore Due Date
To trigger a chore after a washing machine hits 30 cycles, you can use a standard Home Assistant counter or utility meter combined with a ChoreOps automation.
- Track Cycles: Use a counter or utility_meter sensor that increments every time your washing machine finishes a cycle
- Setup the Chore: In ChoreOps, create a chore named "Clean Washer Drum" with a frequency of None (one-time/manual) so it doesn't auto-schedule itself on a clock .
- Automate the Trigger: Build an automation that fires when your cycle counter reaches 30. The action will call choreops.set_chore_due_date to dynamically flag the chore as due.
ChoreOps handles due dates internally using strict string inputs of dates. To ensure your template accurately renders a date-time format that Home Assistant and ChoreOps recognize, use a standard Jinja patterns like below.
Making it due with a relative window offset (e.g., in 8 hours)
If you want the automation to trigger immediately but give the assignee a clean 8-hour window before it visually shows as overdue, modify the payload using native timedelta tracking :
action: choreops.set_chore_due_date
data:
chore_name: Clean Washer Drum
user_name: Astrid
due_date: "{{ (now() + timedelta(hours=8)) }}"
*(Remember to include an additional action block in your automation to reset your cycle counter back to 0 once this triggers!)
is there an easy way to approve all claimed chores at the end of the day.
i know that there is an auto approve in the chore stuff but that uses the due date for that and i just want everything that is claimed at the end of the day to be approved then aswel
I am curious about this as well. Would love to have chores just auto approve at the end of the day like KidsChores used to.
There are really 3 options to handle the approvals:
- Chore Auto Approve - In the chore configuration, set auto approve and as soon as the chore is claimed it will automatically be transitioned approved / completed.
- Approval Reset Handling: Approve Pending Claims - In the chore configuration, you configure what happens to a chore if it was claimed, but not yet approved. Lets assume you use the "At Midnight" approval reset; the chores would remain in claimed state until midnight when the reset occurs. At that point, it would mark all of those chores with open claims as approved/completed so points are awarded, then immediately perform the reset.
- Custom approvals - Although the first two options should handle most scenarios, you can create an automation that will approve 1, 2, 3, or all claimed chores whenever you like or upon any condition. Here are some examples to point you in the right direction.
a. Tips & Tricks: Configure Automatic Approval of Chores · ccpk1/ChoreOps Wiki *(I see a few old entity names in this, so check the naming patterns, but the concept is still correct)
b. Tips & Tricks: Template Cookbook for Chores, Rewards, and Approvals · ccpk1/ChoreOps Wiki
IS there any update on having different reward points per child
I’m hoping to have a beta for 1.5 released in the next few days. There are a lot of new management features, like the ability to assign rewards to specific kids. So it won’t be different reward values per kid, but instead you can create rewards unique to each kid that are only assigned and available to that kid.
A few other new features will be a new chore type called Primary & Standby, as well as the ability to easily unassign all from a chore effectively turning it off, or pause all chores for a user while they are away.
Any update on this?
ChoreOps v1.5.0-beta.1
Beta Reminder While an immense amount of testing and development hours went into this massive update, the underlying scheduling, tracking, and state machinery is highly complex. We are still officially in Beta. If you are jumping in early, thank you! Your willingness to run this in production, report edge cases, and help us squash final bugs is exactly how we get ChoreOps to a rock-solid.
Hello everyone! ![]()
It's been a while since the last formal release, and there's a reason for that — this one is big. Really big. Version 1.5.0-beta.1 represents months of focused effort, and I wanted to take a moment to share what's new, why it took the shape it did, and most importantly, say thank you.
Community & Support
We are closing in on 300 stars on GitHub, and that milestone means a lot. Every star, every piece of feedback, and every encouraging note in the forums and issue tracker drives this project forward.
A special thank you to everyone who has contributed financially to help offset development costs. Building an open-source platform like ChoreOps takes an immense amount of time and focus. When you back that work with your wallet, it does more than just pay the bills—it proves that this tool brings real, tangible value to your home.
And to the translators, testers, and everyone who filed thoughtful bug reports and feature ideas — you've shaped this release more than you probably realize.
Why This Release Took Shape the Way It Did
There have been a ton of exciting ideas and suggestions around gamification — and trust me, those are not forgotten. But the feedback kept circling back to the same theme: the foundational are good but there is friction in some day to day activities that needed attention. Chore scheduling, notifications, recurrence handling, standby coverage, vacation management — these are the bones of ChoreOps. They needed to be rock solid before anything else could be layered on top.
So that's where the focus went. Hardening the core. Getting the daily rhythms right. Building a foundation that makes future gamification additions additive rather than corrective. No rework, no backtracking. That maturity is settling in now, and I'm proud of where things landed.
What's New — The Highlights
There's honestly too much to fit in a single forum post, but here are the headlines:
Primary-Standby Chores — For chores that belong to one person but need a backup. Set a primary owner, add standbys, and choose when they can step in (anytime, on overdue, or manual only). When the primary is away or paused, the standbys rotate through intelligently. Once completed, responsibility snaps right back to the primary. Feed the cat, even when the primary is away. ![]()
User Chore Pausing — True vacation mode. Pause all chores for a user indefinitely or until a set date. Paused chores are fully frozen — no overdue warnings, no missed notifications, no stat penalties. But the best part? When chores resume, you can shift past-due items forward so nobody comes back to a wall of red.
Unified OpsCenter Admin View — Assign/remove users, manage rotation order, control primary-standby assignments, and bulk reschedule chores past any date — all from a single surface. The bulk reschedule even guards against accidentally pushing annual chores forward a full year.
Seasonal Chores — Remove all assignees from a chore to hibernate it for the winter, then bring it back with full history intact. "Mow the Lawn" can disappear when the snow falls and return in the spring like it never left.
Dynamic Entity Creation — Chore and reward changes now happen at runtime. No more integration reloads, no dashboard flicker. This sets the stage for doing even more directly from the frontend in the future.
Overdue Duration Tracking — Per-chore and per-assignee metrics showing average and longest overdue durations, across all time periods. All event-driven, zero Recorder impact.
Dashboard Include Filters — Include filters that take priority over exclusions. Create separate views for bonus chores, keep noise out of daily lists, and get a performance boost for large households.
Plus: reschedule-from-completion date-only mode (no more time drift!), per-user reward assignment, falling streaks that actually reset, gamification-aware notifications, per-user notification deep links, Romanian language support, and a whole lot of bug fixes and polish.
Heads Up — Breaking Changes
Two changes to be aware of:
- Dashboard helper architecture has been redesigned for high-density chore lists. All users should re-generate their dashboards after updating. Custom dashboards, template sensors, and automations that read helper chore data should be reviewed. The
chores_by_labelkey is no longer created. time_until_dueandtime_until_overdueattributes have been removed from chore sensors to reduce database churn. Dashboards now compute countdowns locally from the remaining date fields.
The full release notes have all the details, and the wiki has been updated with the recommended patterns.
To update, just go to HACS, choose redownload, then specifically select the new beta version and restart Home Assistant.
I'm genuinely excited to see what you build with these new tools. As always, feedback is welcome — it's how we got here in the first place.
Thank you. ![]()
Hi, Many thanks for developing this integration !
I tried everything but one thing I cannot discover. How to reset a chore? I have created a chore for my kids and with manual reset. I have created a parents user and connected both kids to the parents user account. However Where to see the parents settings after creating this? So in short, 2 questions. How to reset the chore and where to see the settings for the parents user?
Hi,
Is it possible to add a feature for when completing achievements or challenges to have an animation of celebration? Would be very nice for kids as they are more visual orientated. So a more playful dashboard for kids only ![]()
There are several ways to do this. Unless you have a specific need, most people just use default at midnight reset, so they don't need to think about it.
If you still want to use manual approval reset, here are a few of the common options:
- Using OpsCenter set or remove the due date for that chore will automatically reset it to pending
- Using the service / action choreops.set_chore_due_date
- Using the service / action choreops.reset_chores_to_pending_state
Here is a little more reference infomation you might be interested in:
Advanced: Chores · ccpk1/ChoreOps Wiki
Services: Reference · ccpk1/ChoreOps Wiki
While the integration natively sends a device notification when a task is completed, additional visual flair is limited by what the Home Assistant companion app can display out of the box.
However, one of the biggest strengths of ChoreOps is that every system state, event, and achievement is completely exposed to your Home Assistant instance. This means you can design your own custom celebration automations to fit your household—whether that’s flashing the kitchen lights green, playing a victory sound effect over a smart speaker, or triggering a custom dashboard effect. The platform gives you the hooks, so you can be as creative as you want!
ChoreOps v1.5.0 is Now Live!
Hello everyone!
Following a few week beta period spanning 5 iterations where we focused on fixing edge cases and validating structural integrity, I am happy to announce that ChoreOps v1.5.0 is officially live and ready for production!
Full Release Notes & Codebase: ccpk1/ChoreOps Releases
Updated Documentation: Check out the ChoreOps Wiki for newly added setup guides and recommended patterns.
Community & Support
Thanks to your exceptional testing, thoughtful bug reporting, and overall community support, this milestone release introduces stability, core optimization, and flexibility to your Home Assistant chore workflows.
We are now well over 300 stars on GitHub, which is a great accomplishment. Every star, every piece of feedback, and every encouraging note in the forums and issue tracker drives this project forward.
A special thank you to everyone who has contributed financially to help offset development costs. Building an open-source platform like ChoreOps takes an immense amount of time and focus. When you back that work with your wallet, it does more than just pay the bills—it proves that this tool brings real, tangible value to your home.
Release Highlights
This release brings significant under-the-hood optimization and key user features:
- Primary-Standby Chores: Intelligent backup assignment loops. Assign secondary owners who step in automatically (anytime, on overdue, or manual only) when the primary is away.
- User Chore Pausing (Just in time for summer vacations!): Freeze chores indefinitely or until a specified date with zero overdue warnings or historical penalty accumulation. Resumed items can automatically shift forward to prevent a wall of red.
- Unified OpsCenter Admin View: A streamlined hybrid UI engine to assign users, manage rotation queues, control standby relationships, and bulk-reschedule tasks cleanly without database or state-machine bloat.
- Seasonal Chores: Hibernate micro-tasks seamlessly. Removing all assignees hides the chore (e.g., "Mow the Lawn" in winter) while preserving full historical records for spring.
- Dynamic Runtime Entity Creation: Integration modifications and reward assignments now update natively at runtime without requiring an integration reload or dashboard flicker.
- Advanced Dashboard Include-Filters: Optimize your frontend rendering profile. Set include-filters that override exclusions to significantly limit Event Bus overhead in high-density households.
Quick Upgrading Notice
If you are upgrading from an older version or jumping in from early betas, please note these two optimization-focused breaking changes:
- Dashboard Helper Redesign: The dashboard data helper schema has been updated for high-density rendering performance (the
chores_by_labelkey has been removed).Please re-generate your dashboards using the updated templates.
- State Machine De-cluttering:
time_until_dueandtime_until_overduesensor attributes have been fully removed to eliminate disk-write database I/O lag. Dashboards now calculate remaining time elements locally on the frontend.
To Update: Head to HACS, select Redownload, ensure you choose the stable v1.5.0 release tag, and restart Home Assistant.
Thank you again to everyone who tested the beta releases and supported this milestone. Let's keep building! ![]()
I have tested the module and after tests I want to reset all counters\achievments for family members. I unable to find the solution how to to it
Uhh, found. There is choreops.reset_transactional_data
The documentation is not perfect to clearly understand this.
Working on setting this up for the first time. This beats the heck out of a dry erase board that we’ve been using. Thanks for all the hard work put into this.
I have a question: I am a full admin in home assistant. My wife is not. I’ve set both of us up as approvers in ChoreOps the same exact way. Each of us are linked to our home assistant accounts. I can see the OpsCenter in the dashboard, but my wife can’t. Does she need to be bumped up to a home assistant admin to be able to see that?
She does not need to be an admin. If she can’t see the OpsCenter view, then it’s likely you restricted that view to admins or only certain users when you generated the dashboard. Check the visibility of the view through the native home assistant dashboard edit tools and see if you can find the issue.
Hope that helps, let us know.
