Chore Wheel Card

A Home Assistant Lovelace custom card that spins a carnival-style wheel to pick who does chores. Each option appears twice on opposite sides to keep things playful and unpredictable.

Install

  1. Build the card:
npm install
npm run build
  1. Copy dist/chore-wheel-card.js to your Home Assistant www/ folder.

  2. Add a resource in Lovelace:

url: /local/chore-wheel-card.js
type: module

Usage

type: custom:chore-wheel-card
title: Chore Wheel
options:
  - Felix
  - Jenny
  - label: Felix
    rewardLabel: Gets a reward
  - label: Jenny
    rewardLabel: Gets a reward

Configuration

Name Type Default Description
title string - Optional card title
options array - List of options (string or object)
repeat_mode string mirror Duplicates options to opposite sides
spin object { min_rotations: 4, max_rotations: 7, duration_ms: [3500, 5500] } Spin behavior
reward_effects object { enabled: true, confetti: true, shimmer: true, sound: false } Reward animations
backend object - Optional Home Assistant service/entity hook
style object - Optional visual overrides

Option object

- label: Felix
  rewardLabel: Gets a reward
  color: "#F5B041"
  textColor: "#2B201C"

If `textColor` is omitted, the card will auto-pick a readable light/dark color based on the slice color.

Backend hook (optional)

backend:
  service: input_text.set_value
  service_data:
    entity_id: input_text.chore_winner

The card will set value to a JSON string containing the label, optional reward label, and timestamp.

Development

npm run dev

Load dist/chore-wheel-card.js as a resource and refresh Lovelace.

Description
Chore Wheel card for home assistant
Readme 56 KiB
Languages
TypeScript 97.6%
JavaScript 2.4%