Service to open URL on client

Hi,

TLDR: Is there a way to open a URL on the client side (i.e. the device I use to access the frontend) via a service?

Long Version:
I’m running Home Assistant OS on a RasPi. I access the lovelace front via a web browser from a local PC.
Currently, I’m trying to configure a custom:vacuum-card for my Roborock vacuum running Valetudo. I want to add a button to this card that opens the vacuum’s web interface, which is accessible via its local IP. The vacuum-card only allows service calls for button actions, so I need a service that can open a URL on the client machine. However, I can only find ways to open URLs on the host machine. I already tried the Browser integration, shell_command and REST, but all of them only seem to open URLs on the host machine (i.e. the RasPi).
After an intensive forum search I also tried browser_mod, but the issue there seems to be that

  1. I have to specify a target device, but I want it to dynamically open the URL on the calling/clicking device.
  2. From my understanding, this would make browsers accessible to other family members via HA, which I don’t want.

In short, I would like a functionality similar to ‘weblinks’ in the entities card but as service. It feels like this should be something others tried before, but for some reason I can’t find anything in the forums. Is the solution so obvious and I’m just too stupid?

A tap action in lovelace can open any URL you want:

That’s true. But it seems like the vacuum-card does only support service-calls as action, from what I understand:

Therefore, I’m looking for a way to do exactly this but as service or inside a script.

Oke, I see. I’d either ask the dev of the custom card to add support for calling URLs or add a button next to the vacuum card. I don’t know of any service that would open a URL for you

If you’re using Windows, you can use HASS.Agent to create a LaunchUrl command as a button, which gets exposed to Home Assistant and you can then call with:

service: button.press
target:
  entity_id: button.device_launchurl

Not perfect, as it you need to create one for each device and each URL and it only works on Windows, but it’s the best I have found (at time of writing).

I have the same question / problem and attempted using the ‘Tap Action’ with a Helper entity. As previously stated, the URL must be on the host machine in my case a Raspi running HASSIO. What most of us need is the ability to open a URL on the client. Specifically, I’m attempting to open Octoprint.