Von: Simon

Home Assistant Müllkalender einrichten ♻️

Du vergisst immer, den Abfall an die Straße zu stellen, wenn die Müllabfuhr kommt? Mit dem Müllkalender in Home Assistant hast du die Termine für Papier, Rest und sonstige Abfallarten immer im Blick und kannst dich am vorherigen Tag benachrichtigen lassen.

Als kleinen Bonus zeige ich dir noch, wie du über das SSH Add-on Python Skripte in Home Assistant ausführen kannst, da wir uns so die Konfiguration für die Müllkalender-Integration erstellen 🙌

Voraussetzungen

  1. Home Assistant Installation auf Raspberry Pi
  2. HACS installieren – Home Assistant Anleitung 2022
  1. mampfes/hacs_waste_collection_schedule

Kommandos zum Ausführen von Python-Skripten in Home Assistant

Muss im SSH-Terminal mit Root-Rechten eingegeben werden, entweder über den DEV-Zugang auf Port 22222 oder über das SSH & Web Terminal Add-on, nachdem der gesicherter Modus deaktiviert wurde.

docker exec -it homeassistant bash
ls
cd ORDNERNAME
python3 -m venv simon42
source simon42/bin/activate
pip install PAKETNAME
rm -rf simon42

Code-Snippets

Configuration.yaml

# waste_collection_schedule source configuration
waste_collection_schedule:
  sources:
    - name: jumomind_de
      args:
        service_id: mymuell
        city_id: 59942
        area_id: 59942
          
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üll
  # 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:
      - Bio Müll
  # 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:
      - Gelber Sack
  # 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

Benachrichtigungs-Automation

  1. Um den Code einzufügen, kannst du dir unter Einstellungen → Automatisierungen und Szenen eine neue, leere Automatisierung erstellen
  2. Oben rechts bei den 3 Vertikalen Punkten kannst du dann die Automatisierung “Als YAML bearbeiten”
  3. Hier den Code einfügen
alias: Notify - Müll morgen
description: ""
trigger:
  - platform: time
    at: "18:42:00"
condition:
  - condition: template
    value_template: "{{'Morgen' in states('sensor.nachste_abholung') }}"
action:
  - service: notify.notify
    data:
      title: Mülltonne(n) rausstellen!
      message: "{{states('sensor.nachste_abholung') }}"
mode: single

Vorausgesetzt ist natürlich, deine Entität hat den gleichen Namen, den ich gewählt habe. Die Uhrzeit kannst du natürlich so anpassen, dass zu einer Zeit ausgelöst wird, bei der du Zuhause bist 😉

Was tun bei 2 Quellen?

Hier noch ein Hinweis aus den YouTube-Kommentaren zu mehreren Datenquellen:

Super Anleitung. Wenn man allerdings zwei Datenquellen anzapft, muss man pro Sensor noch den Wert source_index: mit geben. source_index: 0 (Erste Datenquelle), source_index: 1 (Zweite Datenquelle), usw. Ansonsten läuft der zweite Sensor ins Leere, weil als Default-Wert source_index: 0 steht.

In deinem Beispiel kommen ja alle Tonnen aus einer Datenquelle, daher passt 0. Ich habe Stunden damit verbracht, bis ich über den richtigen Hilfe-Text auf Git gestoßen bin, Augen-verdreh. Vielleicht kannst du das auf deiner Website ergänzen.

https://www.youtube.com/watch?v=NKToToR5Mcg&lc=UgwWfnJwhdLlhYZfTtR4AaABAg

Gadgets für HA

Mehr Geräte für Home Assistant, HACS oder auch Alexa, Google Home, HomeKit sowie Homebridge findest du in unserem Smart Home Gerätefinder!

Fazit

Jetzt hast du also deinen Home Assistant Müllkalender eingerichtet und bist immer voll im Bilde, wann welche Tonne abgeholt wird.

Mit der Automatisierung zur Benachrichtigung sollte eigentlich nichts mehr schiefgehen können, außer man ist mal wirklich extrem faul 😀

Wie immer kannst du mir in den Kommentaren schreiben, wenn du Fragen oder Anregungen hast, und ich werde mein Bestes tun, um dir zu helfen.

Vielen Dank fürs Anschauen!

close
HomeKit Geräte Übersicht

smarte News

Erfahre als Erster, wenn wir neue Artikel zu Smart Home oder anderen interessanten Themen veröffentlichen!

Wir senden keinen Spam und verkaufen keine Daten! Erfahre mehr in unserer Datenschutzerklärung.

Gründer von simon42. Schreibt hier ehrlich und leidenschaftlich über Smart Home und Technik Themen, denn das Zuhause wurde bereits von Sprachassistenten übernommen und die Kontrolle abgegeben 😁 Kaffeespende

20 Gedanken zu „Home Assistant Müllkalender einrichten ♻️“

  1. Hi Simon, 

    ich brauche Unterstützung, bis zum Sensor in configuration.yaml einfügen bin ich gekommen und leider nicht mehr weiter.
    Also in meinem Kalender sehe ich nun alle Abfuhrtermine. Wenn ich nun in der configuration.yaml den Befehl sensor: schreibe bekomme ich schon eine Fehlermeldung. Anschließend habe ich versucht den ganzen Befehl in die template.yaml einzufügen, dort war es möglich ohne Fehlermeldung allerdings bekomme ich irgendwie nun die Enität nicht angezeigt, was mache ich falsch?

    Danke und Gruß Orhan.

    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üll
     # 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:
       – Bio Müll
     # 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:
       – Gelber Sack
     # 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
    
    Antworten
  2. Hi Simon,

    ich brauche Unterstützung, bis zum Sensor in configuration.yaml einfügen bin ich gekommen und leider nicht mehr weiter.
    Also in meinem Kalender sehe ich nun alle Abfuhrtermine. Wenn ich nun in der configuration.yaml den Befehl sensor: schreibe bekomme ich schon eine Fehlermeldung. Anschließend habe ich versucht den ganzen Befehl in die template.yaml einzufügen, dort war es möglich ohne Fehlermeldung allerdings bekomme ich irgendwie nun die Enität nicht angezeigt, was mache ich falsch?

    Danke und Gruß Orhan.

    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üll
     # 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:
       – Bio Müll
     # 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:
       – Gelber Sack
     # 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

    Antworten
  3. Hi
    vielen Dank für die Anleitung
    hat soweit alles geklappt bis auf den Zustand dieser zeigt bei mir auch off an wie ein paar Kommentare weiter unten auch.
    Hast du eine Idee woran das liegen könnte und auf was sich das Auswirkt oder eben nicht Auswirkt.
    Ich danke im voraus

    Antworten
    • Bei mir ist der Zustand vom Jumomind auch “aus”, aber die Kalendereinträge sowie alle Automationen funktionieren 👍

    • Hab es rausgefunden
      bei dir im Video ist es an
      ich habe das aber nun verstanden warum da an und aus steht
      es steht für 24h an sobald das Datum mit dem Abholtag übereinstimmt

  4. Hi Simon,

    könntest du irgendwie auch eine kurze Anleitung machen, wenn man es tatsächlich nur mit einer iCal oder ICS Lösung machen kann, weil sein toller Anbieter sonst nix zur Verfügung stellt ?

    Antworten
  5. Hallo Simon,

    gibt es eine Möglichkeit, einen Namen zu definieren, der ausgegeben wird, anstelle des Namens vom Kalendereintrag?

    Mein Abfallkalender hat ziemlich beschissene Namen, wie z.B.:

    • Bioabfall 2-Rad-Behaelter 02-woechentl.
    • Papierabfuhr 2-Rad-Behaelter 04-woechentl.

    Da wäre es schöner, wenn er nur z.B. Biomüll oder Papiermüll ausgeben würde.

    P.S.: Bin noch Anfänger!

    Antworten
    • Hi Manuel,
      ich glaube nicht dass das geht, da die Namen ja von deinem “Müll-Provider” kommen und nicht von der Integration selber 😅

      Wenn auf der GitHub-Seite von Waste Collection Schedule nichts steht, geht das vermutlich erstmal nicht…

  6. Ich habe alles soweit installieren und konfigurieren können. Bei mir ist der Zustand jedoch auf OFF. Liegt es an dem Startdatum 2022-12-27?, welches in der Zukunft liegt? Wodurch wird dieses Datum eigentlich gesetzt?

    Antworten
    • Bei mir ist der Zustand vom Jumomind auch “aus”, aber die Kalendereinträge sowie alle Automationen funktionieren 👍

  7. He Simon,

    habe das gleiche Problem wie Hutch – nachdem ich den Code (mit service-id) in der configuration.yaml hinterlege und prüfe, erhalte ich nur noch eine Eieruhr in Dauerschleife.
    Neustart sämtlicher Dienste etc. hat leider nicht geholfen – hast du noch eine Idee?

    # waste_collection_schedule source configuration
    waste_collection_schedule:
     sources:
      - name: jumomind_de
       args:
        service_id: lka
        city_id: xxx
        area_id: xxx
    
    Antworten
    • Hi Michael,
      leider nein 😕 … Da könntest du mal ein Issue auf GitHub erstellen. Würde ich zumindest machen 😉

      Aber hat es denn geklappt, nachdem du HA neu gestartet hast? Oder wurde der Kalender gar nicht erstellt?

      Beste Grüße und bis bald 👋

    • Das Problem hatte ich auch. Nachdem ich den Code nicht am Ende der configuration.yaml, sondern mittig eingefügt hatte, ging es ohne zu murren. Probiert es mal. Frag mich nicht, was der Grund ist.

  8. Hallo, leider gibt es in der Waste Collection keine Möglichkeit die Daten für Hannover / Region abzurufen. Es gibt aber hierfür eine andere Integration. Funktioniert auch gut und ist einfacher zu integrieren.
    Man hat die Daten direkt als Sensoren zur Verfügung.
    https://github.com/flabbamann/aha_region
    Vielen Dank an den Kollegen flabbamann für die Arbeit 🙂

    Antworten
  9. Hi Simon! 🙂

    Vielen Dank für die gute Anleitung zu dem Thema!
    Habe soweit alles durchlaufen und bin jetzt an dem Punkt angelangt, an dem ich mir den individuellen Code für meinen Ort / meine Straße zusammenbauen kann.

    Der Code wurde mir auch generiert:

    # waste_collection_schedule source configuration
    waste_collection_schedule:
      sources:
        - name: abfallnavi_de
          args:
            service: krwaf
            ort: xxx
            strasse: xxx
    

    Nur wenn ich nach dem Einfügen in die configuration.yaml auf “Check Configuration” in den Entwickleroptionen klicke, passiert nichts mehr …. das Rädchen dort dreht sich ins Unendliche und der Check-Prozess wird nicht abgeschlossen.

    Sobald ich den oben stehenden Code wieder aus der configuration.yaml entferne, kann ich wieder erfolgreich die Konfiguration überprüfen.

    Hast Du dafür eine Eklärung / eine Idee, woran das liegen könnte?

    Danke und Gruß
    Hutch

    Antworten
    • Hi Hutch,
      hast du schonmal versucht, den HA-Host neu zu starten und geschaut, dass die HACS-Integration sicher installiert ist?
      Außerdem steht bei mir service_id nicht nur service, siehe oben 🙂

Schreibe einen Kommentar

Send this to a friend