Environment:
- ChoreOps version: 1.5.1-beta.1
- Home Assistant: 2026.7.1
- This install was migrated from the original KidsChores integration to ChoreOps (not a fresh install) -- may be relevant to Bug 3 below.
Bug 1: choreops.update_chore crashes with 500 whenever frequency is included
Reproducible on a brand-new chore, so it is not data-specific:
service: choreops.update_chore
data:
id: <any valid chore id>
frequency: weekly
Result: 500 Internal Server Error every time, regardless of target chore age or prior state. Traceback points into services.py, handle_update_chore (line ~1658 on this build). Confirmed via HA error_log -- the request never completes.
Bug 2: completion_criteria: shared_all rejected with 400 on update
service: choreops.update_chore
data:
id: <chore created via choreops.create_chore with no completion_criteria specified, defaults to "independent">
completion_criteria: shared_all
Result: 400 Bad Request. Same value (shared_all) is valid and already present on other pre-existing chores in the same install, so it is not an invalid-enum issue -- something about changing it post-creation via the service is rejected.
Bug 3 (unconfirmed root cause): two specific pre-existing chores crashed on any update_chore call
Before working around it by deleting/recreating, two chores ("Sweep Stairs (Up)" and "Sweep Stairs (Dn)", both weekly/shared_all, created prior to this beta -- likely originally created back when this install was still running the KidsChores integration, before migrating to ChoreOps) returned 500 on update_chore even for a minimal points-only payload -- tried both by name and by internal id, all four attempts crashed identically. A third chore (created more recently, after the ChoreOps migration) updated with the same minimal payload succeeded normally.
Given this install has migration history from KidsChores, my suspicion is that these two chore records retained some legacy field/shape from the old KidsChores data schema that the new ChoreOps update_chore path does not handle cleanly, while chores created natively under ChoreOps do not have that legacy baggage. Records were deleted as a workaround before I could isolate the exact field causing it, so this is a hypothesis rather than a confirmed cause -- but it may be a useful lead for anyone else hitting this after migrating from KidsChores.
Impact: Cannot change an existing chore recurrence or shared-completion behavior via the update_chore service at all on this build -- only new chores can have these set, and only at creation time, not via post-creation update. Also cannot reliably update any field on chores that pre-date a KidsChores-to-ChoreOps migration, if Bug 3's hypothesis is correct.
Environment:
Bug 1: choreops.update_chore crashes with 500 whenever frequency is included
Reproducible on a brand-new chore, so it is not data-specific:
Result: 500 Internal Server Error every time, regardless of target chore age or prior state. Traceback points into services.py, handle_update_chore (line ~1658 on this build). Confirmed via HA error_log -- the request never completes.
Bug 2: completion_criteria: shared_all rejected with 400 on update
Result: 400 Bad Request. Same value (shared_all) is valid and already present on other pre-existing chores in the same install, so it is not an invalid-enum issue -- something about changing it post-creation via the service is rejected.
Bug 3 (unconfirmed root cause): two specific pre-existing chores crashed on any update_chore call
Before working around it by deleting/recreating, two chores ("Sweep Stairs (Up)" and "Sweep Stairs (Dn)", both weekly/shared_all, created prior to this beta -- likely originally created back when this install was still running the KidsChores integration, before migrating to ChoreOps) returned 500 on update_chore even for a minimal points-only payload -- tried both by name and by internal id, all four attempts crashed identically. A third chore (created more recently, after the ChoreOps migration) updated with the same minimal payload succeeded normally.
Given this install has migration history from KidsChores, my suspicion is that these two chore records retained some legacy field/shape from the old KidsChores data schema that the new ChoreOps update_chore path does not handle cleanly, while chores created natively under ChoreOps do not have that legacy baggage. Records were deleted as a workaround before I could isolate the exact field causing it, so this is a hypothesis rather than a confirmed cause -- but it may be a useful lead for anyone else hitting this after migrating from KidsChores.
Impact: Cannot change an existing chore recurrence or shared-completion behavior via the update_chore service at all on this build -- only new chores can have these set, and only at creation time, not via post-creation update. Also cannot reliably update any field on chores that pre-date a KidsChores-to-ChoreOps migration, if Bug 3's hypothesis is correct.