Müllkalender mit *.ics Datei in HA anlegen, Erfahrungsaustausch.......

HA-DAU

Member
Hallo zusammen,
ich versuch mal die beiden Themen hier auszulagern und hier in diesem Thread weiter zu machen.
https://forum.heimnetz.de/threads/waste-collection-schedule-keine-werte-mehr.4288/#post-44402
https://forum.heimnetz.de/threads/f...-templates-muellabholung-yaml.4280/post-44328

Mein Motto war, es ist "Alles nur geklaut" wie bei dem Lied der Leipziger A-cappella -Gruppe "Die Prinzen".

Also ich habe mich mit dem Thema ja noch nicht richtig beschäftigt gehabt und sehr viel herum probiert und mit Eurer Hilfe irgendwie hinbekommen.
Aber man sieht, es geht immer noch besser.
Oder dem einen gefällt dieses und dem anderen jenes.
Oder man will halt die Eierlegende Wollmilchsau...., wer will die nicht...?

Wo habe ich am Anfang Hilfe gefunden?
Z.B. hier:
https://github.com/MaxxKra/Abfallerinnerung
und weiteren Verdächtigen im WWW. Einfach mal die Suchfunktion bemühen.

Da ich am Anfang ja nicht wusste, wie und wo der Ordner "www" für den Kalender und Bilder der Tonnen einfügen herkam oder angelegt wird/wurde....
Aber da habe ich sehr viel Input bekommen und natürlich hier bei Euch. Danke dafür bei Allen die mich hierbei unterstützt habt...
Die Mülleimer Bilder habe ich von hier geklaut: https://github.com/MaxxKra/Abfallerinnerung/tree/main/Bilder
Aus den beiden Ordnern DE und AT

Um das Bild mit den Abfallkalender zu erzeugen habe ich später die Markdown-cards gebraucht.
Hier der Code dazu, welcher ich mir auf meine Verhältnisse anpassen musste.

YAML:
title: Abfall
type: picture-elements
image: /local/muell/Back_trans.png
elements:
  - type: custom:button-card
  - type: image
    entity: sensor.gelber_sack
    image: /local/muell/Kunststoff.png
    style:
      pointer-events: none
      left: 15%
      top: 45%
      width: 20%
  - type: image
    entity: sensor.grune_tonne
    image: /local/muell/Papier02.png
    style:
      pointer-events: none
      left: 50%
      top: 45%
      width: 20%
  - type: image
    entity: sensor.graue_tonne
    image: /local/muell/Rest.png
    style:
      pointer-events: none
      left: 84%
      top: 45%
      width: 20%
  - type: custom:button-card
    entity: sensor.gelber_sack
    show_name: true
    show_icon: false
    show_state: true
    style:
      top: 85%
      left: 15%
      width: 25%
    styles:
      name:
        - font-size: 0,99vw
        - font-family: Arial Rounded MT
        - color: var(--primary-color)
      state:
        - font-size: 0,99vw
        - font-family: Arial Rounded MT
        - padding-top: 0.3em
      card:
        - background-color: transparent
        - border: none
  - type: custom:button-card
    entity: sensor.grune_tonne
    show_name: true
    show_icon: false
    show_state: true
    style:
      top: 85%
      left: 50%
      width: 25%
    styles:
      name:
        - font-size: 0,80vw
        - font-family: Arial Rounded MT
        - color: var(--primary-color)
      state:
        - font-size: 0,99vw
        - font-family: Arial Rounded MT
        - padding-top: 0.3em
      card:
        - background-color: transparent
        - border: none
  - type: custom:button-card
    entity: sensor.graue_tonne
    show_name: true
    show_icon: false
    show_state: true
    style:
      top: 85%
      left: 84%
      width: 25%
    styles:
      name:
        - font-size: 0,99vw
        - font-family: Arial Rounded MT
        - color: var(--primary-color)
      state:
        - font-size: 0,99vw
        - font-family: Arial Rounded MT
        - padding-top: 0.3em
      card:
        - background-color: transparent
        - border: none

Die font-size stand vorher auf 1vw, musste ich aber ändern auf 0,99vw, da ich im Handy die Schrift nicht lesen konnte. Einfach zu klein.
Das image: /local/muell/Papier02.png musste ich abändern "Papier02, so heißt auch das Bild bei mir im Ordner.
Wenn ich das bei mir auf Papier stehen lies, war die Tonne immer blau bei mir.
Vermutlich noch ein Artefakt aus den Anfängen..., welches ich nicht gefunden habe.

Viel Spaß beim herum experimentieren.
Bin auch auf Eure Lösungen gespannt.

Die Lösung von @digi303 finde ich auch sehr gelungen und finde diese noch besser als meine.
Der hat irgendwie alles in einem vereint.
https://forum.heimnetz.de/threads/f...-templates-muellabholung-yaml.4280/post-44494
 
Zuletzt bearbeitet:
Also ich habe es so nicht ans laufen bekommen.
Du sprichst von einer Markdown Karte, ohne aber zu sagen, wieso weshalb, warum.
Die Bilder werden aber in einem Bildelement angezeigt, wie der Code ja hergibt, nur leider zeigt er bei mir nur Kauderwelch an.
1709415388834.png
Ohne deine Waste Collection zu kennen, wird es schwierig mit der Zuordnung der richtigen Werte, weil bei mir die Sensoren sicher anders heißen.

Du hast ein " - type: custom:button-card". Die kennt er bei mir gar nicht. Ist das eine Karte, die man erst noch via HACS einbinden muß ?
 
Hallo @RudiP,

das bringen wir auch noch zum laufen. So hat es bei mir am Anfang auch manchmal ausgesehen.
Du musst mit Sicherheit die Namen zu den Sensoren auf Deine Verhältnisse anpassen.
Meine Waste Collection Schedule sieht so aus in der config.yaml
:
Code:
#-----------------------------------------------------------
# Müll-Kalender
#-----------------------------------------------------------
waste_collection_schedule:
  sources:
    - name: ics
      args:
        file: "www/muell/Abfallkalender.ics"
      customize:
        - type: Graue Tonne
          alias: grau
          icon: mdi:trash-can
        - type: Gelber Sack
          alias: gelbersack
          icon: mdi:recyle
        - type: Grüne Tonne
          alias: gruen
          icon: mdi:trash-can
  fetch_time: "01:00"
  day_switch_time: "07:00"
Der Abfallkalender und die Bilder liegen in dem Ordner "www/muell/"
Also im "www" Ordner einfach einen neuen Ordner mit dem Namen "muell" anlegen.
Darin werden dann die Abfallkalender.ics und Bilder abgelegt.
Welche Infos brauchst Du noch von mir?
Es gibt auch Videos zu dem verlinkten Link auf Github. Als Erleichterung zu dem was gemacht wird....

Nimm Dur diesen Link als Grundlage, besser kann ich das nicht erklären.
https://github.com/MaxxKra/Abfallerinnerung?tab=readme-ov-file
 
Zuletzt bearbeitet:
Hallo @digi303,

aktuell habe ich die Schrift und Tage nach oben versetzt, siehe Bild.
Hier der yaml Code dafür:
YAML:
title: Abfall
type: picture-elements
image: /local/muell/Back_trans.png
elements:
  - type: custom:button-card
  - type: image
    entity: sensor.gelber_sack
    image: /local/muell/Kunststoff.png
    style:
      pointer-events: none
      left: 15%
      top: 45%
      width: 20%
  - type: image
    entity: sensor.grune_tonne
    image: /local/muell/Papier02.png
    style:
      pointer-events: none
      left: 50%
      top: 45%
      width: 20%
  - type: image
    entity: sensor.graue_tonne
    image: /local/muell/Rest.png
    style:
      pointer-events: none
      left: 84%
      top: 45%
      width: 20%
  - type: custom:button-card
    entity: sensor.gelber_sack
    show_name: true
    show_icon: false
    show_state: true
    style:
      top: 5%
      left: 15%
      width: 25%
    styles:
      name:
        - font-size: 0,99vw
        - font-family: Arial Rounded MT
        - color: var(--primary-color)
      state:
        - font-size: 0,99vw
        - font-family: Arial Rounded MT
        - padding-top: 0.3em
      card:
        - background-color: transparent
        - border: none
  - type: custom:button-card
    entity: sensor.grune_tonne
    show_name: true
    show_icon: false
    show_state: true
    style:
      top: 5%
      left: 50%
      width: 25%
    styles:
      name:
        - font-size: 0,99vw
        - font-family: Arial Rounded MT
        - color: var(--primary-color)
      state:
        - font-size: 0,99vw
        - font-family: Arial Rounded MT
        - padding-top: 0.3em
      card:
        - background-color: transparent
        - border: none
  - type: custom:button-card
    entity: sensor.graue_tonne
    show_name: true
    show_icon: false
    show_state: true
    style:
      top: 5%
      left: 84%
      width: 25%
    styles:
      name:
        - font-size: 0,99vw
        - font-family: Arial Rounded MT
        - color: var(--primary-color)
      state:
        - font-size: 0,99vw
        - font-family: Arial Rounded MT
        - padding-top: 0.3em
      card:
        - background-color: transparent
        - border: none

Wie hast Du dann die nächsten drei Abfuhrtermine bei Dir unten angehängt?
https://forum.heimnetz.de/attachments/muell-png.6692/
Welche Karte benutzt Du dafür?
So wie ich das beurteile, hast Du vier einzelne Karten für jede Müllart und zwei andere für die restlichen Informationen benutzt.
Also eine Horizontale Karte mit 4 vertikalen Karten und zwei weitere vertikalen Karten vereint.
Mit dieser Konstellation stehe ich noch auf Kriegfuß, habe ich noch nicht hinbekommen.
 

Anhänge

  • HA_Abfall_Tage_oben.png
    HA_Abfall_Tage_oben.png
    49,7 KB · Aufrufe: 8
Hallo zusammen,
da ich auch gerade das anfangs erwähnte Problem habe, dass die Sensoren keine Daten liefern, würde ich mich freuen, wenn mir hierbei jemand helfen könnte.
Hier der Inhalt der configuration.yaml:

YAML:
waste_collection_schedule:
  sources:
    - name: ics
      args:
        file: "www/kalender2024.ics"
      customize:
        - type: Restmüll\, B1
          alias: restabfall
          icon: mdi:trash-can
        - type: Gelber Sack / gelbe Tonne\, B1
          alias: gelbersack
          icon: mdi:recycle
        - type: Biotonne\, B1
          alias: bioabfall
          icon: mdi:trash-can
        - type: Papiertonne\, B1
          alias: altpapier
          icon: mdi:recycle
      calendar_title: Abfallkalender
  fetch_time: "04:00"
  day_switch_time: "10:00"

sensor:
  - platform: waste_collection_schedule
    name: "Restabfall"
    details_format: "upcoming"
    value_template: '{{ value.daysTo }}'
    add_days_to: True
    types:
      - restabfall
  - platform: waste_collection_schedule
    name: "Gelbersack"
    details_format: "upcoming"
    value_template: '{{ value.daysTo }}'
    add_days_to: True
    types:
      - gelbersack
  - platform: waste_collection_schedule
    name: "Bioabfall"
    details_format: "upcoming"
    value_template: '{{ value.daysTo }}'
    add_days_to: True
    types:
      - bioabfall
  - platform: waste_collection_schedule
    name: "Altpapier"
    details_format: "upcoming"
    value_template: '{{ value.daysTo }}'
    add_days_to: True
    types:
      - altpapier
  - platform: waste_collection_schedule
    name: "Naechster"
    details_format: "upcoming"
    value_template: '{{ value.daysTo }}'
    add_days_to: True

 
homeassistant:
  customize:
    sensor.naechster:
      unit_of_measurement: Tage
    sensor.altpapier:
      unit_of_measurement: Tage
    sensor.bioabfall:
      unit_of_measurement: Tage
    sensor.gelbersack:
      unit_of_measurement: Tage
    sensor.restabfall:
      unit_of_measurement: Tage

Der Sensor "naechster" zeigt zwar etwas an, die anderen aber nicht:
Screenshot 2024-05-04 231115.pngScreenshot 2024-05-04 2312192.png
Danke vorab!
LG Marc
 
Hallo @flusier,

wie sind die Bezeichnungen der einzelnen Abfälle in Deinen Abfallkalendender-2024.ics genau?
Ich vermute mal "Altpapier" heißt bei Dir mit Sicherheit im Abfallkalender nicht Altpapier? Da kommt der Fehler vermutlich her, dass das System den Sensor nicht richtig anzeigt.
Ist Dein Müllkalender auch in dem Ordner "www"
Danach gibt es bei mir einen neuen Ordner? "muell", lege den an....
In dem Ordner "muell" sind dann alle Bilder und der "kalender2024.ics"?
Oder heißt der Kalender anders?
Bei mir sind alle Ordnernamen kleingeschrieben. Probiere das mal aus.

Ansonsten lese nochmals alle Links aus Beitrag #1 nochmals genau durch und versuche Dich da entlang zu hangeln.
So hat es bei mir geklappt.

YAML:
waste_collection_schedule:
  sources:
    - name: ics
      args:
        file: "www/muell/kalender2024.ics"
      customize:
        - type: Restmüll\, B1
          alias: restabfall
          icon: mdi:trash-can
        - type: Gelber Sack / gelbe Tonne\, B1
          alias: gelbersack
          icon: mdi:recycle
        - type: Biotonne\, B1
          alias: bioabfall
          icon: mdi:trash-can
        - type: Papiertonne\, B1
          alias: altpapier
          icon: mdi:recycle
      calendar_title: Abfallkalender
  fetch_time: "04:00"
  day_switch_time: "10:00"
 
Zuletzt bearbeitet:
Hallo @HA-DAU,
danke für deine schnelle Antwort!
Nein, im Abfallkalender heißen die Müllsorten so, wie ich sie in der yaml unter type benannt habe (oder habe ich da etwas falsch gemacht?
Hier ein Auszug aus der "kalender2024.ics":
1714909402171.png
Den Ordner muell habe ich angelegt, die Datei rübergeschoben und die Referenz in der yaml abgeändert, aber ohne Erfolg. Im Home Assistant Kalender werden die Abholtage auch korrekt mit der richtigen Müllsorte angezeigt.

Den ersten Beitrag habe ich auch gemäß der Anleitung von MaxxKra nach besten Wissen abgearbeitet, aber irgendwie will es bei mir trotzdem nicht funktionieren...

Kleiner Nachtrag: Habe eben gesehen, dass in den Protokollen etwas vom Waste Collection Schedule steht...hat das etwas mit meinem Problem zu tun?
1714911435260.png
 
Zuletzt bearbeitet:
Hallo @flusier,
hast Du Dir mal den Eintrag in der Linie 188 angeschaut?
Vermutlich stimmt da was nicht.
Einrücken beachtet?

Soll ich morgen mal meine komplette Einstellungen mal hier einstellen?

Ich habe aber viele Module ausgelagert.
Das müsstest Du dann auch machen, oder halt beachten.
 
Hallo @flusier,

Wow, wo kommt dieser Codeschnipsel her von Zeile 179 bis 193?
Kannst Du einen Link zu dem Thema setzen, wo der her kommt und was der bezwecken soll?
Für was braucht man eine Staticmethode für einen Müllkalender?
In welcher Config.yaml ist der den enthalten?
Dieser ist bei mir in keinem einzigen Codeschnipsel des Müllkalenders enthalten.

Sicher Dir diesen Codeschnipsel aber vorher an einen sicheren Ort.
Schmeiß mal diesen ganzen Code raus, Speichern und überprüfen der config.yaml, wenn ok, dann neu starten des HA.
Schau mal ob dann alles in Ordnung ist.

Brauche noch eine Weile, bis ich Zugriff auf mein HA habe, da der in einem kompletten anderen Netz ist, und ich noch keine Codes kopieren kann um die dem Forum zur Verfügung zu stellen.
Einen Umbau für einen größeren Bildschirm ermöglichen und Zugang zu dem Forum einrichten.
Mit 5,5 Zoll oder kleiner ist nicht viel zu erreichen.
 
Zuletzt bearbeitet:
Hallo @flusier,

hier meine ausgelagerte Einstellungen: /homeassistant/configuration.yaml
YAML:
waste_collection_schedule: !include waste_collection_schedule.yaml

Neue Datei /homeassistant/waste_collection_schedule.yaml anlegen
YAML:
#-----------------------------------------------------------
# Müll-Kalender
#-----------------------------------------------------------
#waste_collection_schedule:
  sources:
    - name: ics
      args:
        file: "www/muell/Abfallkalender.ics"
      customize:
        - type: Graue Tonne
          alias: grau
          icon: mdi:trash-can
        - type: Gelber Sack
          alias: gelbersack
          icon: mdi:recyle
        - type: Grüne Tonne
          alias: gruen
          icon: mdi:trash-can
  fetch_time: "04:00"
  day_switch_time: "10:00"

Hier zu den sensoren: /homeassistant/configuration.yaml
Code:
sensor: !include_dir_merge_list sensors01/

Hier liegt dann der Abfallkalender von mir: /homeassistant/www/muell/Abfallkalender.ics

Hier habe ich die Sensoren ausgelagert: /homeassistant/sensors01/Graue Tonneabholung.yaml

YAML:
###---- Nächste Graue Tonne Abholung ----###
- platform: waste_collection_schedule
  name:  "Graue Tonne"
  details_format: "upcoming"
  add_days_to: True
  value_template: '{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
  types:
    - "grau"
  
- platform: waste_collection_schedule 
  name: "Graue Tonne Datum"
  details_format: "upcoming"
  add_days_to: True
  value_template: 'am: {{value.date.strftime("%d.%m.%Y")}}'
  types:
    - "grau"

/homeassistant/sensors01/Gelber Sackabholung.yaml

YAML:
###---- Nächste Gelber Sack Abholung ----###
- platform: waste_collection_schedule
  name:  "Gelber Sack"
  details_format: "upcoming"
  add_days_to: True
  value_template: '{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
  types:
    - "gelbersack"
  
- platform: waste_collection_schedule 
  name: "Gelber Sack Datum"
  details_format: "upcoming"
  add_days_to: True
  value_template: 'am: {{value.date.strftime("%d.%m.%Y")}}'
  types:
    - "gelbersack"
/homeassistant/sensors01/Grüne Tonneabholung.yaml

YAML:
###---- Nächste Grüne Tonne Abholung ----###
- platform: waste_collection_schedule
  name:  "Grüne Tonne"
  details_format: "upcoming"
  add_days_to: True
  value_template: '{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
  types:
    - "gruen"

- platform: waste_collection_schedule 
  name: "Grüne Tonne Datum"
  details_format: "upcoming"
  add_days_to: True
  value_template: 'am: {{value.date.strftime("%d.%m.%Y")}}'
  types:
    - "gruen"

/homeassistant/sensors01/Nächste Abholung.yaml

YAML:
#        ######  ######## ##    ##  ######   #######  ########        #
#       ##    ## ##       ###   ## ##    ## ##     ## ##     ##       #
#       ##       ##       ####  ## ##       ##     ## ##     ##       #
#        ######  ######   ## ## ##  ######  ##     ## ########        #
#             ## ##       ##  ####       ## ##     ## ##   ##         #
#       ##    ## ##       ##   ### ##    ## ##     ## ##    ##        #
#        ######  ######## ##    ##  ######   #######  ##     ##       #

#######################################################################
#---------------------------------------------------------------------#
##------------------  Nächste Abfall Abholung -----------------------##
#---------------------------------------------------------------------#
#######################################################################

###---- Nächste Abfall Abholung ----###

- platform: waste_collection_schedule
  name:  "Nächste Abholung"
  details_format: "upcoming"
  add_days_to: True
  value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'


- platform: waste_collection_schedule
  name: "Nächste Abholung Datum"
  add_days_to: True
  details_format: "upcoming"
  value_template: 'am: {{value.date.strftime("%d.%m.%Y")}}'


So sieht das bei mir aktuell aus und funktioniert einwandfrei.

Ich hoffe es sind mir keine Fehler beim kopieren unterlaufen.

Vermutlich führen viele Wege nach Rom, das ist meiner dahin.
Optimieren kann man ja immer noch, da ist mit Sicherheit viel Luft nach oben.
 
Zuletzt bearbeitet:
Hallo @HA-DAU,
danke für deine Configs, ich teste mal ein bisschen und melde mich dann nochmal.
Eins kann ich aber jetzt schon sagen: Lösche ich die Zeilen aus dem Code, gibt es etliche rote Fehlermeldungen im Log und der Waste Schedule macht gar nichts mehr.

Edit:
Ging jetzt schneller als gedacht, ich habe den Fehler gefunden... Es hing an den umständlichen Namen/Bezeichnungen der Müllsorten im Kalenderfile. Mittels Suchen und ersetzen habe ich sowas wie "Gelber Sack / gelbe Tonne\, B1" in "Gelbe Tonne" umbenannt und siehe da...es geht. Trotzdem vielen Dank für deine Hilfsbereitschaft!!
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
4.633
Beiträge
47.411
Mitglieder
4.284
Neuestes Mitglied
IRATA
Zurück
Oben