Waste_collection_schedule

Seit einem Update vor einigen Tagen läuft der Müllkalender nicht mehr. Ich finde keinen Fehler, vorher hat alles reibungslos funktioniert, in der Doku sehe ich nicht, dass die config sich grundlegend geändert hätte. Hat noch jemand das problem?

müllkalender.png

Bei mir sieht noch alles normal aus, eben mal geschaut.

Irgendwas im Log?

Im Logbuch findet man nur die üblichen Einträge, eben bis zu dem Tag des Updates

papiertonne.png

Das Video zur rechten Zeit. Danke erstmal Simon.

Ich habe ein Problem mich wieder aus der virtuellen Umgebung auszuloggen und diese zu entfernen. Beim Versuch, alles zu markieren um es ins Visual Studio zu pasten habe ich wohl was falsch gemacht. Jedenfalls sieht es bei mir jetzt so aus. Vielleicht hat einer einen Tipp, wie ich das wieder hinbekomme.

image.png

gelöst.

Da ich aus Berlin bin, habe ich bei mir die BSR und Alba als Dienstleister. Der Kalender wird auch mit den Terminen für die Abholung gefüllt. Die Sensoren/Entitäten für die BSR liefern alle Termine für meine Dashboardkarte.

Nur bei Alba, die bei uns den Gelben Sack abholen, sagt er mir "unknown". Wie gesagt, obwohl die Termine im Kalender eingetragen werden, ist die Entität "unknown". Ich habe (mehrfach) gecheckt, dass ich in der Konfig des Sensors den Typ exakt so übernommen habe, wie er im Kalender steht. Das ist bei Alba "Wertstofftonne".

Hier der Sensor:
- platform: waste_collection_schedule
  name: "GelberSack"
  value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
  types:
    - Wertstofftonne

Hier ein Kalenderscreenshot (Lila sind die Einträge der BSR):

image.png

Hat jemand eine Idee?

Ich hab's gelöst:

Da ich mit zwei verschiedenen Sources arbeite (BSR + ALBA), muss ich den Sensoren mitgeben, von welcher Quelle sie ihre Daten ziehen sollen. Das passiert über den Source_index. Dabei gibt die Reihenfolge der Source in der configuration.yaml den Index vor: Die erste Quelle bekommt die "0", die nächste die "1" usw. Im sensor wird das dann so codiert:

# Nächste Gelber Sack Abholung
- platform: waste_collection_schedule
  source_index: 0
  name: "GelberSack"
  value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
  types:
    - Wertstofftonne
# Nächste Restmüll-Abholung
- platform: waste_collection_schedule
  source_index: 1
  name: "Restmuell"
  value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
  types:
    - Abholung Hausmüll

Fertsch.

Hallo,

weiß jemand wie ich es hinbekomme bestimmte Tonnen in der Waste Collection auszuschließen?

Wir haben keine Komposttonne, diese ist aber in der Kalender ICS enthalten. Ich habe drei Sensoren für die vorhandenen Tonnen erstellt, bei “Nächster Abfall” wird dennoch die Komposttonne angezeigt. Kann man diese irgendwie herausfiltern?

So sieht das ganze aktuell aus:

waste_collection_schedule:
  sources:
    - name: ics
      args:
        file: "www/muell.ics"
      customize:
        - type: Gelbe Säcke
          alias: gelbersack
          icon: mdi:recycle
        - type: Restmülltonne
          alias: restmuell
          icon: mdi:trash-can
        - type: Papiertonne
          alias: papier
          icon: mdi:trash-can
  fetch_time: "04:00"
  day_switch_time: "10:00"

sensor:
  # ------- Garbage Collection ------- 
  # next collection
  - platform: waste_collection_schedule
    name: "Nächste Abholung"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    
  # Nächste Restmüll-Abholung
  - 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ülltonne
      
  # Nächste gelber-Sack Abholung
  - 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:
      - Gelbe Säcke
      
  # Nächste Papiermüll Abholung
  - platform: waste_collection_schedule
    name: "Papier"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Papiertonne

Versuch doch mal bei “Nächste Abholung” die drei Types anzugeben. Das sollte reichen.

types:
  - Restmülltonne
  - Gelbe Säcke
  - Papiertonne
1 „Gefällt mir“

Vielen Dank. Langsam steige ich auch durch die Syntax durch. Nun muss ich mir nur noch eine attraktive Ansicht heraussuchen. Bin noch unschlüssig was ich nehme

Schau dir mal die Kachel Bildentität an.

Hi Leute,
ich verwende auch die “Waste_collection_schedule” mit einem von Anbieter heruntergeldenen Kalender.
Bei mir wird komischerweise “Papiertonne” und “Plastikmüll” richtig angezeigt, bei “Restmüll” und “Bio Müll” wir “Unbekannt” ausgegeben. Ich habe die Namen mehrfach überprüft und konnt keinen Fehler feststellen. Das Komische, ist, dass der Biomüll unten richtig angezeigt wir! Hier ein Screenshot:

Wo kann ich noch nach Fehlern suchen?

Heißt es Bio Müll oder Biotonne? Wie sehen deine Sensoren aus, was geben die aus? Poste mal einen Screenshot von Entwicklerwerkzeuge - Zustände. Dort müsstest du biotonne oder bio müll finden.

Der Name “Bio Müll” kommt nur auf der Karte als “alias” sonst heißt es überall Biotonne. Was mich aber irritiert, ist dass im Kalender “Biotonne” mit großem B geschrieben ist, aber die entitäten klein geschrieben sind:

Kalenderdatei:

BEGIN:VEVENT
DTSTART;VALUE=DATE:20231117
DTEND;VALUE=DATE:20231118
TRANSP:TRANSPARENT
X-MICROSOFT-CDO-BUSYSTATUS:FREE
LOCATION;LANGUAGE=de:Mainzer Allee 15\, 71640 Ludwigsburg
UID:1698934819408-12@kundenportal.avl-lb.de
DTSTAMP:20231102T032019Z
DESCRIPTION;LANGUAGE=de:Leerungserinnerung
SUMMARY;LANGUAGE=de:Biotonne 
PRIORITY:9
CLASS:PUBLIC
STATUS:CONFIRMED
END:VEVENT

Auszug aus der Karte:
entity: sensor.biotonne_collection

Auszug aus sensor.yaml:

- platform: waste_collection_schedule
  name: Biotonne_date
  value_template: '{{value.date.strftime("%d.%m.%Y")}}'
  types:
    - Biotonne
- platform: waste_collection_schedule
  name: Biotonne_collection
  value_template: "{{value.daysTo}}"
  types:
    - Biotonne

Hier der auszug aus der config.:

waste_collection_schedule:
  sources:
    - name: ics
      args:
        file: "www/Leerungstermine23.ics"
      customize:
        - type: Restmuelltonne
          alias: Restmuelltonne
          icon: mdi:trash-can
        - type: Papiertonne
          alias: Papiertonne
          icon: mdi:trash-can
        - type: Biotonne
          alias: Biotonne
          icon: mdi:trash-can
        - type: Gelbe Tonne
          alias: Gelbe Tonne
          icon: mdi:trash-can
        - type: Glas
          alias: Glas
          icon: mdi:trash-can

  fetch_time: "04:00"
  day_switch_time: "10:00"

Grüße aus Ludwigsburg
Jochen Kubik

Werden dort die Termine ausgegeben?

Ich vermute der Eintrag bei types: ist falsch. Obwohl … sieht eigentlich gut aus.

Ja, hier werden Termine ausgegeben:

2023-11-04: Biotonne
2023-11-10: Restmuelltonne
2023-11-16: Papiertonne
2023-11-17: Plastikabfall, Biotonne
2023-11-20: Glas
2023-11-24: Restmuelltonne
2023-12-01: Biotonne
2023-12-08: Restmuelltonne
2023-12-14: Papiertonne
2023-12-15: Plastikabfall, Biotonne
2023-12-18: Glas
2023-12-22: Restmuelltonne
attribution: Last update: 11/03/23 04:41:19
icon: mdi:trash-can
friendly_name: MyButtonCardSensor

Welchen Sensor hast du gepostet? Sieht nach “nächste Leerung” aus. Schau mal expliziet nach Biotonne.

Nachtrag:

Hier mal das yaml der Dashboard karte:

type: entities
entities:
  - entity: sensor.restmuelltonne_date
    style: |
      :host {
        color: grey;
      }      
    icon: mdi:delete-empty
    show_state: false
    type: custom:multiple-entity-row
    name: Restmüll
    secondary_info: false
    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: Biotonne
    secondary_info: false
    entities:
      - entity: sensor.biotonne_collection
        name: Abholung in
        unit: Tage(n)
      - entity: sensor.biotonne_date
        name: Datum
  - entity: sensor.papierabfall_date
    style: |
      :host {
        color: turquoise
      }  
    icon: mdi:tree
    show_state: false
    type: custom:multiple-entity-row
    name: Papiertonne
    secondary_info: false
    entities:
      - entity: sensor.papierabfall_collection
        name: Abholung in
        unit: Tage(n)
      - entity: sensor.papierabfall_date
        name: Datum
  - entity: sensor.plastiktonne_date
    style: |
      :host {
        color: orange
      }  
    icon: mdi:recycle
    show_state: false
    type: custom:multiple-entity-row
    name: Plastik Sack
    secondary_info: false
    entities:
      - entity: sensor.plastikmuelltonne_collection
        name: Abholung in
        unit: Tage(n)
      - entity: sensor.plastiktonne_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
show_header_toggle: true
title: Müllabfuhr
state_color: false

Sieht eigentlich auch gut aus, bin zwar kein yaml Spezialist, komme eher vom Webdesign (HTML und CSS) :wink:

:crayon:by HarryP: Zusammenführung Doppelpost

Kannst du mal einen Auszug aus der Kalenderdatei posten, z. B. für Papiertonne, da wo es funktioniert?

Ja, klar:

BEGIN:VEVENT
DTSTART;VALUE=DATE:20231214
DTEND;VALUE=DATE:20231215
TRANSP:TRANSPARENT
X-MICROSOFT-CDO-BUSYSTATUS:FREE
LOCATION;LANGUAGE=de:Mainzer Allee 15\, 71640 Ludwigsburg
UID:1698934819408-10@kundenportal.avl-lb.de
DTSTAMP:20231102T032019Z
DESCRIPTION;LANGUAGE=de:Leerungserinnerung
SUMMARY;LANGUAGE=de:Papiertonne 
PRIORITY:9
CLASS:PUBLIC
STATUS:CONFIRMED
END:VEVENT

Was mich irritiert, ist dass in den Zuständen ja Termin ausgegeben werden!