Since iOS put Reminders into Calendar with iOS 18, I have been looking for a way to better track our reminders for chores, bills, and medication. Home Assistant seemed like the best replacement and I've mapped out a ton of actionable notifications that helps my family get our tasks done.
-# After I started all this, I found out that there was a way to disable Reminders in Calendar, but I am stubborn and went down this path anyway.
The automation that I've been talking the most about in #the-water-cooler is for our robovac. A notification is sent every night at 8:45 to remind us to clean up the floor; we can have it remind us later, which waits 30 minutes before running the notification script again, or mark it as complete which will wait until 1am and then trigger the vacuum to clean a set amount of rooms.
The Goal: Only run Rosey when we mark the actionable notification to clear the floor as "complete", and update a to-do list for our chores - a later project will have these dashboards on displays.
Here is a tree section for this automation to help visualize the workflow if you need it. 😄 Code for those interested will be in comments.
I built a dashboard with subviews for each category of tasks I have. This was so that when someone taps the notification, instead of long-pressing, it goes to a relevant screen rather than just opening HA. These are nothing more than panel or 2 card dashboards with to-do lists and calendars on them.
I started with the Confirmable Notification script blueprint built into HA. I set up Confirm to update the to-do item to Completed, and Dismiss with a wait action - I then saved the script before continuing, named it, and added on the action of turning on this script for Dismiss. This is the base of the script and if you're following along you will now need to take control of the script (under the 3 dot menu in the top right) in order to continue.
I went into the YAML editor to make sure I pointed the app to the right page when we tapped on the notification. Under the message line, I put in
data:
data:
url: /dashboard-tasks/chores
and saved the script.
Once I had the notifications sending to my phone properly (with the correct message, title, both the confirm/dismiss text, and the tap action), I set on to figure out how to clear things from the to-do lists. I actually found a bug (as of this posting I have yet to submit
) that led me to finding this blueprint which will remove a Completed item on a to-do list before adding it on again with a new due date and time. For this specific flow, I did not make any changes to the blueprint that required me to take control (however I did take control for other tasks to remove the time requirement).
To trigger the script and tie the actions together, I have a calendar for Chores with the tasks I need to complete on it, set for 1 minute. I created an automation that triggers on WHEN the calendar changes to On AND the message of the calendar is equal to the correct task THEN turn on the script for the notification.
The final missing piece was the robovac. I have a Roborock that is supported by the core integration - and only wanted specific rooms cleaned. I created an automation that is basically #3 on that page.
With this I completed my script - I added a Sequence building block, moved the to-do action in, then added a Wait trigger when the time is 1am and an automation trigger for the segment cleaning.
Now all you need to do is be consistent with clearing your notifications! 😄

