From 9c90ce472ff45bb4117cf9fd5272eb3d78aecaad Mon Sep 17 00:00:00 2001 From: paradizelost Date: Tue, 17 Sep 2024 17:01:09 -0500 Subject: [PATCH] Upload files to "homeassistant_chores" --- homeassistant_chores/automation.yaml | 935 +++++++++++++++++++++++++++ homeassistant_chores/chorelist.txt | 27 + homeassistant_chores/chores.yaml | 261 ++++++++ homeassistant_chores/genchores.py | 259 ++++++++ homeassistant_chores/scripts.yaml | 576 +++++++++++++++++ 5 files changed, 2058 insertions(+) create mode 100644 homeassistant_chores/automation.yaml create mode 100644 homeassistant_chores/chorelist.txt create mode 100644 homeassistant_chores/chores.yaml create mode 100644 homeassistant_chores/genchores.py create mode 100644 homeassistant_chores/scripts.yaml diff --git a/homeassistant_chores/automation.yaml b/homeassistant_chores/automation.yaml new file mode 100644 index 0000000..b07ab2e --- /dev/null +++ b/homeassistant_chores/automation.yaml @@ -0,0 +1,935 @@ + + +- alias: chore_charley_make_bed + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_make_bed + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_make_bed_completed_today + state: "off" + action: + - action: script.chore_charley_make_bed + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_make_bed_completed_today + mode: single + +- alias: chore_henry_make_bed + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_make_bed + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_make_bed_completed_today + state: "off" + action: + - action: script.chore_henry_make_bed + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_make_bed_completed_today + mode: single + + + +- alias: chore_henry_load_dishwasher + trigger: + - platform: state + entity_id: input_boolean.chore_henry_load_dishwasher + to: "on" + condition: + - condition: state + entity_id: input_boolean.chore_henry_load_dishwasher_completed_today + state: "off" + action: + - action: script.chore_henry_load_dishwasher + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_load_dishwasher_completed_today + mode: single + + + +- alias: chore_henry_unload_dishwasher + trigger: + - platform: state + entity_id: input_boolean.chore_henry_unload_dishwasher + to: "on" + condition: + - condition: state + entity_id: input_boolean.chore_henry_unload_dishwasher_completed_today + state: "off" + action: + - action: script.chore_henry_unload_dishwasher + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_unload_dishwasher_completed_today + mode: single + + + +- alias: chore_henry_backpack_ready + trigger: + - platform: state + entity_id: input_boolean.chore_henry_backpack_ready + to: "on" + condition: + - condition: state + entity_id: input_boolean.chore_henry_backpack_ready_completed_today + state: "off" + action: + - action: script.chore_henry_backpack_ready + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_backpack_ready_completed_today + mode: single + + + +- alias: chore_henry_practice_piano + trigger: + - platform: state + entity_id: input_boolean.chore_henry_practice_piano + to: "on" + condition: + - condition: state + entity_id: input_boolean.chore_henry_practice_piano_completed_today + state: "off" + action: + - action: script.chore_henry_practice_piano + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_practice_piano_completed_today + mode: single + + + +- alias: chore_henry_read_15_minutes + trigger: + - platform: state + entity_id: input_boolean.chore_henry_read_15_minutes + to: "on" + condition: + - condition: state + entity_id: input_boolean.chore_henry_read_15_minutes_completed_today + state: "off" + action: + - action: script.chore_henry_read_15_minutes + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_read_15_minutes_completed_today + mode: single + + + +- alias: chore_charley_laundry_clothes_in_hamper + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_laundry_clothes_in_hamper + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_laundry_clothes_in_hamper_completed_today + state: "off" + action: + - action: script.chore_charley_laundry_clothes_in_hamper + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_laundry_clothes_in_hamper_completed_today + mode: single + +- alias: chore_henry_laundry_clothes_in_hamper + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_laundry_clothes_in_hamper + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_laundry_clothes_in_hamper_completed_today + state: "off" + action: + - action: script.chore_henry_laundry_clothes_in_hamper + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_laundry_clothes_in_hamper_completed_today + mode: single + + + +- alias: chore_charley_laundry_sort_dirty_clothes + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_laundry_sort_dirty_clothes + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_laundry_sort_dirty_clothes_completed_today + state: "off" + action: + - action: script.chore_charley_laundry_sort_dirty_clothes + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_laundry_sort_dirty_clothes_completed_today + mode: single + +- alias: chore_henry_laundry_sort_dirty_clothes + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_laundry_sort_dirty_clothes + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_laundry_sort_dirty_clothes_completed_today + state: "off" + action: + - action: script.chore_henry_laundry_sort_dirty_clothes + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_laundry_sort_dirty_clothes_completed_today + mode: single + + + +- alias: chore_charley_laundry_start_clothes_washer + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_laundry_start_clothes_washer + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_laundry_start_clothes_washer_completed_today + state: "off" + action: + - action: script.chore_charley_laundry_start_clothes_washer + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_laundry_start_clothes_washer_completed_today + mode: single + +- alias: chore_henry_laundry_start_clothes_washer + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_laundry_start_clothes_washer + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_laundry_start_clothes_washer_completed_today + state: "off" + action: + - action: script.chore_henry_laundry_start_clothes_washer + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_laundry_start_clothes_washer_completed_today + mode: single + + + +- alias: chore_charley_laundry_put_away_clean_clothes + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_laundry_put_away_clean_clothes + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_laundry_put_away_clean_clothes_completed_today + state: "off" + action: + - action: script.chore_charley_laundry_put_away_clean_clothes + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_laundry_put_away_clean_clothes_completed_today + mode: single + +- alias: chore_henry_laundry_put_away_clean_clothes + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_laundry_put_away_clean_clothes + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_laundry_put_away_clean_clothes_completed_today + state: "off" + action: + - action: script.chore_henry_laundry_put_away_clean_clothes + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_laundry_put_away_clean_clothes_completed_today + mode: single + + + +- alias: chore_charley_laundry_fold_socks + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_laundry_fold_socks + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_laundry_fold_socks_completed_today + state: "off" + action: + - action: script.chore_charley_laundry_fold_socks + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_laundry_fold_socks_completed_today + mode: single + +- alias: chore_henry_laundry_fold_socks + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_laundry_fold_socks + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_laundry_fold_socks_completed_today + state: "off" + action: + - action: script.chore_henry_laundry_fold_socks + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_laundry_fold_socks_completed_today + mode: single + + + +- alias: chore_charley_sweep_floor + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_sweep_floor + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_sweep_floor_completed_today + state: "off" + action: + - action: script.chore_charley_sweep_floor + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_sweep_floor_completed_today + mode: single + +- alias: chore_henry_sweep_floor + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_sweep_floor + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_sweep_floor_completed_today + state: "off" + action: + - action: script.chore_henry_sweep_floor + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_sweep_floor_completed_today + mode: single + + + +- alias: chore_charley_vacuum + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_vacuum + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_vacuum_completed_today + state: "off" + action: + - action: script.chore_charley_vacuum + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_vacuum_completed_today + mode: single + +- alias: chore_henry_vacuum + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_vacuum + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_vacuum_completed_today + state: "off" + action: + - action: script.chore_henry_vacuum + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_vacuum_completed_today + mode: single + + + +- alias: chore_charley_wash_windows + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_wash_windows + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_wash_windows_completed_today + state: "off" + action: + - action: script.chore_charley_wash_windows + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_wash_windows_completed_today + mode: single + +- alias: chore_henry_wash_windows + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_wash_windows + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_wash_windows_completed_today + state: "off" + action: + - action: script.chore_henry_wash_windows + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_wash_windows_completed_today + mode: single + + + +- alias: chore_charley_gather_garbages + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_gather_garbages + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_gather_garbages_completed_today + state: "off" + action: + - action: script.chore_charley_gather_garbages + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_gather_garbages_completed_today + mode: single + +- alias: chore_henry_gather_garbages + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_gather_garbages + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_gather_garbages_completed_today + state: "off" + action: + - action: script.chore_henry_gather_garbages + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_gather_garbages_completed_today + mode: single + + + +- alias: chore_charley_refill_toilet_paper + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_refill_toilet_paper + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_refill_toilet_paper_completed_today + state: "off" + action: + - action: script.chore_charley_refill_toilet_paper + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_refill_toilet_paper_completed_today + mode: single + +- alias: chore_henry_refill_toilet_paper + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_refill_toilet_paper + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_refill_toilet_paper_completed_today + state: "off" + action: + - action: script.chore_henry_refill_toilet_paper + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_refill_toilet_paper_completed_today + mode: single + + + +- alias: chore_charley_put_away_groceries + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_put_away_groceries + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_put_away_groceries_completed_today + state: "off" + action: + - action: script.chore_charley_put_away_groceries + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_put_away_groceries_completed_today + mode: single + +- alias: chore_henry_put_away_groceries + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_put_away_groceries + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_put_away_groceries_completed_today + state: "off" + action: + - action: script.chore_henry_put_away_groceries + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_put_away_groceries_completed_today + mode: single + + + +- alias: chore_charley_nova_pick_up_poo + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_nova_pick_up_poo + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_nova_pick_up_poo_completed_today + state: "off" + action: + - action: script.chore_charley_nova_pick_up_poo + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_nova_pick_up_poo_completed_today + mode: single + +- alias: chore_henry_nova_pick_up_poo + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_nova_pick_up_poo + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_nova_pick_up_poo_completed_today + state: "off" + action: + - action: script.chore_henry_nova_pick_up_poo + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_nova_pick_up_poo_completed_today + mode: single + + + +- alias: chore_charley_nova_food_and_water + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_nova_food_and_water + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_nova_food_and_water_completed_today + state: "off" + action: + - action: script.chore_charley_nova_food_and_water + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_nova_food_and_water_completed_today + mode: single + +- alias: chore_henry_nova_food_and_water + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_nova_food_and_water + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_nova_food_and_water_completed_today + state: "off" + action: + - action: script.chore_henry_nova_food_and_water + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_nova_food_and_water_completed_today + mode: single + + + +- alias: chore_charley_nova_pick_up_toys + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_nova_pick_up_toys + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_nova_pick_up_toys_completed_today + state: "off" + action: + - action: script.chore_charley_nova_pick_up_toys + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_nova_pick_up_toys_completed_today + mode: single + +- alias: chore_henry_nova_pick_up_toys + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_nova_pick_up_toys + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_nova_pick_up_toys_completed_today + state: "off" + action: + - action: script.chore_henry_nova_pick_up_toys + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_nova_pick_up_toys_completed_today + mode: single + + + +- alias: chore_charley_clean_car_seats + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_clean_car_seats + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_clean_car_seats_completed_today + state: "off" + action: + - action: script.chore_charley_clean_car_seats + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_clean_car_seats_completed_today + mode: single + +- alias: chore_henry_clean_car_seats + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_clean_car_seats + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_clean_car_seats_completed_today + state: "off" + action: + - action: script.chore_henry_clean_car_seats + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_clean_car_seats_completed_today + mode: single + + + +- alias: chore_charley_morning_ready_to_go + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_morning_ready_to_go + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_morning_ready_to_go_completed_today + state: "off" + action: + - action: script.chore_charley_morning_ready_to_go + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_morning_ready_to_go_completed_today + mode: single + +- alias: chore_henry_morning_ready_to_go + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_morning_ready_to_go + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_morning_ready_to_go_completed_today + state: "off" + action: + - action: script.chore_henry_morning_ready_to_go + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_morning_ready_to_go_completed_today + mode: single + + + +- alias: chore_charley_yard_rake_leaves + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_yard_rake_leaves + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_yard_rake_leaves_completed_today + state: "off" + action: + - action: script.chore_charley_yard_rake_leaves + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_yard_rake_leaves_completed_today + mode: single + +- alias: chore_henry_yard_rake_leaves + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_yard_rake_leaves + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_yard_rake_leaves_completed_today + state: "off" + action: + - action: script.chore_henry_yard_rake_leaves + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_yard_rake_leaves_completed_today + mode: single + + + +- alias: chore_charley_yard_pull_weeds + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_yard_pull_weeds + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_yard_pull_weeds_completed_today + state: "off" + action: + - action: script.chore_charley_yard_pull_weeds + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_yard_pull_weeds_completed_today + mode: single + +- alias: chore_henry_yard_pull_weeds + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_yard_pull_weeds + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_yard_pull_weeds_completed_today + state: "off" + action: + - action: script.chore_henry_yard_pull_weeds + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_yard_pull_weeds_completed_today + mode: single + + + +- alias: chore_charley_yard_shovel_snow + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_yard_shovel_snow + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_yard_shovel_snow_completed_today + state: "off" + action: + - action: script.chore_charley_yard_shovel_snow + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_yard_shovel_snow_completed_today + mode: single + +- alias: chore_henry_yard_shovel_snow + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_yard_shovel_snow + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_yard_shovel_snow_completed_today + state: "off" + action: + - action: script.chore_henry_yard_shovel_snow + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_yard_shovel_snow_completed_today + mode: single + + + +- alias: chore_charley_yard_pick_up_sticks + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_yard_pick_up_sticks + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_yard_pick_up_sticks_completed_today + state: "off" + action: + - action: script.chore_charley_yard_pick_up_sticks + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_yard_pick_up_sticks_completed_today + mode: single + +- alias: chore_henry_yard_pick_up_sticks + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_yard_pick_up_sticks + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_yard_pick_up_sticks_completed_today + state: "off" + action: + - action: script.chore_henry_yard_pick_up_sticks + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_yard_pick_up_sticks_completed_today + mode: single + diff --git a/homeassistant_chores/chorelist.txt b/homeassistant_chores/chorelist.txt new file mode 100644 index 0000000..6e1b6c4 --- /dev/null +++ b/homeassistant_chores/chorelist.txt @@ -0,0 +1,27 @@ +For,Chore,icon,points +b,Make Bed,mdi:bed,1 +h,Load Dishwasher,mdi:dishwasher,5 +h,Unload Dishwasher,mdi:dishwasher,5 +h,Backpack Ready,mdi:bag-personal,1 +h,Practice Piano,mdi:piano,5 +h,Read 15 Minutes,mdi:book-open-variant-outline,5 +b,Laundry - Clothes in Hamper,mdi:tshirt-crew-outline,1 +b,Laundry - Sort Dirty Clothes,mdi:tshirt-crew,5 +b,Laundry - Start Clothes Washer,mdi:washing-machine,1 +b,Laundry - Put Away Clean Clothes,mdi:hanger,10 +b,Laundry - Fold Socks,mdi:stocking,1 +b,Sweep Floor,mdi:broom,1 +b,Vacuum,mdi:vacuum,1 +b,Wash Windows,mdi:curtains,1 +b,Gather Garbages,mdi:trash-can,5 +b,Refill Toilet Paper,mdi:paper-roll-outline,5 +b,Put Away Groceries,mdi:cart,5 +b,Nova - Pick Up Poo,mdi:emoticon-poop,10 +b,Nova - Food and Water,mdi:bowl,1 +b,Nova - Pick up Toys,mdi:bone,1 +b,Clean Car Seats,mdi:car-child-seat,1 +b,Morning - Ready to Go,mdi:clock-check,1 +b,Yard - Rake Leaves,mdi:rake,5 +b,Yard - Pull Weeds,mdi:sprout,5 +b,Yard - Shovel Snow,mdi:shovel,5 +b,Yard - Pick up Sticks,mdi:tree,1 \ No newline at end of file diff --git a/homeassistant_chores/chores.yaml b/homeassistant_chores/chores.yaml new file mode 100644 index 0000000..b529d74 --- /dev/null +++ b/homeassistant_chores/chores.yaml @@ -0,0 +1,261 @@ + +chore_charley_make_bed: + name: Make Bed + icon: mdi:bed +chore_charley_make_bed_completed_today: + name: Make Bed Completed Today +chore_henry_make_bed: + name: Make Bed + icon: mdi:bed +chore_henry_make_bed_completed_today: + name: Make Bed Completed Today + +chore_henry_load_dishwasher: + name: Load Dishwasher + icon: mdi:dishwasher +chore_henry_load_dishwasher_completed_today: + name: Load Dishwasher Completed Today + +chore_henry_unload_dishwasher: + name: Unload Dishwasher + icon: mdi:dishwasher +chore_henry_unload_dishwasher_completed_today: + name: Unload Dishwasher Completed Today + +chore_henry_backpack_ready: + name: Backpack Ready + icon: mdi:bag-personal +chore_henry_backpack_ready_completed_today: + name: Backpack Ready Completed Today + +chore_henry_practice_piano: + name: Practice Piano + icon: mdi:piano +chore_henry_practice_piano_completed_today: + name: Practice Piano Completed Today + +chore_henry_read_15_minutes: + name: Read 15 Minutes + icon: mdi:book-open-variant-outline +chore_henry_read_15_minutes_completed_today: + name: Read 15 Minutes Completed Today + +chore_charley_laundry_clothes_in_hamper: + name: Laundry - Clothes in Hamper + icon: mdi:tshirt-crew-outline +chore_charley_laundry_clothes_in_hamper_completed_today: + name: Laundry - Clothes in Hamper Completed Today +chore_henry_laundry_clothes_in_hamper: + name: Laundry - Clothes in Hamper + icon: mdi:tshirt-crew-outline +chore_henry_laundry_clothes_in_hamper_completed_today: + name: Laundry - Clothes in Hamper Completed Today + +chore_charley_laundry_sort_dirty_clothes: + name: Laundry - Sort Dirty Clothes + icon: mdi:tshirt-crew +chore_charley_laundry_sort_dirty_clothes_completed_today: + name: Laundry - Sort Dirty Clothes Completed Today +chore_henry_laundry_sort_dirty_clothes: + name: Laundry - Sort Dirty Clothes + icon: mdi:tshirt-crew +chore_henry_laundry_sort_dirty_clothes_completed_today: + name: Laundry - Sort Dirty Clothes Completed Today + +chore_charley_laundry_start_clothes_washer: + name: Laundry - Start Clothes Washer + icon: mdi:washing-machine +chore_charley_laundry_start_clothes_washer_completed_today: + name: Laundry - Start Clothes Washer Completed Today +chore_henry_laundry_start_clothes_washer: + name: Laundry - Start Clothes Washer + icon: mdi:washing-machine +chore_henry_laundry_start_clothes_washer_completed_today: + name: Laundry - Start Clothes Washer Completed Today + +chore_charley_laundry_put_away_clean_clothes: + name: Laundry - Put Away Clean Clothes + icon: mdi:hanger +chore_charley_laundry_put_away_clean_clothes_completed_today: + name: Laundry - Put Away Clean Clothes Completed Today +chore_henry_laundry_put_away_clean_clothes: + name: Laundry - Put Away Clean Clothes + icon: mdi:hanger +chore_henry_laundry_put_away_clean_clothes_completed_today: + name: Laundry - Put Away Clean Clothes Completed Today + +chore_charley_laundry_fold_socks: + name: Laundry - Fold Socks + icon: mdi:stocking +chore_charley_laundry_fold_socks_completed_today: + name: Laundry - Fold Socks Completed Today +chore_henry_laundry_fold_socks: + name: Laundry - Fold Socks + icon: mdi:stocking +chore_henry_laundry_fold_socks_completed_today: + name: Laundry - Fold Socks Completed Today + +chore_charley_sweep_floor: + name: Sweep Floor + icon: mdi:broom +chore_charley_sweep_floor_completed_today: + name: Sweep Floor Completed Today +chore_henry_sweep_floor: + name: Sweep Floor + icon: mdi:broom +chore_henry_sweep_floor_completed_today: + name: Sweep Floor Completed Today + +chore_charley_vacuum: + name: Vacuum + icon: mdi:vacuum +chore_charley_vacuum_completed_today: + name: Vacuum Completed Today +chore_henry_vacuum: + name: Vacuum + icon: mdi:vacuum +chore_henry_vacuum_completed_today: + name: Vacuum Completed Today + +chore_charley_wash_windows: + name: Wash Windows + icon: mdi:curtains +chore_charley_wash_windows_completed_today: + name: Wash Windows Completed Today +chore_henry_wash_windows: + name: Wash Windows + icon: mdi:curtains +chore_henry_wash_windows_completed_today: + name: Wash Windows Completed Today + +chore_charley_gather_garbages: + name: Gather Garbages + icon: mdi:trash-can +chore_charley_gather_garbages_completed_today: + name: Gather Garbages Completed Today +chore_henry_gather_garbages: + name: Gather Garbages + icon: mdi:trash-can +chore_henry_gather_garbages_completed_today: + name: Gather Garbages Completed Today + +chore_charley_refill_toilet_paper: + name: Refill Toilet Paper + icon: mdi:paper-roll-outline +chore_charley_refill_toilet_paper_completed_today: + name: Refill Toilet Paper Completed Today +chore_henry_refill_toilet_paper: + name: Refill Toilet Paper + icon: mdi:paper-roll-outline +chore_henry_refill_toilet_paper_completed_today: + name: Refill Toilet Paper Completed Today + +chore_charley_put_away_groceries: + name: Put Away Groceries + icon: mdi:cart +chore_charley_put_away_groceries_completed_today: + name: Put Away Groceries Completed Today +chore_henry_put_away_groceries: + name: Put Away Groceries + icon: mdi:cart +chore_henry_put_away_groceries_completed_today: + name: Put Away Groceries Completed Today + +chore_charley_nova_pick_up_poo: + name: Nova - Pick Up Poo + icon: mdi:emoticon-poop +chore_charley_nova_pick_up_poo_completed_today: + name: Nova - Pick Up Poo Completed Today +chore_henry_nova_pick_up_poo: + name: Nova - Pick Up Poo + icon: mdi:emoticon-poop +chore_henry_nova_pick_up_poo_completed_today: + name: Nova - Pick Up Poo Completed Today + +chore_charley_nova_food_and_water: + name: Nova - Food and Water + icon: mdi:bowl +chore_charley_nova_food_and_water_completed_today: + name: Nova - Food and Water Completed Today +chore_henry_nova_food_and_water: + name: Nova - Food and Water + icon: mdi:bowl +chore_henry_nova_food_and_water_completed_today: + name: Nova - Food and Water Completed Today + +chore_charley_nova_pick_up_toys: + name: Nova - Pick up Toys + icon: mdi:bone +chore_charley_nova_pick_up_toys_completed_today: + name: Nova - Pick up Toys Completed Today +chore_henry_nova_pick_up_toys: + name: Nova - Pick up Toys + icon: mdi:bone +chore_henry_nova_pick_up_toys_completed_today: + name: Nova - Pick up Toys Completed Today + +chore_charley_clean_car_seats: + name: Clean Car Seats + icon: mdi:car-child-seat +chore_charley_clean_car_seats_completed_today: + name: Clean Car Seats Completed Today +chore_henry_clean_car_seats: + name: Clean Car Seats + icon: mdi:car-child-seat +chore_henry_clean_car_seats_completed_today: + name: Clean Car Seats Completed Today + +chore_charley_morning_ready_to_go: + name: Morning - Ready to Go + icon: mdi:clock-check +chore_charley_morning_ready_to_go_completed_today: + name: Morning - Ready to Go Completed Today +chore_henry_morning_ready_to_go: + name: Morning - Ready to Go + icon: mdi:clock-check +chore_henry_morning_ready_to_go_completed_today: + name: Morning - Ready to Go Completed Today + +chore_charley_yard_rake_leaves: + name: Yard - Rake Leaves + icon: mdi:rake +chore_charley_yard_rake_leaves_completed_today: + name: Yard - Rake Leaves Completed Today +chore_henry_yard_rake_leaves: + name: Yard - Rake Leaves + icon: mdi:rake +chore_henry_yard_rake_leaves_completed_today: + name: Yard - Rake Leaves Completed Today + +chore_charley_yard_pull_weeds: + name: Yard - Pull Weeds + icon: mdi:sprout +chore_charley_yard_pull_weeds_completed_today: + name: Yard - Pull Weeds Completed Today +chore_henry_yard_pull_weeds: + name: Yard - Pull Weeds + icon: mdi:sprout +chore_henry_yard_pull_weeds_completed_today: + name: Yard - Pull Weeds Completed Today + +chore_charley_yard_shovel_snow: + name: Yard - Shovel Snow + icon: mdi:shovel +chore_charley_yard_shovel_snow_completed_today: + name: Yard - Shovel Snow Completed Today +chore_henry_yard_shovel_snow: + name: Yard - Shovel Snow + icon: mdi:shovel +chore_henry_yard_shovel_snow_completed_today: + name: Yard - Shovel Snow Completed Today + +chore_charley_yard_pick_up_sticks: + name: Yard - Pick up Sticks + icon: mdi:tree +chore_charley_yard_pick_up_sticks_completed_today: + name: Yard - Pick up Sticks Completed Today +chore_henry_yard_pick_up_sticks: + name: Yard - Pick up Sticks + icon: mdi:tree +chore_henry_yard_pick_up_sticks_completed_today: + name: Yard - Pick up Sticks Completed Today diff --git a/homeassistant_chores/genchores.py b/homeassistant_chores/genchores.py new file mode 100644 index 0000000..8aceca5 --- /dev/null +++ b/homeassistant_chores/genchores.py @@ -0,0 +1,259 @@ +import os +import shutil +import csv +import re +import datetime +import locale +class chore: + def __init__(self,who,chore,icon,points): + self.who = who + self.chore = chore + self.icon = icon + self.points = points + def genchoreyaml(self): + boolname = self.chore.lower() + boolname=boolname.replace(" ","_") + boolname=boolname.replace("-","") + boolname=boolname.replace("__","_") + if self.icon == '': + iconstring = 'mdi:account-hard-hat' + else: + iconstring = self.icon + if self.who == 'b': + return f""" +chore_charley_{boolname}: + name: {self.chore} + icon: {iconstring} +chore_charley_{boolname}_completed_today: + name: {self.chore} Completed Today +chore_henry_{boolname}: + name: {self.chore} + icon: {iconstring} +chore_henry_{boolname}_completed_today: + name: {self.chore} Completed Today +""" + if self.who == 'c': + return f""" +chore_charley_{boolname}: + name: {self.chore} + icon: {iconstring} +chore_charley_{boolname}_completed_today: + name: {self.chore} Completed Today +""" + if self.who == 'h': + return f""" +chore_henry_{boolname}: + name: {self.chore} + icon: {iconstring} +chore_henry_{boolname}_completed_today: + name: {self.chore} Completed Today +""" + #return boolname + def genautomationyaml(self): + boolname = self.chore.lower() + boolname=boolname.replace(" ","_") + boolname=boolname.replace("-","") + boolname=boolname.replace("__","_") + if self.who == 'b': + return f""" + +- alias: chore_charley_{boolname} + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_{boolname} + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_{boolname}_completed_today + state: "off" + action: + - action: script.chore_charley_{boolname} + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_{boolname}_completed_today + mode: single + +- alias: chore_henry_{boolname} + trigger: + - platform: state + entity_id: + - input_boolean.chore_henry_{boolname} + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_henry_{boolname}_completed_today + state: "off" + action: + - action: script.chore_henry_{boolname} + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_{boolname}_completed_today + mode: single + +""" + if self.who == 'c': + return f""" + + +- alias: chore_charley_{boolname} + trigger: + - platform: state + entity_id: + - input_boolean.chore_charley_{boolname} + to: "on" + condition: + - condition: state + entity_id: + - input_boolean.chore_charley_{boolname}_completed_today + state: "off" + action: + - action: script.chore_charley_{boolname} + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_charley_{boolname}_completed_today + mode: single + +""" + if self.who == 'h': + return f""" + +- alias: chore_henry_{boolname} + trigger: + - platform: state + entity_id: input_boolean.chore_henry_{boolname} + to: "on" + condition: + - condition: state + entity_id: input_boolean.chore_henry_{boolname}_completed_today + state: "off" + action: + - action: script.chore_henry_{boolname} + - action: input_boolean.turn_on + target: + entity_id: + - input_boolean.chore_henry_{boolname}_completed_today + mode: single + +""" + def genscriptyaml(self): + boolname = self.chore.lower() + boolname=boolname.replace(" ","_") + boolname=boolname.replace("-","") + boolname=boolname.replace("__","_") + if self.who == 'b': + return f""" +chore_henry_{boolname}: + alias: chore_henry_{boolname} + sequence: + - repeat: + count: {self.points} + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_{boolname}: + alias: chore_charley_{boolname} + sequence: + - repeat: + count: {self.points} + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points +""" + if self.who == 'c': + return f""" +chore_charley_{boolname}: + alias: chore_charley_{boolname} + sequence: + - repeat: + count: {self.points} + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +""" + if self.who == 'h': + return f""" +chore_henry_{boolname}: + alias: chore_henry_{boolname} + sequence: + - repeat: + count: {self.points} + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +""" + def resetentities(self): + boolname = self.chore.lower() + boolname=boolname.replace(" ","_") + boolname=boolname.replace("-","") + boolname=boolname.replace("__","_") + if self.who == 'b': + return [ + f"input_boolean.chore_charley_{boolname}", + f"input_boolean.chore_charley_{boolname}_completed_today", + f"input_boolean.chore_henry_{boolname}", + f"input_boolean.chore_henry_{boolname}_completed_today", + ] + if self.who == 'c': + return [ + f"input_boolean.chore_charley_{boolname}", + f"input_boolean.chore_charley_{boolname}_completed_today", + ] + if self.who == 'h': + return [ + f"input_boolean.chore_henry_{boolname}", + f"input_boolean.chore_henry_{boolname}_completed_today", + ] +if os.path.exists(f"./homeassistant/chores.yaml"): + os.remove(f"./homeassistant/chores.yaml") +if os.path.exists(f"./homeassistant/automation.yaml"): + os.remove(f"./homeassistant/automation.yaml") +if os.path.exists(f"./homeassistant/scripts.yaml"): + os.remove(f"./homeassistant/scripts.yaml") + +chorefile = "./homeassistant/chorelist.txt" +chorelist=[] +with open(chorefile) as csvcontents: + chores = csv.DictReader(csvcontents,delimiter=',',quotechar='"') + for mychore in chores: + chorelist.append(chore(mychore['For'],mychore["Chore"],mychore['icon'],mychore['points'])) + #print(chore(mychore['For'],mychore["Chore"],mychore['icon'],mychore['points']).genchoreyaml()) + #print(chore(mychore['For'],mychore["Chore"],mychore['icon'],mychore['points']).genautomationyaml()) + #print(chore(mychore['For'],mychore["Chore"],mychore['icon'],mychore['points']).genscriptyaml()) +resetentities = [] +for mychore in chorelist: + with open("./homeassistant/chores.yaml","a+") as outchores: + outchores.write(mychore.genchoreyaml()) + with open("./homeassistant/automation.yaml","a+") as outchores: + outchores.write(mychore.genautomationyaml()) + with open("./homeassistant/scripts.yaml","a+") as outchores: + outchores.write(mychore.genscriptyaml()) + myentities = mychore.resetentities() + for myentity in myentities: + resetentities.append(myentity) +resetscript = """ +chore_reset_daily_limiters: + alias: Chore - Reset Entities + sequence: + - action: input_boolean.turn_off + target: + entity_id: +""" +for entity in resetentities: + resetscript += f" - {entity}\n" + +with open("./homeassistant/scripts.yaml","a+") as outchores: + outchores.write(resetscript) +#print(resetscript) \ No newline at end of file diff --git a/homeassistant_chores/scripts.yaml b/homeassistant_chores/scripts.yaml new file mode 100644 index 0000000..215f31c --- /dev/null +++ b/homeassistant_chores/scripts.yaml @@ -0,0 +1,576 @@ + +chore_henry_make_bed: + alias: chore_henry_make_bed + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_make_bed: + alias: chore_charley_make_bed + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_load_dishwasher: + alias: chore_henry_load_dishwasher + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + + +chore_henry_unload_dishwasher: + alias: chore_henry_unload_dishwasher + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + + +chore_henry_backpack_ready: + alias: chore_henry_backpack_ready + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + + +chore_henry_practice_piano: + alias: chore_henry_practice_piano + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + + +chore_henry_read_15_minutes: + alias: chore_henry_read_15_minutes + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + + +chore_henry_laundry_clothes_in_hamper: + alias: chore_henry_laundry_clothes_in_hamper + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_laundry_clothes_in_hamper: + alias: chore_charley_laundry_clothes_in_hamper + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_laundry_sort_dirty_clothes: + alias: chore_henry_laundry_sort_dirty_clothes + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_laundry_sort_dirty_clothes: + alias: chore_charley_laundry_sort_dirty_clothes + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_laundry_start_clothes_washer: + alias: chore_henry_laundry_start_clothes_washer + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_laundry_start_clothes_washer: + alias: chore_charley_laundry_start_clothes_washer + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_laundry_put_away_clean_clothes: + alias: chore_henry_laundry_put_away_clean_clothes + sequence: + - repeat: + count: 10 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_laundry_put_away_clean_clothes: + alias: chore_charley_laundry_put_away_clean_clothes + sequence: + - repeat: + count: 10 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_laundry_fold_socks: + alias: chore_henry_laundry_fold_socks + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_laundry_fold_socks: + alias: chore_charley_laundry_fold_socks + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_sweep_floor: + alias: chore_henry_sweep_floor + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_sweep_floor: + alias: chore_charley_sweep_floor + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_vacuum: + alias: chore_henry_vacuum + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_vacuum: + alias: chore_charley_vacuum + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_wash_windows: + alias: chore_henry_wash_windows + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_wash_windows: + alias: chore_charley_wash_windows + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_gather_garbages: + alias: chore_henry_gather_garbages + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_gather_garbages: + alias: chore_charley_gather_garbages + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_refill_toilet_paper: + alias: chore_henry_refill_toilet_paper + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_refill_toilet_paper: + alias: chore_charley_refill_toilet_paper + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_put_away_groceries: + alias: chore_henry_put_away_groceries + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_put_away_groceries: + alias: chore_charley_put_away_groceries + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_nova_pick_up_poo: + alias: chore_henry_nova_pick_up_poo + sequence: + - repeat: + count: 10 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_nova_pick_up_poo: + alias: chore_charley_nova_pick_up_poo + sequence: + - repeat: + count: 10 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_nova_food_and_water: + alias: chore_henry_nova_food_and_water + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_nova_food_and_water: + alias: chore_charley_nova_food_and_water + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_nova_pick_up_toys: + alias: chore_henry_nova_pick_up_toys + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_nova_pick_up_toys: + alias: chore_charley_nova_pick_up_toys + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_clean_car_seats: + alias: chore_henry_clean_car_seats + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_clean_car_seats: + alias: chore_charley_clean_car_seats + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_morning_ready_to_go: + alias: chore_henry_morning_ready_to_go + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_morning_ready_to_go: + alias: chore_charley_morning_ready_to_go + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_yard_rake_leaves: + alias: chore_henry_yard_rake_leaves + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_yard_rake_leaves: + alias: chore_charley_yard_rake_leaves + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_yard_pull_weeds: + alias: chore_henry_yard_pull_weeds + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_yard_pull_weeds: + alias: chore_charley_yard_pull_weeds + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_yard_shovel_snow: + alias: chore_henry_yard_shovel_snow + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_yard_shovel_snow: + alias: chore_charley_yard_shovel_snow + sequence: + - repeat: + count: 5 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_henry_yard_pick_up_sticks: + alias: chore_henry_yard_pick_up_sticks + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.henrys_chore_points + +chore_charley_yard_pick_up_sticks: + alias: chore_charley_yard_pick_up_sticks + sequence: + - repeat: + count: 1 + sequence: + - action: counter.increment + target: + entity_id: counter.charleys_chore_points + +chore_reset_daily_limiters: + alias: Chore - Reset Entities + sequence: + - action: input_boolean.turn_off + target: + entity_id: + - input_boolean.chore_charley_make_bed + - input_boolean.chore_charley_make_bed_completed_today + - input_boolean.chore_henry_make_bed + - input_boolean.chore_henry_make_bed_completed_today + - input_boolean.chore_henry_load_dishwasher + - input_boolean.chore_henry_load_dishwasher_completed_today + - input_boolean.chore_henry_unload_dishwasher + - input_boolean.chore_henry_unload_dishwasher_completed_today + - input_boolean.chore_henry_backpack_ready + - input_boolean.chore_henry_backpack_ready_completed_today + - input_boolean.chore_henry_practice_piano + - input_boolean.chore_henry_practice_piano_completed_today + - input_boolean.chore_henry_read_15_minutes + - input_boolean.chore_henry_read_15_minutes_completed_today + - input_boolean.chore_charley_laundry_clothes_in_hamper + - input_boolean.chore_charley_laundry_clothes_in_hamper_completed_today + - input_boolean.chore_henry_laundry_clothes_in_hamper + - input_boolean.chore_henry_laundry_clothes_in_hamper_completed_today + - input_boolean.chore_charley_laundry_sort_dirty_clothes + - input_boolean.chore_charley_laundry_sort_dirty_clothes_completed_today + - input_boolean.chore_henry_laundry_sort_dirty_clothes + - input_boolean.chore_henry_laundry_sort_dirty_clothes_completed_today + - input_boolean.chore_charley_laundry_start_clothes_washer + - input_boolean.chore_charley_laundry_start_clothes_washer_completed_today + - input_boolean.chore_henry_laundry_start_clothes_washer + - input_boolean.chore_henry_laundry_start_clothes_washer_completed_today + - input_boolean.chore_charley_laundry_put_away_clean_clothes + - input_boolean.chore_charley_laundry_put_away_clean_clothes_completed_today + - input_boolean.chore_henry_laundry_put_away_clean_clothes + - input_boolean.chore_henry_laundry_put_away_clean_clothes_completed_today + - input_boolean.chore_charley_laundry_fold_socks + - input_boolean.chore_charley_laundry_fold_socks_completed_today + - input_boolean.chore_henry_laundry_fold_socks + - input_boolean.chore_henry_laundry_fold_socks_completed_today + - input_boolean.chore_charley_sweep_floor + - input_boolean.chore_charley_sweep_floor_completed_today + - input_boolean.chore_henry_sweep_floor + - input_boolean.chore_henry_sweep_floor_completed_today + - input_boolean.chore_charley_vacuum + - input_boolean.chore_charley_vacuum_completed_today + - input_boolean.chore_henry_vacuum + - input_boolean.chore_henry_vacuum_completed_today + - input_boolean.chore_charley_wash_windows + - input_boolean.chore_charley_wash_windows_completed_today + - input_boolean.chore_henry_wash_windows + - input_boolean.chore_henry_wash_windows_completed_today + - input_boolean.chore_charley_gather_garbages + - input_boolean.chore_charley_gather_garbages_completed_today + - input_boolean.chore_henry_gather_garbages + - input_boolean.chore_henry_gather_garbages_completed_today + - input_boolean.chore_charley_refill_toilet_paper + - input_boolean.chore_charley_refill_toilet_paper_completed_today + - input_boolean.chore_henry_refill_toilet_paper + - input_boolean.chore_henry_refill_toilet_paper_completed_today + - input_boolean.chore_charley_put_away_groceries + - input_boolean.chore_charley_put_away_groceries_completed_today + - input_boolean.chore_henry_put_away_groceries + - input_boolean.chore_henry_put_away_groceries_completed_today + - input_boolean.chore_charley_nova_pick_up_poo + - input_boolean.chore_charley_nova_pick_up_poo_completed_today + - input_boolean.chore_henry_nova_pick_up_poo + - input_boolean.chore_henry_nova_pick_up_poo_completed_today + - input_boolean.chore_charley_nova_food_and_water + - input_boolean.chore_charley_nova_food_and_water_completed_today + - input_boolean.chore_henry_nova_food_and_water + - input_boolean.chore_henry_nova_food_and_water_completed_today + - input_boolean.chore_charley_nova_pick_up_toys + - input_boolean.chore_charley_nova_pick_up_toys_completed_today + - input_boolean.chore_henry_nova_pick_up_toys + - input_boolean.chore_henry_nova_pick_up_toys_completed_today + - input_boolean.chore_charley_clean_car_seats + - input_boolean.chore_charley_clean_car_seats_completed_today + - input_boolean.chore_henry_clean_car_seats + - input_boolean.chore_henry_clean_car_seats_completed_today + - input_boolean.chore_charley_morning_ready_to_go + - input_boolean.chore_charley_morning_ready_to_go_completed_today + - input_boolean.chore_henry_morning_ready_to_go + - input_boolean.chore_henry_morning_ready_to_go_completed_today + - input_boolean.chore_charley_yard_rake_leaves + - input_boolean.chore_charley_yard_rake_leaves_completed_today + - input_boolean.chore_henry_yard_rake_leaves + - input_boolean.chore_henry_yard_rake_leaves_completed_today + - input_boolean.chore_charley_yard_pull_weeds + - input_boolean.chore_charley_yard_pull_weeds_completed_today + - input_boolean.chore_henry_yard_pull_weeds + - input_boolean.chore_henry_yard_pull_weeds_completed_today + - input_boolean.chore_charley_yard_shovel_snow + - input_boolean.chore_charley_yard_shovel_snow_completed_today + - input_boolean.chore_henry_yard_shovel_snow + - input_boolean.chore_henry_yard_shovel_snow_completed_today + - input_boolean.chore_charley_yard_pick_up_sticks + - input_boolean.chore_charley_yard_pick_up_sticks_completed_today + - input_boolean.chore_henry_yard_pick_up_sticks + - input_boolean.chore_henry_yard_pick_up_sticks_completed_today