Add support for schedules from ICS / iCal files. Files can be either stored in a local folder or fetched from a static URL. The waste type will be taken from the summary
attribute.
This source has been successfully tested with the following service providers:
- Moreton Bay / moretonbay.qld.gov.au
- Abfallwirtschaft der Stadt St. Pölten / st-poelten.at/sonstiges/17653-abfallkalender
- Afritz am See / muellapp.com
- Alpbach / muellapp.com
- Althofen / muellapp.com
- Angath / muellapp.com
- Arnoldstein / muellapp.com
- Aschau im Zillertal / muellapp.com
- Bad Häring / muellapp.com
- Bad Kleinkirchheim / muellapp.com
- Baldramsdorf / muellapp.com
- Berg im Drautal / muellapp.com
- Berndorf bei Salzburg / muellapp.com
- Brandenberg / muellapp.com
- Breitenbach am Inn / muellapp.com
- Dellach / muellapp.com
- Dellach im Drautal / muellapp.com
- Ebenthal in Kärnten / muellapp.com
- Eugendorf / muellapp.com
- Feistritz im Rosental / muellapp.com
- Feldkirchen in Kärnten / muellapp.com
- Ferlach / muellapp.com
- Ferndorf / muellapp.com
- Finkenstein am Faaker See / muellapp.com
- Frauenstein / muellapp.com
- GDA Amstetten / gda.gv.at
- Gitschtal / muellapp.com
- Globasnitz / muellapp.com
- Gmünd in Kärnten / muellapp.com
- Grafenstein / muellapp.com
- Greifenburg / muellapp.com
- Großkirchheim / muellapp.com
- Guttaring / muellapp.com
- Heiligenblut am Großglockner / muellapp.com
- Henndorf am Wallersee / muellapp.com
- Hermagor-Pressegger See / muellapp.com
- Hopfgarten im Brixental / muellapp.com
- Irschen / muellapp.com
- Keutschach am See / muellapp.com
- Kirchbach / muellapp.com
- Kirchbichl / muellapp.com
- Kirchdorf in Tirol / muellapp.com
- Klagenfurt am Wörthersee / muellapp.com
- Kleblach-Lind / muellapp.com
- Krems in Kärnten / muellapp.com
- Krumpendorf am Wörthersee / muellapp.com
- Kundl / muellapp.com
- Kössen / muellapp.com
- Köstendorf / muellapp.com
- Kötschach-Mauthen / muellapp.com
- Köttmannsdorf / muellapp.com
- Lendorf / muellapp.com
- Leoben / muellapp.com
- Lesachtal / muellapp.com
- Linz AG / linzag.at
- Ludmannsdorf / muellapp.com
- Lurnfeld / muellapp.com
- Magdalensberg / muellapp.com
- Mallnitz / muellapp.com
- Malta / muellapp.com
- Maria Rain / muellapp.com
- Maria Saal / muellapp.com
- Maria Wörth / muellapp.com
- Markt Piesting Dreistetten / piesting.at
- Mattsee / muellapp.com
- Mayer Recycling / mayer-recycling.at
- Millstatt / muellapp.com
- Moosburg / muellapp.com
- Mörtschach / muellapp.com
- Mühldorf / muellapp.com
- Müll App / muellapp.com
- Münster / muellapp.com
- Neumarkt am Wallersee / muellapp.com
- Oberdrauburg / muellapp.com
- Oberndorf in Tirol / muellapp.com
- Obertrum am See / muellapp.com
- Ottobrunn / muellapp.com
- Paternion / muellapp.com
- Poggersdorf / muellapp.com
- Pörtschach am Wörther See / muellapp.com
- Radenthein / muellapp.com
- Radfeld / muellapp.com
- Ramsau im Zillertal / muellapp.com
- Rangersdorf / muellapp.com
- Reichenfels / muellapp.com
- Reith im Alpbachtal / muellapp.com
- Reißeck / muellapp.com
- Rennweg am Katschberg / muellapp.com
- Sachsenburg / muellapp.com
- Schiefling am Wörthersee / muellapp.com
- Schleedorf / muellapp.com
- Schwaz / muellapp.com
- Schwoich / muellapp.com
- Seeboden / muellapp.com
- Seeham / muellapp.com
- Seekirchen am Wallersee / muellapp.com
- Spittal an der Drau / muellapp.com
- St. Andrä / muellapp.com
- St. Jakob im Rosental / muellapp.com
- St. Johann in Tirol / muellapp.com
- St. Margareten im Rosental / muellapp.com
- St. Symvaro / muellapp.com
- Stadtgemeinde Traiskirchen / traiskirchen.gv.at
- Stall / muellapp.com
- Steinfeld / muellapp.com
- Stockenboi / muellapp.com
- Strass im Zillertal / muellapp.com
- Straßwalchen / muellapp.com
- Söll / muellapp.com
- Techelsberg am Wörther See / muellapp.com
- Trebesing / muellapp.com
- Treffen am Ossiacher See / muellapp.com
- Umweltv / abfallv.zerowaste.io
- Velden am Wörther See / muellapp.com
- Villach / muellapp.com
- Völkermarkt / muellapp.com
- Wattens / muellapp.com
- Weißensee / muellapp.com
- Winklern / muellapp.com
- Wolfsberg / muellapp.com
- Zell / muellapp.com
- Zell am Ziller / muellapp.com
- Zellberg / muellapp.com
- Limburg.net / limburg.net
- Calgary, AB / calgary.ca
- City of Edmonton, AB / edmonton.ca
- City of Greater Sudbury, ON / greatersudbury.ca
- City of Nanaimo / nanaimo.ca
- City of Peterborough, ON / peterborough.ca
- City of Vancouver / vancouver.ca
- County of Simcoe, ON / simcoe.ca
- CURBit St. John's / curbitstjohns.ca
- Halifax, NS / halifax.ca
- Niagara Region / niagararegion.ca
- Ottawa, Canada / ottawa.ca
- Region of Waterloo / regionofwaterloo.ca
- RM of Morris, MB / mwmenviro.ca
- Strathcona County, ON / strathcona.ca
- Waste Wise APPS / edmonton.ca
- Kredsløb / kredslob.dk
- Aballwirtschaft Ludwigslust-Parchim AöR / alp-lup.de
- Abfall App / abfall-app.net
- Abfall IO ICS Version / abfallplus.de
- Abfallentsorgung Kreis Kassel / abfall-kreis-kassel.de
- Abfallwirtschaft Dithmarschen (AWD) / awd-online.de
- Abfallwirtschaft Enzkreis / entsorgung-regional.de
- Abfallwirtschaft Freiburg / abfall-eglz.de
- Abfallwirtschaft Kreis Plön / kreis-ploen.de
- Abfallwirtschaft Landkreis Böblingen / awb-bb.de
- Abfallwirtschaft Landkreis Göppingen / awb-gp.de
- Abfallwirtschaft Landkreis Haßberge / awhas.de
- Abfallwirtschaft Potsdam-Mittelmark (APM) / apm-niemegk.de
- Abfallwirtschaft Sonneberg / abfallwirtschaft-sonneberg.de
- Abfallwirtschaftsbetrieb des Landkreises Pfaffenhofen a.d.Ilm (AWP) / awp-paf.de
- Abfallwirtschaftsbetrieb Ilm-Kreis / ilm-kreis.de
- Abfallwirtschaftsbetrieb Landkreis Karlsruhe / awb-landkreis-karlsruhe.de
- Abfallwirtschaftsbetrieb Unstrut-Hainich-Kreis / abfallwirtschaft-uhk.de
- Abfallwirtschaftsgesellschaft Landkreis Schaumburg / aws-shg.de
- Abfuhrtermine.info / abfuhrtermine.info
- ALBA Braunschweig / alba-bs.de
- Altmarkkreis Salzwedel / altmarkkreis-salzwedel.de
- Alzey-Worms / kreis-alzey-worms.de/aktuelles/nichts-mehr-verpassen/abfalltermine
- ART Trier / art-trier.de
- ASTO (Abfall- Sammel- und Transportverband Oberberg) / asto.de
- Attendorn / attendorn.de
- AVL - Abfallverwertungsgesellschaft des Landkreises Ludwigsburg mbH / avl-ludwigsburg.de
- AWG Bassum / awg-bassum.de
- Awista Starnberg / awista-starnberg.de
- AZV Stadt und Landkreis Hof / azv-hof.de
- Bamberg (Stadt und Landkreis) / abfalltermine-bamberg.de
- Bau- und Entsorgungsbetrieb Emden / bee-emden.de
- Blaue Tonne - Schlaue Tonne / blauetonne-schlauetonne.de
- Cham Landkreis / entsorgung-cham.de
- Drolshagen / drolshagen.de
- ebwo - Entsorgungs- und Baubetrieb Anstalt des öffentlichen Rechts der Stadt Worms / worms.de/de/web/ebwo
- EDG Entsorgung Dortmund / edg.de
- EKM Mittelsachsen GmbH / ekm-mittelsachsen.de
- Entsorgungsbetrieb Märkisch-Oderland / entsorgungsbetrieb-mol.de
- Entsorgungsgesellschaft Görlitz-Löbau-Zittau / abfall-eglz.de
- Entsorgungstermine Jena / entsorgungstermine.jena.de
- Erfstadt (inoffical) / abfallkalender-erftstadt.de
- ESG Soest - Entsorgungswirtschaft Soest GmbH / esg-soest.de
- EVA Abfallentsorgung / eva-abfallentsorgung.de
- FES Frankfurter Entsorgungs- und Service GmbH / fes-frankfurt.de
- Finnentrop / finnentrop.info
- Flörsheim Am Main / floersheim-umweltkalender.de
- Gelber Sack Stuttgart / gelbersack-stuttgart.de
- Gelsendienste Gelsenkirchen / gelsendienste.de
- Gipsprojekt / gipsprojekt.de
- Hallesche Wasser und Stadtwirtschaft GmbH / hws-halle.de
- Heidelberg / heidelberg.de
- Heinz-Entsorgung (Landkreis Freising) / heinz-entsorgung.de
- Herten (durth-roos.de) / herten.de
- KECL Kommunalentsorgung Chemnitzer Land / kecl.de
- Kreis Steinburg / steinburg.de
- Kreisstadt Groß-Gerau / gross-gerau.de
- Kreuztal / kreuztal.de
- Landkreis Amberg-Sulzbach / landkreis-as.de
- Landkreis Anhalt-Bitterfeld / abikw.de
- Landkreis Böblingen / lrabb.de
- Landkreis Hameln-Pyrmont / hameln-pyrmont.de
- Landkreis Heidenheim / abfall-hdh.de
- Landkreis Lüchow-Dannenberg / luechow-dannenberg.de
- Landkreis Northeim (unofficial) / abfall.nerdbridge.de
- Landkreis Peine / ab-peine.de
- Landkreis soest / kreis-soest.de
- Landkreis Stade / landkreis-stade.de
- Landkreis Stendal / landkreis-stendal.de
- Landkreis Vogtland / vogtlandkreis.de
- Landratsamt Bodenseekreis / bodenseekreis.de
- Landratsamt Miltenberg / landkreis-miltenberg.de
- Lebacher Abfallzweckverband (LAZ) / lebach.de
- Lennestadt / lennestadt.de
- LK Schwandorf / entsorgung-sad.de
- Lübeck Entsorgungsbetriebe / luebeck.de
- Mein-Abfallkalender.online / mein-abfallkalender.online
- Neu Ulm / neu-ulm.de
- Oberhavel AWU / awu-oberhavel.de
- Olpe / olpe.de
- Rhein-Pfalz-Kreis / rhein-pfalz-kreis.de
- Schleswig-Flensburg (ASF) / asf-online.de
- Siegen / siegen-stadt.de
- Stadt Detmold / detmold.de
- Stadt Koblenz / koblenz.de
- Stadt Mainhausen / mainhausen.de
- Stadt Osnabrück / osnabrueck.de
- Stadtbetrieb Frechen / stadtbetrieb-frechen.de
- Stadtentsorgung Rostock / stadtentsorgung-rostock.de
- Stadtreinigung Leipzig / stadtreinigung-leipzig.de
- Stadtwerke Hürth / stadtwerke-huerth.de
- SWK Herford / swk.herford.de
- Technischer Betriebsdienst Reutlingen / tbr-reutlingen.de
- ULM (EBU) / ebu-ulm.de
- Wenden / gemeinde-wenden.de
- ZAH Hildesheim / zah-hildesheim.de
- ZfA Iserlohn / zfa-iserlohn.de
- Zollernalbkreis / zollernalbkreis.de
- Zweckverband Abfallwirtschaft Oberes Elbtal / zaoe.de
- Zweckverband Abfallwirtschaft Südwestsachsen (ZAS) / za-sws.de
- Contarina S.p.A / contarina.it
- Goes / goes.nl
- Ôffalkalinder van Noardeast-Fryslân & Dantumadiel / offalkalinder.nl
- Trondheim / trv.no
- Canton of Zürich / openerz.metaodi.ch
- Münsingen BE, Switzerland / muensingen.ch
- Stadt Bülach / buelach.ch
- Anglesey / anglesey.gov.wales
- Brent Council / brent.gov.uk
- Falkirk / falkirk.gov.uk
- Gedling Borough Council (unofficial) / gbcbincalendars.co.uk
- Middlesbrough Council / middlesbrough.gov.uk
- Westmorland & Furness Council, Barrow area / barrowbc.gov.uk
- Westmorland & Furness Council, South Lakeland area / southlakeland.gov.uk
- City of Austin, TX / austintexas.gov
- City of Bloomington / bloomington.in.gov
- City of Cambridge / cambridgema.gov
- City of Gastonia, NC / gastonianc.gov
- City of Georgetown, TX / texasdisposal.com/waste-wizard
- City of McKinney, TX / mckinneytexas.org
- ReCollect / recollect.net
- University Park, TX / uptexas.org
- Waste Connections / wasteconnections.com
In addition, users reported that the following service providers are working:
- ReCollect.net (Notes)
- Waste Connections (Notes)
- Western Disposal Residential (Colorado) (Unofficial, Notes)
waste_collection_schedule:
sources:
- name: ics
args:
url: URL
file: FILE
offset: OFFSET
method: METHOD
params: PARAMS
year_field: YEAR_FIELD
regex: REGEX
split_at: SPLIT_AT
version: 2
verify_ssl: VERIFY_SSL
headers: HEADERS
title_template: "{{date.summary}}"
url
(string) (optional)
URL to ICS / iCal file. File will be downloaded using a HTTP GET request.
If the original url contains the current year (4 digits including century), this can be replaced by the wildcard {%Y}
(see example below).
You have to specify either url
or file
!
file
(string) (optional)
Local ICS / iCal file name. Can be used instead of url
for local files.
You have to specify either url
or file
!
Notes:
-
Some users have reported that on their installation, only local files below the folder
config/www
are accessible by the system. Therefore place the ics file there. -
If you are using relative paths (like in the example below), the path depends on which working directory your Home Assistant instance is running on. And this might depend on the installation method (core vs supervisor vs OS vs ...). Therefore check the log output, it tells you the current working directory.
This example should work for HAOS based installations:
# file location: config/www/calendar.ics waste_collection_schedule: sources: - name: ics args: file: "www/calendar.ics"
offset
(int) (optional, default: 0
)
Offset in days which will be added to every start time. Can be used if the start time of the events in the ICS file are ahead of the actual date.
method
(string) (optional, default: GET
)
Method to send the URL params
.
Need to be GET
or POST
.
params
(dict) (optional, default: None)
Dictionary, list of tuples or bytes to send in the query string for the HTTP request.
This gets
- urlencoded and either attached to the raw URL when GET method is used.
- send with
Content-Type: application/x-www-form-urlencoded
and an automatically generatedContent-Length
header as POST method HTTP body.
Only used if url
is specified, not used for file
.
year_field
(string) (optional, default: None)
Field in params dictionary to be replaced with current year (4 digits including century).
regex
(string) (optional, default: None)
Regular expression used to remove needless text from collection types.
See also example below.
split_at
(string) (optional, default: None)
Delimiter to split event summary into individual collection types. If your service puts multiple collections types which occur at the same day into a single event, this option can be used to separate the collection types again.
version
(integer) (optional, default: 2)
Selects the underlying ICS file parser:
- version: 1 uses
recurring_ical_events
- version: 2 uses
icalevents
verify_ssl
(boolean) (optional, default: True)
Allows do disable SSL certificate checks in case the HTTPS server of your service provider is misconfigured and therefore doesn't send intermediate certificates. Unlike browsers, python doesn't support automatic fetching of missing intermediates.
Set this option to False
if you see the following warning in the logs:
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate
.
headers
(dict) (optional, default: empty dict)
Add custom headers to HTTP request, e.g. referer
. By default, the user-agent
is already set to Mozilla/5.0 (Windows NT 10.0; Win64; x64)
.
See also example below.
title_template
(str) (optional, default: {{date.summary}}
)
template for the event title. date
is the event object depending on the selected ICS file parser version.
waste_collection_schedule:
sources:
- name: ics
args:
file: "test.ics"
waste_collection_schedule:
sources:
- name: ics
args:
url: "https://abc.com"
headers:
referer: special-referer
Unofficial calendar maintained by [email protected]
sensor:
- platform: waste_collection_schedule
name: Trash Recycling # whatever you want the UI to show. Consider adding a similar prefix for both sensors so they get sorted together, "Trash" in this case
types:
- Recycling # matches alias in waste_collection_schedule below
- platform: waste_collection_schedule
name: Trash Compost
types:
- Compost
waste_collection_schedule:
sources:
- name: ics
args:
url: https://calendar.google.com/calendar/ical/gn2i5lqgobo5deb6p7j69l9aq8%40group.calendar.google.com/public/basic.ics
customize:
- type: Wednesday E Compost # from calendar event name
alias: Compost # matches type in sensor configuration above
- type: Wednesday E Recycling
alias: Recycling
waste_collection_schedule:
sources:
- name: ics
args:
file: waste.ics
regex: "Abfuhr: (.*)"
Removes the needless prefix "Abfuhr: " from the waste collection type.
waste_collection_schedule:
sources:
- name: ics
args:
url: https://www.fes-frankfurt.de/abfallkalender/<your-id>.ics
split_at: " \/ "
regex: "(.*)\\s+\\|"
Go to the service provider website 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 omitted. (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 referer
. Otherwise you'll get an HTTP 403 error.
waste_collection_schedule:
sources:
- name: ics
args:
url: "https://aik.ilm-kreis.de/output/options.php?ModID=48&call=ical&=&ArtID[0]=1.1&ArtID[1]=1.4&ArtID[2]=1.2&pois=3053.562&kat=1,&alarm=0"
headers:
referer: "https://aik.ilm-kreis.de"
calendar_title: Abfuhrtermine Witzleben