Waste Collection Schedule Framework

Haha, great hint :slight_smile:
I´m usually updating the system every end of the month and not going to every new version right away. So I also didn´t update the waste_collection_schedule and was on version 1.15.x.
Now I´ve updated to 1.16.0 and it´s working - thanks a lot for that!

Nice weekend to all of you!

Hello,

I have installed this integration via HACS and tried to configure it with minimal settings. But when checking the configuration in settings, the circle stays endlessly. Once I take the config out, config check ends successfully directly. So somehow this is not working.
Any idea what is wrong? The ics file is accessible, putting it in a browser does directly show a download popup.

waste_collection_schedule:
  sources:
    - name: ics
      args:
        url: "https://calendar.google.com/calendar/ical/randomid1234567%40import.calendar.google.com/public/basic.ics"
      calendar_title: "Trash"
  day_switch_time: "12:00"

Strange. The configuration is valid and my machine doesn’t hang up with it. However, the url returns error 404 (bad request) - but this has nothing to do with your initial issue.

That is due to the random id, did not want to share my real calendar here :wink:

After another restart of home assistant it does now indeed work, strange as well but so far looking good, thanks! :slight_smile:
grafik

I just realized that my ics google calendar query does not work with 1.16
Downgraded to 1.15 → working again. Haven´t seen any changes apart from new cities.
Any logs for interest?

Please check if it is this issue: fetch failed for source ICS ¡ Issue #176 ¡ mampfes/hacs_waste_collection_schedule ¡ GitHub

Excellent, thanks for this info.

Found my images in this thread.
Here are the image-files if anyone is interested in.

HF

restafval3
plastic3
papier3
gft3

1 Like

Need help, guys! Sorry, here’s someone again who can’t do it alone. :confused:

Entity Card:

type: custom:auto-entities
sort:
  method: daysto
card:
  type: entities
  state_color: true
  show_header_toggle: false
entities:
  - sensor.restmuell
  - sensor.gelbetonne
  - sensor.papiermuell
  - sensor.bioabfall

Sensor:

# ---------------------------------------
#           Abfallkalender
# ---------------------------------------

- platform: waste_collection_schedule
  name: Restmuell
  add_days_to: True
  details_format: "upcoming"
  value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% elif value.daysTo == 2 %}Übermorgen{% else %}{{value.daysTo}} Tage{% endif %}'
  types:
    - Restmuell

- platform: waste_collection_schedule
  name: Bioabfall
  add_days_to: True
  details_format: "upcoming"
  value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% elif value.daysTo == 2 %}Übermorgen{% else %}{{value.daysTo}} Tage{% endif %}'
  types:
    - Bioabfall

- platform: waste_collection_schedule
  name: GelbeTonne
  add_days_to: True
  details_format: "upcoming"
  value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% elif value.daysTo == 2 %}Übermorgen{% else %}{{value.daysTo}} Tage{% endif %}'
  types:
    - GelbeTonne

- platform: waste_collection_schedule
  name: PapierMuell
  add_days_to: True
  details_format: "upcoming"
  value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% elif value.daysTo == 2 %}Übermorgen{% else %}{{value.daysTo}} Tage{% endif %}'
  types:
    - PapierMuell

Look:
Bildschirmfoto 2022-04-03 um 11.44.06

Why won’t it work?

I am not an expert too and I cannot find the knot in your lines.
Did you try to copy your script in developer tools and play around with it? With this tool I found some mistakes and got things to work.

What is your actual problem? Do you want to sort entries by date?

I’m not an expert for auto-entities, but I think the problem is that you use an invalid sort method. Try this:

Don’t forget to enable add_days_to in the waste_collection_schedule configuration!

1 Like

Anyone able to assist with how I can split this detail into Rubbish and Recycling as I’ve tried to do (which didn’t work)

Have read all the docs but not sure what I’m doing wrong. I’m using this source if it matters. Does seem to be fetching the data ok. The sensors part of my configuration.yaml is as below. Anything else I try to do just comes up as Unavailable as in my screenshot.

image

sensor:
  - platform: waste_collection_schedule
    name: next_garbage_collection
    value_template: 'in {{value.daysTo}} days'
    types:
      - Rubbish

  - platform: waste_collection_schedule
    name: next_recycle_collection
    value_template: 'in {{value.daysTo}} days'
    types:
      - Recycle
    
sensor:
  - platform: waste_collection_schedule
    name: Auckland Rubbish

And then if I remove the bottom sensor from my configuration.yaml so it looks like…

sensor:
  - platform: waste_collection_schedule
    name: next_garbage_collection
    value_template: 'in {{value.daysTo}} days'
    types:
      - Rubbish

  - platform: waste_collection_schedule
    name: next_recycle_collection
    value_template: 'in {{value.daysTo}} days'
    types:
      - Recycle
    

Then the state is unknown

image

Thanks for any assistance!

EDIT: I think the issue is with my full configuration.yaml, got a duplicate key mapping i need to figure out how to fix

Waste type names are case sensitive. Please try ‘rubbish’ and ‘recycle’.

Ah, so simple! Thought I had tried that. Working now thank you.

Hi. Need some assistance with this.
For some reason my Waste Collector adds the date to every calendar entry in the ICS File. So they all look something like this: “Abfuhrtermin Bioabfall Am 16.04.2022”
How can I set up my Waste Collection Schedule correctly?

My provider has a list of ics files for every type of waste and town. They can be downloaded separately from the website and get updated as well. Is this even possible to fetch with this plugin?

Currently, there is no easy way to handle that. We could either add a new source or enhance the ICS source. Please open an issue on github.

Yes, you can add multiple ICS sources. One per file.

One means one collection date. That is not the way.

I might find a way to get all ics and make one single file, download and use it in the plugin.

I always get the error message:

2022-04-10 08:15:53 ERROR (SyncWorker_6) [waste_collection_schedule.scraper] fetch failed for source ICS:
Traceback (most recent call last):
File “/var/snap/home-assistant-snap/487/custom_components/waste_collection_schedule/waste_collection_schedule/scraper.py”, line 116, in fetch
entries = self._source.fetch()
File “/var/snap/home-assistant-snap/487/custom_components/waste_collection_schedule/waste_collection_schedule/source/ics.py”, line 182, in fetch
return self.fetch_file(self._file)
File “/var/snap/home-assistant-snap/487/custom_components/waste_collection_schedule/waste_collection_schedule/source/ics.py”, line 211, in fetch_file
f = open(file)
FileNotFoundError: [Errno 2] No such file or directory: ‘www/Abfallkalenderw.ics’

I tried the whole path /avr/snap/home-assistant-snap/487/www/… to define the file location , copied the ICS File to /487 folder where the configuration.yaml is locatet nothing worked.

Here is my waste-collection-schedule part in configuration.yaml
#Abfallkalender
waste_collection_schedule:
sources:
- name: ics
args:
file: “www/Abfallkalenderw.ics”
version: 1
customize:
- type: Restabfall 2-woechentlich
alias: restmuell
show: true
icon: mdi:trash-can
- type: Papier
alias: papier
icon: mdi:recycle
- type: Gelber Sack
alias: gelbersack
icon: mdi:recycle
- type: Biotonne
alias: biomuell
icon: mdi:recycle
calendar_title: “Müllabfuhr”
fetch_time: “06:00”
day_switch_time: “11:00”
separator: “;”

The sensors are visible, but without collection information.

I tried also the hint to use Version: 1 in the listing of the W-C-S

Nothing worked.

I use W-C-S version 1.18.0

Installationstyp |Home Assistant Core|
Version core-2022.2.9
Entwicklung |false|
Supervisor |false|
Docker |false|
Benutzer |root|
Virtuelle Umgebung |true|
Python-Version |3.9.8|
Betriebssystemfamilie |Linux|
Betriebssystem-Version |5.13.0-39-generic|

What´s going wrong??