diff --git a/README.md b/README.md
index 20c4c2c8c..e36e980e7 100644
--- a/README.md
+++ b/README.md
@@ -66,6 +66,7 @@ Waste collection schedules in the following formats and countries are supported.
Belgium
- [Hygea](/doc/source/hygea_be.md) / hygea.be
+- [Limburg.net](/doc/source/ics/limburg_net.md) / limburg.net
- [Recycle!](/doc/source/recycleapp_be.md) / recycleapp.be
@@ -121,6 +122,7 @@ Waste collection schedules in the following formats and countries are supported.
- [ART Trier](/doc/source/art_trier_de.md) / art-trier.de
- [ASO Abfall-Service Osterholz](/doc/source/abfall_io.md) / aso-ohz.de
- [ASR Stadt Chemnitz](/doc/source/asr_chemnitz_de.md) / asr-chemnitz.de
+- [AVL - Abfallverwertungsgesellschaft des Landkreises Ludwigsburg mbH](/doc/source/ics/avl_ludwigsburg_de.md) / avl-ludwigsburg.de
- [AWA Entsorgungs GmbH](/doc/source/abfallnavi_de.md) / awa-gmbh.de
- [AWB Abfallwirtschaft Vechta](/doc/source/abfallwirtschaft_vechta_de.md) / abfallwirtschaft-vechta.de
- [AWB Bad Kreuznach](/doc/source/awb_bad_kreuznach_de.md) / app.awb-bad-kreuznach.de
@@ -132,6 +134,7 @@ Waste collection schedules in the following formats and countries are supported.
- [AWB Westerwaldkreis](/doc/source/abfall_io.md) / wab.rlp.de
- [AWG Kreis Warendorf](/doc/source/abfallnavi_de.md) / awg-waf.de
- [AWIDO Online](/doc/source/awido_de.md) / awido-online.de
+- [Awista Starnberg](/doc/source/ics/awista_starnberg_de.md) / awista-starnberg.de
- [Bau & Service Oberursel](/doc/source/c_trace_de.md) / bso-oberursel.de
- [Bergischer Abfallwirtschaftverbund](/doc/source/abfallnavi_de.md) / bavweb.de
- [Berlin Recycling](/doc/source/berlin_recycling_de.md) / berlin-recycling.de
@@ -145,11 +148,15 @@ Waste collection schedules in the following formats and countries are supported.
- [Dillingen Saar](/doc/source/dillingen_saar_de.md) / dillingen-saar.de
- [Dinslaken](/doc/source/abfallnavi_de.md) / dinslaken.de
- [EAD Darmstadt](/doc/source/ead_darmstadt_de.md) / ead.darmstadt.de
+- [EDG Entsorgung Dortmund](/doc/source/ics/edg_de.md) / edg.de
- [EGN Abfallkalender](/doc/source/egn_abfallkalender_de.md) / egn-abfallkalender.de
- [EGST Steinfurt](/doc/source/abfall_io.md) / egst.de
- [EGW Westmünsterland](/doc/source/abfallnavi_de.md) / egw.de
- [Entsorgungs- und Wirtschaftsbetrieb Landau in der Pfalz](/doc/source/c_trace_de.md) / ew-landau.de
+- [Entsorgungsbetrieb Märkisch-Oderland](/doc/source/ics/entsorgungsbetrieb_mol_de.md) / entsorgungsbetrieb-mol.de
- [Entsorgungsbetriebe Essen](/doc/source/abfall_io.md) / ebe-essen.de
+- [Entsorgungsgesellschaft Görlitz-Löbau-Zittau](/doc/source/ics/abfall_eglz_de.md) / abfall-eglz.de
+- [FES Frankfurter Entsorgungs- und Service GmbH](/doc/source/ics/fes_frankfurt_de.md) / fes-frankfurt.de
- [Gemeinde Aschheim](/doc/source/cmcitymedia_de.md) / cmcitymedia.de
- [Gemeinde Blankenheim](/doc/source/cmcitymedia_de.md) / cmcitymedia.de
- [Gemeinde Bühlerzell](/doc/source/cmcitymedia_de.md) / cmcitymedia.de
@@ -205,6 +212,7 @@ Waste collection schedules in the following formats and countries are supported.
- [Landkreis Schwäbisch Hall](/doc/source/lrasha_de.md) / lrasha.de
- [Landkreis Schwäbisch Hall](/doc/source/cmcitymedia_de.md) / cmcitymedia.de
- [Landkreis Sigmaringen](/doc/source/abfall_io.md) / landkreis-sigmaringen.de
+- [Landkreis Stade](/doc/source/ics/landkreis_stade_de.md) / landkreis-stade.de
- [Landkreis Südliche Weinstraße](/doc/source/awido_de.md) / suedliche-weinstrasse.de
- [Landkreis Tirschenreuth](/doc/source/awido_de.md) / kreis-tir.de
- [Landkreis Tübingen](/doc/source/awido_de.md) / abfall-kreis-tuebingen.de
@@ -212,11 +220,13 @@ Waste collection schedules in the following formats and countries are supported.
- [Landkreis Wittmund](/doc/source/landkreis_wittmund_de.md) / landkreis-wittmund.de
- [Landkreisbetriebe Neuburg-Schrobenhausen](/doc/source/awido_de.md) / landkreisbetriebe.de
- [Landratsamt Aichach-Friedberg](/doc/source/awido_de.md) / lra-aic-fdb.de
+- [Landratsamt Bodenseekreis](/doc/source/ics/bodenseekreis_de.md) / bodenseekreis.de
- [Landratsamt Dachau](/doc/source/awido_de.md) / landratsamt-dachau.de
- [Landratsamt Main-Tauber-Kreis](/doc/source/c_trace_de.md) / main-tauber-kreis.de
- [Landratsamt Traunstein](/doc/source/abfall_io.md) / traunstein.com
- [Landratsamt Unterallgäu](/doc/source/abfall_io.md) / landratsamt-unterallgaeu.de
- [Ludwigshafen am Rhein](/doc/source/abfall_io.md) / ludwigshafen.de
+- [Lübeck Entsorgungsbetriebe](/doc/source/ics/luebeck_de.md) / luebeck.de
- [MZV Biedenkopf](/doc/source/buergerportal_de.md) / mzv-biedenkopf.de
- [MüllALARM / Schönmackers](/doc/source/abfall_io.md) / schoenmackers.de
- [Müllmax](/doc/source/muellmax_de.md) / muellmax.de
@@ -231,17 +241,20 @@ Waste collection schedules in the following formats and countries are supported.
- [Stadt Arnsberg](/doc/source/c_trace_de.md) / arnsberg.de
- [Stadt Bayreuth](/doc/source/c_trace_de.md) / bayreuth.de
- [Stadt Cottbus](/doc/source/abfallnavi_de.md) / cottbus.de
+- [Stadt Detmold](/doc/source/ics/detmold_de.md) / detmold.de
- [Stadt Dorsten](/doc/source/abfallnavi_de.md) / ebd-dorsten.de
- [Stadt Ehingen](/doc/source/cmcitymedia_de.md) / cmcitymedia.de
- [Stadt Emden](/doc/source/cmcitymedia_de.md) / cmcitymedia.de
- [Stadt Emmendingen](/doc/source/cmcitymedia_de.md) / cmcitymedia.de
- [Stadt Fulda](/doc/source/awido_de.md) / fulda.de
- [Stadt Kaufbeuren](/doc/source/awido_de.md) / kaufbeuren.de
+- [Stadt Koblenz](/doc/source/ics/koblenz_de.md) / koblenz.de
- [Stadt Kraichtal](/doc/source/cmcitymedia_de.md) / cmcitymedia.de
- [Stadt Landshut](/doc/source/abfall_io.md) / landshut.de
- [Stadt Memmingen](/doc/source/awido_de.md) / umwelt.memmingen.de
- [Stadt Messstetten](/doc/source/cmcitymedia_de.md) / cmcitymedia.de
- [Stadt Norderstedt](/doc/source/abfallnavi_de.md) / betriebsamt-norderstedt.de
+- [Stadt Osnabrück](/doc/source/ics/osnabrueck_de.md) / osnabrueck.de
- [Stadt Overath](/doc/source/c_trace_de.md) / overath.de
- [Stadt Regensburg](/doc/source/awido_de.md) / regensburg.de
- [Stadt Solingen](/doc/source/abfallnavi_de.md) / solingen.de
@@ -250,6 +263,7 @@ Waste collection schedules in the following formats and countries are supported.
- [Stadtreinigung Dresden](/doc/source/stadtreinigung_dresden_de.md) / dresden.de
- [Stadtreinigung Hamburg](/doc/source/stadtreinigung_hamburg.md) / stadtreinigung.hamburg
- [Stadtreinigung Leipzig](/doc/source/stadtreinigung_leipzig_de.md) / stadtreinigung-leipzig.de
+- [Stadtreinigung Leipzig](/doc/source/ics/stadtreinigung_leipzig_de.md) / stadtreinigung-leipzig.de
- [StadtService Brühl](/doc/source/stadtservice_bruehl_de.md) / stadtservice-bruehl.de
- [STL Lüdenscheid](/doc/source/abfallnavi_de.md) / stl-luedenscheid.de
- [Städteservice Raunheim Rüsselsheim](/doc/source/staedteservice_de.md) / staedteservice.de
@@ -260,6 +274,7 @@ Waste collection schedules in the following formats and countries are supported.
- [WGV Recycling GmbH](/doc/source/awido_de.md) / wgv-quarzbichl.de
- [Wolfsburger Abfallwirtschaft und Straßenreinigung](/doc/source/was_wolfsburg_de.md) / was-wolfsburg.de
- [WZV Kreis Segeberg](/doc/source/c_trace_de.md) / wzv.de
+- [ZAH Hildesheim](/doc/source/ics/zah_hildesheim_de.md) / zah-hildesheim.de
- [ZAW Darmstadt-Dieburg](/doc/source/zaw_online_de.md) / zaw-online.de
- [Zweckverband Abfallwirtschaft Kreis Bergstraße](/doc/source/zakb_de.md) / zakb.de
- [Zweckverband Abfallwirtschaft Region Trier (A.R.T.)](/doc/source/ics/art_trier_de.md) / art-trier.de
diff --git a/custom_components/waste_collection_schedule/waste_collection_schedule/source/ics.py b/custom_components/waste_collection_schedule/waste_collection_schedule/source/ics.py
index 496cbea10..b553257f5 100644
--- a/custom_components/waste_collection_schedule/waste_collection_schedule/source/ics.py
+++ b/custom_components/waste_collection_schedule/waste_collection_schedule/source/ics.py
@@ -13,15 +13,6 @@
DESCRIPTION = "Source for ICS based schedules."
URL = None
TEST_CASES = {
- "Dortmund, Dudenstr. 5": {
- "url": "https://www.edg.de/ical/kalender.ics?Strasse=Dudenstr.&Hausnummer=5&Erinnerung=-1&Abfallart=1,2,3,4"
- },
- "Leipzig, Sandgrubenweg 27": {
- "url": "https://stadtreinigung-leipzig.de/wir-kommen-zu-ihnen/abfallkalender/ical.ics?position_nos=38296&name=Sandgrubenweg%2027"
- },
- "Ludwigsburg": {
- "url": "https://kundenportal.avl-lb.de/WasteManagementLudwigsburg/WasteManagementServiceServlet?ApplicationName=Calendar&SubmitAction=sync&StandortID=950230001&AboID=8188&Fra=BT;RT;PT;LT;GT"
- },
"Esslingen, Bahnhof": {
"url": "https://api.abfall.io/?kh=DaA02103019b46345f1998698563DaAd&t=ics&s=1a862df26f6943997cef90233877a4fe"
},
@@ -39,9 +30,6 @@
"url": "https://www.awm-muenchen.de/entsorgen/abfuhrkalender?tx_awmabfuhrkalender_abfuhrkalender%5Bhausnummer%5D=11&tx_awmabfuhrkalender_abfuhrkalender%5Bleerungszyklus%5D%5BB%5D=1%2F2%3BU&tx_awmabfuhrkalender_abfuhrkalender%5Bleerungszyklus%5D%5BP%5D=1%2F2%3BG&tx_awmabfuhrkalender_abfuhrkalender%5Bleerungszyklus%5D%5BR%5D=001%3BU&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=70024507&tx_awmabfuhrkalender_abfuhrkalender%5Bstellplatz%5D%5Bpapier%5D=70024507&tx_awmabfuhrkalender_abfuhrkalender%5Bstellplatz%5D%5Brestmuell%5D=70024507&tx_awmabfuhrkalender_abfuhrkalender%5Bstrasse%5D=bahnstr.&tx_awmabfuhrkalender_abfuhrkalender%5Byear%5D={%Y}",
"version": 1,
},
- "Buxtehude, Am Berg": {
- "url": "https://abfall.landkreis-stade.de/api_v2/collection_dates/1/ort/10/strasse/90/hausnummern/1/abfallarten/R02-R04-B02-D04-D12-P04-R12-R14-W0-R22-R24-R31/kalender.ics"
- },
# "Hausmüllinfo: ASR Chemnitz": {
# "url": "https://asc.hausmuell.info/ics/ics.php",
# "method": "POST",
@@ -89,23 +77,10 @@
},
"year_field": "year",
},
- "Detmold": {
- "url": "https://abfuhrkalender.detmold.de/icsmaker.php",
- "method": "GET",
- "params": {"strid": 338},
- "year_field": "year",
- },
- "EAW Rheingau Taunus": {
- "url": "https://www.eaw-rheingau-taunus.de/abfallsammlung/abfuhrtermine/feed.ics?tx_vierwdeaw_garbagecalendarics%5Baction%5D=ics&tx_vierwdeaw_garbagecalendarics%5Bcontroller%5D=GarbageCalendar&tx_vierwdeaw_garbagecalendarics%5Bstreet%5D=38",
- "split_at": ",",
- },
"Recollect, Ottawa": {
"url": "https://recollect.a.ssl.fastly.net/api/places/BCCDF30E-578B-11E4-AD38-5839C200407A/services/208/events.en.ics",
"split_at": "\\, [and ]*",
},
- "Frankfurt am Main, Achenbachstrasse 3": {
- "url": "https://www.fes-frankfurt.de/abfallkalender/QWNoZW5iYWNoc3RyLnwzfDYwNTk2.ics"
- },
"Erlensee, Am Haspel": {
"url": "https://sperrmuell.erlensee.de/?type=reminder",
"method": "POST",
diff --git a/custom_components/waste_collection_schedule/waste_collection_schedule/test/test_sources.py b/custom_components/waste_collection_schedule/waste_collection_schedule/test/test_sources.py
index b78826888..761a91e0d 100755
--- a/custom_components/waste_collection_schedule/waste_collection_schedule/test/test_sources.py
+++ b/custom_components/waste_collection_schedule/waste_collection_schedule/test/test_sources.py
@@ -33,6 +33,12 @@ def main():
action="store_true",
help="Print exception information and stack trace",
)
+ parser.add_argument(
+ "-I", "--ics", action="store_true", help="Test all .yaml file for ICS source"
+ )
+ parser.add_argument(
+ "-y", "--yaml", action="append", help="Test given .yaml file for ICS source"
+ )
args = parser.parse_args()
# read secrets.yaml
@@ -53,15 +59,21 @@ def main():
# add module directory to path
site.addsitedir(str(package_dir))
+ # find all source files for testing
if args.source is not None:
- files = args.source
- else:
- files = filter(
+ # source file(s) given
+ source_files = args.source
+ elif not args.ics and args.yaml is None:
+ # no ICS yaml files given --> test all source files
+ source_files = filter(
lambda x: x != "__init__",
map(lambda x: x.stem, source_dir.glob("*.py")),
)
+ else:
+ # ICS yaml file(s) given
+ source_files = []
- for f in sorted(files):
+ for f in sorted(source_files):
# iterate through all *.py files in waste_collection_schedule/source
print(f"Testing source {f} ...")
module = importlib.import_module(f"waste_collection_schedule.source.{f}")
@@ -80,49 +92,65 @@ def main():
# replace secrets in arguments
replace_secret(secrets, tc)
- # create source
- try:
- source = module.Source(**tc)
- result = source.fetch()
- count = len(result)
- if count > 0:
- print(
- f" found {bcolors.OKGREEN}{count}{bcolors.ENDC} entries for {name}"
- )
- else:
- print(
- f" found {bcolors.WARNING}0{bcolors.ENDC} entries for {name}"
- )
-
- # test if source is returning the correct date format
- if (
- len(
- list(
- filter(lambda x: type(x.date) is not datetime.date, result)
- )
- )
- > 0
- ):
- print(
- f"{bcolors.FAIL} ERROR: source returns invalid date format (datetime.datetime instead of datetime.date?){bcolors.ENDC}"
- )
-
- if args.list:
- result = (
- sorted(result, key=lambda x: x.date) if args.sorted else result
- )
- for x in result:
- icon_str = f" [{x.icon}]" if args.icon else ""
- weekday_str = x.date.strftime("%a ") if args.weekday else ""
- print(
- f" {x.date.isoformat()} {weekday_str}: {x.type}{icon_str}"
- )
- except KeyboardInterrupt:
- exit()
- except Exception as exc:
- print(f" {name} {bcolors.FAIL}failed{bcolors.ENDC}: {exc}")
- if args.traceback:
- print(indent(traceback.format_exc(), 4))
+ test_fetch(module, name, tc, args)
+
+ # find all ICS yaml files for testing
+ ics_yaml_dir = Path(__file__).resolve().parents[4] / "doc" / "ics" / "yaml"
+ if args.ics:
+ # test all ICS yaml files
+ yaml_files = ics_yaml_dir.glob("*.yaml")
+ elif args.yaml:
+ # ICS yaml files specified
+ yaml_files = [Path(ics_yaml_dir, f).with_suffix(".yaml") for f in args.yaml]
+ elif args.source is None:
+ # neither source nor ICS yaml files specified --> test all yaml files
+ yaml_files = ics_yaml_dir.glob("*.yaml")
+ else:
+ # source files given --> don't test ICS yaml files
+ yaml_files = []
+
+ # run through all .yaml files for ICS source
+ module = importlib.import_module("waste_collection_schedule.source.ics")
+ for f in sorted(yaml_files):
+ print(f"Testing ICS {f.name}")
+ with open(f) as stream:
+ # read yaml file
+ data = yaml.safe_load(stream)
+
+ # run through all test-cases
+ for name, tc in data["test_cases"].items():
+ test_fetch(module, name, tc, args)
+
+
+def test_fetch(module, name, tc, args):
+ # create source
+ try:
+ source = module.Source(**tc)
+ result = source.fetch()
+ count = len(result)
+ if count > 0:
+ print(f" found {bcolors.OKGREEN}{count}{bcolors.ENDC} entries for {name}")
+ else:
+ print(f" found {bcolors.WARNING}0{bcolors.ENDC} entries for {name}")
+
+ # test if source is returning the correct date format
+ if len(list(filter(lambda x: type(x.date) is not datetime.date, result))) > 0:
+ print(
+ f"{bcolors.FAIL} ERROR: source returns invalid date format (datetime.datetime instead of datetime.date?){bcolors.ENDC}"
+ )
+
+ if args.list:
+ result = sorted(result, key=lambda x: x.date) if args.sorted else result
+ for x in result:
+ icon_str = f" [{x.icon}]" if args.icon else ""
+ weekday_str = x.date.strftime("%a ") if args.weekday else ""
+ print(f" {x.date.isoformat()} {weekday_str}: {x.type}{icon_str}")
+ except KeyboardInterrupt:
+ exit()
+ except Exception as exc:
+ print(f" {name} {bcolors.FAIL}failed{bcolors.ENDC}: {exc}")
+ if args.traceback:
+ print(indent(traceback.format_exc(), 4))
def replace_secret(secrets, d):
diff --git a/doc/ics/abfall_eglz_de.md b/doc/ics/abfall_eglz_de.md
new file mode 100644
index 000000000..0e67f0363
--- /dev/null
+++ b/doc/ics/abfall_eglz_de.md
@@ -0,0 +1,22 @@
+# Entsorgungsgesellschaft Görlitz-Löbau-Zittau
+
+Entsorgungsgesellschaft Görlitz-Löbau-Zittau 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 municipality.
+- Right-click on `Entsorgungstermine als iCalendar herunterladen` and copy link address.
+- Replace the `url` in the example configuration with this link.
+
+## Examples
+
+### Oppach
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ url: https://www.abfall-eglz.de/abfallkalender.html?ort=Oppach&ortsteil=Ort+Oppach&strasse=&ics=1
+```
diff --git a/doc/ics/art_trier_de.md b/doc/ics/art_trier_de.md
index 07d63b58d..bf0cd268b 100644
--- a/doc/ics/art_trier_de.md
+++ b/doc/ics/art_trier_de.md
@@ -9,7 +9,7 @@ Zweckverband Abfallwirtschaft Region Trier (A.R.T.) is supported by the generic
- Scroll down to `JAHRESKALENDER FÜR IHR OUTLOOK, ETC.`
- Set `Wann möchten Sie erinnert werden?` to `Am Abfuhrtag`.
- Click on `> Kalender (ICS) importieren` to get a webcal link.
-- Copy this link into the configuration (see example).
+- Replace the `url` in the example configuration with this link.
## Examples
@@ -20,5 +20,7 @@ waste_collection_schedule:
sources:
- name: ics
args:
+ regex: 'A.R.T. Abfuhrtermin: (.*)'
+ split_at: ' & '
url: webcal://abfallkalender.art-trier.de/ics-feed/54578_basberg_1-1800.ics
```
diff --git a/doc/ics/avl_ludwigsburg_de.md b/doc/ics/avl_ludwigsburg_de.md
new file mode 100644
index 000000000..6256ac5f3
--- /dev/null
+++ b/doc/ics/avl_ludwigsburg_de.md
@@ -0,0 +1,22 @@
+# AVL - Abfallverwertungsgesellschaft des Landkreises Ludwigsburg mbH
+
+AVL - Abfallverwertungsgesellschaft des Landkreises Ludwigsburg mbH 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.
+- Click on `URL ANZEIGEN` to get a webcal link.
+- Replace the `url` in the example configuration with this link.
+
+## Examples
+
+### Sandgrubenweg 27
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ url: https://kundenportal.avl-lb.de/WasteManagementLudwigsburg/WasteManagementServiceServlet?ApplicationName=Calendar&SubmitAction=sync&StandortID=941092001&AboID=76574&Fra=BT;RT;PT;LT;GT
+```
diff --git a/doc/ics/awista_starnberg_de.md b/doc/ics/awista_starnberg_de.md
new file mode 100644
index 000000000..e9255fa76
--- /dev/null
+++ b/doc/ics/awista_starnberg_de.md
@@ -0,0 +1,22 @@
+# Awista Starnberg
+
+Awista Starnberg 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 municipality.
+- Click on `URL in die Zwischenablage kopieren`.
+- Replace the `url` in the example configuration with this link.
+
+## Examples
+
+### Berg, Ahornweg 1
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ url: https://xmlcall.awista-starnberg.de/WasteManagementStarnberg/WasteManagementServiceServlet?ApplicationName=Calendar&SubmitAction=sync&StandortID=162188001&AboID=104609&Fra=P;R;B;S;G
+```
diff --git a/doc/ics/bodenseekreis_de.md b/doc/ics/bodenseekreis_de.md
new file mode 100644
index 000000000..5e7139e36
--- /dev/null
+++ b/doc/ics/bodenseekreis_de.md
@@ -0,0 +1,23 @@
+# Landratsamt Bodenseekreis
+
+Landratsamt Bodenseekreis 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 municipality.
+- Click on `iCal-Kalender` and copy link address.
+- Replace the `url` in the example configuration with this link.
+- Replace the year in the url with `{%Y}`.
+
+## Examples
+
+### Hagnau
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ url: https://www.bodenseekreis.de/umwelt-landnutzung/abfallentsorgung-privat/termine/abfuhrkalender/export/2023/hagnau/1,4,2,5,16,7,9,8,10,6/ics/
+```
diff --git a/doc/ics/detmold_de.md b/doc/ics/detmold_de.md
new file mode 100644
index 000000000..37f31357d
--- /dev/null
+++ b/doc/ics/detmold_de.md
@@ -0,0 +1,26 @@
+# Stadt Detmold
+
+Stadt Detmold 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.
+- Click on `Weitere Information`.
+- Click on `Download ics-Datei (iCal).
+- Right-click on `Download` link and copy link address.
+- Replace the `url` in the example configuration with this link.
+- Replace the year in the url with `{%Y}`.
+
+## Examples
+
+### Beateweg
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ regex: "M\xFCllabfuhr: (.*)"
+ url: https://abfuhrkalender.detmold.de/icsmaker.php?strid=146&year={%Y}
+```
diff --git a/doc/ics/edg_de.md b/doc/ics/edg_de.md
new file mode 100644
index 000000000..ebab76639
--- /dev/null
+++ b/doc/ics/edg_de.md
@@ -0,0 +1,25 @@
+# EDG Entsorgung Dortmund
+
+EDG Entsorgung Dortmund 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.
+- Click on `Kalender erzeugen`.
+- Set `Wann möchten Sie erinnert werden?` to `Am Abfuhrtag`.
+- Below `Outlook und weitere` set `Erinnerung` to `Keine Erinnerung`.
+- Click on `Link kopieren` to get a webcal link.
+- Replace the `url` in the example configuration with this link.
+
+## Examples
+
+### Baackweg 1
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ url: webcal://www.edg.de/ical/kalender.ics?Strasse=Hanfweg&Hausnummer=1&Erinnerung=-1&Abfallart=1,2,3,4
+```
diff --git a/doc/ics/entsorgungsbetrieb_mol_de.md b/doc/ics/entsorgungsbetrieb_mol_de.md
new file mode 100644
index 000000000..1bc71744d
--- /dev/null
+++ b/doc/ics/entsorgungsbetrieb_mol_de.md
@@ -0,0 +1,23 @@
+# Entsorgungsbetrieb Märkisch-Oderland
+
+Entsorgungsbetrieb Märkisch-Oderland 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.
+- Click on `Exportieren`.
+- Click on `Adresse kopieren` to copy link.
+- Replace the `url` in the example configuration with this link.
+
+## Examples
+
+### Buckow, Hasenholz
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ url: https://mol.wastebox.gemos-management.de/Gemos/WasteBox/Frontend/TourSchedule/Raw/Name/2023/List/585587/2696,2697,2698,2699,2700,2701,2702,2703/Print/ics/Default/Abfuhrtermine.ics
+```
diff --git a/doc/ics/fes_frankfurt_de.md b/doc/ics/fes_frankfurt_de.md
new file mode 100644
index 000000000..8a548647f
--- /dev/null
+++ b/doc/ics/fes_frankfurt_de.md
@@ -0,0 +1,25 @@
+# FES Frankfurter Entsorgungs- und Service GmbH
+
+FES Frankfurter Entsorgungs- und Service GmbH 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.
+- Click on `Kalender`.
+- Copy link address.
+- Replace the `url` in the example configuration with this link.
+
+## Examples
+
+### Achenbachstr. 2
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ regex: (.*)\s+\|
+ split_at: ' / '
+ url: https://www.fes-frankfurt.de/abfallkalender/QWNoZW5iYWNoc3RyLnwyfDYwNTk2.ics
+```
diff --git a/doc/ics/koblenz_de.md b/doc/ics/koblenz_de.md
new file mode 100644
index 000000000..09a0964cd
--- /dev/null
+++ b/doc/ics/koblenz_de.md
@@ -0,0 +1,23 @@
+# Stadt Koblenz
+
+Stadt Koblenz 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 .
+- Right-click on your municipality and copy link address.
+- Replace the `url` in the example configuration with this link.
+- Replace the year in the url by {%Y}.
+
+## Examples
+
+### Altstadt
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ url: https://servicebetrieb.koblenz.de/abfallwirtschaft/entsorgungstermine-digital/entsorgungstermine-2023-digital/altstadt-{%Y}.ics?cid=2ui7
+```
diff --git a/doc/ics/landkreis_stade_de.md b/doc/ics/landkreis_stade_de.md
new file mode 100644
index 000000000..cd04a6271
--- /dev/null
+++ b/doc/ics/landkreis_stade_de.md
@@ -0,0 +1,22 @@
+# Landkreis Stade
+
+Landkreis Stade 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 `Als Kalenderdatei (.ics) herunterladen` and copy link address.
+- Replace the `url` in the example configuration with this link.
+
+## Examples
+
+### Dollern, an der Bahn 1
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ url: https://abfall.landkreis-stade.de/api_v2/collection_dates/1/ort/12/strasse/60/hausnummern/1/abfallarten/R02-R04-B02-D04-D12-P04-R14-R12-W0-R22-R24-R31/kalender.ics
+```
diff --git a/doc/ics/limburg_net.md b/doc/ics/limburg_net.md
new file mode 100644
index 000000000..e28858c97
--- /dev/null
+++ b/doc/ics/limburg_net.md
@@ -0,0 +1,24 @@
+# Limburg.net
+
+Limburg.net 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.
+- Click on `Download`.
+- Under `Kies formaat`, select `Android/iPhone`.
+- Copy the webcal link.
+- Replace the `url` in the example configuration with this link.
+
+## Examples
+
+### Bandstraat 11, Bilzen
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ url: webcal://www.limburg.net/ics/afvalkalender/73006/10998/11/0
+```
diff --git a/doc/ics/luebeck_de.md b/doc/ics/luebeck_de.md
new file mode 100644
index 000000000..a40faaa57
--- /dev/null
+++ b/doc/ics/luebeck_de.md
@@ -0,0 +1,23 @@
+# Lübeck Entsorgungsbetriebe
+
+Lübeck Entsorgungsbetriebe 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 `iCalendar` and copy link address.
+- Replace the `url` in the example configuration with this link.
+- Replace the year in the url with `{%Y}`.
+
+## Examples
+
+### Dampfpfeife 2
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ url: https://insert-it.de/BMSAbfallkalenderLuebeck/Main/Calender?bmsLocationId=127863&year={%Y}
+```
diff --git a/doc/ics/osnabrueck_de.md b/doc/ics/osnabrueck_de.md
new file mode 100644
index 000000000..913896764
--- /dev/null
+++ b/doc/ics/osnabrueck_de.md
@@ -0,0 +1,23 @@
+# Stadt Osnabrück
+
+Stadt Osnabrück 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 `Termine importieren` and copy link address.
+- Replace the `url` in the example configuration with this link.
+
+## Examples
+
+### Alte Landebahn 17
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ regex: OSB (.*)
+ url: https://geo.osnabrueck.de/osb-service/abfuhrkalender/?bezirk=2
+```
diff --git a/doc/ics/stadtreinigung_leipzig_de.md b/doc/ics/stadtreinigung_leipzig_de.md
new file mode 100644
index 000000000..f47024ce5
--- /dev/null
+++ b/doc/ics/stadtreinigung_leipzig_de.md
@@ -0,0 +1,23 @@
+# Stadtreinigung Leipzig
+
+Stadtreinigung Leipzig 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.
+- Click on `Abonnieren` to get a webcal link.
+- Replace the `url` in the example configuration with this link.
+
+## Examples
+
+### Sandgrubenweg 27
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ regex: (.*), .*
+ url: https://stadtreinigung-leipzig.de/wir-kommen-zu-ihnen/abfallkalender/ical.ics?position_nos=38296&name=Sandgrubenweg
+```
diff --git a/doc/ics/yaml/abfall_eglz_de.yaml b/doc/ics/yaml/abfall_eglz_de.yaml
new file mode 100644
index 000000000..9196463ce
--- /dev/null
+++ b/doc/ics/yaml/abfall_eglz_de.yaml
@@ -0,0 +1,9 @@
+title: Entsorgungsgesellschaft Görlitz-Löbau-Zittau
+url: https://www.abfall-eglz.de
+howto: |
+ - Goto and select your municipality.
+ - Right-click on `Entsorgungstermine als iCalendar herunterladen` and copy link address.
+ - Replace the `url` in the example configuration with this link.
+test_cases:
+ Oppach:
+ url: "https://www.abfall-eglz.de/abfallkalender.html?ort=Oppach&ortsteil=Ort+Oppach&strasse=&ics=1"
diff --git a/doc/ics/yaml/art_trier_de.yaml b/doc/ics/yaml/art_trier_de.yaml
index 65e50f628..ce004a31d 100644
--- a/doc/ics/yaml/art_trier_de.yaml
+++ b/doc/ics/yaml/art_trier_de.yaml
@@ -5,6 +5,9 @@ howto: |
- Scroll down to `JAHRESKALENDER FÜR IHR OUTLOOK, ETC.`
- Set `Wann möchten Sie erinnert werden?` to `Am Abfuhrtag`.
- Click on `> Kalender (ICS) importieren` to get a webcal link.
- - Copy this link into the configuration (see example).
+ - Replace the `url` in the example configuration with this link.
test_cases:
- Basberg: { url: "webcal://abfallkalender.art-trier.de/ics-feed/54578_basberg_1-1800.ics" }
\ No newline at end of file
+ Basberg:
+ url: "webcal://abfallkalender.art-trier.de/ics-feed/54578_basberg_1-1800.ics"
+ split_at: " & "
+ regex: "A.R.T. Abfuhrtermin: (.*)"
\ No newline at end of file
diff --git a/doc/ics/yaml/avl_ludwigsburg_de.yaml b/doc/ics/yaml/avl_ludwigsburg_de.yaml
new file mode 100644
index 000000000..cd9832b29
--- /dev/null
+++ b/doc/ics/yaml/avl_ludwigsburg_de.yaml
@@ -0,0 +1,9 @@
+title: AVL - Abfallverwertungsgesellschaft des Landkreises Ludwigsburg mbH
+url: https://www.avl-ludwigsburg.de/
+howto: |
+ - Goto and select your location.
+ - Click on `URL ANZEIGEN` to get a webcal link.
+ - Replace the `url` in the example configuration with this link.
+test_cases:
+ Sandgrubenweg 27:
+ url: "https://kundenportal.avl-lb.de/WasteManagementLudwigsburg/WasteManagementServiceServlet?ApplicationName=Calendar&SubmitAction=sync&StandortID=941092001&AboID=76574&Fra=BT;RT;PT;LT;GT"
diff --git a/doc/ics/yaml/awista_starnberg_de.yaml b/doc/ics/yaml/awista_starnberg_de.yaml
new file mode 100644
index 000000000..7e8fbf8f0
--- /dev/null
+++ b/doc/ics/yaml/awista_starnberg_de.yaml
@@ -0,0 +1,9 @@
+title: Awista Starnberg
+url: https://www.awista-starnberg.de/
+howto: |
+ - Goto and select your municipality.
+ - Click on `URL in die Zwischenablage kopieren`.
+ - Replace the `url` in the example configuration with this link.
+test_cases:
+ Berg, Ahornweg 1:
+ url: "https://xmlcall.awista-starnberg.de/WasteManagementStarnberg/WasteManagementServiceServlet?ApplicationName=Calendar&SubmitAction=sync&StandortID=162188001&AboID=104609&Fra=P;R;B;S;G"
diff --git a/doc/ics/yaml/bodenseekreis_de.yaml b/doc/ics/yaml/bodenseekreis_de.yaml
new file mode 100644
index 000000000..0d3bb00ec
--- /dev/null
+++ b/doc/ics/yaml/bodenseekreis_de.yaml
@@ -0,0 +1,10 @@
+title: Landratsamt Bodenseekreis
+url: https://www.bodenseekreis.de/
+howto: |
+ - Goto and select your municipality.
+ - Click on `iCal-Kalender` and copy link address.
+ - Replace the `url` in the example configuration with this link.
+ - Replace the year in the url with `{%Y}`.
+test_cases:
+ Hagnau:
+ url: "https://www.bodenseekreis.de/umwelt-landnutzung/abfallentsorgung-privat/termine/abfuhrkalender/export/2023/hagnau/1,4,2,5,16,7,9,8,10,6/ics/"
diff --git a/doc/ics/yaml/detmold_de.yaml b/doc/ics/yaml/detmold_de.yaml
new file mode 100644
index 000000000..c0c7a742d
--- /dev/null
+++ b/doc/ics/yaml/detmold_de.yaml
@@ -0,0 +1,13 @@
+title: Stadt Detmold
+url: https://www.detmold.de/
+howto: |
+ - Goto and select your location.
+ - Click on `Weitere Information`.
+ - Click on `Download ics-Datei (iCal).
+ - Right-click on `Download` 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:
+ Beateweg:
+ url: "https://abfuhrkalender.detmold.de/icsmaker.php?strid=146&year={%Y}"
+ regex: "Müllabfuhr: (.*)"
\ No newline at end of file
diff --git a/doc/ics/yaml/edg_de.yaml b/doc/ics/yaml/edg_de.yaml
new file mode 100644
index 000000000..e1a4d2d89
--- /dev/null
+++ b/doc/ics/yaml/edg_de.yaml
@@ -0,0 +1,12 @@
+title: EDG Entsorgung Dortmund
+url: https://www.edg.de/
+howto: |
+ - Goto and select your location.
+ - Click on `Kalender erzeugen`.
+ - Set `Wann möchten Sie erinnert werden?` to `Am Abfuhrtag`.
+ - Below `Outlook und weitere` set `Erinnerung` to `Keine Erinnerung`.
+ - Click on `Link kopieren` to get a webcal link.
+ - Replace the `url` in the example configuration with this link.
+test_cases:
+ Baackweg 1:
+ url: "webcal://www.edg.de/ical/kalender.ics?Strasse=Hanfweg&Hausnummer=1&Erinnerung=-1&Abfallart=1,2,3,4"
diff --git a/doc/ics/yaml/entsorgungsbetrieb_mol_de.yaml b/doc/ics/yaml/entsorgungsbetrieb_mol_de.yaml
new file mode 100644
index 000000000..6bb3e648c
--- /dev/null
+++ b/doc/ics/yaml/entsorgungsbetrieb_mol_de.yaml
@@ -0,0 +1,10 @@
+title: Entsorgungsbetrieb Märkisch-Oderland
+url: https://www.entsorgungsbetrieb-mol.de/
+howto: |
+ - Goto and select your location.
+ - Click on `Exportieren`.
+ - Click on `Adresse kopieren` to copy link.
+ - Replace the `url` in the example configuration with this link.
+test_cases:
+ Buckow, Hasenholz:
+ url: "https://mol.wastebox.gemos-management.de/Gemos/WasteBox/Frontend/TourSchedule/Raw/Name/2023/List/585587/2696,2697,2698,2699,2700,2701,2702,2703/Print/ics/Default/Abfuhrtermine.ics"
diff --git a/doc/ics/yaml/fes_frankfurt_de.yaml b/doc/ics/yaml/fes_frankfurt_de.yaml
new file mode 100644
index 000000000..2d728fde1
--- /dev/null
+++ b/doc/ics/yaml/fes_frankfurt_de.yaml
@@ -0,0 +1,12 @@
+title: FES Frankfurter Entsorgungs- und Service GmbH
+url: https://www.fes-frankfurt.de/
+howto: |
+ - Goto and select your location.
+ - Click on `Kalender`.
+ - Copy link address.
+ - Replace the `url` in the example configuration with this link.
+test_cases:
+ Achenbachstr. 2:
+ url: "https://www.fes-frankfurt.de/abfallkalender/QWNoZW5iYWNoc3RyLnwyfDYwNTk2.ics"
+ regex: "(.*)\\s+\\|"
+ split_at: " \/ "
\ No newline at end of file
diff --git a/doc/ics/yaml/koblenz_de.yaml b/doc/ics/yaml/koblenz_de.yaml
new file mode 100644
index 000000000..c63d562dc
--- /dev/null
+++ b/doc/ics/yaml/koblenz_de.yaml
@@ -0,0 +1,10 @@
+title: Stadt Koblenz
+url: https://www.koblenz.de/
+howto: |
+ - Goto .
+ - Right-click on your municipality and copy link address.
+ - Replace the `url` in the example configuration with this link.
+ - Replace the year in the url by {%Y}.
+test_cases:
+ Altstadt:
+ url: "https://servicebetrieb.koblenz.de/abfallwirtschaft/entsorgungstermine-digital/entsorgungstermine-2023-digital/altstadt-{%Y}.ics?cid=2ui7"
diff --git a/doc/ics/yaml/landkreis_stade_de.yaml b/doc/ics/yaml/landkreis_stade_de.yaml
new file mode 100644
index 000000000..9b511bc27
--- /dev/null
+++ b/doc/ics/yaml/landkreis_stade_de.yaml
@@ -0,0 +1,9 @@
+title: Landkreis Stade
+url: https://www.landkreis-stade.de
+howto: |
+ - Goto and select your location.
+ - Right-click on `Als Kalenderdatei (.ics) herunterladen` and copy link address.
+ - Replace the `url` in the example configuration with this link.
+test_cases:
+ Dollern, an der Bahn 1:
+ url: "https://abfall.landkreis-stade.de/api_v2/collection_dates/1/ort/12/strasse/60/hausnummern/1/abfallarten/R02-R04-B02-D04-D12-P04-R14-R12-W0-R22-R24-R31/kalender.ics"
diff --git a/doc/ics/yaml/limburg_net.yaml b/doc/ics/yaml/limburg_net.yaml
new file mode 100644
index 000000000..8362db881
--- /dev/null
+++ b/doc/ics/yaml/limburg_net.yaml
@@ -0,0 +1,12 @@
+title: Limburg.net
+url: https://www.limburg.net
+country: be
+howto: |
+ - Goto and select your location.
+ - Click on `Download`.
+ - Under `Kies formaat`, select `Android/iPhone`.
+ - Copy the webcal link.
+ - Replace the `url` in the example configuration with this link.
+test_cases:
+ Bandstraat 11, Bilzen:
+ url: "webcal://www.limburg.net/ics/afvalkalender/73006/10998/11/0"
diff --git a/doc/ics/yaml/luebeck_de.yaml b/doc/ics/yaml/luebeck_de.yaml
new file mode 100644
index 000000000..be2918eb6
--- /dev/null
+++ b/doc/ics/yaml/luebeck_de.yaml
@@ -0,0 +1,10 @@
+title: Lübeck Entsorgungsbetriebe
+url: https://www.luebeck.de
+howto: |
+ - Goto and select your location.
+ - Right-click on `iCalendar` and copy link address.
+ - Replace the `url` in the example configuration with this link.
+ - Replace the year in the url with `{%Y}`.
+test_cases:
+ Dampfpfeife 2:
+ url: "https://insert-it.de/BMSAbfallkalenderLuebeck/Main/Calender?bmsLocationId=127863&year={%Y}"
diff --git a/doc/ics/yaml/osnabrueck_de.yaml b/doc/ics/yaml/osnabrueck_de.yaml
new file mode 100644
index 000000000..aebd8471d
--- /dev/null
+++ b/doc/ics/yaml/osnabrueck_de.yaml
@@ -0,0 +1,10 @@
+title: Stadt Osnabrück
+url: https://www.osnabrueck.de/
+howto: |
+ - Goto and select your location.
+ - Right-click on `Termine importieren` and copy link address.
+ - Replace the `url` in the example configuration with this link.
+test_cases:
+ Alte Landebahn 17:
+ url: "https://geo.osnabrueck.de/osb-service/abfuhrkalender/?bezirk=2"
+ regex: "OSB (.*)"
diff --git a/doc/ics/yaml/stadtreinigung_leipzig_de.yaml b/doc/ics/yaml/stadtreinigung_leipzig_de.yaml
new file mode 100644
index 000000000..7ea67048b
--- /dev/null
+++ b/doc/ics/yaml/stadtreinigung_leipzig_de.yaml
@@ -0,0 +1,10 @@
+title: Stadtreinigung Leipzig
+url: https://stadtreinigung-leipzig.de/
+howto: |
+ - Goto and select your location.
+ - Click on `Abonnieren` to get a webcal link.
+ - Replace the `url` in the example configuration with this link.
+test_cases:
+ Sandgrubenweg 27:
+ url: "https://stadtreinigung-leipzig.de/wir-kommen-zu-ihnen/abfallkalender/ical.ics?position_nos=38296&name=Sandgrubenweg"
+ regex: "(.*), .*"
diff --git a/doc/ics/yaml/zah_hildesheim_de.yaml b/doc/ics/yaml/zah_hildesheim_de.yaml
new file mode 100644
index 000000000..1d3116f91
--- /dev/null
+++ b/doc/ics/yaml/zah_hildesheim_de.yaml
@@ -0,0 +1,10 @@
+title: ZAH Hildesheim
+url: https://www.zah-hildesheim.de/
+howto: |
+ - Goto and select your location.
+ - Right-click on `Export Kalender` and copy link address.
+ - Replace the `url` in the example configuration with this link.
+test_cases:
+ Elze, Ortsteil Elze, Meisenweg:
+ url: "https://hildesheim.abfuhrkalender.de/ICalendar/Index.aspx?year={%Y}&streetID=5065"
+ regex: "(.*)(?:\\s\\(verschoben\\))"
diff --git a/doc/ics/zah_hildesheim_de.md b/doc/ics/zah_hildesheim_de.md
new file mode 100644
index 000000000..8beff4320
--- /dev/null
+++ b/doc/ics/zah_hildesheim_de.md
@@ -0,0 +1,23 @@
+# ZAH Hildesheim
+
+ZAH Hildesheim 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 `Export Kalender` and copy link address.
+- Replace the `url` in the example configuration with this link.
+
+## Examples
+
+### Elze, Ortsteil Elze, Meisenweg
+
+```yaml
+waste_collection_schedule:
+ sources:
+ - name: ics
+ args:
+ regex: (.*)(?:\s\(verschoben\))
+ url: https://hildesheim.abfuhrkalender.de/ICalendar/Index.aspx?year={%Y}&streetID=5065
+```
diff --git a/doc/source/ics.md b/doc/source/ics.md
index 6c38b1dd3..bb60f888c 100644
--- a/doc/source/ics.md
+++ b/doc/source/ics.md
@@ -4,63 +4,19 @@ Add support for schedules from ICS / iCal files. Files can be either stored in a
This source has been successfully tested with the following service providers:
-### Belgium
-
-- [Limburg.net](https://www.limburg.net/afvalkalender) ([Example](#limburgnet))
-
### Germany
-- [FES Frankfurt](https://www.fes-frankfurt.de/) ([Notes](#fes-frankfurt))
- [Müllabfuhr-Deutschland](https://www.muellabfuhr-deutschland.de/) ([Notes](#müllabfuhr-deutschland))
#### Baden-Württemberg
-- [Abfallwirtschaftsamt Bodenseekreis](https://www.bodenseekreis.de/umwelt-landnutzung/abfallentsorgung-privat/termine/abfuhrkalender/) ([Notes](#abfallwirtschaftsamt-bodenseekreis))
- [Abfallwirtschaft Kreis Böblingen](https://www.lrabb.de/start/Service+_+Verwaltung/Abfuhrtermine.html)
-- [Abfall Landkreis Stade](https://abfall.landkreis-stade.de/)
-- [AVL Ludwigsburg](https://www.avl-ludwigsburg.de/) ([Example](#avl-ludwigsburg))
-- [AWB Esslingen](https://www.awb-es.de/)
#### Bayern
- [AWM München](https://www.awm-muenchen.de) ([Notes](#awm-münchen))
-- [Awista Starnberg](https://www.awista-starnberg.de/)
- [Gemeinde Zorneding](https://www.zorneding.de/Wohnen-Leben/Abfall-Energie-Wasser/M%C3%BCllkalender/index.php) ([Notes](#gemeinde-zorneding))
-#### Brandenburg
-
-- [Entsorgungsbetrieb Märkisch-Oderland](https://www.entsorgungsbetrieb-mol.de/de/tourenplaene.html) ([Example](#entsorgungsbetrieb-märkisch-oderland))
-
-#### Hessen
-
-- [Erlensee](https://sperrmuell.erlensee.de/?type=reminder) ([Example](#erlensee))
-- [EAW Rheingau Taunus](https://www.eaw-rheingau-taunus.de/service/abfallkalender.html) ([Example](#eaw-rheingau-taunus))
-
-#### Niedersachsen
-
-- [Abfallkalender Zollernalbkreis](https://www.zollernalbkreis.de/landratsamt/aemter++und+organisation/Elektronischer+Abfallkalender) ([Example](#abfallkalender-zollernalbkreis))
-- [Abfallkalender Osnabrück](https://nachhaltig.osnabrueck.de/de/abfall/muellabfuhr/muellabfuhr-digital/online-abfuhrkalender/) ([Example](#abfallkalender-osnabrück))
-- [ZAH Zweckverband Abfallwirtschaft Hildesheim](https://www.zah-hildesheim.de/termine/#Abfuhrplan) ([Example](#abfallkalender-hildesheim))
-
-#### Nordrhein-Westfalen
-
-- [EDG Entsorgung Dortmund](https://www.edg.de/)
-
-#### Rheinland-Pfalz
-
-- [Zweckverband Abfallwirtschaft A.R.T. Trier](https://www.art-trier.de)
-- Landkreis Vulkaneifel
-
-#### Sachsen
-
-- [ASR Chemnitz](https://www.asr-chemnitz.de/kundenportal/entsorgungskalender/)
-- [Stadtreinigung Leipzig](https://www.stadtreinigung-leipzig.de/)
-- [Entsorgungsgesellschaft Görlitz-Löbau-Zittau](https://www.abfall-eglz.de/abfallkalender.0.html) ([Notes](#entsorgungsgesellschaft-görlitz-löbau-zittau))
-
-#### Schleswig Holstein
-
-- [Lübeck Entsorgungsbetriebe](https://insert-it.de/BMSAbfallkalenderLuebeck)
-
#### Thüringen
- [Abfallwirtschaftsbetrieb Ilm-Kreis](https://aik.ilm-kreis.de/) ([Notes](#abfallwirtschaftsbetrieb-ilm-kreis))
@@ -74,11 +30,6 @@ This source has been successfully tested with the following service providers:
- [ReCollect.net](https://recollect.net) ([Notes](#recollect))
- [Western Disposal Residential (Colorado)](https://www.westerndisposal.com/residential/) (Unofficial, [Notes](#western-disposal-colorado))
-### United Kingdom
-
-- [South Cambridgeshire](https://www.scambs.gov.uk/recycling-and-bins/find-your-household-bin-collection-day/) ([Notes](#south-cambridgeshire))
-- [London Borough of Bromley](https://recyclingservices.bromley.gov.uk/waste) (Unofficial)
-
***
## Configuration via configuration.yaml
@@ -230,143 +181,6 @@ waste_collection_schedule:
***
-### A.R.T. Trier - Zweckverband Abfallwirtschaft
-
-#### Landkreis Vulkaneifel
-
-Go to the website: [art-trier.de](https://www.art-trier.de/eo/cms?_bereich=artikel&_aktion=suche_rubrik&idrubrik=1003&_sortierung=info3_asc_info4_asc&info1=54578&info2=)
-
-select your Postal code.
-
-Select your reminder to:
-Wann möchten Sie erinnert werden? Am Abfuhrtag
-Um wie viel Uhr möchten Sie erinnert werden? 06:00 Uhr
-
-Select the Button: Kalender (ICS) Importieren.
-Window opens with the .ics link like this:
-webcal://abfallkalender.art-trier.de/ics-feed/"Postleitzahl"_"Ort"_"Erinnerungstag-hier_0"_"Erinnerungs_Uhrzeit-hier_0600"
-
-webcal://abfallkalender.art-trier.de/ics-feed/54578_basberg_0-1800.ics
-
-Remove the beginning webcal and set instead a https!
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: https://www.art-trier.de/ics-feed/54578_basberg_0-0600.ics
-
-sensor:
- - platform: waste_collection_schedule
- name: restmuell
- details_format: upcoming
- count: 4
- value_template: '{{value.types|join(" + ")}} in {{value.daysTo}} Tag(en)'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
- types:
- - 'A.R.T. Abfuhrtermin: Restmüll'
-
- - platform: waste_collection_schedule
- name: altpapier
- details_format: upcoming
- count: 4
- value_template: '{{value.types|join(" + ")}} in {{value.daysTo}} Tag(en)'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
- types:
- - 'A.R.T. Abfuhrtermin: Altpapier'
-
- - platform: waste_collection_schedule
- name: gelber_sack
- details_format: upcoming
- count: 4
- value_template: '{{value.types|join(" + ")}} in {{value.daysTo}} Tag(en)'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
- types:
- - 'A.R.T. Abfuhrtermin: Gelber Sack'
-
- - platform: waste_collection_schedule
- name: tonnenbutton
- count: 4
- value_template: '{{value.types|join(", ")}}|{{value.daysTo}}|{{value.date.strftime("%d.%m.%Y")}}|{{value.date.strftime("%a")}}'
-```
-
-### Landkreis Trier-Saarburg
-
-Landkreis Trier-Saarburg has Gelber Sack and Altpapier combined, which causes the above for Landkreis Vulkaneifel to fail to parse the .ics file.
-
-The following will parse the .ics file properly:
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: https://abfallkalender.art-trier.de/ics-feed/54311_trierweiler_0-0600.ics
-sensor:
- - platform: waste_collection_schedule
- name: restmuell
- details_format: upcoming
- count: 4
- value_template: '{{value.types|join(" + ")}} in {{value.daysTo}} Tag(en)'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
- types:
- - 'A.R.T. Abfuhrtermin: Restmüll'
- - platform: waste_collection_schedule
- name: altpapier
- details_format: upcoming
- count: 4
- value_template: '{{value.types|join(" + ")}} in {{value.daysTo}} Tag(en)'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
- types:
- - 'A.R.T. Abfuhrtermin: Altpapier & Gelber Sack'
- - platform: waste_collection_schedule
- name: tonnenbutton
- count: 4
- value_template: '{{value.types|join(", ")}}|{{value.daysTo}}|{{value.date.strftime("%d.%m.%Y")}}|{{value.date.strftime("%a")}}'
-```
-
-***
-
-### AVL Ludwigsburg
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: "https://kundenportal.avl-lb.de/WasteManagementLudwigsburg/WasteManagementServiceServlet?ApplicationName=Calendar&SubmitAction=sync&StandortID=950230001&AboID=8188&Fra=BT;RT;PT;LT;GT"
- offset: 0
-```
-
-***
-
-### Abfallwirtschaftsamt Bodenseekreis
-
-Go to the [service provider website](https://www.bodenseekreis.de/umwelt-landnutzung/abfallentsorgung-privat/termine/abfuhrkalender/) and select location and desired waste types. Afterwards an iCal calendar export is provided. Simply take this URL and replace the year with "{%Y}" and use this URL within the configuration.
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: https://www.bodenseekreis.de/umwelt-landnutzung/abfallentsorgung-privat/termine/abfuhrkalender/export/{%Y}/salem/salem-i/1,4,5,16,7,8,10,6/ics/
- customize:
- - type: Restmüll 2-wöchentlich
- alias: Restmüll
- icon: mdi:trash-can
- - type: Bioabfall 2-wöchentlich
- alias: Bioabfall
- icon: mdi:flower-outline
- - type: Papier 4-wöchentlich
- alias: Papierabfall
- icon: mdi:trash-can-outline
- - type: Gelber Sack
- icon: mdi:recycle
-```
-
-***
-
### Gemeinde Zorneding
Go to the [service provider website](https://www.zorneding.de/Wohnen-Leben/Abfall-Energie-Wasser/M%C3%BCllkalender/index.php) and select location and desired waste types. Afterwards an iCal calendar export is provided. Simply click on download and visit the Download URL afterwards. Simply take this URL and use this URL within the configuration.
@@ -433,259 +247,6 @@ sensor:
***
-### Abfallkalender Zollernalbkreis
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: "https://www.abfallkalender-zak.de",
- params:
- city: 2,3,4
- street: 3
- types[]:
- - restmuell
- gelbersack
- papiertonne
- biomuell
- gruenabfall
- schadstoffsammlung
- altpapiersammlung
- schrottsammlung
- weihnachtsbaeume
- elektrosammlung
- go_ics: Download
- year_field: year
-```
-
-***
-
-### Abfallkalender Osnabrück
-
-```yaml
-# include in configuration.yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- # go to https://nachhaltig.osnabrueck.de/de/abfall/muellabfuhr/muellabfuhr-digital/online-abfuhrkalender/ and search you correct destrict
- url: "https://geo.osnabrueck.de/osb-service/abfuhrkalender/?bezirk=10"
- offset: 0
- customize:
- - type: OSB Biomüll
- alias: Biomüll
- icon: mdi:flower-outline
- - type: OSB Gelber Sack
- alias: GelberSack
- icon: mdi:recycle
- - type: OSB Restmüll
- alias: Restmüll
- icon: mdi:trash-can
- - type: OSB Altpapier
- alias: Altpapier
- icon: mdi:trash-can-outline
- fetch_time: "04:23"
- day_switch_time: "09:30"
-
-# include in sensors.yaml
-- platform: waste_collection_schedule
- name: AbfallRestmuell
- details_format: "upcoming"
- value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen{% endif %}'
- types:
- - Restmüll
-- platform: waste_collection_schedule
- name: AbfallPapierTonne
- details_format: "upcoming"
- value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen{% endif %}'
- types:
- - Altpapier
-- platform: waste_collection_schedule
- name: AbfallGelberSack
- details_format: "upcoming"
- 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: AbfallBiotonne
- details_format: "upcoming"
- value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen{% endif %}'
- types:
- - Biomüll
-- platform: waste_collection_schedule
- name: AbfallRestmuellnext
- details_format: "upcoming"
- value_template: 'am: {{value.date.strftime("%d.%m.%Y")}}'
- types:
- - Restmüll
-- platform: waste_collection_schedule
- name: AbfallPapierTonnenext
- details_format: "upcoming"
- value_template: 'am: {{value.date.strftime("%d.%m.%Y")}}'
- types:
- - Altpapier
-- platform: waste_collection_schedule
- name: AbfallGelberSacknext
- details_format: "upcoming"
- value_template: 'am: {{value.date.strftime("%d.%m.%Y")}}'
- types:
- - GelberSack
-- platform: waste_collection_schedule
- name: AbfallBiotonnenext
- details_format: "upcoming"
- value_template: 'am: {{value.date.strftime("%d.%m.%Y")}}'
- types:
- - Biomüll
-- platform: waste_collection_schedule
- name: AbfallNaechster
- details_format: "upcoming"
- value_template: ' {{ value.daysTo }} '
-```
-
-***
-
-### Abfallkalender Hildesheim
-
-Go to the website: [ZAH Hildesheim](https://www.zah-hildesheim.de/termine/#Abfuhrplan)
-
-Push the button "Inhalt laden" to load the content of hildesheim.abfuhrkalender.de.
-
-Step 1: Select your town.
-Step 2: Select yout district.
-Step 3: Select your street.
-
-In the next step the calendar for the current year is displayed. Right-Click on "Export Kalender" and copy the URL of the calendar. The URL should look like this
-
-https://hildesheim.abfuhrkalender.de/ICalendar/Index.aspx?year=2023&streetID=9999
-
-The streetID (9999 is only an example) represents your address. Replace the the Year with {%Y} and use the URL within the configuration.
-
-```yaml
-# include in configuration.yaml
-waste_collection_schedule:
- sources:
- - name: ics
- calendar_title: Abfallkalender Hildesheim
- args:
- url: "https://hildesheim.abfuhrkalender.de/ICalendar/Index.aspx?year={%Y}&streetID=9999"
- customize:
- - type: 'Abfuhr Altpapier'
- alias: 'Altpapier'
- icon: mdi:package-variant
- - type: 'Abfuhr Altpapier (verschoben)'
- alias: 'Altpapier (verschoben)'
- icon: mdi:package-variant
- - type: 'Abfuhr Biomüll'
- alias: 'Biomüll'
- icon: mdi:bio
- - type: 'Abfuhr Biomüll (verschoben)'
- alias: 'Biomüll (verschoben)'
- icon: mdi:bio
- - type: 'Abfuhr Gelbe Tonne'
- alias: 'Gelbe Tonne'
- icon: mdi:recycle
- - type: 'Abfuhr Gelbe Tonne (verschoben)'
- alias: 'Gelbe Tonne (verschoben)'
- icon: mdi:recycle
- - type: 'Abfuhr Restmüll (14tägige Abfuhr)'
- alias: 'Restmüll 2-wöchig'
- icon: mdi:trash-can-outline
- - type: 'Abfuhr Restmüll (14tägige Abfuhr) (verschoben)'
- alias: 'Restmüll 2-wöchig (verschoben)'
- icon: mdi:trash-can-outline
- - type: 'Abfuhr Restmüll (14tägige und vierwöchentliche Abfuhr'
- alias: 'Restmüll 2-/4-wöchig'
- icon: mdi:trash-can-outline
- - type: 'Abfuhr Restmüll (14tägige und vierwöchentliche Abfuhr (verschoben)'
- alias: 'Restmüll 2-/4-wöchig (verschoben)'
- icon: mdi:trash-can-outline
-```
-```yaml
-# include in sensors.yaml
-- platform: waste_collection_schedule
- name: Abfall_Altpapier
- details_format: upcoming
- count: 4
- value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen (am {{value.date.strftime("%d.%m.%Y")}}){% endif %}'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
- types:
- - 'Altpapier'
- - 'Altpapier (verschoben)'
-
-- platform: waste_collection_schedule
- name: Abfall_Biomuell
- details_format: upcoming
- count: 4
- value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen (am {{value.date.strftime("%d.%m.%Y")}}){% endif %}'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
- types:
- - 'Biomüll'
- - 'Biomüll (verschoben)'
-
-- platform: waste_collection_schedule
- name: Abfall_GelbeTonne
- details_format: upcoming
- count: 4
- value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen (am {{value.date.strftime("%d.%m.%Y")}}){% endif %}'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
- types:
- - 'Gelbe Tonne'
- - 'Gelbe Tonne (verschoben)'
-
-- platform: waste_collection_schedule
- name: Abfall_Restmuell_2W
- details_format: upcoming
- count: 4
- value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen (am {{value.date.strftime("%d.%m.%Y")}}){% endif %}'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
- types:
- - 'Restmüll 2-wöchig'
- - 'Restmüll 2-wöchig (verschoben)'
-
-- platform: waste_collection_schedule
- name: Abfall_Restmuell_2u4W
- details_format: upcoming
- count: 4
- value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen (am {{value.date.strftime("%d.%m.%Y")}}){% endif %}'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
- types:
- - 'Restmüll 2-/4-wöchig'
- - 'Restmüll 2-/4-wöchig (verschoben)'
-
-- platform: waste_collection_schedule
- name: Abfall_Benachrichtigung
- details_format: upcoming
- count: 4
- value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen (am {{value.date.strftime("%d.%m.%Y")}}){% endif %}'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
-
-- platform: waste_collection_schedule
- name: Abfall_Benachrichtigung_Typ
- details_format: upcoming
- count: 4
- value_template: '{{value.types|join(", ")}}'
- date_template: '{{value.date.strftime("%d.%m.%Y")}}'
-```
-
-***
-
-### EAW Rheingau Taunus
-
-1. Find your ICS link via the web page
-2. Remove the cHash attribute
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: "https://www.eaw-rheingau-taunus.de/abfallsammlung/abfuhrtermine/feed.ics?tx_vierwdeaw_garbagecalendarics%5Baction%5D=ics&tx_vierwdeaw_garbagecalendarics%5Bcontroller%5D=GarbageCalendar&tx_vierwdeaw_garbagecalendarics%5Bstreet%5D=38"
- split_at: ","
-```
-
-***
-
### ReCollect
To get the URL, search your address in the recollect form of your home town, click "Get a calendar", then "Add to iCal". Finally, the URL under "Subscribe to calendar" is your ICS calendar link:
@@ -707,54 +268,6 @@ waste_collection_schedule:
***
-### Entsorgungsgesellschaft Görlitz-Löbau-Zittau
-
-Remove the year from the generated URL to always get the current year.
-
-***
-
-### Lübeck Entsorgungsbetriebe
-
-Go to the [service provider website](https://insert-it.de/BMSAbfallkalenderLuebeck) and select location. Right click iCalendar and copy link address. Simply insert this URL and replace the current year with {%Y}.
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- calendar_title: Müllabfuhr-Lübeck
- args:
- url: "https://insert-it.de/BMSAbfallkalenderLuebeck/Main/Calender?bmsLocationId=XXXXX&year={%Y}"
-# ^^^Paste your URL under here^^^ ^^^Replace Year with {%Y} ^^^
- customize:
- - type: 'Leerung: PPK'
- alias: Papiermüll
- - type: "Leerung: Bioabfall"
- alias: Biomüll
- - type: 'Leerung: Restabfall'
- alias: Restmüll
-
-sensor:
-- platform: waste_collection_schedule
- name: "Papiermüll"
- details_format: appointment_types
- types:
- - Papiermüll
-
-- platform: waste_collection_schedule
- name: "Biomüll"
- details_format: appointment_types
- types:
- - Biomüll
-
-- platform: waste_collection_schedule
- name: "Restmüll"
- details_format: appointment_types
- types:
- - Restmüll
-```
-
-***
-
### Müllabfuhr-Deutschland
You need to find the direct ics export link for your region, e.g. [Weimarer Land, Bad Berka](https://portal.muellabfuhr-deutschland.de/api-portal/mandators/194/cal/location/c0edd112-7b48-4b84-b2ed-314ca741c774/pickups/ics?year=2022&fractionIds=194003&fractionIds=194001&fractionIds=194002&appointmentStart=0600&appointmentEnd=0700&reminderMinutes=20).
@@ -800,124 +313,6 @@ waste_collection_schedule:
***
-### Erlensee
-
-Just replace the street number (8 in the example below) with the number of your street. You can find the right number if you inspect the street drop-down list [here](https://sperrmuell.erlensee.de/?type=reminder).
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: "https://sperrmuell.erlensee.de/?type=reminder"
- method: POST
- params:
- street: 8
- eventType[]:
- - 27
- - 23
- - 19
- - 20
- - 21
- - 24
- - 22
- - 25
- - 26
- timeframe: 23
- download: ical
-```
-
-***
-
-### Entsorgungsbetrieb Märkisch-Oderland
-
-Go [here](https://www.entsorgungsbetrieb-mol.de/de/tourenplaene.html), enter your address and select the collection types you want to include. Then click the "Exportieren" link and copy the url. Replace the year with `{%Y}`.
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: https://mol.wastebox.gemos-management.de/Gemos/WasteBox/Frontend/TourSchedule/Raw/Name/{%Y}/List/123456/2664,2665,2666,2668,2669,2670,2671/Print/ics/Default/Abfuhrtermine.ics
- version: 2
- calendar_title: "Müllabfuhr"
- customize:
- - type: Hausmüllbehälter
- alias: Restmüll
- icon: mdi:trash-can
- - type: Gelber Sack
- icon: mdi:recycle-variant
- - type: Papiertonne
- icon: mdi:package-variant
- - type: Papiercontainer
- icon: mdi:package-variant
- - type: Biotonne
- icon: mdi:leaf
- - type: Grünabfall
- icon: mdi:forest
- - type: Schadstoffmobil
- icon: mdi:bottle-tonic-skull
- - type: Weihnachtsbaum
- icon: mdi:pine-tree
-```
-
-***
-
-### Limburg.net
-
-This tool works for all municipalities of the province of Limburg and the municipality of Diest.
-
-Find your ICS export link via the calendar page - enter your address so that the system can look up the necessary data for your city and street to construct the URL.
-
-Generating the URL on the site of Limburg.net is the simplest.
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: https://limburg.net/api-proxy/public/kalender-download/ical/72030?straatNummer=66536&huisNummer=1&toevoeging=&includeAllEventTypes=1&eventTypes[]=14&eventTypes[]=22&eventTypes[]=23&eventTypes[]=26&eventTypes[]=27&eventTypes[]=29
-```
-
-You can also compose the URL yourself. You need the following elements for this:
-
-1. the nis-code of your municipality: query the api with the name of your municipality; example:
-
- ```json
- [{"nisCode":"72030","naam":"Peer"}]
- ```
-
-2. the number of your street: query the api with the nis-code of your municipality and the name of your street
-example:
-
- ```json
- [{"nummer":"66536","naam":"Zuidervest"}]
- ```
-
-3. your housenumber
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: "https://limburg.net/api-proxy/public/kalender-download/ical/72030"
- method: GET
- params:
- straatNummer: 66536
- huisNummer: 1
- includeAllEventTypes: 1
- eventTypes[]:
- - 14
- - 22
- - 23
- - 26
- - 27
- - 29
-```
-
-***
-
### Western Disposal Colorado
*Unofficial calendar* maintained by burkemw3@gmail.com
@@ -949,78 +344,6 @@ waste_collection_schedule:
***
-### South Cambridgeshire
-
-To use this you need to idenfify your Unique Property Reference Number (UPRN). There are a couple of ways of doing this:
-
-1. The easiest way to discover your UPRN is by using https://www.findmyaddress.co.uk/ and entering in your address details.
-
- Or
-
-2. By looking at the URLs generated by the South Cambs web site:
-
- 1. Go to [South Cambs Bin Collections](https://www.scambs.gov.uk/recycling-and-bins/find-your-household-bin-collection-day/)
- 2. Enter your post code, then select your address from the dropdown. The results page will show your collection schedule.
- 3. Your UPRN is the collection of digits at the end of the URL, for example: *scambs.gov.uk/recycling-and-bins/find-your-household-bin-collection-day/#id=`10008079869`*
- 4. The iCal collection schedule can then be obtained using: *refusecalendarapi.azurewebsites.net/calendar/ical/`10008079869`*
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: https://refusecalendarapi.azurewebsites.net/calendar/ical/10008079869
- version: 2
-
-sensor:
- - platform: waste_collection_schedule
- source_index: 0
- name: SouthCambsBins # Change this to whatever you want the UI to display
- details_format: appointment_types
- date_template: '{{value.date.strftime("%A %d %B %Y")}}' # date format becomes 'Tuesday 1 April 2022'
-```
-
-***
-
-### London Borough of Bromley
-
-The Bromley council has a simple way to generate an iCal. All you need is the URL
-
-- Go to [Bromley Bin Collection](https://recyclingservices.bromley.gov.uk/waste)
-- Enter your post code, then select your address from the dropdown. The results page will show your collection schedule.
-- Your unique code can be found in the URL, eg: *recyclingservices.bromley.gov.uk/waste/`6261994`*
-- You can either use the following link and replace your ID, or copy the link address on the "Add to you calendar" link:
-
-Note:
-
-- This has been designed to break each bin collection into different sensors.
-- This was created at a property that has a garden waste subscription. You may need to amit that from the code
-- This display number of days until collection. Replace `value_template` with `date_template: '{{value.date.strftime("%A %d %B %Y")}}'` to display date of collection
-
-```yaml
-#Waste Collection - London Borough of Bromley
-
-waste_collection_schedule:
- sources:
- - name: ics
- customize:
- - type: Food Waste collection
- alias: Food Waste
- - type: Garden Waste collection
- alias: Garden Waste
- - type: Mixed Recycling (Cans, Plastics & Glass) collection
- alias: Mixed Recycling
- - type: Non-Recyclable Refuse collection
- alias: General Waste
- - type: Paper & Cardboard collection
- alias: Cardboard
- args:
- url: YOUR_URL
- version: 2
- ```
-
-***
-
### Regular Expression
```yaml
@@ -1036,23 +359,9 @@ Removes the needless prefix "Abfuhr: " from the waste collection type.
***
-### FES Frankfurt
-
-```yaml
-waste_collection_schedule:
- sources:
- - name: ics
- args:
- url: https://www.fes-frankfurt.de/abfallkalender/.ics
- split_at: " \/ "
- regex: "(.*)\\s+\\|"
-```
-
-***
-
### Abfallwirtschaftsbetrieb Ilm-Kreis
-Go to the [service provider website](https://aik.ilm-kreis.de/Abfuhrtermine/) and select location and street. Selection of desired waste types is optional. Afterwards an iCal calendar export is provided. Download it and find the download URL. Some parameters of the URL can be ommited. (e.g. `kat`, `ArtID`, `alarm`)
+Go to the [service provider website](https://aik.ilm-kreis.de/Abfuhrtermine/) and select location and street. Selection of desired waste types is optional. Afterwards an iCal calendar export is provided. Download it and find the download URL. Some parameters of the URL can be ommitted. (e.g. `kat`, `ArtID`, `alarm`)
Important: The base url of the provider's website `https://aik.ilm-kreis.de` needs to be set as a [custom header](#custom-headers) `referer`. Otherwise you'll get an HTTP 403 error.
diff --git a/doc/source/lindau_ch.md b/doc/source/lindau_ch.md
index 98a6d370a..036720f8e 100644
--- a/doc/source/lindau_ch.md
+++ b/doc/source/lindau_ch.md
@@ -1,4 +1,4 @@
-# Abfallwirtschaft Zollernalbkreis
+# Gemeinde Lindau
Support for schedules provided by [https://www.lindau.ch/abfalldaten](https://www.lindau.ch/abfalldaten).
diff --git a/info.md b/info.md
index 35306d814..d6069539b 100644
--- a/info.md
+++ b/info.md
@@ -18,9 +18,9 @@ Waste collection schedules from service provider web sites are updated daily, de
| Static | User-defined dates or repeating date patterns |
| Australia | Banyule City Council, Belmont City Council, Brisbane City Council, Campbelltown City Council, Cardinia Shire Council, City of Canada Bay Council, City of Onkaparinga Council, Gold Coast City Council, Hume City Council, Inner West Council (NSW), Ipswich City Council, Ku-ring-gai Council, Lake Macquarie City Council, Macedon Ranges Shire Council, Maribyrnong Council, Maroondah City Council, Melton City Council, Nillumbik Shire Council, North Adelaide Waste Management Authority, RecycleSmart, Stonnington City Council, The Hills Shire Council, Sydney, Whittlesea City Council, Wollongong City Council, Wyndham City Council, Melbourne |
| Austria | Burgenländischer Müllverband, infeo, Stadtservice Korneuburg, Umweltprofis, WSZ Moosburg |
-| Belgium | Hygea, Recycle! |
+| Belgium | Hygea, Limburg.net, Recycle! |
| Canada | City of Toronto |
-| Germany | Abfall Stuttgart, Abfall-Wirtschafts-Verband Nordschwaben, Abfall.IO / AbfallPlus, Abfallbewirtschaftung Ostalbkreis, Abfallkalender Offenbach am Main, Abfallkalender Würzburg, AbfallNavi (RegioIT.de), Abfalltermine Forchheim, Abfallwirtschaft Alb-Donau-Kreis, Abfallwirtschaft Germersheim, Abfallwirtschaft Isar-Inn, Abfallwirtschaft Lahn-Dill-Kreises, Abfallwirtschaft Landkreis Böblingen, Abfallwirtschaft Landkreis Freudenstadt, Abfallwirtschaft Landkreis Harburg, 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 Rems-Murr, Abfallwirtschaft Rendsburg, Abfallwirtschaft Rheingau-Taunus-Kreis, 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 Esslingen, Abfallwirtschaftsbetrieb Landkreis Ahrweiler, Abfallwirtschaftsbetrieb Landkreis Altenkirchen, Abfallwirtschaftsbetrieb Landkreis Augsburg, Abfallwirtschaftsbetrieb Landkreis Aurich, Abfallwirtschaftsverband Kreis Groß-Gerau, ALBA Berlin, ART Trier, ASO Abfall-Service Osterholz, ASR Stadt Chemnitz, 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 Kreis Warendorf, AWIDO Online, Bau & Service Oberursel, Bergischer Abfallwirtschaftverbund, Berlin Recycling, Berliner Stadtreinigungsbetriebe, Bielefeld, Bogenschütz Entsorgung, Bremer Stadtreinigung, Bürgerportal, C-Trace, CM City Media - Müllkalender, Dillingen Saar, Dinslaken, EAD Darmstadt, EGN Abfallkalender, EGST Steinfurt, EGW Westmünsterland, Entsorgungs- und Wirtschaftsbetrieb Landau in der Pfalz, Entsorgungsbetriebe Essen, Gemeinde Aschheim, Gemeinde Blankenheim, Gemeinde Bühlerzell, Gemeinde Deggenhausertal, Gemeinde Kalletal, Gemeinde Kappelrodeck, Gemeinde Kressbronn am Bodensee, Gemeinde Lindlar, Gemeinde Mittelbiberach, Gemeinde Oberstadion, Gemeinde Roetgen, Gemeinde Schutterwald, Gemeinde Senden (Westfalen), Gemeinde Unterhaching, Göttinger Entsorgungsbetriebe, Gütersloh, Halver, Heilbronn Entsorgungsbetriebe, Hohenlohekreis, Jumomind, KAEV Niederlausitz, Kommunalservice Landkreis Börde AöR, Kreis Coesfeld, Kreis Heinsberg, Kreis Pinneberg, Kreisstadt Dietzenbach, Kreisstadt St. Wendel, Kreiswirtschaftsbetriebe Goslar, KV Cochem-Zell, KWU Entsorgung Landkreis Oder-Spree, Landkreis Ansbach, Landkreis Aschaffenburg, Landkreis Bayreuth, Landkreis Berchtesgadener Land, Landkreis Calw, Landkreis Coburg, Landkreis Erding, Landkreis Erlangen-Höchstadt, Landkreis Fulda, Landkreis Gotha, Landkreis Günzburg, Landkreis Heilbronn, Landkreis Kelheim, Landkreis Kronach, Landkreis Limburg-Weilburg, Landkreis Nordwestmecklenburg, Landkreis Ostallgäu, Landkreis Rhön Grabfeld, Landkreis Rosenheim, Landkreis Rotenburg (Wümme), Landkreis Roth, Landkreis Schweinfurt, Landkreis Schwäbisch Hall, Landkreis Schwäbisch Hall, Landkreis Sigmaringen, Landkreis Südliche Weinstraße, Landkreis Tirschenreuth, Landkreis Tübingen, Landkreis Weißenburg-Gunzenhausen, Landkreis Wittmund, Landkreisbetriebe Neuburg-Schrobenhausen, Landratsamt Aichach-Friedberg, Landratsamt Dachau, Landratsamt Main-Tauber-Kreis, Landratsamt Traunstein, Landratsamt Unterallgäu, Ludwigshafen am Rhein, MZV Biedenkopf, MüllALARM / Schönmackers, Müllmax, Neunkirchen Siegerland, Neustadt a.d. Waldnaab, Pullach im Isartal, RegioEntsorgung Städteregion Aachen, Rhein-Hunsrück Entsorgung (RHE), Rhein-Neckar-Kreis, Sector 27 - Datteln, Marl, Oer-Erkenschwick, Stadt Aachen, Stadt Arnsberg, Stadt Bayreuth, Stadt Cottbus, Stadt Dorsten, Stadt Ehingen, Stadt Emden, Stadt Emmendingen, Stadt Fulda, Stadt Kaufbeuren, Stadt Kraichtal, Stadt Landshut, Stadt Memmingen, Stadt Messstetten, Stadt Norderstedt, Stadt Overath, Stadt Regensburg, Stadt Solingen, Stadt Unterschleißheim, Stadt Willich, Stadtreinigung Dresden, Stadtreinigung Hamburg, Stadtreinigung Leipzig, StadtService Brühl, STL Lüdenscheid, Städteservice Raunheim Rüsselsheim, Südbrandenburgischer Abfallzweckverband, VIVO Landkreis Miesbach, WBO Wirtschaftsbetriebe Oberhausen, Wermelskirchen, WGV Recycling GmbH, Wolfsburger Abfallwirtschaft und Straßenreinigung, WZV Kreis Segeberg, ZAW Darmstadt-Dieburg, Zweckverband Abfallwirtschaft Kreis Bergstraße, Zweckverband Abfallwirtschaft Region Trier (A.R.T.), Zweckverband Abfallwirtschaft Saale-Orla, Zweckverband Abfallwirtschaft Schwalm-Eder-Kreis, Zweckverband München-Südost |
+| Germany | Abfall Stuttgart, Abfall-Wirtschafts-Verband Nordschwaben, Abfall.IO / AbfallPlus, Abfallbewirtschaftung Ostalbkreis, Abfallkalender Offenbach am Main, Abfallkalender Würzburg, AbfallNavi (RegioIT.de), Abfalltermine Forchheim, Abfallwirtschaft Alb-Donau-Kreis, Abfallwirtschaft Germersheim, Abfallwirtschaft Isar-Inn, Abfallwirtschaft Lahn-Dill-Kreises, Abfallwirtschaft Landkreis Böblingen, Abfallwirtschaft Landkreis Freudenstadt, Abfallwirtschaft Landkreis Harburg, 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 Rems-Murr, Abfallwirtschaft Rendsburg, Abfallwirtschaft Rheingau-Taunus-Kreis, 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 Esslingen, Abfallwirtschaftsbetrieb Landkreis Ahrweiler, Abfallwirtschaftsbetrieb Landkreis Altenkirchen, Abfallwirtschaftsbetrieb Landkreis Augsburg, Abfallwirtschaftsbetrieb Landkreis Aurich, Abfallwirtschaftsverband Kreis Groß-Gerau, ALBA Berlin, ART Trier, ASO Abfall-Service Osterholz, ASR Stadt Chemnitz, 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 Kreis Warendorf, AWIDO Online, Awista Starnberg, Bau & Service Oberursel, Bergischer Abfallwirtschaftverbund, Berlin Recycling, Berliner Stadtreinigungsbetriebe, Bielefeld, Bogenschütz Entsorgung, Bremer Stadtreinigung, Bürgerportal, C-Trace, CM City Media - Müllkalender, Dillingen Saar, Dinslaken, EAD Darmstadt, EDG Entsorgung Dortmund, EGN Abfallkalender, EGST Steinfurt, EGW Westmünsterland, Entsorgungs- und Wirtschaftsbetrieb Landau in der Pfalz, Entsorgungsbetrieb Märkisch-Oderland, Entsorgungsbetriebe Essen, Entsorgungsgesellschaft Görlitz-Löbau-Zittau, FES Frankfurter Entsorgungs- und Service GmbH, Gemeinde Aschheim, Gemeinde Blankenheim, Gemeinde Bühlerzell, Gemeinde Deggenhausertal, Gemeinde Kalletal, Gemeinde Kappelrodeck, Gemeinde Kressbronn am Bodensee, Gemeinde Lindlar, Gemeinde Mittelbiberach, Gemeinde Oberstadion, Gemeinde Roetgen, Gemeinde Schutterwald, Gemeinde Senden (Westfalen), Gemeinde Unterhaching, Göttinger Entsorgungsbetriebe, Gütersloh, Halver, Heilbronn Entsorgungsbetriebe, Hohenlohekreis, Jumomind, KAEV Niederlausitz, Kommunalservice Landkreis Börde AöR, Kreis Coesfeld, Kreis Heinsberg, Kreis Pinneberg, Kreisstadt Dietzenbach, Kreisstadt St. Wendel, Kreiswirtschaftsbetriebe Goslar, KV Cochem-Zell, KWU Entsorgung Landkreis Oder-Spree, Landkreis Ansbach, Landkreis Aschaffenburg, Landkreis Bayreuth, Landkreis Berchtesgadener Land, Landkreis Calw, Landkreis Coburg, Landkreis Erding, Landkreis Erlangen-Höchstadt, Landkreis Fulda, Landkreis Gotha, Landkreis Günzburg, Landkreis Heilbronn, Landkreis Kelheim, Landkreis Kronach, Landkreis Limburg-Weilburg, Landkreis Nordwestmecklenburg, Landkreis Ostallgäu, Landkreis Rhön Grabfeld, Landkreis Rosenheim, Landkreis Rotenburg (Wümme), Landkreis Roth, Landkreis Schweinfurt, Landkreis Schwäbisch Hall, Landkreis Schwäbisch Hall, Landkreis Sigmaringen, Landkreis Stade, Landkreis Südliche Weinstraße, Landkreis Tirschenreuth, Landkreis Tübingen, Landkreis Weißenburg-Gunzenhausen, Landkreis Wittmund, Landkreisbetriebe Neuburg-Schrobenhausen, Landratsamt Aichach-Friedberg, Landratsamt Bodenseekreis, Landratsamt Dachau, Landratsamt Main-Tauber-Kreis, Landratsamt Traunstein, Landratsamt Unterallgäu, Ludwigshafen am Rhein, Lübeck Entsorgungsbetriebe, MZV Biedenkopf, MüllALARM / Schönmackers, Müllmax, Neunkirchen Siegerland, Neustadt a.d. Waldnaab, Pullach im Isartal, RegioEntsorgung Städteregion Aachen, Rhein-Hunsrück Entsorgung (RHE), Rhein-Neckar-Kreis, Sector 27 - Datteln, Marl, Oer-Erkenschwick, Stadt Aachen, Stadt Arnsberg, Stadt Bayreuth, Stadt Cottbus, Stadt Detmold, Stadt Dorsten, Stadt Ehingen, Stadt Emden, Stadt Emmendingen, Stadt Fulda, Stadt Kaufbeuren, Stadt Koblenz, Stadt Kraichtal, Stadt Landshut, Stadt Memmingen, Stadt Messstetten, Stadt Norderstedt, Stadt Osnabrück, Stadt Overath, Stadt Regensburg, Stadt Solingen, Stadt Unterschleißheim, Stadt Willich, Stadtreinigung Dresden, Stadtreinigung Hamburg, Stadtreinigung Leipzig, Stadtreinigung Leipzig, StadtService Brühl, STL Lüdenscheid, Städteservice Raunheim Rüsselsheim, Südbrandenburgischer Abfallzweckverband, VIVO Landkreis Miesbach, WBO Wirtschaftsbetriebe Oberhausen, Wermelskirchen, WGV Recycling GmbH, Wolfsburger Abfallwirtschaft und Straßenreinigung, WZV Kreis Segeberg, ZAH Hildesheim, ZAW Darmstadt-Dieburg, Zweckverband Abfallwirtschaft Kreis Bergstraße, Zweckverband Abfallwirtschaft Region Trier (A.R.T.), Zweckverband Abfallwirtschaft Saale-Orla, Zweckverband Abfallwirtschaft Schwalm-Eder-Kreis, Zweckverband München-Südost |
| Lithuania | Kauno švara |
| Luxembourg | Esch-sur-Alzette |
| Netherlands | ACV Group, Alpen an den Rijn, Area Afval, Avalex, Avri, Bar Afvalbeheer, Circulus, Cyclus NV, Dar, Den Haag, GAD, Gemeente Almere, Gemeente Berkelland, Gemeente Cranendonck, Gemeente Hellendoorn, Gemeente Lingewaard, Gemeente Meppel, Gemeente Middelburg + Vlissingen, Gemeente Peel en Maas, Gemeente Schouwen-Duiveland, Gemeente Sudwest-Fryslan, Gemeente Venray, Gemeente Voorschoten, Gemeente Waalre, Gemeente Westland, HVC Groep, Meerlanden, Mijn Blink, PreZero, Purmerend, RAD BV, Reinis, Spaarnelanden, Twente Milieu, Waardlanden, Ximmio, ZRD |
diff --git a/update_docu_links.py b/update_docu_links.py
index 818d4ccf7..3636548b5 100755
--- a/update_docu_links.py
+++ b/update_docu_links.py
@@ -125,10 +125,6 @@ def browse_ics_yaml(sources):
yaml_dir = doc_dir / "ics" / "yaml"
md_dir = doc_dir / "ics"
- files = filter(
- lambda x: x != "__init__",
- map(lambda x: x.stem, yaml_dir.glob("*.yaml")),
- )
files = yaml_dir.glob("*.yaml")
for f in files:
with open(f) as stream: