Efficient Garbage Day Automation with Google Calendar Integration

I’ve been trying to set up an efficient garbage day automation system using Google Calendar and Home Assistant, and I wanted to share my journey and findings with the community. For those who might be facing similar challenges, here’s how I tackled the problem and the solutions I found.

The Challenge

My garbage collection company provides a yearly .ics file with all the garbage collection dates. I wanted to integrate this into Home Assistant using the Google Calendar integration. The goal was to receive early notifications (specifically at 5 p.m. and 7 p.m. the day before garbage day) to remind me to put out the trash. However, I encountered several hurdles:

  • Calendar Splitting: Google Calendar doesn’t support advanced filtering, making it difficult to separate different types of waste collection events.
  • Event Overlaps: Home Assistant can only track one event at a time, complicating the setup for multiple waste types.
  • Timing Issues: Ensuring notifications were sent at the exact times I needed them was tricky, especially with overlapping events and all-day vs. timed events.

The Solution

After some research and experimentation, here’s how I set it up:

  1. Creating Separate Calendars: I created a new Google Calendar specifically for garbage collection and imported the .ics file. Then, I split this into sub-calendars for each waste type (e.g., residual waste, hazardous waste) using search terms in Home Assistant’s configuration.

  2. Binary Sensors for Notifications: I set up binary sensors in Home Assistant to monitor each sub-calendar. These sensors trigger notifications at the desired times (7 hours before all-day events and 1 hour before timed events). The sensors also turn off after the event, preventing unnecessary reminders.

  3. Automations: Using the binary sensors, I created automations to send notifications via text-to-speech. For example, on the day before garbage day, I receive reminders at 5 p.m. and 7 p.m. On garbage day itself, I get a reminder at 5 p.m. to bring the trash bin back in.

Key Takeaways

  • Calendar Search Limitations: Google Calendar’s search functionality is basic, so using specific keywords in event titles is essential for accurate filtering.
  • Sensor Configuration: Configuring the binary sensors correctly was crucial. Ensuring the value_template returns true or false without any UI niceties was a common pitfall.
  • Testing: Thoroughly testing with dummy events helped identify any issues before the system went live.

Community Feedback

I’d love to hear how others have approached similar automation challenges! Have you found a more streamlined method? Any tips or tricks to improve this setup without losing functionality? Let’s discuss!

This project was a great learning experience, and I’m excited to see how the community can further enhance such automations. Happy automating everyone! :rocket: