Skip to content

Advanced: Dashboard

ccpk1 edited this page Feb 21, 2026 · 7 revisions

Advanced: Dashboard

Target audience: Power users and maintainers Prerequisites: ChoreOps installed and at least one generated dashboard Related: Getting started: Dashboard generation


Overview

In the legacy KidsChores model, users often copied YAML templates manually (copy/paste/find/replace).

In ChoreOps, dashboard generation is built into Options Flow. You can:

  • Generate dashboards from UI options
  • Choose profile/style and admin layout in the generator
  • Update/rebuild without re-pasting full template files

Note

Available profile/style choices are shown in the generator UI. This page avoids hardcoded profile lists so maintenance stays low when profiles change.


Frontend prerequisites (canonical list)

Install required frontend cards from HACS → Frontend.

Note

This is the single maintained prerequisite list for dashboard generation docs. Other dashboard pages should link here instead of duplicating card lists.


Customization philosophy

Generated dashboards are intended to be dynamic building blocks, not locked layouts.

  • Every generated card is powered by ChoreOps sensors/buttons
  • You can keep generated layouts as-is, or customize heavily
  • You can copy any card from a generated view and paste it elsewhere in Home Assistant

Most cards are designed to adapt by assignee context (kid/profile name/slug), so reuse is straightforward.


What powers dynamic cards

Generated cards read from runtime entities and helper attributes, including:

  • Dashboard helper sensor per assignee
  • Chore/reward/badge sensors
  • Button entities for claim/redeem/approve/disapprove actions

Because data is entity-driven, you can remix cards into other dashboards, tabs, or conditional sections without changing backend logic.

For contracts and troubleshooting, see Technical: Dashboard generation.

Localization choice for custom dashboards

Generated templates use a translation sensor to render localized dashboard terms across languages.

  • If you want multi-language behavior, keep using translation-sensor-based labels
  • If your custom dashboard is single-language only, you can hardcode your own strings and wording

Hardcoded labels are valid for personal layouts, but they will not auto-localize if users/languages change later.


High-value customization patterns

1) Copy/paste cards into other views

Use generated cards as reusable modules:

  • Copy a chore card from generated view A
  • Paste into a family overview, room-specific page, or parent dashboard
  • Keep entity references aligned with the target assignee/profile

2) Split chores by label with minimal effort

A common pattern is creating multiple chore cards by label.

Example approach:

  • Duplicate a chore card block
  • Set one to show label group A
  • Set the second to show label group B

This is typically controlled through card preference/options (pref_* style settings in template-driven cards) plus label filters.

3) Duplicate rewards sections by use case

You can duplicate reward cards for different categories (for example: daily treats vs long-term rewards) using the same dynamic data source and different filters/sort preferences.

4) Reorder and regroup without changing backend

You can reorganize sections (chores, rewards, badges, stats) freely in Lovelace while preserving all generator-backed behavior.


Important: overwrite and rebuild behavior

Generator updates/rebuilds can overwrite generated dashboard content.

  • If you do heavy custom card edits directly in generated dashboards, treat them as changes you may need to reapply after rebuild
  • For long-lived custom layouts, consider cloning generated blocks into your own custom dashboard and managing that separately

Warning

Card-level preference/filter tweaks (including pref_* options) are convenient, but can be reset by generator overwrite/rebuild operations.


Legacy template knowledge still helps

Many practical card-level tuning ideas from the legacy dashboard project are still relevant (especially around preference options and filters), because generated dashboards are still entity-driven and template-friendly.

Use legacy docs as optional inspiration, while treating ChoreOps generator docs as the source of truth for current flows.


Troubleshooting quick checks

Before card-level dashboard troubleshooting, run the integration preflight checks first: Technical: Dashboard generation → Preflight: confirm integration operations

Card shows placeholder or error text

  • Verify required frontend cards are installed
  • Confirm target entities exist in Developer Tools
  • Run dashboard update from generator

Card copied to another view shows no data

  • Verify assignee/profile entity references
  • Verify label/filter options match real data labels

Custom sorting/filtering disappeared

  • Likely generator overwrite/rebuild replaced generated sections
  • Reapply customizations or move custom cards to a separate custom-maintained dashboard

Related docs


Last Updated: February 2026

Clone this wiki locally