- Created `chores_config.yaml` for defining kids, chores, and settings. - Implemented `generate.py` to generate ESPHome, Home Assistant, and Lovelace dashboard configurations based on the YAML file. - Added `chore-tracker-ha.yaml` for Home Assistant integration, including sensors and automation for tracking chores and notifications.
134 lines
4.5 KiB
YAML
134 lines
4.5 KiB
YAML
################################################################################
|
|
# chore-tracker-dashboard.yaml (AUTO-GENERATED — edit chores_config.yaml)
|
|
# Kids: Jordyn, Declan, Chloe
|
|
################################################################################
|
|
|
|
title: "Chore Tracker"
|
|
views:
|
|
- title: Today
|
|
icon: mdi:checkbox-marked-circle
|
|
path: chores
|
|
cards:
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: markdown
|
|
content: >
|
|
### 😺 Jordyn
|
|
{{
|
|
'✅ All done!' if states('sensor.jordyn_all_chores_done') == 'True'
|
|
else states('sensor.jordyn_chores_done_today') ~ '/5 chores done'
|
|
}}
|
|
|
|
- type: markdown
|
|
content: >
|
|
### 🤓 Declan
|
|
{{
|
|
'✅ All done!' if states('sensor.declan_all_chores_done') == 'True'
|
|
else states('sensor.declan_chores_done_today') ~ '/4 chores done'
|
|
}}
|
|
|
|
- type: markdown
|
|
content: >
|
|
### 🌝 Chloe
|
|
{{
|
|
'✅ All done!' if states('sensor.chloe_all_chores_done') == 'True'
|
|
else states('sensor.chloe_chores_done_today') ~ '/6 chores done'
|
|
}}
|
|
|
|
- type: button
|
|
name: "↺ Reset ALL Chores"
|
|
icon: mdi:restart-alert
|
|
tap_action:
|
|
action: call-service
|
|
service: input_button.press
|
|
target:
|
|
entity_id: input_button.reset_all_chores
|
|
- type: entities
|
|
title: "😺 Jordyn's Chores"
|
|
entities:
|
|
- entity: switch.chore_tracker_jordyn_make_bed
|
|
name: "🛏️ Make Bed"
|
|
|
|
- entity: switch.chore_tracker_jordyn_brush_teeth
|
|
name: "🦷 Brush Teeth"
|
|
|
|
- entity: switch.chore_tracker_jordyn_tidy_room
|
|
name: "🧹 Tidy Room"
|
|
|
|
- entity: switch.chore_tracker_jordyn_homework
|
|
name: "📚 Homework"
|
|
|
|
- entity: switch.chore_tracker_jordyn_feed_dog
|
|
name: "🐾 Feed Dog"
|
|
- type: divider
|
|
- entity: sensor.jordyn_chores_done_today
|
|
name: "Chores done today"
|
|
- entity: sensor.jordyn_all_chores_done
|
|
name: "✅ All Done?"
|
|
- type: button
|
|
name: "↺ Reset Jordyn's Chores"
|
|
tap_action:
|
|
action: call-service
|
|
service: input_button.press
|
|
target:
|
|
entity_id: input_button.jordyn_reset_chores
|
|
- type: entities
|
|
title: "🤓 Declan's Chores"
|
|
entities:
|
|
- entity: switch.chore_tracker_declan_make_bed
|
|
name: "🛏️ Make Bed"
|
|
|
|
- entity: switch.chore_tracker_declan_brush_teeth
|
|
name: "🦷 Brush Teeth"
|
|
|
|
- entity: switch.chore_tracker_declan_set_table
|
|
name: "🍽️ Set Table"
|
|
|
|
- entity: switch.chore_tracker_declan_take_out_trash
|
|
name: "🗑️ Take Out Trash"
|
|
- type: divider
|
|
- entity: sensor.declan_chores_done_today
|
|
name: "Chores done today"
|
|
- entity: sensor.declan_all_chores_done
|
|
name: "✅ All Done?"
|
|
- type: button
|
|
name: "↺ Reset Declan's Chores"
|
|
tap_action:
|
|
action: call-service
|
|
service: input_button.press
|
|
target:
|
|
entity_id: input_button.declan_reset_chores
|
|
- type: entities
|
|
title: "🌝 Chloe's Chores"
|
|
entities:
|
|
- entity: switch.chore_tracker_chloe_make_bed
|
|
name: "🛏️ Make Bed"
|
|
|
|
- entity: switch.chore_tracker_chloe_brush_teeth
|
|
name: "🦷 Brush Teeth"
|
|
|
|
- entity: switch.chore_tracker_chloe_water_plants
|
|
name: "🌱 Water Plants"
|
|
|
|
- entity: switch.chore_tracker_chloe_homework
|
|
name: "📚 Homework"
|
|
|
|
- entity: switch.chore_tracker_chloe_tidy_room
|
|
name: "🧹 Tidy Room"
|
|
|
|
- entity: switch.chore_tracker_chloe_practice_piano
|
|
name: "🎹 Practice Piano"
|
|
- type: divider
|
|
- entity: sensor.chloe_chores_done_today
|
|
name: "Chores done today"
|
|
- entity: sensor.chloe_all_chores_done
|
|
name: "✅ All Done?"
|
|
- type: button
|
|
name: "↺ Reset Chloe's Chores"
|
|
tap_action:
|
|
action: call-service
|
|
service: input_button.press
|
|
target:
|
|
entity_id: input_button.chloe_reset_chores
|
|
|