-
-
Notifications
You must be signed in to change notification settings - Fork 34
Technical: Badge Entities
Class: KidBadgesSensor
Entity ID: sensor.kc_[kid_name]_badges
Created For: Every Kid (if Gamification is enabled).
This is the primary status display for the kid's Cumulative (Leveling) progression. It does not track periodic missions; it tracks their current "Tier".
-
State Value:
String- Display: The name of the Highest Earned Cumulative Badge (e.g., "Gold Tier").
- Fallback: Returns "None" if no cumulative badges have been earned.
- Icon: Dynamically changes to the icon of the highest earned badge (or a default trophy).
-
Primary Attributes (Status & Progression):
-
points_to_next_badge: (Float) Points required to reach the next tier. -
next_higher_badge_name: (String) The name of the next goal (e.g., "Platinum"). -
badge_status: (String) Critical for logic:-
active: Healthy state. -
grace: Missed maintenance, currently in grace period. -
demoted: Failed grace period, currently dropped to lower tier.
-
-
current_badge_name: (String) The badge currently in effect (usually same as state, but may differ during demotion logic).
-
-
Maintenance Attributes (The "Keep It" Mechanics):
-
baseline_points: (Float) Points "locked in" from previous levels. -
cycle_points: (Float) Points earned in the current maintenance window. -
maintenance_points_required: (Int) Target points needed this cycle to avoid grace/demotion. -
maintenance_points_remaining: (Float)required - cycle. -
maintenance_end_date: (Date) When the current cycle ends. -
maintenance_grace_end_date: (Date) When the grace period expires (if active).
-
-
History Attributes:
-
all_earned_badges: (List) Names of all cumulative badges passed to get here. -
last_awarded_date: (Date) When the current rank was achieved. -
award_count: (Int) How many times this rank was achieved/maintained.
-
Class: KidBadgeProgressSensor
Entity ID: sensor.kc_[kid_name]_badge_progress_[badge_name]
Created For: A specific Kid + A specific Non-Cumulative Badge (Daily, Periodic, Special Occasion, Linked).
These are "Progress Bars" for active quests. A kid will have one of these entities for every active Periodic/Daily badge assigned to them.
-
State Value:
Float(0.0 - 100.0)- Display: Percentage of completion toward the goal.
-
Unit:
% -
State Class:
measurement(Graphable history).
-
Primary Attributes:
-
status: (String)active,inactive, orcompleted. -
criteria_met: (Boolean)trueif the target (points/count) has been hit for this cycle. -
raw_progress: (Float) The actual count (e.g., "3" chores done out of 5 required). -
threshold_value: (Float) The target number (e.g., "5").
-
-
Scope & Context:
-
badge_type: (String) e.g.,daily,periodic. -
target_type: (String) What is being measured? (points,chores,streak, etc.). -
tracked_chores: (List) Friendly names of the specific chores that count toward this badge (if filtered). -
recurring_frequency: (String) When this progress bar will reset (e.g.,weekly). -
start_date/end_date: (Date) The active window for this specific cycle.
-
-
History:
-
last_awarded: (Date) When this was last completed 100%. -
award_count: (Int) Total times earned.
-
Class: SystemBadgeSensor
Entity ID: sensor.kc_[badge_name]_badge
Created For: Every Badge defined in the system.
This represents the Badge definition itself, serving as a global lookup for badge metadata and aggregate stats.
-
State Value:
Int- Display: Count of Kids who have earned this badge.
-
Unit:
Kids.
-
Configuration Attributes:
-
badge_type: (String) The specific engine used (cumulative,daily, etc.). -
target: (Dict) The rules (type, threshold). -
reset_schedule: (Dict) Frequency, custom intervals. -
required_chores: (List) Names of chores if filtered. -
badge_awards: (List) Formatted strings describing the loot (e.g.,["Points: 50", "Reward: Ice Cream"]).
-
-
Assignment Attributes:
-
kids_assigned: (List) Names of kids eligible for this badge. -
kids_earned: (List) Names of kids currently holding it.
-
-
Links:
-
associated_achievement: (ID) If linked to an Achievement. -
associated_challenge: (ID) If linked to a Challenge.
-
-
Dashboard "Level" Card:
- Uses KidBadgesSensor.
- Displays State (Current Rank).
- Uses
points_to_next_badgeto show a "Next Level" progress bar. - Uses
maintenance_points_remainingto show a "Don't Derank" warning.
-
Dashboard "Quests" List:
- Iterates through all KidBadgeProgressSensor entities.
- Filters by
status: active. - Shows the Name and the State (Percentage Bar).
- Uses
tracked_choresto show a tooltip of "What do I need to do?".
-
Notifications:
- Triggered by state changes in these sensors (internally in coordinator).
- Uses
badge_awardsdata to populate the notification message ("You earned 50 points and Ice Cream!").
π Getting Started
βοΈ Configuration
- Kids & Parents
- Chores
- Chores - Advanced
- Rewards
- Points System
- Badges - Cumulative
- Badges - Periodic
- Notifications
π§ Services & Examples
π Advanced Topics
- Dashboard Integration
- Access Control
- Badge Gamification
- Badge Cumulative - Advanced
- Badge Periodic - Advanced
π Technical Reference
π©βπ§ Troubleshooting