Building a Custom Reminder System with Multiple Geofences

Hey everyone, I wanted to share a project I’ve been working on to improve my daily routine using smart home technology. I’ve always struggled with remembering tasks when I’m out and about, so I decided to create a custom reminder system that works across multiple locations. Let me walk you through how I did it and what I’ve learned along the way.

First, I wanted a solution that could trigger reminders at several different locations without having to set up multiple reminders for each place. After some research, I found that Home Assistant allows you to assign the same name to multiple zones, which was exactly what I needed. This way, I could create a single reminder that would activate whenever I entered any of my designated zones.

To make this work, I used an app called TaskAgent, which lets me store reminders in plain text files. I also set up a Dropbox account to sync these reminders across my devices. The next step was creating a Python script that would monitor these text files and update my Home Assistant sensors accordingly. Here’s a quick look at the code I used:

python
from homeassistant.helpers.entity import Entity

file1 = ‘/path_to_your_local/Dropbox/Apps/TaskAgent/Store.txt’
file2 = ‘/path_to_your_local/Dropbox/Apps/TaskAgent/Home.txt’

Sensor setup and state monitoring code here…

This script creates four sensors: two for the actual reminder lists and two binary sensors to track whether the lists are active. The binary sensors are super handy because they let me trigger automations only when there’s something in the reminder list. It’s been a great way to ensure I don’t forget anything important when I’m on the go.

One thing I’ve noticed is that the system still needs some tweaking. For example, I’d like to add more zones and maybe even integrate voice notifications, but overall, it’s been a huge help. I can now set up reminders for multiple locations without the clutter of multiple notifications, which has made my life a lot easier.

I’d love to hear if anyone else has tried something similar or has tips on how to improve this setup. It’s been a fun project, and I’m excited to see how I can expand on it in the future. Thanks for reading, and happy automating!