Müllkalender einrichten (müllmax) naechste Abholung

Hallo zusammen,
Da ich gerade alle Videos von Simon hier durchgehe, bin ich bei mir leider auf ein kleines Problem beim Müllkalender gestoßen?

  • Situation:
    Es werden alle Abfuhrzeiten im Kalender angezeigt.
    Auf der Karte im Dashboard stehen auch alle Abholzeiten, nur eben bei der “naechsten Abholung” steht “unknown”.

Nach etwas stöbern hier im Forum, habe ich mal dieses “{{value.types|join(”, “)}}” aus der yamml bei allen rausgenommen um die seltsamen Kalendereintrags-namen nicht auf der Karte ertragen zu müssen.

Seltsamerweise funktioniert aber nun plötzlich die “nächste Abholung” karte.
Allerdings:

“naechste Abholung morgen”

Schön das es jetzt zumindest funktioniert. Allerdings fehlt mir nun noch die Info welcher Müll überhaupt abgeholt wird. Kann hier jemand helfen?
Hoffe ich konnte es einigermaßen verständlich ausdrücken. Es geht nur um die nächste Abholung, alles andere funktioniert.

Herzlich Willkommen im Forum. Am besten, du postest mal deinen Code.

  # ------- 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:
      - RSAG Restmülltonne 2-wö.
  # Nächste Biomüll Abholung
  - platform: waste_collection_schedule
    name: "Biomüll"
    value_template: '{{value.types|join(”, “)}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - RSAG Biotonne Regelabfuhr
  # 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:
      - RSAG Wertstofftonne oder -sack 4-wö.
  # 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:
      - RSAG Papiertonne 4-wö.

oben: So funktioniert es nicht
unten: So funktioniert es allerdings ohne Info welche Tonne die nächste Abholung ist

# ------- Garbage Collection ------- 
  # next collection
  - platform: waste_collection_schedule
    name: "Nächste Abholung"
    value_template: '{% 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: '{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - RSAG Restmülltonne 2-wö.
  # Nächste Biomüll Abholung
  - platform: waste_collection_schedule
    name: "Biomüll"
    value_template: '{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - RSAG Biotonne Regelabfuhr
  # Nächste gelber-Sack Abholung
  - 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:
      - RSAG Wertstofftonne oder -sack 4-wö.
  # Nächste Papiermüll Abholung
  - platform: waste_collection_schedule
    name: "Papier"
    value_template: '{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - RSAG Papiertonne 4-wö.

Hi, ich hatte am Anfang auch so meine Probleme. Ich poste Dir mal hier meine yaml Datei zum Vergleich, vielleicht findest Du da den Unterschied. Bei uns ist es eine ICS Datei, aber das ist nicht das wichtigste welche Datei das ist. Die ganze Mülldatei hab ich in dem Verzeichnis packages weil ich so die config ein wenig schlanker und übersichtlich halte.

#-------------------------------------------------------------------------------
#      Müllkalender
#-------------------------------------------------------------------------------

waste_collection_schedule:
  sources:
    - name: ics
      args:
        file: "www/muell/Abfallkalender.ics"


#-------------------------------------------------------------------------------
#        Müllabfuhr
#-------------------------------------------------------------------------------
sensor:
  - 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: "Restabfall"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Restabfall
  
  # Nächste Biomüll Abholung
  - platform: waste_collection_schedule
    name: "Bioabfall"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Bioabfall
  
  # Nächste Gelbe Tonne Abholung
  - platform: waste_collection_schedule
    name: "Gelbe Tonne"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Gelbe Tonne
  
  # Nächste Altpapier Abholung
  - platform: waste_collection_schedule
    name: "Blaue Tonne"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Altpapier      
  
  # Nächste Schadstoffsammlung
  - platform: waste_collection_schedule
    name: "Schadstoffe"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Schadstoffsammlung
  
  # Nächste Gartenabfälle
  - platform: waste_collection_schedule
    name: "Gartenabfälle"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Gartenabfälle
        

Das ganze kann man auch in die config reinpacken.
Der Kalender sieht dann so aus:
kalender01

Ich vermute du hast die falschen Anführungszeichen verwendet:

mit value.types|join(", ") sollte es funktionieren

Hat leider alles nicht geklappt.
Anbei nochmal. Wenn ich original Schnipsel benutze, steht bei nächster Abholung unknown.

Wenn ich jetzt überall die “{{value.types|join(”, “)}}” rausnehme, steht bei nächster Abholung die richtige Zeit.

Würde jetzt aber bei nächster Abholung noch gern wissen was überhaupt abgeholt wird :wink:

Wo liegt mein Fehler? :thinking: Was mach ich falsch :face_with_spiral_eyes:

Du hast uns die Sensoren gepostet. Aber du hast dort keine Sources angegeben. Hast du die Sources denn in der configuration.yaml definiert? Du siehst bei @manfred52 als erstes die sources. Das gehört in die config.

du meinst das hier ?

waste_collection_schedule:
  sources:
    - name: muellmax_de
      args:
        service: Rsa
        mm_frm_ort_sel: *meine Stadt*
        mm_frm_str_sel: *meine Straße*

das steht auch drüber. Denke mal sonst würden ja auch keine Daten kommen.

Ich vermute es wird nach der Datei gesucht:

- name: Müllabholung Heute
  unique_id: mullabholung_heute
  icon: mdi:trash-can-outline
  state: >
    {% set Altpapier = states.sensor.Altpapier.state %}
    {% set Gelbe Tonne = states.sensor.Gelbe Tonne.state %}
    {% set Restabfall = states.sensor.Restabfall.state %}
    {% set Biotonne = states.sensor.Bioabfall.state %}
    {% if Altpapier == "Heute" and Gelbe Tonne == "Heute" and Restabfall == "Heute" and Biotonne == "Heute" %}
    die Altpapier, Gelbe Tonne, Restabfall und Bioabfall
    {% elif Gelbe Tonne == "Heute" and Restabfall == "Heute" and Biotonne == "Heute" %} 
    die Gelbe Tonne, Restabfall und Bioabfall
    {% elif Altpapier == "Heute" and Restabfall == "Heute" and Biotonne == "Heute" %}
    die Altpapier, Restabfall und Bioabfall
    {% elif Altpapier == "Heute" and Gelbe Tonne == "Heute" and Biotonne == "Heute" %}
    die Altpapier, Gelbe Tonne und Bioabfall
    {% elif Altpapier == "Heute" and Gelbe Tonne == "Heute" and Restabfall == "Heute" %}
    die Altpapier, Gelbe Tonne und Restabfall
    {% elif Altpapier == "Heute" and Gelbe Tonne == "Heute" %}
    die Altpapier und Gelbe Tonne
    {% elif Altpapier == "Heute" and Restabfall == "Heute" %}
    die Altpapier und Restabfall
    {% elif Altpapier == "Heute" and Biotonne == "Heute" %}
    die Altpapier und Bioabfall
    {% elif Gelbe Tonne == "Heute" and Restabfall == "Heute" %}
    die Gelbe Tonne und Restabfall
    {% elif Gelbe Tonne == "Heute" and Biotonne == "Heute" %}
    die Gelbe Tonne und Bioabfall
    {% elif Restabfall == "Heute" and Biotonne == "Heute" %}
    die Restabfall und Bioabfall
    {% elif Altpapier == "Heute" %}
    die Altpapier
    {% elif Gelbe Tonne == "Heute" %}
    die Gelbe Tonne
    {% elif Restabfall == "Heute" %}
    die Restabfall
    {% elif Biotonne == "Heute" %}
    die Bioabfall
    {% else %}
    keine
    {%endif%}

#-----------------------------------------------------------  
# Müllabholung Text Template
#-----------------------------------------------------------
- name: Müllabholung Text
  unique_id: mullabholung_text
  icon: mdi:trash-can-outline
  state: >
    {% if states.calendar.ics.state == 'on' %}
    Du musst heute {{ states.sensor.mullabholung_heute.state }} Tonne rausstellen!
    {% else %}
    
    {%endif%}

die steht bei mir in www/template/

Versteh ich leider nicht wirklich. Dafür bin ich noch zu neu bei HomeAssistant.
Hier nochmal zur verdeutlichung:

Schreib ich die yamml genauso wie Simon42 im Video beschrieben hat. kommt bei mir folgendes raus:


1-2

Man sieht der Sensor “nächste Abholung” bleibt leer.
Lass ich aber in der yamml bei “nächste Abholung” nach “value_template” folgendes weg:
{{value.types|join(", ")}}

Sieht das ganze so aus:


2-2

Soweit sogut. Nur hätte ich es gern so wie Simon42 im Video gezeigt hat, das letztendlich in der Karte auch die Tonne selbst steht. Also “nächste Abholung: rsag biotonne in 6 Tagen” und nicht nur die Tage.

Wo liegt hier mein Fehler?

Hm, der einzige Unterschied zu deinem Code sehe ich zu meinem darin, dass ich den Source index angegeben habe. Sieht so aus:

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

Und mein Sensor sieht so aus:

In meiner config steht die Quelle so:

waste_collection_schedule:
  sources:
#Alba        
  - name: abfall_io
    args:
      key: 0815
      f_id_kommune: 4711
      f_id_strasse: 4711
      f_id_strasse_hnr: 4711
    customize:
      - type: Wertstofftonne
        alias: Gelbe Tonne
        icon: mdi:recycle         

Da Alba meine erste Quelle ist, ist das Source “0”. Du hast wenn ich richtig sehe nur eine Quelle. Würde vielleicht trotzdem mal Source “0” angeben.

Odes es liegt am “customize”.
Der “alias: Gelbe Tonne” muss mit dem type des Sensors übereinstimmen. Hier ist Groß- und Kleinschreibung relevant.

Zu dem obigen Beispiel mit Alba sieht der Sensor so aus:

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

Und das könnte dein Fehler sein. Also der Alias in der Source muss mit dem type im Sensor übereinstimmen.

Ok. Hab den Punkt wo ich auch nur irgendetwas verstehen würde nun schon lang überschritten :rofl:

Habe nun einfach alles so nachgeschrieben. Weiß nicht ob du das so meintest. Allerdings scheint tatsächlich nun irgendetwas passiert zu sein.

Sieht bei mir nun so aus:

waste_collection_schedule:
  sources:
    - name: muellmax_de
      args:
        service: Rsa
        mm_frm_ort_sel: ******
        mm_frm_str_sel: ******
      customize:
      - type: RSAG Restmülltonne 2-wö.
        alias: Graue Tonne
        icon: mdi:recycle
      - type: RSAG Wertstofftonne oder -sack 4-wö.
        alias: Gelbe Tonne
        icon: mdi:recycle
      - type: RSAG Papiertonne 4-wö.
        alias: Grüne Tonne
        icon: mdi:recycle
      - type: RSAG Biotonne Regelabfuhr
        alias: Braune Tonne
        icon: mdi:recycle

und

sensor:
  # next collection
  - platform: waste_collection_schedule
    name: "Nächste Abholung"
    source_index:
    - 0
    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
    source_index: 0
    name: "GraueTonne"
    value_template: '{{value.types|join(", ")| replace("Graue Tonne", " ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Graue Tonne
  # Nächste gelber-Sack Abholung
  - platform: waste_collection_schedule
    source_index: 0
    name: "GelberSack"
    value_template: '{{value.types|join(", ")| replace("Gelbe Tonne", " ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Gelbe Tonne
  # Nächste Papiermüll Abholung
  - platform: waste_collection_schedule
    source_index: 0
    name: "GrüneTonne"
    value_template: '{{value.types|join(", ")| replace("Grüne Tonne", " ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Grüne Tonne
  # Nächste Biomüll Abholung
  - platform: waste_collection_schedule
    source_index: 0
    name: "BrauneTonne"
    value_template: '{{value.types|join(", ")| replace("Braune Tonne", " ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Braune Tonne

Das Ergebnis sieht nun so aus:

erg

Also angezeigt wird nun endlich was. Nur jetzt ist es wiederum etwas viel. Jetzt wird irgendwie alles angezeigt, sogar diejenigen, die ich gar nicht in der yamml konfiguriert habe. :face_with_spiral_eyes:

Hm, komisch. Mal einen echten Neustart gemacht?
Was auch komisch ist, dass bei dir keine Termine stehen so wie bei mir.

Naja. trotzdem danke. War ja zumindest ein Schritt weiter. Scheint aber echt viel zu kompliziert zu sein. Kann mir jemand den Weg erklären wie ich den “müllmax” und die Kalender-Einträge davon nun wieder restlos entferne?

Hab nun des Öfteren gelesen das viele das Problem mit müllmax haben und sie deshalb lieber den weg mit ICS-datei nehmen. Bevor ich mir daber dafür irgendwo eine Anleitung suche, würde ich gern das alte eben wieder vollständig raus haben?

1 „Gefällt mir“

Ich hatte das gleiche Problem nach der Umstellung von lokaler ics Datei auf den Service. Ich habe bei mir in der config yaml einfach die überflüssigen Typen ausgeblendet:

customize:
        - type: RSAG Biotonne Regelabfuhr
          alias: BioTonne
          icon: mdi:flower-outline
        - type: RSAG Wertstofftonne oder -sack 4-wö.
          alias: GelberSack
          icon: mdi:recycle
        - type: RSAG Restmülltonne 4-wö.
          alias: Restmuell
          icon: mdi:trash-can
        - type: RSAG Papiertonne 4-wö.
          alias: PapierTonne
          icon: mdi:trash-can-outline
        - type: RSAG Bio-Container Regelabfuhr für Wohnanlagen
          show: false
        - type: RSAG Restmüll-Container (4-wö.) für Wohnanlagen
          show: false
        - type: RSAG Restmüll-Container (2-wö.) für Wohnanlagen
          show: false
        - type: RSAG Restmüll-Container (2-wö.) für Wohnanlagen
          show: false
        - type: RSAG Restmüll-Container (wö.) für Wohnanlagen
          show: false
        - type: RSAG Restmüll-Container (wö.) für Wohnanlagen
          show: false
        - type: RSAG Restmülltonne 2-wö.
          show: false

Vielleicht hilft dir das