Abfallart im Kalender umbenenne:

zum umbenennen kann am ende der Konfiguration der Parameter „customize:“ wie unten zu sehen eingefügt werden.

waste_collection_schedule:
  sources:
    - name: NAME
      customize:
        - type: Very long garbage name
          alias: Garbage
        - type: Very long recycle name
          alias: Recycle

Variante 2 ICS:

Beispiel Code ICS – Vollständiger Beispielcode auf GitHub:

waste_collection_schedule:
  sources:
    - name: ics
      args:
        url: URL

Variante 3 STATIC:

Die Wiederholung für mehr als eine Tonne wird ab „- name:“ gestartet.

waste_collection_schedule:
  sources:
    - name: static
      args:
        type: Restmüll
        frequency: WEEKLY
        interval: 1
        start: '2022-01-14'
        until: '2022-12-31'
        excludes: # Add exception for the recurrence
          - '2022-07-29'
          - '2022-09-23'
        dates: # Manually add dates that are not part of the recurrence
          - '2022-07-28'
          - '2022-09-22'
# Wiederholung für weiter Tonnen
    - name: static
      args:
        type: Altpapier
        frequency: WEEKLY
        interval: 2
        start: '2022-01-14'
        until: '2022-12-31'

Für dieses Beispiel müssen sie Sensoren wie folgt definiert werden! (Wichtig ist das der zweite "-name: static" den "source_index: 1", der dritte die 2, der vierte die 4 usw.

# ------- Garbage Collection ------- 
  # Nächste Abholung Restmüll
  - platform: waste_collection_schedule
    name: "Restmüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Restmüll
  # Ab hier beliebig oft wiederholbar
  # Nächste Abholung Altpapier
  - platform: waste_collection_schedule
    source_index: 1
    name: "Altpapier"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Altpapier

Sensoren:

Beispiel Sensor mit vorangestelltem Namen wie im Kalender im Status (z.B.: AWD: Gelber Sack in 2 tagen):

  # ------- Garbage Collection ------- 
  # Nächste Abholung Gelber Sack
  - platform: waste_collection_schedule
    name: "Gelber Sack"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Gelber Sack
  # Ab hier beliebig oft wiederholbar
  # Nächste Abholung Restmüll
  - platform: waste_collection_schedule
    name: "Restmüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Restmüll

Sollte sich bei etwaigen Änderungen der Name über den Jahreswechsel ändern, so lassen sich die beiden Namen wie folgt im Template zusammenfassen. z.B. Gelber Sack und Gelber Sack (verlegt)

# ------- Garbage Collection ------- 
  # Nächste Abholung Gelber Sack
  - platform: waste_collection_schedule
    name: "Gelber Sack"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Gelber Sack
      - Gelber Sack (verlegt)

Beispiel in dem als Status nur die Zeit angezeigt wird (z.B.: in 3 tagen):

  # ------- Garbage Collection ------- 
  # Nächste Abholung Gelber Sack
  - platform: waste_collection_schedule
    name: "Gelber Sack"
    value_template: '{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Gelber Sack

Beispiel mit frei wählbarem Text für der Zeit im Sensor (z.B.: Textbeispiel in 5 Tagen):

# ------- Garbage Collection ------- 
  # Nächste Abholung Gelber Sack
  - platform: waste_collection_schedule
    name: "Gelber Sack"
    value_template: 'Textbeispiel{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Gelber Sack

Templates für Automation:

Beispiel für Bedingungs-Template

{{'Morgen' in states('sensor.gelber_sack') }}

Beispiel für Benachrichtigung

Abholung {{states('sensor.gelber_sack') }}

Diesen Beitrag teilen: