-
Notifications
You must be signed in to change notification settings - Fork 0
Penalties
The Penalties card lets parents apply named point deductions to children for unwanted behaviour — consistently and in one tap.
Unlike the remove_points service which requires entering an amount each time, penalties are named reusable definitions (e.g. "Not going to bed — 10 Stars") that can be applied instantly without guessing an amount.
type: custom:taskmate-penalties-card
entity: sensor.taskmate_overview
title: PenaltiesConfig options:
| Option | Default | Description |
|---|---|---|
entity |
required | sensor.taskmate_overview |
title |
Penalties |
Card header title |
- If there are multiple children, tap the child's name tab at the top to select who to apply the penalty to
- Each penalty row shows its icon, name, description, and point cost
- Tap Apply — points are deducted immediately and a toast confirms the action
- The bottom of the card shows which child is currently selected
Penalties respect
assigned_to— if a penalty is assigned to specific children, it only appears for those children's tabs.
Tap the pencil icon (top right) to enter edit mode:
- Add — tap New Penalty to open an inline form with name, points, description, and icon fields
- Edit — tap the edit icon on any penalty row to edit it inline
- Delete — tap the trash icon to remove a penalty definition
Changes are saved to the integration immediately — no separate save step.
| Field | Required | Default | Description |
|---|---|---|---|
name |
Yes | — | Display name shown on the card |
points |
Yes | — | Points to deduct when applied |
description |
No | — | Optional explanation shown below the name |
icon |
No | mdi:alert-circle-outline |
MDI icon slug |
assigned_to |
No | All children | List of child IDs — leave empty to show for all children |
Penalties can also be managed and applied from automations, scripts, or Developer Tools.
Create a new penalty definition.
| Parameter | Required | Description |
|---|---|---|
name |
Yes | Display name |
points |
Yes | Points to deduct when applied |
description |
No | Optional explanation |
icon |
No | MDI icon slug (e.g. mdi:bed-clock) |
service: taskmate.add_penalty
data:
name: "Not going to bed"
points: 10
description: "Refused bedtime after two warnings"
icon: mdi:bed-clockUpdate an existing penalty. Only provided fields are changed.
| Parameter | Required | Description |
|---|---|---|
penalty_id |
Yes | ID of the penalty to update |
name |
No | New name |
points |
No | New point value |
description |
No | New description |
icon |
No | New MDI icon |
service: taskmate.update_penalty
data:
penalty_id: abc12345
points: 15Delete a penalty definition.
| Parameter | Required | Description |
|---|---|---|
penalty_id |
Yes | ID of the penalty to delete |
service: taskmate.remove_penalty
data:
penalty_id: abc12345Apply a penalty to a child. Points are deducted immediately and logged in the activity feed.
| Parameter | Required | Description |
|---|---|---|
penalty_id |
Yes | ID of the penalty to apply |
child_id |
Yes | ID of the child to deduct from |
service: taskmate.apply_penalty
data:
penalty_id: abc12345
child_id: a8c8376aPenalty IDs are in sensor.taskmate_overview under the penalties attribute:
- Go to Developer Tools → States
- Find
sensor.taskmate_overview - Expand the attributes and look for
penalties - Each entry has an
idfield — 8-character alphanumeric string
Every penalty application appears in the Activity Card with:
- Icon: red shield
- Label: Penalty name
-
Points: shown as a negative value (e.g.
−10)
Apply a penalty automatically — for example when a motion sensor triggers after bedtime:
automation:
trigger:
platform: state
entity_id: binary_sensor.bedroom_door
to: "on"
condition:
condition: time
after: "21:00:00"
action:
service: taskmate.apply_penalty
data:
penalty_id: abc12345
child_id: a8c8376a- Keep penalties consistent — named penalties mean the same behaviour always costs the same, which feels fairer to kids
- Use descriptions — add context like "After three warnings" so there's no ambiguity about when the penalty applies
-
Use
assigned_to— if you have children of different ages, assign age-appropriate penalties to specific children rather than showing all penalties for all children