Skip to content

Notify when an event has expired and offer to remove it #11

@moerk-o

Description

@moerk-o

Once a trip is over, a milestone has passed, or a repeating event has run its course, WhenHub still shows the device — quietly sitting there, sensors unchanged, until the user notices and cleans it up manually.

Requested feature

Add an optional setting per event that triggers a notification in the Home Assistant Repairs section as soon as the event has expired. The notification explains that the event is over and offers a single-click option to remove the device directly from there.

Which events can expire?

  • Trip — once the end date has passed
  • Milestone — once the target date has passed
  • Repeating event (Custom Pattern) — once all occurrences are used up (only available when an end date or occurrence limit is set)

Annual events like Anniversaries or recurring holidays never truly expire, so this feature does not apply to them.

How it works

The setting is opt-in and off by default — no one gets surprised by a notification they did not ask for. It can be enabled in the event's settings at any time, and also during initial setup for Trips and Milestones.

Once enabled and the event expires, a notification appears in the HA Repairs panel:

Event expired: Denmark Trip
This event ended on 14 July 2026. You can remove it from WhenHub if it is no longer needed.
⚠️ Before removing, make sure this device is no longer referenced in any dashboards, automations, or scripts.

Clicking "Fix" deletes the device. No other action is needed.

If the event is updated to a future date (e.g. the trip gets rescheduled), the notification disappears automatically on the next update.

Use cases

  • A family holiday is over — WhenHub reminds you to tidy up the trip entry
  • A project milestone has passed — remove the countdown sensor in one click
  • A custom repeating reminder has completed its last occurrence — get notified without having to check manually

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestplannedPlanned for implementation

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions