Garbage reminder

Updated the blueprint. You can now configure the date format and sensor inputs are optional so you can also configure less than 4 sensors.

Great blueprint, thanks!

Would you be able to add some customisation options to the notification? Color and notification channel come to mind. That’d make it perfect.

I use afvalbeheer with this but i can’t get it to define what will be picked up tomorrow

Hi, not planning on adding it but feel free to extend the blueprint and share it.

I installed this Blueprint and set it up correctly… I can receive notifications correctly, however it doesn’t pass the sensor name into the message. It just shows "The following garbage will be picked up tomorrow: " I’ve tried adding all 4 sensors, and also confirmed the date format is the same in the Garbage Collection integration as it is in this blueprint ( %d-%b-%Y ).

As a quick test, I changed the Garbage Collection - Collection Days to all 7 days and re-ran it, but it still isn’t showing a sensor name in the push notification. I’m assuming this is a bug, but I just wanted to check if this is working for anyone else?

It uses the friendly_name of the sensors. Can you check under the list of entities if the sensors have a friendly_name under the attributes.

Thanks for replying. It does not. The only attributes I see are Next Date, Days, Last Collection, Last Updates and Holidays.

I’d be okay with manually setting a friendly_name in the blueprint config, if that’s an option, even if it doesn’t pull a friendly name from the actual sensor.

Maybe you can adjust the entity in the integrations page or via de entities option on the configuration page?

Unfortunately there aren’t any settings to change for the garbage collection sensors

I am experiencing the same issue also. So keen to follow or help out and test also.

I modified the blueprint provided above specifically for the HACS garbage collection addin as the above code was not working properly and kept sending empty notices. You can review/add the code from here: GarbageCollection.yaml (github.com)

This specific blueprint looks at all sensors generated by the Garbage Collection addin and checks for sensors with a “days until” value equal to what you define in the in the template and then sends out notification at the time specified, but only if there is actually values returned (hence fixing the issue of blank notifications. Hopefully this helps anyone leveraging that add in who had a similar issue with the original version of this blueprint.

Big thanks to @westenberg for the original code that made this update possible!

1 Like

Im getting 404 on your gist. Is it public?

It is, maybe that was a bad link, try this one, I can see it without being logged in.

4 Likes

Hi together,

I also forked @Tweak3D Blueprint again to work with “Waste Collection Schedule” from @mampfes:

Use this Blueprint:

Greets
Dominik

1 Like

If anyone Uses the Recollect integration in the USA, i modified this to report the proper next Pickup Type.

Hi there, i hope someone can help me. I have several automations that won’t work and i tried to troubleshoot them. I think it is because of something wrong with the timing.

for example, i have two different blueprints imported to send me a notification when my garbage is picked-up. This are westenberg/garbage-reminder.yaml and idominiki/GarbageCollection.yaml.

Both will check the garbage entities and if there is 1 day before pick up they must sent a notification through telegram. If i do a test it works, but when the blueprints must send a message on a certain time i get Stopped because a condition failed.

I think it has something to do with an invalid strftime date format.
I one of the automations i can set the correct strftime, which is by default %Y-%m-%d, in the configuration yaml of the garbage addon it is also set to %Y-%m-%d.

But when i check the entities, i see several different time/date fields.
I get in the yaml status attributes: Sort_date: 20221101
In the status date: Tomorrow, 2022-10-21
And if i check the attributes of an entity in lovelace i get also Sort date: 20.221.021 (this one is strange, but can be default behavior).

Maybe someone else has have the same problem in the past en seems to solve it?

Hi there, i hope you can help mei can’t get your blueprint to work. If it run on the set time in the trace i see: Stopped because a condition failed at

I think it has something to do with an invalid strftime date format.
I one of the automations i can set the correct strftime, which is by default %Y-%m-%d, in the configuration yaml of the garbage addon it is also set to %Y-%m-%d.

But when i check the entities, i see several different time/date fields.
I get in the yaml status attributes: Sort_date: 20221101
In the status date: Tomorrow, 2022-10-21
And if i check the attributes of an entity in lovelace i get also Sort date: 20.221.021 (this one is strange, but can be default behavior).

Do you have any idea?

I had the similar issue. In my case I have garbage collection addon configured in a way that sensors for garbage types are not holding textual state with date but only integer value:

  • 2 - if next collection is in two days or more
  • 1 - if next collection is one day ahead
  • 0 - if collection is today.

What worked for me was to change blueprint code to fetch “next_date” attribute while building sensors_tomorrow array that is then checked by trigger condition.
Here is the modified blueprint code:

blueprint:
  name: Updated garbage reminder 
  domain: automation
  input:
    reminder_time:
      name: Reminder time
      description: At what time the day before do you want to be reminded
      default: '18:00:00'
      selector:
        time: {}
    day_offset:
      name: Day offset
      description: Amount of days to be added to the triggers date to check for sensor
        value matches. E.g. 1 to be notified the day before or 0 for notification
        on the garbage collection day.
      default: 1
    date_format:
      name: Date format
      description: Valid strftime date format. Default %Y-%m-%d
      default: '%Y-%m-%d'
    reminder_title:
      name: Reminder title
      description: Shown as title in the notification
      default: Garbage reminder
    reminder_message:
      name: Reminder message
      description: Accompanying text in the notification
      default: 'The following garbage will be picked up tomorrow: '
    notifier:
      name: Notifier
      description: Name of integration you prefer to use for notifications. E.g. notify.notify
      default: notify.notify
    garbage_sensor_1:
      name: Garbage sensor 1
      description: Sensor should be a date string formatted according to the date format input
      default: ''
      selector:
        entity:
          domain: sensor
    garbage_sensor_2:
      name: Garbage sensor 2
      description: Sensor should be a date string formatted according to the date format input
      default: ''
      selector:
        entity:
          domain: sensor
    garbage_sensor_3:
      name: Garbage sensor 3
      description: Sensor should be a date string formatted according to the date format input
      default: ''
      selector:
        entity:
          domain: sensor
    garbage_sensor_4:
      name: Garbage sensor 4
      description: Sensor should be a date string formatted according to the date format input
      default: ''
      selector:
        entity:
          domain: sensor

variables:
  garbage_sensor_1: !input 'garbage_sensor_1'
  garbage_sensor_2: !input 'garbage_sensor_2'
  garbage_sensor_3: !input 'garbage_sensor_3'
  garbage_sensor_4: !input 'garbage_sensor_4'
  reminder_title: !input 'reminder_title'
  reminder_message: !input 'reminder_message'
  day_offset: !input 'day_offset'
  date_format: !input 'date_format'
  sensors_tomorrow: '{{ [(state_attr(garbage_sensor_1, ''friendly_name''), state_attr(garbage_sensor_1, ''next_date'').strftime(date_format)), (state_attr(garbage_sensor_2, ''friendly_name''), state_attr(garbage_sensor_2, ''next_date'').strftime(date_format)), (state_attr(garbage_sensor_3, ''friendly_name''), state_attr(garbage_sensor_3, ''next_date'').strftime(date_format)), (state_attr(garbage_sensor_4, ''friendly_name''), state_attr(garbage_sensor_4, ''next_date'').strftime(date_format))] | selectattr(''1'', ''eq'', (now() + timedelta(days = day_offset | int)).strftime(date_format)) | join('', '',  attribute=0) }}'
trigger:
  platform: time
  at: !input 'reminder_time'
condition:
  condition: template
  value_template: "{{ sensors_tomorrow != '' }}"
action:
  service: !input 'notifier'
  data:
    title: '{{ reminder_title }}'
    message: '{{ reminder_message }}{{ ''\n'' }}{{ sensors_tomorrow }}'

I hope this helps anybody who encountered similar issue
Rgds,
J.

I used all of the blueprints here but none of it is working. My setup is a google calendar with the entries for each garbage collection. With the HACS waste collection schedule I transfer these entries in 3 different sensor values - so 3 different types of waste. Based on this I wanted to get a notification each evening before at 6pm to have a reminder. Probably there is a more efficient way with the direct Google Calendar integration. Do you have an advice how to establish the reminder in the most efficient way?

I get this error for my reminders as I am using my google calendrer for my trash days reminder?

variables:
  garbage_sensor_1: calendar.garbage_day
  garbage_sensor_2: ''
  garbage_sensor_3: ''
  garbage_sensor_4: ''
  reminder_title: Garbage reminder, Take out the Trash
  reminder_message: 'The following garbage will be picked up tomorrow: '
  day_offset: 1
  date_format: '%Y-%m-%d'
  sensors_tomorrow: >-
    {{ [(state_attr(garbage_sensor_1, 'friendly_name'),
    states(garbage_sensor_1)), (state_attr(garbage_sensor_2, 'friendly_name'),
    states(garbage_sensor_2)), (state_attr(garbage_sensor_3, 'friendly_name'),
    states(garbage_sensor_3)), (state_attr(garbage_sensor_4, 'friendly_name'),
    states(garbage_sensor_4))] | selectattr('1', 'eq', (now() + timedelta(days =
    day_offset | int)).strftime(date_format)) | join(', ',  attribute=0) }}
trigger:
  platform: time
  at: '21:00:00'
condition:
  condition: template
  value_template: '{{ sensors_tomorrow != '''' }}'
action:
  service: notify.mobile_app_homeking
  data:
    title: '{{ reminder_title }}'
    message: '{{ reminder_message }}{{ sensors_tomorrow }}'
id: '1690572928061'
alias: Garbage reminder
description: ''
alias: Garbage reminder
description: ""
use_blueprint:
  path: westenberg/garbage-reminder.yaml
  input:
    reminder_title: Garbage reminder, Take out the Trash
    notifier: notify.mobile_app_homeking
    garbage_sensor_1: calendar.garbage_day
    reminder_time: "21:00:00"