Abfallkalender in Home Assistant einrichten mit MyMüll als Datenquelle

Eine kurze Schritt-für-Schritt Anleitung zum einrichten eines Abfallkalender in Home Assistant mit www.MyMüll.de als Datenquelle.

Als Voraussetzungen muss Home Assistant incl. HACS, also der Home Assistant Community Store bereits eineigerichtet sein, darauf geht diese Einleitung nicht ein sondern es wird als gegeben angesehen.

In der Home Assistant Oberfläche wählt man „HACS | Integrationen“ und installiert sich die Integration „Waste Collection Schedule“

Nun bearbeitet man mittels File Editor die configuration.yaml Datei und fügt eine entsprechenden Abschnitt der unten zu sehen ist hinzu.
Wobei wir zuvor noch die ID für die city_id und area_id jeweils passend für die gewünschte  Stadt und Straße ermitteln müssen.
Dies ist über folgende URLs die man im Browser aufruft möglich:

URL zum auflisten aller Städte um die city_id der eigenen Stadt zu ermitteln:
https://mymuell.jumomind.com/mmapp/loxone/lox.php?r=cities

URL zum ermitteln der aread_id falls die Stadt beim Abfuhrtermin zwischen Straßen/Ortsteilen unterscheidet, wobei man die zuvor ermittelte city_id als Parameter verwendet:
https://mymuell.jumomind.com/mmapp/api.php?r=streets&city_id=2316

URL zum testen der ermitteln city_id und aread_id, es sollten nun die passenden Abfuhrtermine angezeigt werden:
https://mymuell.jumomind.com/mmapp/api.php?r=dates&city_id=2316&area_id=17

Ist in eurer Stand der Abführerin für die ganze Stadt einheitlich ohne dass nach Straßen und Ortsteilen unterschieden wird, dann tragt bitte als aread_id die city_id ein.

Hier nur der entsprechende Abschnitt meiner configuration.yaml Datei, wobei dort die citry_id 2316 für Aschaffenburg steht, und die area_id 17 für Ortsteil in dem sich der Ahornweg befindet:

# Abfallkalender
waste_collection_schedule:
  sources:
    - name: jumomind_de
      args:
        service_id: mymuell
        city_id: 1656
        area_id: 1656
        
sensor:
  - platform: waste_collection_schedule
    name: next_collection 
    value_template: '{{value.types|join(", ")}} in {{value.daysTo}} Tage'

Die Änderung in der configuration.yaml Datei erfordert ein Neustart von Home Assistant, danach kann man sich in der Übersicht eine entsprechende neue Karte anlegen, die auf die Entity sensor.next_collection zugreift, dies sieht z.B. wie folgt aus:

Hier der zugehörige yaml Code:

type: entity
entity: sensor.next_collection
name: Nächste Müllabfuhr
icon: mdi:bucket

Die Abfuhrtermine erscheinen übrigens auch in der Kalenderansicht

 

 

Zum Schluss noch ein kleiner Exkurs unabhänig von Home Assistant,  eigentlich geht es ja in meinem Blog sonst um Theme wie PowerShell und Co.
Deshalb will ich kurz zeigen, wie man die MyMüll Schnstelle auch mittels PowerShell abfragen kann, hier das entsprechende PowerShell Script:

    # Variable 
    $Wohnort = "Aschaffenburg" 
    $Straße = "Ahornweg"

    # ID der Stadt ermitteln
    $CitiesObject = Invoke-RestMethod -Uri "https://mymuell.jumomind.com/mmapp/loxone/lox.php?r=cities"
    $CityObject = $CitiesObject | Where-Object {$_.Name -ieq $Wohnort}
    $CityObject | Format-Table

    # ID der Straße ermitteln (nur in Großstädten)
    if ($CityObject.has_streets -eq $true) {
        $StreetsObject = Invoke-RestMethod -Uri "https://mymuell.jumomind.com/mmapp/api.php?r=streets&city_id=$($CityObject.id)"
        $StreetObject = $StreetsObject | Where-Object {$_.Name -eq $Straße}
        $StreetObject | Format-Table
    }

    # Abfallarten der Stadt ermitteln
    $TrashObject = Invoke-RestMethod -Uri "https://mymuell.jumomind.com/mmapp/api.php?r=trash&city_id=$($CityObject.id)"
    $TrashObject | Format-Table

    # Termine der Stadt ermitteln (je nachdem ob die Stadt nach Sraßen unterscheidet oder nicht)
    if ($CityObject.has_streets -ieq $true) {
        $TerminsObject = Invoke-RestMethod -Uri "https://mymuell.jumomind.com/webservice.php?idx=termins&city_id=$($CityObject.id)&area_id=$($StreetObject.area_id)"
    } else {
        $TerminsObject = Invoke-RestMethod -Uri "https://mymuell.jumomind.com/webservice.php?idx=termins&city_id=$($CityObject.id)&area_id=$($CityObject.area_id)"
    }
    $TerminsObject._data | FT cal_date_normal,cal_garbage_type

    # Termine anzeigen und Abkürzungen auflösen
    $TerminsObject._data | Format-Table @{ name ='Datum'; expression ={$_.cal_date_normal}},@{ name='Abfallart'; expression={ switch ($_.cal_garbage_type) { 'B' {'Bio Müll'} 'K' {'Gelber Sack'} 'P' {'Altpapier'} 'R' {'Restmüll'} 'SCH' {'Schadstoffsammlung'} default {'Andere'} } } }

10 Kommentare

  1. Hallo
    Ist es möglich, nur bestimmte Termine anzeigen zu lassen? Bei uns wird 1,2,3 und 4 wöchentliche geleert.
    Ich möchte aber nur die 2 wöchentliche Leerung anzeigen lassen.

  2. Ich bekomme leider einen Fehler beim überprüfen der config,yaml

    Invalid config for [waste_collection_schedule]: [sensor] is an invalid option for [waste_collection_schedule]. Check: waste_collection_schedule->waste_collection_schedule->sensor. (See /config/configuration.yaml, line 43).

  3. als tip noch: Möchte man eine der Tonnen nicht anzeigen (weil man z.b. Restmüll nur alle 4 Wochen leeren lässt), dann kann man Tonnen auch ausblenden:
    Ich lasse z.b. „Restmüll“ weg und will nur den „Restmüll grüner Deckel (4 wö.)“ sehen.

    # Abfallkalender
    waste_collection_schedule:
    sources:
    – name: jumomind_de
    args:
    service_id: mymuell
    city_id: 2316
    area_id: 10
    customize:
    – type: Restmüll
    show: false

  4. Hi,

    funktioniert super! Danke!

    Kleine Frage: wie löse ich eine Benachrichtigungsautomation am Tag vor der Leerung aus?

    Danke vorab und viele Grüße

    Gunnar

  5. Hallo.

    ich bekomme bei
    customize:
    – type: Restmüll
    show: false

    ein
    Integration error: customize – Integration ‚customize‘ not found

    YAML:
    # Abfallkalender
    waste_collection_schedule:
    sources:
    – name: jumomind_de
    args:
    service_id: mymuell
    city_id: 67947
    area_id: 1469
    customize:
    – type: Bioabfall, Restabfall 2-wöchentlich, Bioabfall-Saison
    show: false

    Was läuft hier verkehrt?

  6. hat sich erledigt…

  7. sehr cool… allerdings kriege ichs scheinbar nicht hin 😉 Die configuration.yaml habe ich bearbeitet, die sieht jetzt so aus:

    # Loads default set of integrations. Do not remove.
    default_config:

    # Load frontend themes from the themes folder
    frontend:
    themes: !include_dir_merge_named themes

    automation: !include automations.yaml
    script: !include scripts.yaml
    scene: !include scenes.yaml

    # Abfallkalender
    waste_collection_schedule:
    sources:
    – name: muellmind_de
    args:
    service_id: mymuell
    city_id: 70873
    area_id: 139

    sensor:
    – platform: waste_collection_schedule
    name: next_collection
    value_template: ‚{{value.types|join(„, „)}} in {{value.daysTo}} Tage‘

    beim Start von HA kriege ich allerdings diesen Fehler:
    Setup failed for ‚waste_collection_schedule‘: Integration not found.

  8. ich hab mal gesucht, möglicherweise ein bug in einer anderen Ecke?
    https://github.com/mampfes/hacs_waste_collection_schedule/issues/3397

  9. Bei uns ist die URL leicht abgewandelt.

    https://ben.jumomind.com/mmapp/api.php?r=dates&city_id=4&area_id=891

    Kann dies in der Integration angepasst werden?

  10. Hat sich erledigt 😉
    service_id: ben

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert