ADHD Actionable and Nagging Notifications Logic

I’m completely new to Home Assistant and super excited to tackle a project that I think could be a game-changer for my morning routine, especially with my ADHD. My goal is to build a dynamic, adaptive system that helps me stay on track and get out the door on time.

Here’s the core idea:

I’ve got two key things I want Home Assistant to consider each morning:

  1. How much time I have left before I need to leave for work.
  2. My current energy level.

The whole thing will kick off when my phone’s binary sensor first goes active after 7 AM (I’ll set up a helper that resets daily for this).

Once it’s triggered, Home Assistant should:

  1. Ask me for those inputs (time remaining, energy level).
  2. Generate a personalized to-do list for the day. This list will be smart, looking at:
  • My main list of tasks.
  • How long each task usually takes.
  • My reported energy level.
  • Any tasks that depend on others being done first.
  1. Send actionable notifications (both spoken via TTS and with buttons I can tap) for each task.
  2. Keep me accountable with “nagging” notifications: If I don’t respond to an actionable notification within a set time, Home Assistant will keep sending TTS reminders every few minutes until I mark the task as done or take some action.
  3. Give me an “escape hatch”: There will also be a notification that lets me bail on the whole routine if I need to.

My biggest challenges right now are figuring out the best way to:

  • Dynamically read and manage task lists within Home Assistant.
  • Track the status of each task (e.g., “completed,” “skipped”) for that specific day.
  • Automate and script for a different number of tasks every morning.
  • Set up those persistent “nagging” notifications effectively.

I’ve been toying with the idea of using Google Generative AI (via the create_content service) to process my inputs and the master task list to create the day’s specific routine. However, I’m a bit lost on how to seamlessly integrate that and then manage all the follow-up steps.

Has anyone tried something similar, or have any clever ideas on how to handle the dynamic list management, status tracking, or robust notification logic? Any pointers would be incredibly helpful!

At first, I wasn’t even going to touch this, but… I’ll offer up some newbie advice.

  1. Avoid using AI to code for you.
  2. Learn to code, preferably in YAML. You have an extensive wish list and the GUI automation builder is going to leave wanting more. (Just my personal opinion)
  3. Tackle the first goal with the intention of making it work. For example, you want to trigger everything off your phone (alarm??) at 7am. There are better ways, such as an automation that triggers at 7am on weekdays only.
  4. You wrote:

Once it’s triggered, Home Assistant should:

  1. Ask me for those inputs (time remaining, energy level).

Have you considered where you will store these values and how you will use them? Time remaining could easily become a timer in HA. How will you use ‘energy level’? Is this an out to exclude a task or the ability to add time to be able to complete the task? Its purpose will require a different solution for each of the options.

  1. TTS and Actionable Notifications are more complex to set up than Persistent Notifications. I’m not saying don’t try; just telling you that your expectations should not be greater than your skills.
  2. Home Assistant is a great product. But there is a learning curve. For some it is steeper than others. My advice is start simple. Set ONE goal and make that goal a reality before you start on the next. Simple routines to turn lights on and off at a given time, or by motion sensors are a great starting place for your morning routine. Then add simple Persistent Notifications for repeatable tasks (brush teeth, get dressed, make bed, start the coffee pot). From there introduce TTS or Actionable Notifications to run in parallel until they work exactly as expected.
  3. A Calendar for your morning routine may be the best way to work with the lists. You can set start and end times, it’s easier to automate with calendar triggers and it doesn’t require complex scripts to manipulate the data.
  4. Status tracking of completed or skipped tasks may require an outside the box solution. ToDo Lists are probably not an ideal solution. I don’t have a good solution off hand, but you may find something in the integrations, add-ins or Git repositories to fit the need.
  5. In my (humble) opinion, this is a pretty big wish list for a newbie. I would hate to see you become frustrated with Home Assistant simply because your expectations were higher than AI could deliver. HA is a super good platform, but you need to understand its strengths and weaknesses. As a coder with experience in many programming languages, there are many things I wish HA had, but I understand the developers need to balance usability for the masses with functionality for the nerds. I don’t use the GUI automation builders. I code in YAML. It gives me much greater power to code exactly what I want AND to be able to come back to some random code in two years and UNDERSTAND what it does and how it works.
  6. Rome wasn’t built in a day. Start simple, build upon what works and seek alternatives for what didn’t work. Your idea has a sound foundation but lofty goals. You will have hiccups along the way. I did as well, as I learned how things worked.

Good luck with your project and I hope you can appreciate that my comments are constructive, and based on nearly 10 years of HA experience.

1 Like

The other thing I would suggest is to create a timeline starting at when you need to wake up and continuing until it’s time to leave. Define everything that happens and how much time is needed. Remember, HA can be programmed down to the second, and technically the millisecond, although I don’t think any tasks need to be that accurate. Here’s an idea of how I would go about it.

07:00:00 Alarm sounds
07:01:00 Get out of bed
07:01:05 - 07:03:00 bathroom time
07:05:00 Finish brushing teeth
07:10:00 Finish getting dressed
07:12:00 Make bed
07:15:00 Start coffee pot

Define the tasks that should trigger a notification, and determine how much time it takes respond
Decide how to handle any tasks that overlap.
Decide how to handle unforeseen delays
Decide how to handle personal (ADHD) delays
Define tasks that could be optional
Create an automation to create a notification for the first task. Test, test, test.
Create additional automations and fine tune. Test some more.

Initially, I would create one automation for each time slot. This will allow you to modify the times until it is fine tuned. You can either leave it as is or trigger scenes or scripts to combine all the tasks into a cohesive sequence.

Really appreciate you taking the time to write all that out — honestly, that kind of feedback is super helpful.

You’re totally right that this is a big idea, and yeah, I know it won’t all work out right away. That’s why I’m trying to take it slow, start small, and just see what’s actually possible step by step.

I do have some coding experience and I’m okay with YAML, so I’m not expecting AI to do the hard work for me. My goal is more about using something like Google GenAI to generate a JSON list of tasks each day, so I’m not writing everything by hand. Just a way to make it more dynamic and flexible based on context or how I’m feeling that day.

Right now, my plan looks like this:

Set up an automation with a trigger (like my phone alarm), send a notification asking for a couple of inputs (3 buttons will do ), then call GenAI to generate a task list in JSON ( i will give it a list of all tasks with info in prompt first ). After that, I’d have a script take the output and loop through the tasks to run them one by one, wait for response if no response after duration, nagging tts notification will start untill a button is pressed on the notifications

And yeah, I’ve got a few things I’m still figuring out, like:

  • Can I handle all the actions in a script with loops instead of writing separate automations for every single task?
  • What’s the easiest way to store input and fetch it back in the script when I need it?( Read that sensors can store input)
  • Are logs good enough to track what happened and when, or should I go ahead and start saving to a database? ( well if i wanna have a dashboard later on for anaylsis i guess i’ll need it but if possible i’ll keep it till the end, also this way i just might be able to fetch the results and ask it to make suggestions later on in another automation, or maybe same automation who knows

I’ve already tested basic stuff like triggers, TTS, and notifications, and they work on their own. But yeah as you said there’s a learning curve and im not sure of the limitations and HA best practices, im used to trying but for once i acutally said to myself, just ask around maybe someone will tell you on how to approach this without too many iterations (you did, and i appreciate it)

The timeline suggestion is great, by the way. I’ve been thinking about doing something similar — the delays part is what makes me want it to have a dynamic nature elsewise i always abandon them.

Anyway, I’m still very much in the “figuring it out” phase. I know it’s a lot, but I’m okay with some of it failing as long as I can learn from it. Just trying to build something that feels more like a personal assistant, not just a bunch of timed automations. the lazy and i guess the engineer in me dont want to hard code it, instead loop through it and have the llm with all the info it requries to generate a json that i can use to loop through tasks with different variables each time, without defining each one, also this way in order to add or remove tasks will be easier later on (i can and tend to be wrong)

Really appreciate the honest advice.

There’s nothing wrong with writing separate automations - if they’re well named, annotated and labelled maintenance and troubleshooting are much easier.

Loops are to be avoided because they extend the running time of the automation. If an automation is interrupted (by HA restarting, for example) it will not resume until the trigger fires again, and then it will start again from the beginning. The same applies to delays of more than a few minutes.

Have you read this?

It shows that what you’re aiming for is achievable, but the author is an AI professional and I believe he has spent quite a lot of time and money on the project. :grin:

1 Like

Sorry for the Late reply,

well then apprently that’s the way to do it. Thank you for letting me know.

and for the read i will keep reading it, i think he’s ideas are way more naunced that what i have, appreicate showing it to me, it answer many questions of what i have in my mind