From 204f7b3a0d1cbdd6137e2a22067a836ba7491c5d Mon Sep 17 00:00:00 2001 From: Rene Nulsch <33263735+ReneNulschDE@users.noreply.github.com> Date: Mon, 5 Feb 2024 18:10:29 +0100 Subject: [PATCH] =?UTF-8?q?Add=20new=20source=20AWM=20M=C3=BCnchen=20(#176?= =?UTF-8?q?8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add new source AWM München * fstring + typehint + comment fix --------- Co-authored-by: 5ila5 <5ila5@users.noreply.github.com> --- README.md | 2 +- .../source/awm_muenchen_de.py | 170 ++++++++++++++++++ doc/ics/awm_muenchen_de.md | 24 --- doc/ics/yaml/awm_muenchen_de.yaml | 11 -- doc/source/awm_muenchen_de.md | 85 +++++++++ doc/source/ics.md | 1 - info.md | 2 +- 7 files changed, 257 insertions(+), 38 deletions(-) create mode 100644 custom_components/waste_collection_schedule/waste_collection_schedule/source/awm_muenchen_de.py delete mode 100644 doc/ics/awm_muenchen_de.md delete mode 100644 doc/ics/yaml/awm_muenchen_de.yaml create mode 100644 doc/source/awm_muenchen_de.md diff --git a/README.md b/README.md index f8214e03..3f60431b 100644 --- a/README.md +++ b/README.md @@ -563,7 +563,6 @@ Waste collection schedules in the following formats and countries are supported. - [Abfallwirtschaftsbetrieb Landkreis Aurich](/doc/source/c_trace_de.md) / mkw-grossefehn.de - [Abfallwirtschaftsbetrieb Landkreis Karlsruhe](/doc/ics/awb_landkreis_karlsruhe_de.md) / awb-landkreis-karlsruhe.de - [Abfallwirtschaftsbetrieb LK Mainz-Bingen](/doc/source/awb_mainz_bingen_de.md) / awb-mainz-bingen.de -- [Abfallwirtschaftsbetrieb München](/doc/ics/awm_muenchen_de.md) / awm-muenchen.de - [Abfallwirtschaftsbetriebe Münster](/doc/source/muellmax_de.md) / stadt-muenster.de - [Abfallwirtschaftsgesellschaft Landkreis Schaumburg](/doc/ics/aws_shg_de.md) / aws-shg.de - [Abfallwirtschaftsverband Kreis Groß-Gerau](/doc/source/c_trace_de.md) / awv-gg.de @@ -602,6 +601,7 @@ Waste collection schedules in the following formats and countries are supported. - [AWISTA Düsseldorf](/doc/source/muellmax_de.md) / awista.de - [Awista Starnberg](/doc/ics/awista_starnberg_de.md) / awista-starnberg.de - [AWL Neuss](/doc/source/awlneuss_de.md) / buergerportal.awl-neuss.de +- [AWM München](/doc/source/awm_muenchen_de.md) / awm-muenchen.de - [Bad Arolsen (MyMuell App)](/doc/source/jumomind_de.md) / mymuell.de - [Bad Homburg vdH](/doc/source/jumomind_de.md) / bad-homburg.de - [Bad Kissingen](/doc/source/app_abfallplus_de.md) / Abfall+ App: abfallappbk diff --git a/custom_components/waste_collection_schedule/waste_collection_schedule/source/awm_muenchen_de.py b/custom_components/waste_collection_schedule/waste_collection_schedule/source/awm_muenchen_de.py new file mode 100644 index 00000000..7eb9c2fd --- /dev/null +++ b/custom_components/waste_collection_schedule/waste_collection_schedule/source/awm_muenchen_de.py @@ -0,0 +1,170 @@ +import urllib.parse +from html.parser import HTMLParser +from typing import Tuple + +import requests +from bs4 import BeautifulSoup +from waste_collection_schedule import Collection # type: ignore[attr-defined] +from waste_collection_schedule.service.ICS import ICS + +TITLE = "AWM München" +DESCRIPTION = "Source for AWM München." +URL = "https://www.awm-muenchen.de" +TEST_CASES = { + "Waltenbergerstr. 1": { + "street": "Waltenbergerstr.", + "house_number": "1", + }, + "Geretsrieder Str. 10a": { + "street": "Geretsrieder Str.", + "house_number": "10a", + }, + "Neureutherstr. 8": { + "street": "Neureutherstr.", + "house_number": "8", + "r_collect_cycle": "1/2;G", + }, +} + +ICON_MAP = { + "Restmülltonne": "mdi:delete", + "Biotonne": "mdi:leaf", + "Papiertonne": "mdi:newspaper", + "Wertstofftonne": "mdi:recycle", +} + +BASE_URL = "https://www.awm-muenchen.de" + + +# Parser for HTML input (hidden) text +class HiddenInputParser(HTMLParser): + def __init__(self): + super().__init__() + self._args = {} + + @property + def args(self): + return self._args + + def handle_starttag(self, tag, attrs): + if tag == "input": + d = dict(attrs) + if str(d["type"]).lower() == "hidden": + self._args[d["name"]] = d["value"] if "value" in d else "" + + +class Source: + def __init__( + self, + street: str, + house_number: str, + r_collect_cycle="", + b_collect_cycle="", + p_collect_cycle="", + ): + self._street = street + self._hnr = house_number + self._ics = ICS() + self._r_collect_cycle = r_collect_cycle + self._b_collect_cycle = b_collect_cycle + self._p_collect_cycle = p_collect_cycle + + def fetch(self): + s = requests.session() + + # special request header is required, server backend checks for Origin + headers = { + "Origin": "https://www.awm-muenchen.de", + } + s.headers.update(headers) + + # request default page + r = s.get(f"{BASE_URL}/entsorgen/abfuhrkalender") + r.raise_for_status() + r.encoding = "utf-8" + + step1_action_url, args = self._get_html_form_infos(r.text, "abfuhrkalender") + + # add the address information + args["tx_awmabfuhrkalender_abfuhrkalender[strasse]"] = self._street + args["tx_awmabfuhrkalender_abfuhrkalender[hausnummer]"] = self._hnr + args["tx_awmabfuhrkalender_abfuhrkalender[section]"] = "address" + args["tx_awmabfuhrkalender_abfuhrkalender[submitAbfuhrkalender]"] = "true" + + # ready for step 1 - we post the address + r = s.post( + step1_action_url, + data=args, + ) + r.raise_for_status() + + # result is the result page or the collection cycle select page + ics_action_url = "" + page_soup = BeautifulSoup(r.text, "html.parser") + if download_link := page_soup.find("a", {"class": "downloadics"}): + ics_action_url = download_link.get("href") + else: + action_url, args = self._get_html_form_infos(r.text, "abfuhrkalender") + + error_message = "" + + for key in ("B", "P", "R"): + if ( + f"tx_awmabfuhrkalender_abfuhrkalender[leerungszyklus][{key}]" + not in args + ): + if self.__getattribute__(f"_{key.lower()}_collect_cycle") == "": + cycle_options = {} + cycle_options = page_soup.find( + "form", id="abfuhrkalender" + ).find_all("option") + + error_message += f"Optional parameter {key.lower()}_collect_cycle required. Possible values: " + for option in cycle_options: + error_message += f"{option.get('value')} ({option.text}) " + else: + args[ + f"tx_awmabfuhrkalender_abfuhrkalender[leerungszyklus][{key}]" + ] = self.__getattribute__(f"_{key.lower()}_collect_cycle") + + if error_message: + raise ValueError(error_message) + + r = s.post( + action_url, + data=args, + ) + r.raise_for_status() + + page_soup = BeautifulSoup(r.text, "html.parser") + if download_link := page_soup.find("a", {"class": "downloadics"}): + ics_action_url = download_link.get("href") + else: + raise ValueError("Unknown error getting ics link with cycle options.") + + # Download the ics.file + r = s.get(f"{URL}{urllib.parse.unquote(ics_action_url)}") + r.raise_for_status() + + dates = self._ics.convert(r.text) + + entries = [] + for d in dates: + bin_type = d[1].split(",")[0].strip() + + entries.append(Collection(d[0], bin_type, ICON_MAP.get(bin_type))) + + return entries + + def _get_html_form_infos(self, html: str, form_name: str) -> Tuple[str, dict]: + """Return a tuple with form action url and hidden form fields.""" + # collect the url where we post to + page_soup = BeautifulSoup(html, "html.parser") + form_soup = page_soup.find("form", id=form_name) + action_url = f"{URL}{urllib.parse.unquote(form_soup.get('action'))}" + + # collect the hidden input fields + parser = HiddenInputParser() + parser.feed(page_soup.find("form", id=form_name).decode_contents()) + + return action_url, parser.args diff --git a/doc/ics/awm_muenchen_de.md b/doc/ics/awm_muenchen_de.md deleted file mode 100644 index d0d0bb89..00000000 --- a/doc/ics/awm_muenchen_de.md +++ /dev/null @@ -1,24 +0,0 @@ -# Abfallwirtschaftsbetrieb München - -Abfallwirtschaftsbetrieb München is supported by the generic [ICS](/doc/source/ics.md) source. For all available configuration options, please refer to the source description. - - -## How to get the configuration arguments - -- Goto and select your location. - - Right-click on `Download ICS-Datei 20xx für Ihren Kalender` link and copy link address. - - Replace the `url` in the example configuration with this link. - - Replace the year in the url with `{%Y}`. - -## Examples - -### Adolaweg 1 - -```yaml -waste_collection_schedule: - sources: - - name: ics - args: - regex: (.*), .* - url: https://www.awm-muenchen.de/entsorgen/abfuhrkalender?tx_awmabfuhrkalender_abfuhrkalender%5Bhausnummer%5D=1&tx_awmabfuhrkalender_abfuhrkalender%5Bleerungszyklus%5D%5BB%5D=1%2F2%3BG&tx_awmabfuhrkalender_abfuhrkalender%5Bleerungszyklus%5D%5BP%5D=1%2F2%3BU&tx_awmabfuhrkalender_abfuhrkalender%5Bleerungszyklus%5D%5BR%5D=001%3BG&tx_awmabfuhrkalender_abfuhrkalender%5Bsection%5D=ics&tx_awmabfuhrkalender_abfuhrkalender%5Bsinglestandplatz%5D=false&tx_awmabfuhrkalender_abfuhrkalender%5Bstandplatzwahl%5D=true&tx_awmabfuhrkalender_abfuhrkalender%5Bstellplatz%5D%5Bbio%5D=70082516&tx_awmabfuhrkalender_abfuhrkalender%5Bstellplatz%5D%5Bpapier%5D=70082516&tx_awmabfuhrkalender_abfuhrkalender%5Bstellplatz%5D%5Brestmuell%5D=70082516&tx_awmabfuhrkalender_abfuhrkalender%5Bstrasse%5D=Adaloweg&tx_awmabfuhrkalender_abfuhrkalender%5Byear%5D={%Y}&cHash=e346bec0e7fdb173ae2d0e8650ecd980 -``` diff --git a/doc/ics/yaml/awm_muenchen_de.yaml b/doc/ics/yaml/awm_muenchen_de.yaml deleted file mode 100644 index 92cc4822..00000000 --- a/doc/ics/yaml/awm_muenchen_de.yaml +++ /dev/null @@ -1,11 +0,0 @@ -title: Abfallwirtschaftsbetrieb München -url: https://www.awm-muenchen.de -howto: | - - Goto and select your location. - - Right-click on `Download ICS-Datei 20xx für Ihren Kalender` link and copy link address. - - Replace the `url` in the example configuration with this link. - - Replace the year in the url with `{%Y}`. -test_cases: - Adolaweg 1: - url: "https://www.awm-muenchen.de/entsorgen/abfuhrkalender?tx_awmabfuhrkalender_abfuhrkalender%5Bhausnummer%5D=1&tx_awmabfuhrkalender_abfuhrkalender%5Bleerungszyklus%5D%5BB%5D=1%2F2%3BG&tx_awmabfuhrkalender_abfuhrkalender%5Bleerungszyklus%5D%5BP%5D=1%2F2%3BU&tx_awmabfuhrkalender_abfuhrkalender%5Bleerungszyklus%5D%5BR%5D=001%3BG&tx_awmabfuhrkalender_abfuhrkalender%5Bsection%5D=ics&tx_awmabfuhrkalender_abfuhrkalender%5Bsinglestandplatz%5D=false&tx_awmabfuhrkalender_abfuhrkalender%5Bstandplatzwahl%5D=true&tx_awmabfuhrkalender_abfuhrkalender%5Bstellplatz%5D%5Bbio%5D=70082516&tx_awmabfuhrkalender_abfuhrkalender%5Bstellplatz%5D%5Bpapier%5D=70082516&tx_awmabfuhrkalender_abfuhrkalender%5Bstellplatz%5D%5Brestmuell%5D=70082516&tx_awmabfuhrkalender_abfuhrkalender%5Bstrasse%5D=Adaloweg&tx_awmabfuhrkalender_abfuhrkalender%5Byear%5D={%Y}&cHash=e346bec0e7fdb173ae2d0e8650ecd980" - regex: "(.*), .*" diff --git a/doc/source/awm_muenchen_de.md b/doc/source/awm_muenchen_de.md new file mode 100644 index 00000000..6744161c --- /dev/null +++ b/doc/source/awm_muenchen_de.md @@ -0,0 +1,85 @@ +# Abfallwirtschaftsbetrieb München + +Support for schedules provided by [Abfallwirtschaftsbetrieb München](https://www.awm-muenchen.de/), Germany. + + +## Configuration via configuration.yaml + +```yaml +waste_collection_schedule: + sources: + - name: awm_muenchen_de + args: + street: STREET + house_number: HNR + b_collect_cycle: COLLECTION CYCLE ID + p_collect_cycle: COLLECTION CYCLE ID + r_collect_cycle: COLLECTION CYCLE ID +``` + +### Configuration Variables + +**street** +*(string) (required)* + +**house_number** +*(string) (required)* + +**b_collect_cycle** +*(string) (optional) (default: "")* + +**p_collect_cycle** +*(string) (optional) (default: "")* + +**r_collect_cycle** +*(string) (optional) (default: "")* + +## Example + +```yaml +waste_collection_schedule: + sources: + - name: awm_muenchen_de + args: + street: "Waltenbergerstr." + house_number: "1" + - name: awm_muenchen_de + args: + street: "Neureutherstr." + house_number: "8" + r_collect_cycle: "1/2;G" +``` + +Some addresses have different bin collection cycles (ex: weekly, bi-weekly). For these addresses the optional parameters are required. + +## How to get the optional configuration arguments + + - Setup the component without the optional parameter and restart Home Assistant + - Check the Home Assistant log for entries from this component. + - The available options are listed in the error message. + - Adjust the configuration and restart Home Assistant. + +## Examples + +### Waltenbergerstr. 1 + +```yaml +waste_collection_schedule: + sources: + - name: awm_muenchen_de + args: + street: "Waltenbergerstr." + house_number: "1" +``` + +### Neureutherstr. 8 with an collection cycle option + +```yaml +waste_collection_schedule: + sources: + - name: awm_muenchen_de + args: + street: "Neureutherstr." + house_number: "8" + r_collect_cycle: "1/2;G" +``` diff --git a/doc/source/ics.md b/doc/source/ics.md index f602edb7..f2317f06 100644 --- a/doc/source/ics.md +++ b/doc/source/ics.md @@ -159,7 +159,6 @@ This source has been successfully tested with the following service providers: - [Abfallwirtschaft Sonneberg](/doc/ics/abfallwirtschaft_sonneberg_de.md) / abfallwirtschaft-sonneberg.de - [Abfallwirtschaftsbetrieb Ilm-Kreis](/doc/ics/ilm_kreis_de.md) / ilm-kreis.de - [Abfallwirtschaftsbetrieb Landkreis Karlsruhe](/doc/ics/awb_landkreis_karlsruhe_de.md) / awb-landkreis-karlsruhe.de -- [Abfallwirtschaftsbetrieb München](/doc/ics/awm_muenchen_de.md) / awm-muenchen.de - [Abfallwirtschaftsgesellschaft Landkreis Schaumburg](/doc/ics/aws_shg_de.md) / aws-shg.de - [ALBA Braunschweig](/doc/ics/alba_bs_de.md) / alba-bs.de - [Altmarkkreis Salzwedel](/doc/ics/abfall_app_net.md) / altmarkkreis-salzwedel.de diff --git a/info.md b/info.md index ecab76b8..7d5ac058 100644 --- a/info.md +++ b/info.md @@ -22,7 +22,7 @@ Waste collection schedules from service provider web sites are updated daily, de | Canada | Aurora (ON), Calgary (AB), Calgary, AB, City of Edmonton, AB, City of Greater Sudbury, ON, City of Nanaimo, City of Peterborough, ON, City of Vancouver, London (ON), Montreal (QC), Ottawa, Canada, RM of Morris, MB, Strathcona County, ON, Toronto (ON), Vaughan (ON), Waste Wise APPS, Winnipeg (MB) | | Denmark | Renosyd | | France | Mairie de Mamirolle | -| Germany | Abfall App, Abfall Stuttgart, Abfall-Wirtschafts-Verband Nordschwaben, Abfall.IO / AbfallPlus, Abfallbehandlungsgesellschaft Havelland mbH (abh), Abfallbewirtschaftung Ostalbkreis, Abfallentsorgung Kreis Kassel, Abfallkalender Hattingen, Abfallkalender Herne, Abfallkalender Kassel, Abfallkalender Luebeck, Abfallkalender Mannheim, Abfallkalender Offenbach, Abfallkalender Offenbach am Main (deprecated), Abfallkalender Würzburg, AbfallNavi (RegioIT.de), Abfalltermine Forchheim, Abfallwirtschaft Alb-Donau-Kreis, Abfallwirtschaft Altkreis Göttingen, Abfallwirtschaft Altkreis Osterode am Harz, Abfallwirtschaft Enzkreis, Abfallwirtschaft Freiburg, Abfallwirtschaft Germersheim, Abfallwirtschaft Isar-Inn, Abfallwirtschaft Kreis Plön, Abfallwirtschaft Lahn-Dill-Kreises, Abfallwirtschaft Landkreis Böblingen, Abfallwirtschaft Landkreis Freudenstadt, Abfallwirtschaft Landkreis Harburg, Abfallwirtschaft Landkreis Haßberge, Abfallwirtschaft Landkreis Kitzingen, Abfallwirtschaft Landkreis Landsberg am Lech, Abfallwirtschaft Landkreis Wolfenbüttel, Abfallwirtschaft Neckar-Odenwald-Kreis, Abfallwirtschaft Nürnberger Land, Abfallwirtschaft Ortenaukreis, Abfallwirtschaft Pforzheim, Abfallwirtschaft Potsdam-Mittelmark (APM), Abfallwirtschaft Rems-Murr, Abfallwirtschaft Rendsburg, Abfallwirtschaft Rheingau-Taunus-Kreis, Abfallwirtschaft Sonneberg, Abfallwirtschaft Stadt Fürth, Abfallwirtschaft Stadt Nürnberg, Abfallwirtschaft Stadt Schweinfurt, Abfallwirtschaft Südholstein, Abfallwirtschaft Werra-Meißner-Kreis, Abfallwirtschaft Zollernalbkreis, Abfallwirtschafts-Zweckverband des Landkreises Hersfeld-Rotenburg, Abfallwirtschaftsbetrieb Bergisch Gladbach, Abfallwirtschaftsbetrieb Emsland, Abfallwirtschaftsbetrieb Esslingen, Abfallwirtschaftsbetrieb Ilm-Kreis, Abfallwirtschaftsbetrieb Kiel (ABK), Abfallwirtschaftsbetrieb Landkreis Ahrweiler, Abfallwirtschaftsbetrieb Landkreis Altenkirchen, Abfallwirtschaftsbetrieb Landkreis Augsburg, Abfallwirtschaftsbetrieb Landkreis Aurich, Abfallwirtschaftsbetrieb Landkreis Karlsruhe, Abfallwirtschaftsbetrieb LK Mainz-Bingen, Abfallwirtschaftsbetrieb München, Abfallwirtschaftsbetriebe Münster, Abfallwirtschaftsgesellschaft Landkreis Schaumburg, Abfallwirtschaftsverband Kreis Groß-Gerau, Abfallwirtschaftsverbandes Lippe, Abfallwirtschaftszweckverband Wartburgkreis (AZV), Abfallzweckverband Rhein-Mosel-Eifel (Landkreis Mayen-Koblenz), AHE Ennepe-Ruhr-Kreis, ALBA Berlin, ALBA Braunschweig, ALF Lahn-Fulda, Altmarkkreis Salzwedel, Altötting (LK), Apps by Abfall+, ART Trier, Aschaffenburg (MyMuell App), ASG Wesel, ASO Abfall-Service Osterholz, ASR Stadt Chemnitz, ATHOS GmbH, Augsburg, Aurich (MKW), AVL - Abfallverwertungsgesellschaft des Landkreises Ludwigsburg mbH, AWA Entsorgungs GmbH, AWB Abfallwirtschaft Vechta, AWB Bad Kreuznach, AWB Köln, AWB Landkreis Bad Dürkheim, AWB Landkreis Fürstenfeldbruck, AWB Landkreis Göppingen, AWB Oldenburg, AWB Westerwaldkreis, AWG Donau-Wald, AWG Kreis Warendorf, AWIDO Online, AWIGO Abfallwirtschaft Landkreis Osnabrück GmbH, AWISTA Düsseldorf, Awista Starnberg, AWL Neuss, Bad Arolsen (MyMuell App), Bad Homburg vdH, Bad Kissingen, Bamberg (Stadt und Landkreis), Barnim, Bau & Service Oberursel, Bergischer Abfallwirtschaftverbund, Berlin, Berlin Recycling, Berliner Stadtreinigungsbetriebe, Beverungen (MyMuell App), Bielefeld, Blaue Tonne - Schlaue Tonne, Bogenschütz Entsorgung, Bonn, Braunschweig, Bremer Stadtreinigung, Burgenland (Landkreis), Bürgerportal, Bürgerportal Bedburg, C-Trace, Cederbaum Braunschweig, Celle, Cham Landkreis, Chemnitz (ASR), Chiemgau Recycling - Landkreis Rosenheim, City of Karlsruhe, CM City Media - Müllkalender, Darmstadt (MyMuell App), Darmstadt-Dieburg (ZAW), Dillingen Saar, Dinslaken, Drekopf, Duisburg, EAD Darmstadt, ebwo - Entsorgungs- und Baubetrieb Anstalt des öffentlichen Rechts der Stadt Worms, EDG Entsorgung Dortmund, EGN Abfallkalender, EGST Steinfurt, EGW Westmünsterland, Eichsfeldwerke GmbH, Eigenbetrieb Kommunalwirtschaftliche Dienstleistungen Suhl, EKM Mittelsachsen GmbH, Entsorgungs- und Wirtschaftsbetrieb Landau in der Pfalz, Entsorgungsbetrieb Märkisch-Oderland, Entsorgungsbetrieb Stadt Mainz, Entsorgungsbetriebe Essen, Entsorgungsgesellschaft Görlitz-Löbau-Zittau, Esens (MyMuell App), Essen, EVA Abfallentsorgung, EVS Entsorgungsverband Saar, FES Frankfurter Entsorgungs- und Service GmbH, Flensburg (MyMuell App), Frankfurt (Oder), Freiburg im Breisgau, Gelsendienste Gelsenkirchen, Gemeinde Blankenheim, Gemeinde Deggenhausertal, Gemeinde Kalletal, Gemeinde Lindlar, Gemeinde Roetgen, Gemeinde Schutterwald, Gemeinde Unterhaching, Gipsprojekt, Großkrotzenburg (MyMuell App), GSAK APP / Krefeld, GWA - Kreis Unna mbH, Göttinger Entsorgungsbetriebe, Gütersloh, Hagen, Hainburg (MyMuell App), Hallesche Wasser und Stadtwirtschaft GmbH, Halver, Hattersheim am Main, hausmüll.info, Havelland, Heidelberg, Heilbronn Entsorgungsbetriebe, Heinz-Entsorgung (Landkreis Freising), Hohenlohekreis, Holtgast (MyMuell App), Höxter, Ilm-Kreis, Ingolstadt, Insert IT Apps, Jumomind, KAEV Niederlausitz, Kamp-Lintfort (MyMuell App), Kirchdorf (MyMuell App), Kommunalservice Landkreis Börde AöR, Kreis Augsburg, Kreis Bad Kissingen, Kreis Bautzen, Kreis Bayreuth, Kreis Bergstraße, Kreis Breisgau-Hochschwarzwald, Kreis Calw, Kreis Cloppenburg, Kreis Coesfeld, Kreis Cuxhaven, Kreis Diepholz, Kreis Emmendingen, Kreis Emsland, Kreis Freudenstadt, Kreis Fürth, Kreis Garmisch-Partenkirchen, Kreis Göppingen, Kreis Heilbronn, Kreis Heinsberg, Kreis Karlsruhe, Kreis Kitzingen, Kreis Landsberg am Lech, Kreis Landshut, Kreis Limburg-Weilburg, Kreis Ludwigsburg, Kreis Lörrach, Kreis Mayen-Koblenz, Kreis Miesbach, Kreis Miltenberg, Kreis Märkisch-Oderland, Kreis Neustadt/Aisch-Bad Windsheim, Kreis Neuwied, Kreis Nienburg / Weser, Kreis Nordfriesland, Kreis Ostallgäu, Kreis Osterholz, Kreis Pinneberg, Kreis Rastatt, Kreis Ravensburg, Kreis Reutlingen, Kreis Rotenburg (Wümme), Kreis Schaumburg, Kreis Sigmaringen, Kreis Starnberg, Kreis Steinfurt, Kreis Südwestpfalz, Kreis Traunstein, Kreis Trier-Saarburg, Kreis Uelzen, Kreis Vechta, Kreis Viersen, Kreis Vorpommern-Rügen, Kreis Weißenburg-Gunzenhausen, Kreis Wesermarsch, Kreis Würzburg, Kreisstadt Dietzenbach, Kreisstadt Friedberg, Kreisstadt Groß-Gerau, Kreisstadt St. Wendel, Kreiswerke Schmalkalden-Meiningen GmbH, Kreiswirtschaftsbetriebe Goslar, Kronberg im Taunus, KV Cochem-Zell, KWU Entsorgung Landkreis Oder-Spree, Landkreis Anhalt-Bitterfeld, Landkreis Ansbach, Landkreis Aschaffenburg, Landkreis Aschaffenburg (MyMuell App), Landkreis Bayreuth, Landkreis Berchtesgadener Land, Landkreis Biberach (MyMuell App), Landkreis Böblingen, Landkreis Böblingen, Landkreis Börde AöR (KsB), Landkreis Calw, Landkreis Coburg, Landkreis Eichstätt (MyMuell App), Landkreis Erding, Landkreis Erlangen-Höchstadt, Landkreis Esslingen, Landkreis Friesland (MyMuell App), Landkreis Fulda, Landkreis Gießen, Landkreis Gotha, Landkreis Grafschaft, Landkreis Görlitz, Landkreis Günzburg, Landkreis Hameln-Pyrmont, Landkreis Harz, Landkreis Heilbronn, Landkreis Kelheim, Landkreis Kronach, Landkreis Kulmbach, Landkreis Kusel, Landkreis Leer (MyMuell App), Landkreis Leipzig, Landkreis Limburg-Weilburg, Landkreis Lüchow-Dannenberg, Landkreis Main-Spessart, Landkreis Mettmann (MyMuell App), Landkreis Mühldorf a. Inn, Landkreis Nordwestmecklenburg, Landkreis Northeim (unofficial), Landkreis Ostallgäu, Landkreis Paderborn (MyMuell App), Landkreis Peine, Landkreis Ravensburg, Landkreis Rhön Grabfeld, Landkreis Rosenheim, Landkreis Rotenburg (Wümme), Landkreis Roth, Landkreis Roth, Landkreis Schweinfurt, Landkreis Schwäbisch Hall, Landkreis Sigmaringen, Landkreis soest, Landkreis Stade, Landkreis Stendal, Landkreis Südliche Weinstraße, Landkreis Tirschenreuth, Landkreis Tübingen, Landkreis Weißenburg-Gunzenhausen, Landkreis Wittmund, Landkreis Wittmund (MyMuell App), Landkreis Wittmund (MyMuell App), Landkreis Wunsiedel im Fichtelgebirge, Landkreisbetriebe Neuburg-Schrobenhausen, Landratsamt Aichach-Friedberg, Landratsamt Bodenseekreis, Landratsamt Dachau, Landratsamt Main-Tauber-Kreis, Landratsamt Traunstein, Landratsamt Unterallgäu, Landshut, Langen, Lebacher Abfallzweckverband (LAZ), Leverkusen, Ludwigshafen, Ludwigshafen am Rhein, Lübbecke (Jumomind), Lübeck Entsorgungsbetriebe, mags Mönchengladbacher Abfall-, Grün- und Straßenbetriebe AöR, Main-Kinzig-Kreis, Main-Kinzig-Kreis (MyMuell App), Mechernich und Kommunen, Mein-Abfallkalender.de, Metzingen, Minden, MZV Biedenkopf, Mühlheim am Main (MyMuell App), Müllabfuhr Deutschland, MüllALARM / Schönmackers, Müllmax, München Landkreis, Neckar-Odenwald-Kreis, Nenndorf (MyMuell App), Neumünster (MyMuell App), Neunkirchen Siegerland, Neustadt a.d. Waldnaab, Neustadt an der Weinstraße, Nordsachsen, Oberhavel, Oberhavel AWU, Oldenburg, Ortenaukreis, Ostholstein, Ostprignitz-Ruppin, Potsdam, Prignitz, Prignitz, Pullach im Isartal, Recklinghausen, RegioEntsorgung AöR, RegioEntsorgung Städteregion Aachen, Rhein-Hunsrück (Jumomind), Rhein-Hunsrück Entsorgung (RHE), Rhein-Neckar-Kreis, Rhein-Neckar-Kreis, Rhein-Pfalz-Kreis, Rosbach Vor Der Höhe, Rottweil, Rottweil, RSAG Rhein-Sieg-Kreis, Salzgitter (MyMuell App), Salzlandkreis, Schmitten im Taunus (MyMuell App), Schwarze Elster, Schwarzwald-Baar-Kreis, Schöneck (MyMuell App), Schönmackers, Sector 27 - Datteln, Marl, Oer-Erkenschwick, Seligenstadt (MyMuell App), Stadt Aachen, Stadt Arnsberg, Stadt Bayreuth, Stadt Cottbus, Stadt Darmstadt, Stadt Detmold, Stadt Dorsten, Stadt Emmendingen, Stadt Fulda, Stadt Haltern am See, Stadt Hamm, Stadt Hanau, Stadt Kaufbeuren, Stadt Koblenz, Stadt Landshut, Stadt Maintal, Stadt Memmingen, Stadt Messstetten, Stadt Norderstedt, Stadt Osnabrück, Stadt Overath, Stadt Regensburg, Stadt Solingen, Stadt Unterschleißheim, Stadtbetrieb Frechen, Stadtbildpflege Kaiserslautern, Stadtentsorgung Rostock, Stadtreinigung Dresden, Stadtreinigung Hamburg, Stadtreinigung Leipzig, Stadtreinigung Leipzig, StadtService Brühl, Stadtwerke Erfurt, SWE, Stadtwerke Hürth, STL Lüdenscheid, Städteservice Raunheim Rüsselsheim, SWK Herford, Südbrandenburgischer Abfallzweckverband, TBR Remscheid, TBV Velbert, Technischer Betriebsdienst Reutlingen, Tuttlingen, Tuttlingen, Tübingen, Uckermark, ULM (EBU), Ulm (MyMuell App), USB Bochum, Usingen (MyMuell App), VIVO Landkreis Miesbach, Volkmarsen (MyMuell App), Vöhringen (MyMuell App), Waldshut, Waldshut, WBO Wirtschaftsbetriebe Oberhausen, Wegberg (MyMuell App), Wermelskirchen, Westerholt (MyMuell App), Westerwaldkreis, WGV Recycling GmbH, Wilhelmshaven (MyMuell App), Wolfsburger Abfallwirtschaft und Straßenreinigung, WZV Kreis Segeberg, Würzburg, ZAH Hildesheim, ZAK Kempten, ZAW-SR Straubing, ZEW Zweckverband Entsorgungsregion West, ZfA Iserlohn, Zollernalbkreis, Zweckverband Abfallwirtschaft Kreis Bergstraße, Zweckverband Abfallwirtschaft Oberes Elbtal, Zweckverband Abfallwirtschaft Region Hannover, Zweckverband Abfallwirtschaft Region Trier (A.R.T.), Zweckverband Abfallwirtschaft Saale-Orla, Zweckverband Abfallwirtschaft Schwalm-Eder-Kreis, Zweckverband Abfallwirtschaft Südwestsachsen (ZAS), Zweckverband München-Südost | +| Germany | Abfall App, Abfall Stuttgart, Abfall-Wirtschafts-Verband Nordschwaben, Abfall.IO / AbfallPlus, Abfallbehandlungsgesellschaft Havelland mbH (abh), Abfallbewirtschaftung Ostalbkreis, Abfallentsorgung Kreis Kassel, Abfallkalender Hattingen, Abfallkalender Herne, Abfallkalender Kassel, Abfallkalender Luebeck, Abfallkalender Mannheim, Abfallkalender Offenbach, Abfallkalender Offenbach am Main (deprecated), Abfallkalender Würzburg, AbfallNavi (RegioIT.de), Abfalltermine Forchheim, Abfallwirtschaft Alb-Donau-Kreis, Abfallwirtschaft Altkreis Göttingen, Abfallwirtschaft Altkreis Osterode am Harz, Abfallwirtschaft Enzkreis, Abfallwirtschaft Freiburg, Abfallwirtschaft Germersheim, Abfallwirtschaft Isar-Inn, Abfallwirtschaft Kreis Plön, Abfallwirtschaft Lahn-Dill-Kreises, Abfallwirtschaft Landkreis Böblingen, Abfallwirtschaft Landkreis Freudenstadt, Abfallwirtschaft Landkreis Harburg, Abfallwirtschaft Landkreis Haßberge, Abfallwirtschaft Landkreis Kitzingen, Abfallwirtschaft Landkreis Landsberg am Lech, Abfallwirtschaft Landkreis Wolfenbüttel, Abfallwirtschaft Neckar-Odenwald-Kreis, Abfallwirtschaft Nürnberger Land, Abfallwirtschaft Ortenaukreis, Abfallwirtschaft Pforzheim, Abfallwirtschaft Potsdam-Mittelmark (APM), Abfallwirtschaft Rems-Murr, Abfallwirtschaft Rendsburg, Abfallwirtschaft Rheingau-Taunus-Kreis, Abfallwirtschaft Sonneberg, Abfallwirtschaft Stadt Fürth, Abfallwirtschaft Stadt Nürnberg, Abfallwirtschaft Stadt Schweinfurt, Abfallwirtschaft Südholstein, Abfallwirtschaft Werra-Meißner-Kreis, Abfallwirtschaft Zollernalbkreis, Abfallwirtschafts-Zweckverband des Landkreises Hersfeld-Rotenburg, Abfallwirtschaftsbetrieb Bergisch Gladbach, Abfallwirtschaftsbetrieb Emsland, Abfallwirtschaftsbetrieb Esslingen, Abfallwirtschaftsbetrieb Ilm-Kreis, Abfallwirtschaftsbetrieb Kiel (ABK), Abfallwirtschaftsbetrieb Landkreis Ahrweiler, Abfallwirtschaftsbetrieb Landkreis Altenkirchen, Abfallwirtschaftsbetrieb Landkreis Augsburg, Abfallwirtschaftsbetrieb Landkreis Aurich, Abfallwirtschaftsbetrieb Landkreis Karlsruhe, Abfallwirtschaftsbetrieb LK Mainz-Bingen, Abfallwirtschaftsbetriebe Münster, Abfallwirtschaftsgesellschaft Landkreis Schaumburg, Abfallwirtschaftsverband Kreis Groß-Gerau, Abfallwirtschaftsverbandes Lippe, Abfallwirtschaftszweckverband Wartburgkreis (AZV), Abfallzweckverband Rhein-Mosel-Eifel (Landkreis Mayen-Koblenz), AHE Ennepe-Ruhr-Kreis, ALBA Berlin, ALBA Braunschweig, ALF Lahn-Fulda, Altmarkkreis Salzwedel, Altötting (LK), Apps by Abfall+, ART Trier, Aschaffenburg (MyMuell App), ASG Wesel, ASO Abfall-Service Osterholz, ASR Stadt Chemnitz, ATHOS GmbH, Augsburg, Aurich (MKW), AVL - Abfallverwertungsgesellschaft des Landkreises Ludwigsburg mbH, AWA Entsorgungs GmbH, AWB Abfallwirtschaft Vechta, AWB Bad Kreuznach, AWB Köln, AWB Landkreis Bad Dürkheim, AWB Landkreis Fürstenfeldbruck, AWB Landkreis Göppingen, AWB Oldenburg, AWB Westerwaldkreis, AWG Donau-Wald, AWG Kreis Warendorf, AWIDO Online, AWIGO Abfallwirtschaft Landkreis Osnabrück GmbH, AWISTA Düsseldorf, Awista Starnberg, AWL Neuss, AWM München, Bad Arolsen (MyMuell App), Bad Homburg vdH, Bad Kissingen, Bamberg (Stadt und Landkreis), Barnim, Bau & Service Oberursel, Bergischer Abfallwirtschaftverbund, Berlin, Berlin Recycling, Berliner Stadtreinigungsbetriebe, Beverungen (MyMuell App), Bielefeld, Blaue Tonne - Schlaue Tonne, Bogenschütz Entsorgung, Bonn, Braunschweig, Bremer Stadtreinigung, Burgenland (Landkreis), Bürgerportal, Bürgerportal Bedburg, C-Trace, Cederbaum Braunschweig, Celle, Cham Landkreis, Chemnitz (ASR), Chiemgau Recycling - Landkreis Rosenheim, City of Karlsruhe, CM City Media - Müllkalender, Darmstadt (MyMuell App), Darmstadt-Dieburg (ZAW), Dillingen Saar, Dinslaken, Drekopf, Duisburg, EAD Darmstadt, ebwo - Entsorgungs- und Baubetrieb Anstalt des öffentlichen Rechts der Stadt Worms, EDG Entsorgung Dortmund, EGN Abfallkalender, EGST Steinfurt, EGW Westmünsterland, Eichsfeldwerke GmbH, Eigenbetrieb Kommunalwirtschaftliche Dienstleistungen Suhl, EKM Mittelsachsen GmbH, Entsorgungs- und Wirtschaftsbetrieb Landau in der Pfalz, Entsorgungsbetrieb Märkisch-Oderland, Entsorgungsbetrieb Stadt Mainz, Entsorgungsbetriebe Essen, Entsorgungsgesellschaft Görlitz-Löbau-Zittau, Esens (MyMuell App), Essen, EVA Abfallentsorgung, EVS Entsorgungsverband Saar, FES Frankfurter Entsorgungs- und Service GmbH, Flensburg (MyMuell App), Frankfurt (Oder), Freiburg im Breisgau, Gelsendienste Gelsenkirchen, Gemeinde Blankenheim, Gemeinde Deggenhausertal, Gemeinde Kalletal, Gemeinde Lindlar, Gemeinde Roetgen, Gemeinde Schutterwald, Gemeinde Unterhaching, Gipsprojekt, Großkrotzenburg (MyMuell App), GSAK APP / Krefeld, GWA - Kreis Unna mbH, Göttinger Entsorgungsbetriebe, Gütersloh, Hagen, Hainburg (MyMuell App), Hallesche Wasser und Stadtwirtschaft GmbH, Halver, Hattersheim am Main, hausmüll.info, Havelland, Heidelberg, Heilbronn Entsorgungsbetriebe, Heinz-Entsorgung (Landkreis Freising), Hohenlohekreis, Holtgast (MyMuell App), Höxter, Ilm-Kreis, Ingolstadt, Insert IT Apps, Jumomind, KAEV Niederlausitz, Kamp-Lintfort (MyMuell App), Kirchdorf (MyMuell App), Kommunalservice Landkreis Börde AöR, Kreis Augsburg, Kreis Bad Kissingen, Kreis Bautzen, Kreis Bayreuth, Kreis Bergstraße, Kreis Breisgau-Hochschwarzwald, Kreis Calw, Kreis Cloppenburg, Kreis Coesfeld, Kreis Cuxhaven, Kreis Diepholz, Kreis Emmendingen, Kreis Emsland, Kreis Freudenstadt, Kreis Fürth, Kreis Garmisch-Partenkirchen, Kreis Göppingen, Kreis Heilbronn, Kreis Heinsberg, Kreis Karlsruhe, Kreis Kitzingen, Kreis Landsberg am Lech, Kreis Landshut, Kreis Limburg-Weilburg, Kreis Ludwigsburg, Kreis Lörrach, Kreis Mayen-Koblenz, Kreis Miesbach, Kreis Miltenberg, Kreis Märkisch-Oderland, Kreis Neustadt/Aisch-Bad Windsheim, Kreis Neuwied, Kreis Nienburg / Weser, Kreis Nordfriesland, Kreis Ostallgäu, Kreis Osterholz, Kreis Pinneberg, Kreis Rastatt, Kreis Ravensburg, Kreis Reutlingen, Kreis Rotenburg (Wümme), Kreis Schaumburg, Kreis Sigmaringen, Kreis Starnberg, Kreis Steinfurt, Kreis Südwestpfalz, Kreis Traunstein, Kreis Trier-Saarburg, Kreis Uelzen, Kreis Vechta, Kreis Viersen, Kreis Vorpommern-Rügen, Kreis Weißenburg-Gunzenhausen, Kreis Wesermarsch, Kreis Würzburg, Kreisstadt Dietzenbach, Kreisstadt Friedberg, Kreisstadt Groß-Gerau, Kreisstadt St. Wendel, Kreiswerke Schmalkalden-Meiningen GmbH, Kreiswirtschaftsbetriebe Goslar, Kronberg im Taunus, KV Cochem-Zell, KWU Entsorgung Landkreis Oder-Spree, Landkreis Anhalt-Bitterfeld, Landkreis Ansbach, Landkreis Aschaffenburg, Landkreis Aschaffenburg (MyMuell App), Landkreis Bayreuth, Landkreis Berchtesgadener Land, Landkreis Biberach (MyMuell App), Landkreis Böblingen, Landkreis Böblingen, Landkreis Börde AöR (KsB), Landkreis Calw, Landkreis Coburg, Landkreis Eichstätt (MyMuell App), Landkreis Erding, Landkreis Erlangen-Höchstadt, Landkreis Esslingen, Landkreis Friesland (MyMuell App), Landkreis Fulda, Landkreis Gießen, Landkreis Gotha, Landkreis Grafschaft, Landkreis Görlitz, Landkreis Günzburg, Landkreis Hameln-Pyrmont, Landkreis Harz, Landkreis Heilbronn, Landkreis Kelheim, Landkreis Kronach, Landkreis Kulmbach, Landkreis Kusel, Landkreis Leer (MyMuell App), Landkreis Leipzig, Landkreis Limburg-Weilburg, Landkreis Lüchow-Dannenberg, Landkreis Main-Spessart, Landkreis Mettmann (MyMuell App), Landkreis Mühldorf a. Inn, Landkreis Nordwestmecklenburg, Landkreis Northeim (unofficial), Landkreis Ostallgäu, Landkreis Paderborn (MyMuell App), Landkreis Peine, Landkreis Ravensburg, Landkreis Rhön Grabfeld, Landkreis Rosenheim, Landkreis Rotenburg (Wümme), Landkreis Roth, Landkreis Roth, Landkreis Schweinfurt, Landkreis Schwäbisch Hall, Landkreis Sigmaringen, Landkreis soest, Landkreis Stade, Landkreis Stendal, Landkreis Südliche Weinstraße, Landkreis Tirschenreuth, Landkreis Tübingen, Landkreis Weißenburg-Gunzenhausen, Landkreis Wittmund, Landkreis Wittmund (MyMuell App), Landkreis Wittmund (MyMuell App), Landkreis Wunsiedel im Fichtelgebirge, Landkreisbetriebe Neuburg-Schrobenhausen, Landratsamt Aichach-Friedberg, Landratsamt Bodenseekreis, Landratsamt Dachau, Landratsamt Main-Tauber-Kreis, Landratsamt Traunstein, Landratsamt Unterallgäu, Landshut, Langen, Lebacher Abfallzweckverband (LAZ), Leverkusen, Ludwigshafen, Ludwigshafen am Rhein, Lübbecke (Jumomind), Lübeck Entsorgungsbetriebe, mags Mönchengladbacher Abfall-, Grün- und Straßenbetriebe AöR, Main-Kinzig-Kreis, Main-Kinzig-Kreis (MyMuell App), Mechernich und Kommunen, Mein-Abfallkalender.de, Metzingen, Minden, MZV Biedenkopf, Mühlheim am Main (MyMuell App), Müllabfuhr Deutschland, MüllALARM / Schönmackers, Müllmax, München Landkreis, Neckar-Odenwald-Kreis, Nenndorf (MyMuell App), Neumünster (MyMuell App), Neunkirchen Siegerland, Neustadt a.d. Waldnaab, Neustadt an der Weinstraße, Nordsachsen, Oberhavel, Oberhavel AWU, Oldenburg, Ortenaukreis, Ostholstein, Ostprignitz-Ruppin, Potsdam, Prignitz, Prignitz, Pullach im Isartal, Recklinghausen, RegioEntsorgung AöR, RegioEntsorgung Städteregion Aachen, Rhein-Hunsrück (Jumomind), Rhein-Hunsrück Entsorgung (RHE), Rhein-Neckar-Kreis, Rhein-Neckar-Kreis, Rhein-Pfalz-Kreis, Rosbach Vor Der Höhe, Rottweil, Rottweil, RSAG Rhein-Sieg-Kreis, Salzgitter (MyMuell App), Salzlandkreis, Schmitten im Taunus (MyMuell App), Schwarze Elster, Schwarzwald-Baar-Kreis, Schöneck (MyMuell App), Schönmackers, Sector 27 - Datteln, Marl, Oer-Erkenschwick, Seligenstadt (MyMuell App), Stadt Aachen, Stadt Arnsberg, Stadt Bayreuth, Stadt Cottbus, Stadt Darmstadt, Stadt Detmold, Stadt Dorsten, Stadt Emmendingen, Stadt Fulda, Stadt Haltern am See, Stadt Hamm, Stadt Hanau, Stadt Kaufbeuren, Stadt Koblenz, Stadt Landshut, Stadt Maintal, Stadt Memmingen, Stadt Messstetten, Stadt Norderstedt, Stadt Osnabrück, Stadt Overath, Stadt Regensburg, Stadt Solingen, Stadt Unterschleißheim, Stadtbetrieb Frechen, Stadtbildpflege Kaiserslautern, Stadtentsorgung Rostock, Stadtreinigung Dresden, Stadtreinigung Hamburg, Stadtreinigung Leipzig, Stadtreinigung Leipzig, StadtService Brühl, Stadtwerke Erfurt, SWE, Stadtwerke Hürth, STL Lüdenscheid, Städteservice Raunheim Rüsselsheim, SWK Herford, Südbrandenburgischer Abfallzweckverband, TBR Remscheid, TBV Velbert, Technischer Betriebsdienst Reutlingen, Tuttlingen, Tuttlingen, Tübingen, Uckermark, ULM (EBU), Ulm (MyMuell App), USB Bochum, Usingen (MyMuell App), VIVO Landkreis Miesbach, Volkmarsen (MyMuell App), Vöhringen (MyMuell App), Waldshut, Waldshut, WBO Wirtschaftsbetriebe Oberhausen, Wegberg (MyMuell App), Wermelskirchen, Westerholt (MyMuell App), Westerwaldkreis, WGV Recycling GmbH, Wilhelmshaven (MyMuell App), Wolfsburger Abfallwirtschaft und Straßenreinigung, WZV Kreis Segeberg, Würzburg, ZAH Hildesheim, ZAK Kempten, ZAW-SR Straubing, ZEW Zweckverband Entsorgungsregion West, ZfA Iserlohn, Zollernalbkreis, Zweckverband Abfallwirtschaft Kreis Bergstraße, Zweckverband Abfallwirtschaft Oberes Elbtal, Zweckverband Abfallwirtschaft Region Hannover, Zweckverband Abfallwirtschaft Region Trier (A.R.T.), Zweckverband Abfallwirtschaft Saale-Orla, Zweckverband Abfallwirtschaft Schwalm-Eder-Kreis, Zweckverband Abfallwirtschaft Südwestsachsen (ZAS), Zweckverband München-Südost | | Hungary | FKF Budapest, FKF Budaörs, ÉTH (Érd, Diósd, Nagytarcsa, Sóskút, Tárnok) | | Italy | Contarina S.p.A | | Lithuania | Kauno švara |