A useful feature would be for home assistant to have a notification queue of some description, such that once an event triggers for a notification, the sending of the notification can wait until a ‘notification condition’ is met to send the notification.
Example Scenario: Plant Moisture Level Notification
Current Problem:
You want to be notified when the soil moisture level of your plant is low, but:
- Not if you’re not at home, since you can water the plant immediately.
- Not in the middle of the night, because it’s disruptive and unnecessary.
In the current implementation of Home Assistant, setting this up involves:
- Writing an automation that triggers when the soil moisture level drops below a threshold.
- Adding conditions to check:
- Time (e.g., notifications should only be sent during the day).
- Presence (e.g., you’re not at home).
- If the trigger (moisture level drops) occurs and conditions aren’t met, the notification is missed. Once the event has passed, there’s no built-in way to reassess it when a condition changes (e.g., you arrive home). Instead:
- A further trigger (arrive home) and further conditions (entity value below …) need to be added in order to receive the notification as the initial trigger event has passed and will be missed.
- This makes the setup increasingly complex, as further triggers must be reassessed and checked against the initial condition (e.g., moisture level still being low).
With a Notification Queue:
- Trigger: When the soil moisture level drops below a threshold, the notification is added to the queue.
- Conditions Check: The queue holds the notification until:
- It’s daytime.
- You are home, or you just arrived home (conditions are dynamic and reassessed as your status changes).
- Check that the soil moisture is still low - optional.
- Execution: Once these conditions are satisfied, the queued notification is sent, ensuring you’re notified at the right time without missing the initial event.
Improvement:
- Simplified Automations: No need for multiple automations or complex triggers/conditions to handle different scenarios of when to send notifications.
- Dynamic Reassessment: The system continuously reevaluates whether conditions are now met, ensuring timely and relevant notifications without over-complicating the setup.