Playing mp3 sound from node red to other dashboards

Hello

I have node red running on an Ubuntu server.

I also have a door bell which communicates to node red via MQTT (Ubuntu) and a remote dashboard on an iPad (running safari browser).

When the button is pressed, node-red senses it correctly, but I would like to play an mp3 I have on Ubuntu server on the iPad.

What's the easiest way to do this?

I may be wrong but browsers don't permit audio without user interaction.

Instead you could use something like an MQTT app that triggers actions on your device. For example this app says it can trigger Siri shortcuts so in theory could play a sound.

Out of interest, is this doorbell a commercial product or home made? Could you share details please?

Really? What if I host the mp3 file on a HTTP server, can I then trigger the UI dashboard to play that mp3 file when an event occurs?

Yeah home made, I couldn't find something that suited my purpose. I have a Shelly 1 running on a 12VDC supply then to a simple doorbell button (dry contact). The Shelly 1 detects the doorbell button and sends an MQTT message to node red. I was hoping my iPad could replace the doorbell chime and play a song when someone presses the doorbell.

Further to this, I have it working by pulling the mp3 file using a HTTP request node. This works on all PCs running chrome on my network. However I cannot get the file to play in Safari on my iPad.

Does anyone know if there's a setting to enable this in Safari?

Or any other browser for that matter? I really don’t want to install a chime and the iPad is the central control screen for the house.

ok some updates, I've managed to play audio files when clicking a button in the dashboard with this script in a template node:

<script>
$('button').click(function() {   new Audio("http://address.com/thismp3.mp3").play();
})
</script>

Is there a way to trigger this mp3 with a function node? I want it to play when it receives an MQTT message from the Shelly 1

First result on Google searching "safari play sound without click"

Thanks for the reply, but this is now beyond me unless someone knows how to integrate this function into node red?