Hey everyone, I’ve put together a new blueprint designed specifically to help people with ADHD (or anyone who struggles with routine adherence) stay on track with their morning and evening toothbrushing.
Standard time-based reminders are easily dismissed, and if they fire at the exact same time every day, “notification blindness” sets in. To solve this, I built a system that adds unpredictability to the alerts and requires actual task completion to dismiss the routine.
Key Features:
Randomized Delays: The initial reminder doesn’t fire exactly on the hour. It delays by a random window (e.g., 0-15 minutes) to break predictability.
Randomized Snoozing: If you hit the “Snooze” action on the notification, it waits a random duration (between 4.5 and 5.5 minutes) rather than a fixed 5 minutes, preventing you from subconsciously timing the next alert.
Persistent Loops: The notification will keep coming back until the helper toggle is turned on (either via the brush running or hitting the “Already Brushed
” action button).
Auto-Clearing: As soon as the smart toothbrush reports a “running” state for the required duration, it sends a clear_notificationcommand to immediately wipe any queued or active alerts from your phone.
Shift-Worker Friendly: Includes advanced settings to override the standard 4:00 AM / 4:00 PM tracking blocks for unusual schedules.
Prerequisites:
- A compatible Bluetooth toothbrush that broadcasts a live state (Oral-B, Philips Sonicare, or Laifen). Note: Batch-syncing brushes like Oclean are not supported as they rely on historical polling.
- A Home Assistant ‘Toggle’ helper (
input_boolean) to act as the system’s memory for the day. - The Home Assistant Mobile App installed on your notification device.
Blueprint Code:
You can view the raw YAML and track any future updates on my GitHub repository here:
GitHub - CoatsyJnr/home-assistant-blueprints
I’d love to get some feedback from the community on the template logic, any edge cases I might have missed (especially regarding the wait_for_trigger loops), or features that would make it even more useful!