Müllkalender Darstellung mit Tagen + Datum in einer Zeile

AZDelivery NodeMCU Amica Modul V2 ESP8266 ESP-12F WiFi WiFi Development Board mit CP2102 kompatibel mit Arduino inklusive E-Book!
AZDelivery NodeMCU Amica Modul V2 ESP8266 ESP-12F WiFi WiFi Development Board mit CP2102 kompatibel mit Arduino inklusive E-Book!
7,49 €

Wie der Abfallkalender generell in Home Assistant zu integrieren ist, habe ich ja bereits im folgenden Video für Euch zusammengefasst.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

https://www.youtube.com/watch?v=aCKLKGYiA7w


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.