Fix Household Tasks setup due to a breaking change. More details can be found here: https://github.com/custom-cards/check-button-card/issues/23

This commit is contained in:
Burningstone91
2022-02-26 17:05:02 +01:00
parent 3765beed54
commit c2f34cc8b8
5 changed files with 141 additions and 101 deletions

View File

@@ -3035,7 +3035,7 @@ I use the following automation to turn of the dehumidifier when the window in th
## Household Tasks <a name="household-tasks" href="https://github.com/Burningstone91/smart-home-setup#household-tasks"></a>
To keep track of the various tasks to be done around the house, I setup some sensors and automations to notify me and my wife about tasks that haven't been done for the predefined period. When one of us completed the task, he can push the "done" button in the automation. This will send a little "thank you" message to the person that did the task, clears the notification for the other person and sends a notification to the other person that the task has already been done. The sensor has an attribute that that tracks the user that marked the task as solved.
To keep track of the various tasks to be done around the house, I setup some sensors and automations to notify me and my wife about tasks that haven't been done for the predefined period. When one of us completes the task, he can push the "done" button in the automation. This will send a little "thank you" message to the person that did the task, clears the notification for the other person and sends a notification to the other person that the task has already been done. The sensor has an attribute that that tracks the user that marked the task as solved.
<details><summary>Step-by-step Guide</summary>
<p>
@@ -3049,13 +3049,12 @@ The template requires [lovelace gen](https://github.com/thomasloven/hass-lovelac
{% set entity = 'sensor.'+sensor_name %}
type: 'custom:button-card'
name: {{name}}
entity: {{entity}}
name: {{name}}
icon: {{icon}}
label: >
[[[ return variables.var.label ]]]
show_label: true
icon: >
[[[ return variables.var.icon ]]]
custom_fields:
status: >
[[[ return '<span style="display: inline-block; color: white; background: '+variables.var.color+'; padding: 0 5px; border-radius: 5px;">'+variables.var.days_left+'</span>' ]]]
@@ -3084,8 +3083,9 @@ variables:
let result = {};
result.label = "Aufgabe erstellen";
result.color = colors["disabled"];
result.icon = "mdi:alert-plus";
result.days_left = "";
let date;
let seconds;
let timestamp;
let time;
let minutes;
@@ -3094,14 +3094,15 @@ variables:
if (states['{{entity}}']) {
if (entity.state != 'unknown') {
timestamp = parseInt(entity.state);
date = entity.state;
seconds = new Date(date);
timestamp = (seconds.getTime()) / 1000;
time = (Date.now() / 1000) - timestamp;
minutes = Math.floor(((time % 3600) / 60));
hours = Math.floor(((time % 86400) / 3600));
days = Math.floor((time / 86400));
result.color = colors["success"];
result.icon = "mdi:checkbox-marked-circle-outline";
// LAST TRIGGER
if (time < 60)
@@ -3119,13 +3120,11 @@ variables:
result.days_left = Math.round(((timestamp + ({{cycle_days|int}}*86400)) - (Date.now()/1000)) / 86400);
if (result.days_left <= {{warning_before|int}}) {
result.color = colors["warning"];
result.icon = "mdi:clock-alert";
}
if (result.days_left <= 0) {
result.color = colors["error"];
result.icon = "mdi:alert-circle"
}
result.days_left = result.days_left + (result.days_left == 1 ? " Tag verbleibt" : " Tage verbleiben");
result.days_left = result.days_left + (result.days_left == 1 ? " Tag übrig" : " Tage übrig");
} else {
result.label = "Klicken zum Erledigen";
@@ -3141,7 +3140,7 @@ tap_action:
if (!states['{{entity}}'])
return 'Entität {{entity}} wird erstellt.'
else
return 'Möchten sie diese Aufgabe wirklich als erledigt markieren?'
return '{{name}} wirklich als erledigt markieren?'
]]]
action: call-service
service: mqtt.publish
@@ -3155,10 +3154,13 @@ tap_action:
]]]
payload: >
[[[
var timestamp = Date.now();
var time = new Date(timestamp).toISOString();
if (!states['{{entity}}'])
return '{ "name": "{{sensor_name}}", "state_topic": "homeassistant/sensor/{{sensor_name}}/state", "value_template": "\{\{ value_json.state \}\}", "device_class": "timestamp", "json_attributes_topic": "homeassistant/sensor/{{sensor_name}}/state", "json_attributes_template": "\{\{ value_json.attributes | tojson \}\}" }'
else
return '{ "state":' + (Date.now() / 1000) + ', "attributes": { "cycle_days": {{cycle_days}}, "warning_before": {{warning_before}} } }'
return '{ "state":"' + time + '", "attributes": { "cycle_days": {{cycle_days}}, "warning_before": {{warning_before}} } }'
]]]
retain: true
@@ -3172,6 +3174,7 @@ cards:
- ../../templates/household_task.yaml
- name: Change Bed Sheets
sensor_name: chore_change_bed_sheets
icon: mdi:bed
warning_before: 1
cycle_days: 14
```

View File

@@ -3,13 +3,12 @@
{% set entity = 'sensor.'+sensor_name %}
type: 'custom:button-card'
name: {{name}}
entity: {{entity}}
name: {{name}}
icon: {{icon}}
label: >
[[[ return variables.var.label ]]]
show_label: true
icon: >
[[[ return variables.var.icon ]]]
custom_fields:
status: >
[[[ return '<span style="display: inline-block; color: white; background: '+variables.var.color+'; padding: 0 5px; border-radius: 5px;">'+variables.var.days_left+'</span>' ]]]
@@ -38,8 +37,9 @@ variables:
let result = {};
result.label = "Aufgabe erstellen";
result.color = colors["disabled"];
result.icon = "mdi:alert-plus";
result.days_left = "";
let date;
let seconds;
let timestamp;
let time;
let minutes;
@@ -48,14 +48,15 @@ variables:
if (states['{{entity}}']) {
if (entity.state != 'unknown') {
timestamp = parseInt(entity.state);
date = entity.state;
seconds = new Date(date);
timestamp = (seconds.getTime()) / 1000;
time = (Date.now() / 1000) - timestamp;
minutes = Math.floor(((time % 3600) / 60));
hours = Math.floor(((time % 86400) / 3600));
days = Math.floor((time / 86400));
result.color = colors["success"];
result.icon = "mdi:checkbox-marked-circle-outline";
// LAST TRIGGER
if (time < 60)
@@ -73,11 +74,9 @@ variables:
result.days_left = Math.round(((timestamp + ({{cycle_days|int}}*86400)) - (Date.now()/1000)) / 86400);
if (result.days_left <= {{warning_before|int}}) {
result.color = colors["warning"];
result.icon = "mdi:clock-alert";
}
if (result.days_left <= 0) {
result.color = colors["error"];
result.icon = "mdi:alert-circle"
}
result.days_left = result.days_left + (result.days_left == 1 ? " Tag übrig" : " Tage übrig");
@@ -109,9 +108,12 @@ tap_action:
]]]
payload: >
[[[
var timestamp = Date.now();
var time = new Date(timestamp).toISOString();
if (!states['{{entity}}'])
return '{ "name": "{{sensor_name}}", "state_topic": "homeassistant/sensor/{{sensor_name}}/state", "value_template": "\{\{ value_json.state \}\}", "device_class": "timestamp", "json_attributes_topic": "homeassistant/sensor/{{sensor_name}}/state", "json_attributes_template": "\{\{ value_json.attributes | tojson \}\}" }'
else
return '{ "state":' + (Date.now() / 1000) + ', "attributes": { "cycle_days": {{cycle_days}}, "warning_before": {{warning_before}} } }'
return '{ "state":"' + time + '", "attributes": { "cycle_days": {{cycle_days}}, "warning_before": {{warning_before}} } }'
]]]
retain: true

View File

@@ -11,78 +11,91 @@
- type: horizontal-stack
cards:
- !include ../../../base/includes/gap.yaml
- type: 'custom:vertical-stack-in-card'
- type: custom:stack-in-card
mode: vertical
cards:
- !include
- ../../templates/household_task.yaml
- name: Abstauben
sensor_name: chore_clean_dust
icon: mdi:broom
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Staubsaugen
sensor_name: chore_vacuum_clean
icon: mdi:vacuum-outline
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Boden nass reinigen
- name: Boden aufnehmen
sensor_name: chore_clean_floor_wet
icon: mdi:water-opacity
warning_before: 1
cycle_days: 30
cycle_days: 14
- !include
- ../../templates/household_task.yaml
- name: Boden einölen
sensor_name: chore_oil_floor
icon: mdi:oil
warning_before: 5
cycle_days: 180
- !include
- ../../templates/household_task.yaml
- name: Fensterbänke reinigen
sensor_name: chore_clean_window_frames
icon: mdi:window-minimize
warning_before: 2
cycle_days: 30
- !include
- ../../templates/household_task.yaml
- name: Fenster reinigen
sensor_name: chore_clean_windows
icon: mdi:window-closed-variant
warning_before: 5
cycle_days: 90
- !include
- ../../templates/household_task.yaml
- name: Rollos reinigen
sensor_name: chore_clean_covers
icon: mdi:blinds
warning_before: 2
cycle_days: 90
- !include
- ../../templates/household_task.yaml
- name: Vorhänge reinigen
sensor_name: chore_clean_curtains
icon: mdi:curtains
warning_before: 5
cycle_days: 365
- !include
- ../../templates/household_task.yaml
- name: Entkalken
sensor_name: chore_dechalk
icon: mdi:water-outline
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Möbel pflegen
sensor_name: chore_clean_furniture
icon: mdi:sofa-outline
warning_before: 5
cycle_days: 90
- !include
- ../../templates/household_task.yaml
- name: Schränke reinigen
sensor_name: chore_clean_cupboards
icon: mdi:wardrobe
warning_before: 1
cycle_days: 365
- !include
- ../../templates/household_task.yaml
- name: Briefkasten reinigen
sensor_name: chore_clean_mailbox
icon: mdi:mailbox-outline
warning_before: 1
cycle_days: 365
- !include ../../../base/includes/gap.yaml
@@ -96,72 +109,77 @@
- type: horizontal-stack
cards:
- !include ../../../base/includes/gap.yaml
- type: 'custom:vertical-stack-in-card'
- type: custom:stack-in-card
mode: vertical
cards:
- !include
- ../../templates/household_task.yaml
- name: Backofen reinigen
sensor_name: chore_clean_oven
icon: mdi:stove
warning_before: 5
cycle_days: 90
- !include
- ../../templates/household_task.yaml
- name: Kühlschrank reinigen
sensor_name: chore_clean_fridge
icon: mdi:fridge-outline
warning_before: 5
cycle_days: 90
- !include
- ../../templates/household_task.yaml
- name: Kühlschrank abtauen
sensor_name: chore_defrost_fridge
icon: mdi:snowflake-melt
warning_before: 5
cycle_days: 365
- !include
- ../../templates/household_task.yaml
- name: Dampfabzug reinigen
sensor_name: chore_clean_steam_exhaust
icon: mdi:pot-steam-outline
warning_before: 5
cycle_days: 90
- !include
- ../../templates/household_task.yaml
- name: Flaschen entsorgen
sensor_name: chore_dispose_bottles
icon: mdi:bottle-wine-outline
warning_before: 5
cycle_days: 30
- !include
- ../../templates/household_task.yaml
- name: Geschirrspüler reinigen
sensor_name: chore_clean_dishwasher
icon: mdi:dishwasher
warning_before: 1
cycle_days: 30
- !include
- ../../templates/household_task.yaml
- name: Kaffeemaschine reinigen
sensor_name: chore_clean_coffe_machine
icon: mdi:coffee-maker-outline
warning_before: 1
cycle_days: 30
- !include
- ../../templates/household_task.yaml
- name: Lebensmittel prüfen
sensor_name: chore_check_food_fridge
icon: mdi:food-outline
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Putzlappen wechseln
sensor_name: chore_change_cloths
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Türklinken reinigen
sensor_name: chore_clean_door_handles
icon: mdi:rectangle-outline
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Türen abwaschen
sensor_name: chore_clean_doors
icon: mdi:door
warning_before: 1
cycle_days: 180
- !include ../../../base/includes/gap.yaml
@@ -175,43 +193,42 @@
- type: horizontal-stack
cards:
- !include ../../../base/includes/gap.yaml
- type: 'custom:vertical-stack-in-card'
- type: custom:stack-in-card
mode: vertical
cards:
- !include
- ../../templates/household_task.yaml
- name: Toilette reinigen
sensor_name: chore_clean_toilet
icon: mdi:toilet
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Handtücher wechseln
sensor_name: chore_change_towels
icon: mdi:rectangle-outline
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Bad reinigen
sensor_name: chore_clean_bath
icon: mdi:shower
warning_before: 1
cycle_days: 14
- !include
- ../../templates/household_task.yaml
- name: Spiegel reinigen
sensor_name: chore_clean_mirror
icon: mdi:mirror-rectangle
warning_before: 1
cycle_days: 14
- !include
- ../../templates/household_task.yaml
- name: Luftfilter reinigen
sensor_name: chore_clean_air_filter
warning_before: 2
cycle_days: 30
- !include
- ../../templates/household_task.yaml
- name: Siphon reinigen
sensor_name: chore_clean_siphon
icon: mdi:pipe
warning_before: 2
cycle_days: 365
- !include ../../../base/includes/gap.yaml
@@ -225,24 +242,28 @@
- type: horizontal-stack
cards:
- !include ../../../base/includes/gap.yaml
- type: 'custom:vertical-stack-in-card'
- type: custom:stack-in-card
mode: vertical
cards:
- !include
- ../../templates/household_task.yaml
- name: Bettwäsche wechseln
sensor_name: chore_change_bed_sheets
icon: mdi:bed-king-outline
warning_before: 1
cycle_days: 14
- !include
- ../../templates/household_task.yaml
- name: Matratze wenden
sensor_name: chore_turn_mattress
icon: mdi:bed
warning_before: 2
cycle_days: 30
- !include
- ../../templates/household_task.yaml
- name: Kissen/Decken waschen
sensor_name: chore_clean_pillow_bedsheets
icon: mdi:washing-machine
warning_before: 2
cycle_days: 365
- !include ../../../base/includes/gap.yaml
@@ -256,18 +277,21 @@
- type: horizontal-stack
cards:
- !include ../../../base/includes/gap.yaml
- type: 'custom:vertical-stack-in-card'
- type: custom:stack-in-card
mode: vertical
cards:
- !include
- ../../templates/household_task.yaml
- name: Kleiderschrank reinigen
sensor_name: chore_clean_wardrobe
icon: mdi:wardrobe-outline
warning_before: 1
cycle_days: 180
- !include
- ../../templates/household_task.yaml
- name: Kleider ausmisten
sensor_name: chore_declutter_wardrobe
icon: mdi:tshirt-crew-outline
warning_before: 1
cycle_days: 180
- !include ../../../base/includes/gap.yaml
@@ -281,24 +305,28 @@
- type: horizontal-stack
cards:
- !include ../../../base/includes/gap.yaml
- type: 'custom:vertical-stack-in-card'
- type: custom:stack-in-card
mode: vertical
cards:
- !include
- ../../templates/household_task.yaml
- name: Rasen mähen
sensor_name: chore_mow_lawn
icon: mdi:mower-bag
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Grill reinigen
sensor_name: chore_clean_grill
icon: mdi:grill-outline
warning_before: 1
cycle_days: 90
- !include
- ../../templates/household_task.yaml
- name: Grill Gas prüfen
sensor_name: chore_check_grill_gas
icon: mdi:fire
warning_before: 1
cycle_days: 365
- !include ../../../base/includes/gap.yaml
@@ -312,24 +340,21 @@
- type: horizontal-stack
cards:
- !include ../../../base/includes/gap.yaml
- type: 'custom:vertical-stack-in-card'
- type: custom:stack-in-card
mode: vertical
cards:
- !include
- ../../templates/household_task.yaml
- name: Waschmaschine reinigen
sensor_name: chore_clean_wash_machine
icon: mdi:washing-machine
warning_before: 1
cycle_days: 30
- !include
- ../../templates/household_task.yaml
- name: Tumbler reinigen
sensor_name: chore_clean_tumble_dryer
icon: mdi:tumble-dryer
warning_before: 2
cycle_days: 30
- !include
- ../../templates/household_task.yaml
- name: Vorräte prüfen
sensor_name: chore_check_food_stock
warning_before: 2
cycle_days: 90
- !include ../../../base/includes/gap.yaml

View File

@@ -14,30 +14,35 @@
- type: horizontal-stack
cards:
- !include ../../../base/includes/gap.yaml
- type: 'custom:vertical-stack-in-card'
- type: custom:stack-in-card
mode: vertical
cards:
- !include
- ../../templates/household_task.yaml
- name: Fell bürsten
sensor_name: chore_clean_fur
icon: mdi:dog-side
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Ohren putzen
sensor_name: chore_clean_ears
icon: mdi:ear-hearing
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Napf reinigen
sensor_name: chore_clean_food_bowl
icon: mdi:bowl-outline
warning_before: 1
cycle_days: 7
- !include
- ../../templates/household_task.yaml
- name: Krallen schneiden
sensor_name: chore_cut_claws
icon: mdi:paw
warning_before: 1
cycle_days: 21
- !include ../../../base/includes/gap.yaml

View File

@@ -8,42 +8,43 @@ group:
- sensor.chore_vacuum_clean
- sensor.chore_clean_floor_wet
- sensor.chore_oil_floor
- sensor.chore_dechalk
- sensor.chore_clean_covers
- sensor.chore_clean_curtains
- sensor.chore_clean_window_frames
- sensor.chore_clean_windows
- sensor.chore_clean_covers
- sensor.chore_clean_curtains
- sensor.chore_dechalk
- sensor.chore_clean_furniture
- sensor.chore_clean_cupboards
- sensor.chore_clean_mailbox
- sensor.chore_clean_oven
- sensor.chore_clean_fridge
- sensor.chore_defrost_fridge
- sensor.chore_clean_steam_exhaust
- sensor.chore_dispose_bottles
- sensor.chore_clean_dishwasher
- sensor.chore_clean_coffe_machine
- sensor.chore_check_food_fridge
- sensor.chore_change_cloths
- sensor.chore_clean_bath
- sensor.chore_clean_doors
- sensor.chore_clean_toilet
- sensor.chore_change_towels
- sensor.chore_clean_air_filter
- sensor.chore_clean_bath
- sensor.chore_clean_mirror
- sensor.chore_clean_siphon
- sensor.chore_change_bed_sheets
- sensor.chore_turn_mattress
- sensor.chore_clean_pillow_bedsheets
- sensor.chore_clean_wardrobe
- sensor.chore_declutter_wardrobe
- sensor.chore_mow_lawn
- sensor.chore_clean_grill
- sensor.chore_check_grill_gas
- sensor.chore_clean_wash_machine
- sensor.chore_check_food_stock
- sensor.chore_clean_tumble_dryer
- sensor.chore_clean_fur
- sensor.chore_clean_ears
- sensor.chore_clean_food_bowl
- sensor.chore_cut_claws
- sensor.chore_clean_siphon
- sensor.chore_clean_tumble_dryer
- sensor.chore_clean_wardrobe
- sensor.chore_declutter_wardrobe
- sensor.chore_dispose_bottles
- sensor.chore_clean_grill
- sensor.chore_clean_mirror
automation:
# Notify on household task due
@@ -53,7 +54,7 @@ automation:
entities: "group.household_tasks"
trigger:
- platform: time
at: "19:00:00"
at: "16:57:00"
action:
- repeat:
count: "{{ expand(entities) | list | count }}"
@@ -63,11 +64,11 @@ automation:
{% set tasks = expand(entities) | map(attribute='entity_id') | list %}
{{ tasks[repeat.index - 1] }}
task_id: "{{ entity_id.split('.')[1] }}"
last_done_days: "{{ ((as_timestamp(now()) - (states(entity_id)) | float) / 60 / 60 / 24) | int }}"
last_done_days: "{{ ((as_timestamp(now()) - (as_timestamp(states(entity_id))) | float) / 60 / 60 / 24) | int }}"
cycle_days: "{{ state_attr(entity_id, 'cycle_days') | int }}"
warn_before_days: "{{ state_attr(entity_id, 'warning_before') | int }}"
- condition: template
value_template: "{{ last_done_days|int > (cycle_days|int - warn_before_days|int) }}"
value_template: "{{ last_done_days|int >= (cycle_days|int - warn_before_days|int) }}"
- service: notify.mobile_app_phone_dimitri
data:
title: "🧹 {{ state_attr(entity_id, 'friendly_name') }}"
@@ -107,7 +108,7 @@ automation:
topic: "homeassistant/sensor/{{task_id}}/state"
payload: >
{
"state": {{ as_timestamp(now())|round(3) }},
"state": "{{ now().isoformat() }}",
"attributes": {
"executor": "{{ executor.title() }}",
"cycle_days": {{ state_attr(sensor_name, 'cycle_days') }},
@@ -132,7 +133,6 @@ automation:
title: "🙏 Erledigt!"
message: "{{ executor.title() }} hat die Aufgabe '{{ task_name }}' bereits erledigt!"
# Entity Customization
homeassistant:
customize:
@@ -144,20 +144,22 @@ homeassistant:
friendly_name: Boden aufnehmen
sensor.chore_oil_floor:
friendly_name: Boden einölen
sensor.chore_dechalk:
friendly_name: Entkalken
sensor.chore_clean_covers:
friendly_name: Rollos reinigen
sensor.chore_clean_curtains:
friendly_name: Vorhänge reinigen
sensor.chore_clean_window_frames:
friendly_name: Fensterbänke reinigen
sensor.chore_clean_windows:
friendly_name: Fenster reinigen
sensor.chore_clean_covers:
friendly_name: Rollos reinigen
sensor.chore_clean_curtains:
friendly_name: Vorhänge reinigen
sensor.chore_dechalk:
friendly_name: Entkalken
sensor.chore_clean_furniture:
friendly_name: Möbel pflegen
sensor.chore_clean_cupboards:
friendly_name: Schränke reinigen
sensor.chore_clean_mailbox:
friendly_name: Briefkasten reinigen
sensor.chore_clean_oven:
friendly_name: Backofen reinigen
sensor.chore_clean_fridge:
@@ -166,6 +168,8 @@ homeassistant:
friendly_name: Kühlschrank abtauen
sensor.chore_clean_steam_exhaust:
friendly_name: Dampfabzug reinigen
sensor.chore_dispose_bottles:
friendly_name: Flaschen entsorgen
sensor.chore_clean_dishwasher:
friendly_name: Geschirrspüler reinigen
sensor.chore_clean_coffe_machine:
@@ -174,42 +178,43 @@ homeassistant:
friendly_name: Lebensmittel prüfen
sensor.chore_change_cloths:
friendly_name: Putzlappen wechseln
sensor.chore_clean_bath:
friendly_name: Bad reinigen
sensor.chore_clean_doors:
friendly_name: Türen abwaschen
sensor.chore_clean_toilet:
friendly_name: Toilette reinigen
sensor.chore_change_towels:
friendly_name: Handtücher wechseln
sensor.chore_clean_air_filter:
friendly_name: Luftfilter reinigen
sensor.chore_clean_bath:
friendly_name: Bad reinigen
sensor.chore_clean_mirror:
friendly_name: Spiegel reinigen
sensor.chore_clean_siphon:
friendly_name: Siphon reinigen
sensor.chore_change_bed_sheets:
friendly_name: Bettwäsche wechseln
sensor.chore_turn_mattress:
friendly_name: Matratze wenden
sensor.chore_clean_wash_machine:
friendly_name: Waschmaschine reinigen
sensor.chore_check_food_stock:
friendly_name: Vorräte prüfen
sensor.chore_clean_fur:
friendly_name: Baghira Fell bürsten
sensor.chore_clean_ears:
friendly_name: Baghira Ohren putzen
sensor.chore_clean_food_bowl:
friendly_name: Napf reinigen
sensor.chore_cut_claws:
friendly_name: Baghira Krallen schneiden
sensor.chore_clean_siphon:
friendly_name: Siphon reinigen
sensor.chore_clean_tumble_dryer:
friendly_name: Tumbler reinigen
sensor.chore_clean_pillow_bedsheets:
friendly_name: Kissen/Decken waschen
sensor.chore_clean_wardrobe:
friendly_name: Kleiderschrank reinigen
sensor.chore_declutter_wardrobe:
friendly_name: Kleider ausmisten
sensor.chore_dispose_bottles:
friendly_name: Flaschen entsorgen
sensor.chore_mow_lawn:
friendly_name: Rasen mähen
sensor.chore_clean_grill:
friendly_name: Grill reinigen
sensor.chore_clean_mirror:
friendly_name: Spiegel reinigen
sensor.chore_check_grill_gas:
friendly_name: Griss Gas prüfen
sensor.chore_clean_wash_machine:
friendly_name: Waschmaschine reinigen
sensor.chore_clean_tumble_dryer:
friendly_name: Tumbler reinigen
sensor.chore_clean_fur:
friendly_name: Fell bürsten
sensor.chore_clean_ears:
friendly_name: Ohren putzen
sensor.chore_clean_food_bowl:
friendly_name: Napf reinigen
sensor.chore_cut_claws:
friendly_name: Krallen schneiden