-
-
Notifications
You must be signed in to change notification settings - Fork 19
Tips & Tricks: Configure Automatic Approval of Chores
Note
This page is a reference for users who want to implement custom automation logic. For most users, the recommended approach is to use the built-in per-chore settings:
- Auto Approve: Automatically approves the chore immediately when completed.
- Pending Claim Action: Can be set to "Auto-approve pending" to approve open claims at the daily reset.
See Configuration: Chores for details on these built-in capabilities.
These two Home Assistant automations are NOT part of the ChoreOps system but are designed to work with it to automatically handle chore approvals based on chore completion states. They are a custom approach to streamline the process by pressing the appropriate approval button when a chore is marked as "claimed".
Auto-approving chores can simplify your chore management system by reducing the need for manual approvals in certain scenarios. This solution is compatible with the ChoreOps integration, providing flexibility and customization to suit your family’s needs.
Purpose: This automation ensures that any claimed chore that has not yet been approved by an approver is automatically approved at 11:45 PM.
- This prevents a user from losing their claim when chores reset at midnight.
- Approvers still have the entire day to review and approve or deny claims manually.
How It Works:
- ✅ Trigger: Runs at 11:45 PM every day.
- ✅ Action: Finds all chore sensors that are still in "claimed" status and presses the matching approval button.
Example Use Case:
- If a user claims a chore in the morning and an approver forgets to approve it, this automation ensures it is approved before the midnight reset.
Purpose:
This automation automatically approves any chore for the selected user a few seconds after it is claimed. It dynamically detects all chore status sensors for the user without needing to list them individually.
How It Works:
- ✅ Trigger: Runs when any chore sensor (
sensor.<user>_chore_status_*) changes to"claimed"for at least 10 seconds. - ✅ Action: Finds the matching approval button (
button.<user>_chore_approval_*) and presses it automatically. - ✅ Fully Dynamic: Automatically handles all chores for the user without needing a list of specific chores.
Example Use Case:
- When
sensor.kaden_chore_status_make_bedchanges to"claimed", the system pressesbutton.kaden_chore_approval_make_bedautomatically.
Purpose: This automation automatically approves only specific chores for the user within a few seconds of the claim. Unlike the previous automation, this one targets a specific list of chores.
How It Works:
- ✅ Trigger: Runs when specific chore sensors (
sensor.<user>_chore_status_*) reach the"claimed"state for at least 10 seconds. - ✅ Action: Dynamically matches and presses the corresponding approval button.
- ✅ Targeted Control: Approves only designated chores, offering more granular control.
Example Use Case:
- Automatically approve only
empty_dishwasherandput_laundry_awaychores for Kaden.-
sensor.kaden_chore_status_empty_dishwasher→button.kaden_chore_approval_empty_dishwasher -
sensor.kaden_chore_status_put_laundry_away→button.kaden_chore_approval_put_laundry_away
-
Here are common reasons:
- Chores like “Brush your teeth”, “Make your bed”, or “Feed the pet” are part of everyday routines that don’t need constant supervision.
- Automatically approving these tasks encourages users to build good habits without waiting for approval confirmation every time they complete them.
- You might normally review and approve tasks like “Do homework”, “Clean room”, or “Unload the dishwasher”.
- However, when you’re away for the weekend, you may not want to deal with constant approvals.
- By creating separate automations for specific chore groups, you can quickly disable or enable auto-approval as needed by turning the automation on or off.
- ✅ Daily Routine Automation: Auto-approves all routine chores without manual review.
- ✅ Vacation Mode Automation: Covers other chores you'd typically approve but can be turned off easily for more oversight when you're home.
This setup offers maximum flexibility—whether you want to auto-approve everything, just routines, or toggle approvals for specific chore sets with a single switch.
- Go to Home Assistant → Settings → Automations & Scenes → Automations
- Click Create Automation → Edit in YAML
- For "Approve All Open Chore Claims For All Users" Automation at 11:45PM
alias: Approve all open claims at 11:45PM
description: >-
Automatically presses the correct approval button for claimed chores that were
not acted
triggers:
- trigger: time
at: "23:45:00"
conditions: []
actions:
- variables:
approval_button: |-
{% set sensors = expand(states.sensor)
| selectattr('entity_id', 'match', '^sensor\..*_chore_status_.*')
| selectattr('state', 'equalto', 'claimed')
| map(attribute='entity_id')
| list %}
{% if sensors | count > 0 %}
{{ sensors | map('regex_replace', '^sensor\.kc_([a-zA-Z0-9_]+)_chore_status_', 'button.kc_\\1_chore_approval_') | list }}
{% else %}
none
{% endif %}
- choose:
- conditions:
- condition: template
value_template: "{{ approval_button != 'none' }}"
sequence:
- target:
entity_id: "{{ approval_button }}"
action: button.press
mode: single- For “Auto Approve All Chores for Kidname” Automation:
alias: Auto approve all chores for Kidname
description: Automatically presses the correct approval button for claimed chores.
trigger:
- platform: template
value_template: >-
{{ expand(states.sensor)
| selectattr('entity_id', 'match', '^sensor\\.kc_kidname_chore_status_.*')
| selectattr('state', 'equalto', 'claimed')
| list
| count > 0 }}
for:
seconds: 5
action:
- variables:
approval_button: >-
{% set sensor = expand(states.sensor)
| selectattr('entity_id', 'match', '^sensor\\.kc_kidname_chore_status_.*')
| selectattr('state', 'equalto', 'claimed')
| map(attribute='entity_id')
| first %}
{% if sensor %}
{{ sensor | regex_replace('^sensor\\.kc_([a-zA-Z0-9_]+)_chore_status_', 'button.kc_\\1_chore_approval_') }}
{% else %}
none
{% endif %}
- choose:
- conditions:
- condition: template
value_template: "{{ approval_button != 'none' }}"
sequence:
- service: button.press
target:
entity_id: "{{ approval_button }}"
mode: single- For “Approve Designated Chores for Kidname” Automation:
alias: Auto approve designated chores for Kidname
description: Automatically presses the correct approval button for claimed designated chores.
trigger:
- platform: state
entity_id:
- sensor.kc_kidname_chore_status_empty_dishwasher
- sensor.kc_kidname_chore_status_put_laundry_away
for:
seconds: 10
action:
- variables:
approval_button: >-
{% if trigger.entity_id is defined and
trigger.entity_id.startswith('sensor.kc_') and
'_chore_status_' in trigger.entity_id %}
{{ trigger.entity_id | regex_replace('^sensor\\.kc_([a-zA-Z0-9_]+)_chore_status_', 'button.kc_\\1_chore_approval_') }}
{% else %}
none
{% endif %}
- choose:
- conditions:
- condition: template
value_template: "{{ approval_button != 'none' }}"
sequence:
- service: button.press
target:
entity_id: "{{ approval_button }}"
mode: single-
Find and replace all instances of
"Kidname"with your child's name, ensuring the case matches:-
Kidname→ (e.g.,"Kaden") -
kidname→ (e.g.,"kaden")
-
-
For the designated chore automation, you will need to select the appropriate sensors to add in as entities to the trigger. Ensure you chose the *status sensor for each chore.
- ✅ Click Save to create the automation.
- ✅ Have your kid claim a chore
- ✅ Confirm that the matching approval button is pressed automatically.
- ✅ Both automations are fully compatible with the ChoreOps integration.
- ✅ You can set them up in different ways to suit your needs:
- One automation for multiple kids, dynamically handling approvals for all children.
- Separate automations for each kid, providing individual control.
- Multiple automations for one kid, grouping chores differently.
🚀 Getting Started
- Home
- Installation
- Migration from KidsChores
- Quick Start
- Quick Start Scenarios
- Dashboard Generation
- Backup & Restore
- OpsCenter
⚙️ Configuration
- General Options
- Points
- Users
- Chores
- Rewards
- Badges - Overview
- Badges - Cumulative
- Badges - Periodic
- Achievements
- Challenges
- Notifications
🔧 Services
💡 Tips & Tricks
- Template Cookbook for Chores, Rewards, and Approvals
- Bulk Chore Updates via Scripts
- Auto-Approve Chores
- Calendar Event Due Dates
- NFC Claim Workflow
- Overdue Penalty Automation
- Critical Overdue Alerts
- Send ChoreOps Alerts to ntfy
📖 Advanced Topics
- Dashboard Integration
- Access Control
- Chores - Advanced
- Badge Cumulative - Advanced
- Badge Periodic - Advanced
📚 Technical Reference
- Points
- Users
- Entities & States
- Chores
- Badges
- Configuration Detail
- Dashboard Generation
- Notifications
- Weekly Activity Reports
👩🔧 Troubleshooting