SYMBOL INDEX (427 symbols across 14 files) FILE: custom_components/kidschores/__init__.py function async_setup_entry (line 35) | async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> ... function async_unload_entry (line 78) | async def async_unload_entry(hass, entry): function async_remove_entry (line 100) | async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) ->... FILE: custom_components/kidschores/button.py function async_setup_entry (line 55) | async def async_setup_entry( class ClaimChoreButton (line 222) | class ClaimChoreButton(CoordinatorEntity, ButtonEntity): method __init__ (line 228) | def __init__( method async_press (line 254) | async def async_press(self): method extra_state_attributes (line 297) | def extra_state_attributes(self): class ApproveChoreButton (line 312) | class ApproveChoreButton(CoordinatorEntity, ButtonEntity): method __init__ (line 318) | def __init__( method async_press (line 344) | async def async_press(self): method extra_state_attributes (line 386) | def extra_state_attributes(self): class DisapproveChoreButton (line 401) | class DisapproveChoreButton(CoordinatorEntity, ButtonEntity): method __init__ (line 407) | def __init__( method async_press (line 434) | async def async_press(self): method extra_state_attributes (line 490) | def extra_state_attributes(self): class RewardButton (line 506) | class RewardButton(CoordinatorEntity, ButtonEntity): method __init__ (line 512) | def __init__( method async_press (line 539) | async def async_press(self): method extra_state_attributes (line 582) | def extra_state_attributes(self): class ApproveRewardButton (line 597) | class ApproveRewardButton(CoordinatorEntity, ButtonEntity): method __init__ (line 606) | def __init__( method async_press (line 632) | async def async_press(self): method extra_state_attributes (line 691) | def extra_state_attributes(self): class DisapproveRewardButton (line 706) | class DisapproveRewardButton(CoordinatorEntity, ButtonEntity): method __init__ (line 712) | def __init__( method async_press (line 739) | async def async_press(self): method extra_state_attributes (line 795) | def extra_state_attributes(self): class PenaltyButton (line 811) | class PenaltyButton(CoordinatorEntity, ButtonEntity): method __init__ (line 820) | def __init__( method async_press (line 848) | async def async_press(self): method extra_state_attributes (line 891) | def extra_state_attributes(self): class PointsAdjustButton (line 907) | class PointsAdjustButton(CoordinatorEntity, ButtonEntity): method __init__ (line 917) | def __init__( method async_press (line 957) | async def async_press(self): class BonusButton (line 998) | class BonusButton(CoordinatorEntity, ButtonEntity): method __init__ (line 1007) | def __init__( method async_press (line 1034) | async def async_press(self): method extra_state_attributes (line 1077) | def extra_state_attributes(self): FILE: custom_components/kidschores/calendar.py function async_setup_entry (line 29) | async def async_setup_entry( class KidsChoresCalendarEntity (line 46) | class KidsChoresCalendarEntity(CalendarEntity): method __init__ (line 49) | def __init__(self, coordinator, kid_id: str, kid_name: str, config_ent... method async_get_events (line 59) | async def async_get_events( method _generate_events_for_chore (line 89) | def _generate_events_for_chore( method _generate_events_for_challenge (line 363) | def _generate_events_for_challenge( method event (line 427) | def event(self) -> CalendarEvent | None: method _generate_all_events (line 453) | def _generate_all_events( method extra_state_attributes (line 475) | def extra_state_attributes(self): FILE: custom_components/kidschores/config_flow.py class KidsChoresConfigFlow (line 60) | class KidsChoresConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): method __init__ (line 65) | def __init__(self) -> None: method async_step_user (line 98) | async def async_step_user(self, user_input: Optional[dict[str, Any]] =... method async_step_intro (line 108) | async def async_step_intro(self, user_input=None): method async_step_points_label (line 115) | async def async_step_points_label(self, user_input=None): method async_step_kid_count (line 139) | async def async_step_kid_count(self, user_input=None): method async_step_kids (line 159) | async def async_step_kids(self, user_input=None): method async_step_parent_count (line 215) | async def async_step_parent_count(self, user_input=None): method async_step_parents (line 235) | async def async_step_parents(self, user_input=None): method async_step_chore_count (line 302) | async def async_step_chore_count(self, user_input=None): method async_step_chores (line 322) | async def async_step_chores(self, user_input=None): method async_step_badge_count (line 422) | async def async_step_badge_count(self, user_input=None): method async_step_badges (line 442) | async def async_step_badges(self, user_input=None): method async_step_reward_count (line 485) | async def async_step_reward_count(self, user_input=None): method async_step_rewards (line 505) | async def async_step_rewards(self, user_input=None): method async_step_penalty_count (line 546) | async def async_step_penalty_count(self, user_input=None): method async_step_penalties (line 566) | async def async_step_penalties(self, user_input=None): method async_step_bonus_count (line 608) | async def async_step_bonus_count(self, user_input=None): method async_step_bonuses (line 628) | async def async_step_bonuses(self, user_input=None): method async_step_achievement_count (line 670) | async def async_step_achievement_count(self, user_input=None): method async_step_achievements (line 691) | async def async_step_achievements(self, user_input=None): method async_step_challenge_count (line 753) | async def async_step_challenge_count(self, user_input=None): method async_step_challenges (line 774) | async def async_step_challenges(self, user_input=None): method async_step_finish (line 870) | async def async_step_finish(self, user_input=None): method _create_entry (line 910) | def _create_entry(self): method async_get_options_flow (line 936) | def async_get_options_flow(config_entry): FILE: custom_components/kidschores/coordinator.py class KidsChoresDataCoordinator (line 112) | class KidsChoresDataCoordinator(DataUpdateCoordinator): method __init__ (line 118) | def __init__( method _migrate_datetime (line 139) | def _migrate_datetime(self, dt_str: str) -> str: method _migrate_stored_datetimes (line 162) | def _migrate_stored_datetimes(self): method _migrate_chore_data (line 196) | def _migrate_chore_data(self): method _normalize_kid_lists (line 218) | def _normalize_kid_lists(self, kid_info: dict[str, Any]) -> None: method _async_update_data (line 233) | async def _async_update_data(self): method async_config_entry_first_refresh (line 246) | async def async_config_entry_first_refresh(self): method _initialize_data_from_config (line 297) | def _initialize_data_from_config(self): method _ensure_minimal_structure (line 329) | def _ensure_minimal_structure(self): method _initialize_kids (line 352) | def _initialize_kids(self, kids_dict: dict[str, Any]): method _initialize_parents (line 355) | def _initialize_parents(self, parents_dict: dict[str, Any]): method _initialize_chores (line 360) | def _initialize_chores(self, chores_dict: dict[str, Any]): method _initialize_badges (line 365) | def _initialize_badges(self, badges_dict: dict[str, Any]): method _initialize_rewards (line 370) | def _initialize_rewards(self, rewards_dict: dict[str, Any]): method _initialize_penalties (line 375) | def _initialize_penalties(self, penalties_dict: dict[str, Any]): method _initialize_achievements (line 380) | def _initialize_achievements(self, achievements_dict: dict[str, Any]): method _initialize_challenges (line 388) | def _initialize_challenges(self, challenges_dict: dict[str, Any]): method _initialize_bonuses (line 396) | def _initialize_bonuses(self, bonuses_dict: dict[str, Any]): method _sync_entities (line 401) | def _sync_entities( method _cleanup_all_links (line 452) | def _cleanup_all_links(self) -> None: method _remove_entities_in_ha (line 459) | def _remove_entities_in_ha(self, section: str, item_id: str): method _remove_orphaned_shared_chore_sensors (line 471) | async def _remove_orphaned_shared_chore_sensors(self): method _remove_orphaned_achievement_entities (line 491) | async def _remove_orphaned_achievement_entities(self) -> None: method _remove_orphaned_challenge_entities (line 520) | async def _remove_orphaned_challenge_entities(self) -> None: method _remove_kid_chore_entities (line 547) | def _remove_kid_chore_entities(self, kid_id: str, chore_id: str) -> None: method _cleanup_chore_from_kid (line 562) | def _cleanup_chore_from_kid(self, kid_id: str, chore_id: str) -> None: method _cleanup_pending_chore_approvals (line 601) | def _cleanup_pending_chore_approvals(self) -> None: method _cleanup_pending_reward_approvals (line 610) | def _cleanup_pending_reward_approvals(self) -> None: method _cleanup_deleted_kid_references (line 619) | def _cleanup_deleted_kid_references(self) -> None: method _cleanup_deleted_chore_references (line 659) | def _cleanup_deleted_chore_references(self) -> None: method _cleanup_parent_assignments (line 689) | def _cleanup_parent_assignments(self) -> None: method _cleanup_deleted_chore_in_achievements (line 703) | def _cleanup_deleted_chore_in_achievements(self) -> None: method _cleanup_deleted_chore_in_challenges (line 715) | def _cleanup_deleted_chore_in_challenges(self) -> None: method _create_kid (line 732) | def _create_kid(self, kid_id: str, kid_data: dict[str, Any]): method _update_kid (line 778) | def _update_kid(self, kid_id: str, kid_data: dict[str, Any]): method _create_parent (line 823) | def _create_parent(self, parent_id: str, parent_data: dict[str, Any]): method _update_parent (line 852) | def _update_parent(self, parent_id: str, parent_data: dict[str, Any]): method _create_chore (line 885) | def _create_chore(self, chore_id: str, chore_data: dict[str, Any]): method _update_chore (line 974) | def _update_chore(self, chore_id: str, chore_data: dict[str, Any]): method _create_badge (line 1056) | def _create_badge(self, badge_id: str, badge_data: dict[str, Any]): method _update_badge (line 1081) | def _update_badge(self, badge_id: str, badge_data: dict[str, Any]): method _create_reward (line 1112) | def _create_reward(self, reward_id: str, reward_data: dict[str, Any]): method _update_reward (line 1127) | def _update_reward(self, reward_id: str, reward_data: dict[str, Any]): method _create_penalty (line 1141) | def _create_penalty(self, penalty_id: str, penalty_data: dict[str, Any]): method _update_penalty (line 1156) | def _update_penalty(self, penalty_id: str, penalty_data: dict[str, Any]): method _create_bonus (line 1172) | def _create_bonus(self, bonus_id: str, bonus_data: dict[str, Any]): method _update_bonus (line 1187) | def _update_bonus(self, bonus_id: str, bonus_data: dict[str, Any]): method _create_achievement (line 1201) | def _create_achievement( method _update_achievement (line 1224) | def _update_achievement( method _create_challenge (line 1266) | def _create_challenge(self, challenge_id: str, challenge_data: dict[st... method _update_challenge (line 1293) | def _update_challenge(self, challenge_id: str, challenge_data: dict[st... method kids_data (line 1338) | def kids_data(self) -> dict[str, Any]: method parents_data (line 1343) | def parents_data(self) -> dict[str, Any]: method chores_data (line 1348) | def chores_data(self) -> dict[str, Any]: method badges_data (line 1353) | def badges_data(self) -> dict[str, Any]: method rewards_data (line 1358) | def rewards_data(self) -> dict[str, Any]: method penalties_data (line 1363) | def penalties_data(self) -> dict[str, Any]: method achievements_data (line 1368) | def achievements_data(self) -> dict[str, Any]: method challenges_data (line 1373) | def challenges_data(self) -> dict[str, Any]: method bonuses_data (line 1378) | def bonuses_data(self) -> dict[str, Any]: method add_parent (line 1386) | def add_parent(self, parent_def: dict[str, Any]): method remove_parent (line 1424) | def remove_parent(self, parent_id: str): method claim_chore (line 1439) | def claim_chore(self, kid_id: str, chore_id: str, user_name: str): method approve_chore (line 1515) | def approve_chore( method disapprove_chore (line 1669) | def disapprove_chore(self, parent_name: str, kid_id: str, chore_id: str): method update_chore_state (line 1696) | def update_chore_state(self, chore_id: str, state: str): method _process_chore_state (line 1721) | def _process_chore_state( method update_kid_points (line 1893) | def update_kid_points(self, kid_id: str, new_points: float): method redeem_reward (line 1935) | def redeem_reward(self, parent_name: str, kid_id: str, reward_id: str): method approve_reward (line 1998) | def approve_reward(self, parent_name: str, kid_id: str, reward_id: str): method disapprove_reward (line 2059) | def disapprove_reward(self, parent_name: str, kid_id: str, reward_id: ... method add_badge (line 2095) | def add_badge(self, badge_def: dict[str, Any]): method _check_badges_for_kid (line 2126) | def _check_badges_for_kid(self, kid_id: str): method _award_badge (line 2149) | def _award_badge(self, kid_id: str, badge_id: str): method _update_kid_multiplier (line 2194) | def _update_kid_multiplier(self, kid_id: str): method _recalculate_all_badges (line 2208) | def _recalculate_all_badges(self): method apply_penalty (line 2243) | def apply_penalty(self, parent_name: str, kid_id: str, penalty_id: str): method add_penalty (line 2277) | def add_penalty(self, penalty_def: dict[str, Any]): method apply_bonus (line 2302) | def apply_bonus(self, parent_name: str, kid_id: str, bonus_id: str): method add_bonus (line 2336) | def add_bonus(self, bonus_def: dict[str, Any]): method _check_achievements_for_kid (line 2360) | def _check_achievements_for_kid(self, kid_id: str): method _award_achievement (line 2427) | def _award_achievement(self, kid_id: str, achievement_id: str): method _check_challenges_for_kid (line 2491) | def _check_challenges_for_kid(self, kid_id: str): method _award_challenge (line 2554) | def _award_challenge(self, kid_id: str, challenge_id: str): method _update_streak_progress (line 2602) | def _update_streak_progress(self, progress: dict, today: datetime.date): method _update_chore_streak_for_kid (line 2624) | def _update_chore_streak_for_kid( method _update_overall_chore_streak (line 2660) | def _update_overall_chore_streak(self, kid_id: str, completion_date: d... method _check_overdue_chores (line 2684) | async def _check_overdue_chores(self): method _reset_all_chore_counts (line 2851) | async def _reset_all_chore_counts(self, now: datetime): method _handle_recurring_chore_resets (line 2860) | async def _handle_recurring_chore_resets(self, now: datetime): method _reset_chore_counts (line 2879) | async def _reset_chore_counts(self, frequency: str, now: datetime): method _reschedule_recurring_chores (line 2901) | async def _reschedule_recurring_chores(self, now: datetime): method _reset_daily_chore_statuses (line 2940) | async def _reset_daily_chore_statuses(self, target_freqs: list[str]): method _reset_daily_reward_statuses (line 2997) | async def _reset_daily_reward_statuses(self): method _reschedule_next_due_date (line 3018) | def _reschedule_next_due_date(self, chore_info: dict[str, Any]): method _add_months (line 3132) | def _add_months(self, dt_in: datetime, months: int) -> datetime: method set_chore_due_date (line 3144) | def set_chore_due_date(self, chore_id: str, due_date: Optional[datetim... method skip_chore_due_date (line 3197) | def skip_chore_due_date(self, chore_id: str) -> None: method reset_overdue_chores (line 3219) | def reset_overdue_chores( method reset_penalties (line 3262) | def reset_penalties( method reset_bonuses (line 3325) | def reset_bonuses( method reset_rewards (line 3390) | def reset_rewards( method _update_all_chore_due_dates_in_config (line 3492) | async def _update_all_chore_due_dates_in_config(self) -> None: method _update_chore_due_date_in_config (line 3512) | async def _update_chore_due_date_in_config( method send_kc_notification (line 3573) | async def send_kc_notification( method _notify_kid (line 3645) | async def _notify_kid( method _notify_parents (line 3687) | async def _notify_parents( method remind_in_minutes (line 3733) | async def remind_in_minutes( method _persist (line 3846) | def _persist(self): method _get_kid_id_by_name (line 3855) | def _get_kid_id_by_name(self, kid_name: str) -> Optional[str]: method _get_kid_name_by_id (line 3862) | def _get_kid_name_by_id(self, kid_id: str) -> Optional[str]: FILE: custom_components/kidschores/flow_helpers.py function build_points_schema (line 47) | def build_points_schema( function build_kid_schema (line 61) | def build_kid_schema( function build_parent_schema (line 111) | def build_parent_schema( function build_chore_schema (line 175) | def build_chore_schema(kids_dict, default=None): function build_badge_schema (line 297) | def build_badge_schema(default=None): function build_reward_schema (line 349) | def build_reward_schema(default=None): function build_achievement_schema (line 381) | def build_achievement_schema(kids_dict, chores_dict, default=None): function build_challenge_schema (line 476) | def build_challenge_schema(kids_dict, chores_dict, default=None): function build_penalty_schema (line 578) | def build_penalty_schema(default=None): function build_bonus_schema (line 616) | def build_bonus_schema(default=None): function process_penalty_form_input (line 658) | def process_penalty_form_input(user_input: dict) -> dict: function _get_notify_services (line 666) | def _get_notify_services(hass: HomeAssistant) -> list[dict[str, str]]: function ensure_utc_datetime (line 678) | def ensure_utc_datetime(hass: HomeAssistant, dt_value: any) -> str: FILE: custom_components/kidschores/kc_helpers.py function _get_kidschores_coordinator (line 14) | def _get_kidschores_coordinator( function is_user_authorized_for_global_action (line 34) | async def is_user_authorized_for_global_action( function is_user_authorized_for_kid (line 71) | async def is_user_authorized_for_kid( function _get_kid_id_by_name (line 127) | def _get_kid_id_by_name(self, kid_name: str) -> Optional[str]: function _get_kid_name_by_id (line 135) | def _get_kid_name_by_id(self, kid_id: str) -> Optional[str]: function get_friendly_label (line 143) | def get_friendly_label(hass, label_name: str) -> str: FILE: custom_components/kidschores/notification_action_handler.py function async_handle_notification_action (line 20) | async def async_handle_notification_action(hass: HomeAssistant, event: E... FILE: custom_components/kidschores/notification_helper.py function async_send_notification (line 20) | async def async_send_notification( FILE: custom_components/kidschores/options_flow.py function _ensure_str (line 58) | def _ensure_str(value): class KidsChoresOptionsFlowHandler (line 66) | class KidsChoresOptionsFlowHandler(config_entries.OptionsFlow): method __init__ (line 72) | def __init__(self, config_entry: config_entries.ConfigEntry): method async_step_init (line 78) | async def async_step_init(self, user_input=None): method async_step_manage_points (line 126) | async def async_step_manage_points(self, user_input=None): method async_step_manage_entity (line 157) | async def async_step_manage_entity(self, user_input=None): method async_step_select_entity (line 196) | async def async_step_select_entity(self, user_input=None): method _get_entity_dict (line 249) | def _get_entity_dict(self): method async_step_add_kid (line 272) | async def async_step_add_kid(self, user_input=None): method async_step_add_parent (line 321) | async def async_step_add_parent(self, user_input=None): method async_step_add_chore (line 383) | async def async_step_add_chore(self, user_input=None): method async_step_add_badge (line 477) | async def async_step_add_badge(self, user_input=None): method async_step_add_reward (line 514) | async def async_step_add_reward(self, user_input=None): method async_step_add_penalty (line 550) | async def async_step_add_penalty(self, user_input=None): method async_step_add_bonus (line 589) | async def async_step_add_bonus(self, user_input=None): method async_step_add_achievement (line 625) | async def async_step_add_achievement(self, user_input=None): method async_step_add_challenge (line 687) | async def async_step_add_challenge(self, user_input=None): method async_step_edit_kid (line 779) | async def async_step_edit_kid(self, user_input=None): method async_step_edit_parent (line 839) | async def async_step_edit_parent(self, user_input=None): method async_step_edit_chore (line 908) | async def async_step_edit_chore(self, user_input=None): method async_step_edit_badge (line 1039) | async def async_step_edit_badge(self, user_input=None): method async_step_edit_reward (line 1082) | async def async_step_edit_reward(self, user_input=None): method async_step_edit_penalty (line 1123) | async def async_step_edit_penalty(self, user_input=None): method async_step_edit_bonus (line 1170) | async def async_step_edit_bonus(self, user_input=None): method async_step_edit_achievement (line 1215) | async def async_step_edit_achievement(self, user_input=None): method async_step_edit_challenge (line 1282) | async def async_step_edit_challenge(self, user_input=None): method async_step_delete_kid (line 1407) | async def async_step_delete_kid(self, user_input=None): method async_step_delete_parent (line 1435) | async def async_step_delete_parent(self, user_input=None): method async_step_delete_chore (line 1463) | async def async_step_delete_chore(self, user_input=None): method async_step_delete_badge (line 1491) | async def async_step_delete_badge(self, user_input=None): method async_step_delete_reward (line 1519) | async def async_step_delete_reward(self, user_input=None): method async_step_delete_penalty (line 1547) | async def async_step_delete_penalty(self, user_input=None): method async_step_delete_achievement (line 1575) | async def async_step_delete_achievement(self, user_input=None): method async_step_delete_challenge (line 1603) | async def async_step_delete_challenge(self, user_input=None): method async_step_delete_bonus (line 1631) | async def async_step_delete_bonus(self, user_input=None): method _update_and_reload (line 1660) | async def _update_and_reload(self): FILE: custom_components/kidschores/select.py function async_setup_entry (line 22) | async def async_setup_entry( class KidsChoresSelectBase (line 51) | class KidsChoresSelectBase(CoordinatorEntity, SelectEntity): method __init__ (line 57) | def __init__(self, coordinator: KidsChoresDataCoordinator, entry: Conf... method current_option (line 64) | def current_option(self) -> Optional[str]: method async_select_option (line 71) | async def async_select_option(self, option: str) -> None: class ChoresSelect (line 85) | class ChoresSelect(KidsChoresSelectBase): method __init__ (line 91) | def __init__(self, coordinator: KidsChoresDataCoordinator, entry: Conf... method options (line 99) | def options(self) -> list[str]: class RewardsSelect (line 110) | class RewardsSelect(KidsChoresSelectBase): method __init__ (line 116) | def __init__(self, coordinator: KidsChoresDataCoordinator, entry: Conf... method options (line 124) | def options(self) -> list[str]: class PenaltiesSelect (line 135) | class PenaltiesSelect(KidsChoresSelectBase): method __init__ (line 141) | def __init__(self, coordinator: KidsChoresDataCoordinator, entry: Conf... method options (line 149) | def options(self) -> list[str]: class ChoresKidSelect (line 160) | class ChoresKidSelect(KidsChoresSelectBase): method __init__ (line 166) | def __init__( method options (line 178) | def options(self) -> list[str]: class BonusesSelect (line 188) | class BonusesSelect(KidsChoresSelectBase): method __init__ (line 194) | def __init__(self, coordinator: KidsChoresDataCoordinator, entry: Conf... method options (line 202) | def options(self) -> list[str]: FILE: custom_components/kidschores/sensor.py function async_setup_entry (line 141) | async def async_setup_entry( class ChoreStatusSensor (line 371) | class ChoreStatusSensor(CoordinatorEntity, SensorEntity): method __init__ (line 377) | def __init__(self, coordinator, entry, kid_id, kid_name, chore_id, cho... method native_value (line 394) | def native_value(self): method extra_state_attributes (line 410) | def extra_state_attributes(self): method icon (line 475) | def icon(self): class KidPointsSensor (line 482) | class KidPointsSensor(CoordinatorEntity, SensorEntity): method __init__ (line 488) | def __init__(self, coordinator, entry, kid_id, kid_name, points_label,... method native_value (line 505) | def native_value(self): method native_unit_of_measurement (line 511) | def native_unit_of_measurement(self): method icon (line 516) | def icon(self): class KidMaxPointsEverSensor (line 522) | class KidMaxPointsEverSensor(CoordinatorEntity, SensorEntity): method __init__ (line 528) | def __init__(self, coordinator, entry, kid_id, kid_name, points_label,... method native_value (line 542) | def native_value(self): method icon (line 548) | def icon(self): method native_unit_of_measurement (line 553) | def native_unit_of_measurement(self): class CompletedChoresTotalSensor (line 559) | class CompletedChoresTotalSensor(CoordinatorEntity, SensorEntity): method __init__ (line 565) | def __init__(self, coordinator, entry, kid_id, kid_name): method native_value (line 578) | def native_value(self): class CompletedChoresDailySensor (line 585) | class CompletedChoresDailySensor(CoordinatorEntity, SensorEntity): method __init__ (line 591) | def __init__(self, coordinator, entry, kid_id, kid_name): method native_value (line 603) | def native_value(self): class CompletedChoresWeeklySensor (line 610) | class CompletedChoresWeeklySensor(CoordinatorEntity, SensorEntity): method __init__ (line 616) | def __init__(self, coordinator, entry, kid_id, kid_name): method native_value (line 628) | def native_value(self): class CompletedChoresMonthlySensor (line 635) | class CompletedChoresMonthlySensor(CoordinatorEntity, SensorEntity): method __init__ (line 641) | def __init__(self, coordinator, entry, kid_id, kid_name): method native_value (line 653) | def native_value(self): class KidBadgesSensor (line 660) | class KidBadgesSensor(CoordinatorEntity, SensorEntity): method __init__ (line 666) | def __init__(self, coordinator, entry, kid_id, kid_name): method native_value (line 677) | def native_value(self): method extra_state_attributes (line 683) | def extra_state_attributes(self): class KidHighestBadgeSensor (line 690) | class KidHighestBadgeSensor(CoordinatorEntity, SensorEntity): method __init__ (line 696) | def __init__(self, coordinator, entry, kid_id, kid_name): method _find_highest_badge (line 707) | def _find_highest_badge(self): method native_value (line 737) | def native_value(self) -> str: method icon (line 746) | def icon(self): method extra_state_attributes (line 762) | def extra_state_attributes(self): class BadgeSensor (line 810) | class BadgeSensor(CoordinatorEntity, SensorEntity): method __init__ (line 816) | def __init__( method native_value (line 834) | def native_value(self) -> float: method extra_state_attributes (line 840) | def extra_state_attributes(self): method icon (line 872) | def icon(self) -> str: class PendingChoreApprovalsSensor (line 879) | class PendingChoreApprovalsSensor(CoordinatorEntity, SensorEntity): method __init__ (line 885) | def __init__(self, coordinator, entry): method native_value (line 894) | def native_value(self): method extra_state_attributes (line 900) | def extra_state_attributes(self): class PendingRewardApprovalsSensor (line 928) | class PendingRewardApprovalsSensor(CoordinatorEntity, SensorEntity): method __init__ (line 934) | def __init__(self, coordinator, entry): method native_value (line 943) | def native_value(self): method extra_state_attributes (line 949) | def extra_state_attributes(self): class RewardClaimsSensor (line 977) | class RewardClaimsSensor(CoordinatorEntity, SensorEntity): method __init__ (line 983) | def __init__(self, coordinator, entry, kid_id, kid_name, reward_id, re... method native_value (line 999) | def native_value(self): method icon (line 1005) | def icon(self): class RewardApprovalsSensor (line 1012) | class RewardApprovalsSensor(CoordinatorEntity, SensorEntity): method __init__ (line 1018) | def __init__(self, coordinator, entry, kid_id, kid_name, reward_id, re... method native_value (line 1034) | def native_value(self): method icon (line 1040) | def icon(self): class SharedChoreGlobalStateSensor (line 1047) | class SharedChoreGlobalStateSensor(CoordinatorEntity, SensorEntity): method __init__ (line 1053) | def __init__( method native_value (line 1072) | def native_value(self) -> str: method extra_state_attributes (line 1078) | def extra_state_attributes(self) -> dict: method icon (line 1126) | def icon(self) -> str: class RewardStatusSensor (line 1133) | class RewardStatusSensor(CoordinatorEntity, SensorEntity): method __init__ (line 1139) | def __init__( method native_value (line 1164) | def native_value(self) -> str: method extra_state_attributes (line 1174) | def extra_state_attributes(self) -> dict: method icon (line 1201) | def icon(self) -> str: class ChoreClaimsSensor (line 1208) | class ChoreClaimsSensor(CoordinatorEntity, SensorEntity): method __init__ (line 1214) | def __init__(self, coordinator, entry, kid_id, kid_name, chore_id, cho... method native_value (line 1229) | def native_value(self): method icon (line 1235) | def icon(self): class ChoreApprovalsSensor (line 1242) | class ChoreApprovalsSensor(CoordinatorEntity, SensorEntity): method __init__ (line 1248) | def __init__(self, coordinator, entry, kid_id, kid_name, chore_id, cho... method native_value (line 1263) | def native_value(self): method icon (line 1269) | def icon(self): class PenaltyAppliesSensor (line 1276) | class PenaltyAppliesSensor(CoordinatorEntity, SensorEntity): method __init__ (line 1282) | def __init__(self, coordinator, entry, kid_id, kid_name, penalty_id, p... method native_value (line 1297) | def native_value(self): method extra_state_attributes (line 1303) | def extra_state_attributes(self): method icon (line 1321) | def icon(self): class KidPointsEarnedDailySensor (line 1328) | class KidPointsEarnedDailySensor(CoordinatorEntity, SensorEntity): method __init__ (line 1334) | def __init__(self, coordinator, entry, kid_id, kid_name, points_label,... method native_value (line 1348) | def native_value(self): method native_unit_of_measurement (line 1354) | def native_unit_of_measurement(self): method icon (line 1359) | def icon(self): class KidPointsEarnedWeeklySensor (line 1365) | class KidPointsEarnedWeeklySensor(CoordinatorEntity, SensorEntity): method __init__ (line 1371) | def __init__(self, coordinator, entry, kid_id, kid_name, points_label,... method native_value (line 1386) | def native_value(self): method native_unit_of_measurement (line 1392) | def native_unit_of_measurement(self): method icon (line 1397) | def icon(self): class KidPointsEarnedMonthlySensor (line 1403) | class KidPointsEarnedMonthlySensor(CoordinatorEntity, SensorEntity): method __init__ (line 1409) | def __init__(self, coordinator, entry, kid_id, kid_name, points_label,... method native_value (line 1424) | def native_value(self): method native_unit_of_measurement (line 1430) | def native_unit_of_measurement(self): method icon (line 1435) | def icon(self): class AchievementSensor (line 1441) | class AchievementSensor(CoordinatorEntity, SensorEntity): method __init__ (line 1447) | def __init__(self, coordinator, entry, achievement_id, achievement_name): method native_value (line 1461) | def native_value(self): method extra_state_attributes (line 1534) | def extra_state_attributes(self): method icon (line 1592) | def icon(self): class ChallengeSensor (line 1601) | class ChallengeSensor(CoordinatorEntity, SensorEntity): method __init__ (line 1607) | def __init__(self, coordinator, entry, challenge_id, challenge_name): method native_value (line 1621) | def native_value(self): method extra_state_attributes (line 1658) | def extra_state_attributes(self): method icon (line 1720) | def icon(self): class AchievementProgressSensor (line 1727) | class AchievementProgressSensor(CoordinatorEntity, SensorEntity): method __init__ (line 1733) | def __init__( method native_value (line 1760) | def native_value(self) -> float: method extra_state_attributes (line 1809) | def extra_state_attributes(self) -> dict: method icon (line 1872) | def icon(self) -> str: class ChallengeProgressSensor (line 1882) | class ChallengeProgressSensor(CoordinatorEntity, SensorEntity): method __init__ (line 1888) | def __init__( method native_value (line 1915) | def native_value(self) -> float: method extra_state_attributes (line 1954) | def extra_state_attributes(self) -> dict: method icon (line 2014) | def icon(self) -> str: class KidHighestStreakSensor (line 2024) | class KidHighestStreakSensor(CoordinatorEntity, SensorEntity): method __init__ (line 2030) | def __init__( method native_value (line 2050) | def native_value(self) -> int: method extra_state_attributes (line 2056) | def extra_state_attributes(self) -> dict: method icon (line 2075) | def icon(self) -> str: class ChoreStreakSensor (line 2081) | class ChoreStreakSensor(CoordinatorEntity, SensorEntity): method __init__ (line 2087) | def __init__( method native_value (line 2112) | def native_value(self) -> int: method extra_state_attributes (line 2120) | def extra_state_attributes(self) -> dict: method icon (line 2143) | def icon(self) -> str: class BonusAppliesSensor (line 2150) | class BonusAppliesSensor(CoordinatorEntity, SensorEntity): method __init__ (line 2156) | def __init__(self, coordinator, entry, kid_id, kid_name, bonus_id, bon... method native_value (line 2171) | def native_value(self): method extra_state_attributes (line 2177) | def extra_state_attributes(self): method icon (line 2195) | def icon(self): FILE: custom_components/kidschores/services.py function async_setup_services (line 172) | def async_setup_services(hass: HomeAssistant): function async_unload_services (line 1061) | async def async_unload_services(hass: HomeAssistant): function _get_first_kidschores_entry (line 1089) | def _get_first_kidschores_entry(hass: HomeAssistant) -> Optional[str]: function _get_kid_id_by_name (line 1097) | def _get_kid_id_by_name( function _get_chore_id_by_name (line 1107) | def _get_chore_id_by_name( function _get_reward_id_by_name (line 1117) | def _get_reward_id_by_name( function _get_penalty_id_by_name (line 1127) | def _get_penalty_id_by_name( function _get_bonus_id_by_name (line 1137) | def _get_bonus_id_by_name( FILE: custom_components/kidschores/storage_manager.py class KidsChoresStorageManager (line 30) | class KidsChoresStorageManager: method __init__ (line 36) | def __init__(self, hass, storage_key=STORAGE_KEY): method async_initialize (line 49) | async def async_initialize(self): method data (line 79) | def data(self): method get_data (line 83) | def get_data(self): method set_data (line 87) | def set_data(self, new_data: dict): method get_kids (line 91) | def get_kids(self): method get_parents (line 95) | def get_parents(self): method get_chores (line 99) | def get_chores(self): method get_badges (line 103) | def get_badges(self): method get_rewards (line 107) | def get_rewards(self): method get_penalties (line 111) | def get_penalties(self): method get_bonuses (line 115) | def get_bonuses(self): method get_achievements (line 119) | def get_achievements(self): method get_challenges (line 123) | def get_challenges(self): method get_pending_chore_approvals (line 127) | def get_pending_chore_approvals(self): method get_pending_reward_aprovals (line 131) | def get_pending_reward_aprovals(self): method link_user_to_kid (line 135) | async def link_user_to_kid(self, user_id, kid_id): method unlink_user (line 143) | async def unlink_user(self, user_id): method get_linked_kids (line 150) | async def get_linked_kids(self): method async_save (line 155) | async def async_save(self): method async_clear_data (line 163) | async def async_clear_data(self): method async_delete_storage (line 182) | async def async_delete_storage(self) -> None: method async_update_data (line 198) | async def async_update_data(self, key, value):