Order ready sound notification

I would like some terminals to play a sound whenever the chef hits the “Order ready” button on kitchen screen.
Now I’m broadcasting message in a rule that fires as soon as a task is completed. Works ok but when finishing multiple times it plays the sound multiple times (obviously). I can’t think of any straightforward solution to play the sound just once as the task widget fires the rule for each task (which is a desired behaviour most of the time).
Playing kitchen notification is easy since the action is fired just once in ticket closing rule.

Any help would be much appreciated.

How are you triggering the tasks complete?
What are you hooking into to make the sound?
Presume you have some form of command to press to mark complete and that your hooking into a task completed event. Maybe hook into the command rather than task completed.

Task complete command fires an Automation Command called “Execute Waiter Task”:
The Execute Waiter Task rule runs two actions:

The message is received by another rule:
Which runs this Action:

Hmmm, guessing not then. Is there more options with that task complete commands?
Looking at it I presume you can trigger more that one command. I would try triggering a seccond command but don’t use command value.
Not samiler with the setup so don’t know if it’s firing a command per id or sending as a list but possibly without it may only trigger a single command per complete action

Thanks for the suggestion but it does not help unfortunately.
It fires once per order and it also sends a command value (the tasks Content) even though I did not specify a command value:
Rule debugger:

What are the other options available on the widget.

it is a standard task editor widget:

I didn’t read your posts too thoroughly however the first thing I would try is using time tags to see how long since last sound fired maybe… or sound fire events logged in tasks and creating some advanced queue if you want to get fancy and don’t mind a big project.

My next suggestion was going to be a time delay/minimum time between sounds refered agoings a program setting maybe.
Thought you didn’t like workarounds ;-p

:smile: we have what we have!! Gotta work with it.

Thank you guys. This is exactly what came to my mind but I thought I’m missing some simple and sleek solution. I would not sleep well if I made an autommation that decides whether to run an action or not based on a time that passed from this action being run for the last time :smile:
We’ll rather keep using simple bell :slight_smile:

You could always ditch the task trigger for the Bell and create an extra command button which just manually triggered the bell?

You do know that a broadcast message isn’t egknolaged by a terminal if a ticket is currently open on it?