Is there a way to set the TTL of a message when sent to the browser?
I use these for notifications about things happening (duh …) when working on my desktop. I only want to show them the moment they happen. Currently if my browser is closed, all messages are queued. So when I open browser/start the machine the next day, I get burried by notifications.
Is there a way to prevent this? I have used different values for the ttl …
Yeah interesting thread , I am facing the same issue…
When I turn on my laptop/chromebook, all past notifications that are being send, without laptop on, are indeed queud, so lots of popups
That is not how I see it.
The docs just say so notifications by default are delivered only when phone is awake.
I can’t see that it says truncating messages.
But if that is what you want then I believe this is the wrong method.
Look at the browser mod it can detect if a device is on or off and use that as condition when you send the message.
Using browsermod is a workaround yes, but my wife and i are logged in on quite some machines (2x work, 2x home), this will get quite cumbersome to maintain.
Also, I prefer to use as less custom components as possible.
TTL is exactly what is need: the time the message is allowed to live. If it cannot be received within the specified TTL, the message should be discarded (as e.g. with PushOver)
Just wanted to share my solution as I was also struggling to find a way to achieve sending HTML5 web notifications, but preventing them queuing up and being bombarded when my laptop was turned on the following day.
Script:
alias: Time Sensitive Web Notification
description: Sends a web notification and dismisses after a short period of time
fields:
tag:
description: Id of the message which is used to auto dismiss the message (optional)
example: hall_light_on
default: time_sensitive_{{ range(1, 99999) | random }}
title:
description: The title of the notification
example: State change
required: true
message:
description: The message content
example: The light is on!
required: true
sequence:
- service: notify.web
data:
title: "{{ title }}"
message: "{{ message }}"
data:
tag: "{{ tag }}"
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- service: html5.dismiss
data:
data:
tag: "{{ tag }}"
icon: mdi:bell-alert-outline
mode: parallel
Usage in Automations:
- service: script.turn_on
target:
entity_id: script.time_sensitive_web_notification
data:
variables:
title: Doorbell
message: There is someone at the door.
icon: /static/icons/favicon-192x192.png
tag: doorbell
Now I receive the notification instantly. After 10 seconds it is removed. If my PC is off or browser is closed I don’t receive the notification. And when I turn on the PC and open the browser, I still don’t see the notification.