Wie der Abfallkalender generell in Home Assistant zu integrieren ist, habe ich ja bereits im folgenden Video für Euch zusammengefasst.
FelixFr hat die Darstellung der Müllkalender Daten noch etwas verfeinert und war so nett die Konfiguration mit uns zu teilen. In der Grafik seht Ihr ein Beispiel seiner Erweiterung.
configuration.yaml
Der folgende Eintrag muss in die configuration.yaml
Hier muss der Name bzw. der Pfad zur ICS-Datei so wie die Typen ggf angepasst werden.
waste_collection_schedule:
sources:
- name: ics
args:
file: "www/abfall.ics"
customize:
- type: Restabfall
alias: Restabfall
icon: mdi:trash-can
- type: Papiertonne
alias: Papiertonne
icon: mdi:trash-can
- type: Bioabfall
alias: Bioabfall
icon: mdi:trash-can
fetch_time: "04:00"
day_switch_time: "10:00"
Die folgenden Sensor-Einträge müssen ebenfalls in die configuration.yaml.
Ausnahme: Falls z.B. mit sensor: !include sensors.yaml eine externe Datei für Sensoren verwendet wird,
müssen die folgenden Einträge (ohne die Zeile “sensor:”) in die Datei sensors.yaml
Hier muss ggf. der Name bzw. Type angepasst werden.
sensor:
- platform: waste_collection_schedule
name: Papierabfall_date
value_template: '{{value.date.strftime("%d.%m.%Y")}}'
types:
- Papiertonne
- platform: waste_collection_schedule
name: Papierabfall_collection
value_template: "{{value.daysTo}}"
types:
- Papiertonne
- platform: waste_collection_schedule
name: Restmuelltonne_date
value_template: '{{value.date.strftime("%d.%m.%Y")}}'
types:
- Restabfall
- platform: waste_collection_schedule
name: Restmuelltonne_collection
value_template: "{{value.daysTo}}"
types:
- Restabfall
- platform: waste_collection_schedule
name: Biotonne_date
value_template: '{{value.date.strftime("%d.%m.%Y")}}'
types:
- Bioabfall
- platform: waste_collection_schedule
name: Biotonne_collection
value_template: "{{value.daysTo}}"
types:
- Bioabfall
- platform: waste_collection_schedule
name: next_waste_collection_daysto
details_format: upcoming
value_template: '{{value.types|join(", ")}} in {{value.daysTo}} Tagen'
#button-card#
- platform: waste_collection_schedule
name: MyButtonCardSensor
value_template: '{{value.types|join(", ")}}|{{value.daysTo}}|{{value.date.strftime("%d.%m.%Y")}}|{{value.date.strftime("%a")}}'
Lovelace-Card
Bei den folgenden Einträgen handelt es sich um Karten aus der Oberfläche (Lovelace Dashboard)
Folgende Integrationen aus dem HACS Store sind dafür notwendig:
- custom-cards/button-card
- custom:multiple-entity-row
type: entities
entities:
- entity: sensor.restmuelltonne_date
style: |
:host {
color: grey;
}
icon: 'mdi:delete-empty'
show_state: false
type: 'custom:multiple-entity-row'
name: Schwarze Tonne
secondary_info: last-changed
entities:
- entity: sensor.restmuelltonne_collection
name: Abholung in
unit: Tage(n)
- entity: sensor.restmuelltonne_date
name: Datum
- entity: sensor.biotonne_date
style: |
:host {
color: brown;
}
icon: 'mdi:bio'
show_state: false
type: 'custom:multiple-entity-row'
name: Braune Tonne
secondary_info: last-changed
entities:
- entity: sensor.biotonne_collection
name: Abholung in
unit: Tage(n)
- entity: sensor.biotonne_date
name: Datum
- entity: sensor.papierabfall_date
style: |
:host {
color: blue
}
icon: 'mdi:tree'
show_state: false
type: 'custom:multiple-entity-row'
name: Blaue Tonne
secondary_info: last-changed
entities:
- entity: sensor.papierabfall_collection
name: Abholung in
unit: Tage(n)
- entity: sensor.papierabfall_date
name: Datum
- entity: sensor.mybuttoncardsensor
type: 'custom:button-card'
layout: icon_name_state2nd
show_label: true
label: |
[[[
var days_to = entity.state.split("|")[1]
if (days_to == 0)
{ return "Heute" }
else if (days_to == 1)
{ return "Morgen" }
else
{ return "in " + days_to + " Tagen" }
]]]
show_name: true
name: |
[[[
return entity.state.split("|")[0]
]]]
state:
- color: red
operator: template
value: '[[[ return entity.state.split("|")[1] == 0 ]]]'
- color: orange
operator: template
value: '[[[ return entity.state.split("|")[1] == 1 ]]]'
- value: default
Wenn alles funktioniert hat, solltet Ihr nun die oben gezeigte Karte auf eurem Dashboard sehen.