I’m not sure whether there is an easier way, but I’ve used a shell command for that calling cURL.
Here is an example from my config where I call my Panasonic 5.1 system via HTTP to set the volume based on an input_number (value):
shell_command:
set_panasonic_volume: 'curl -i -H "user-agent: MEI-LAN-REMOTE-CALL" -X POST --data "cCMD_EXEC.x=100&cCMD_EXEC.y=100&cVOLUME={{value}}" http://192.168.178.28/WAN/dvdr/dvdr_volume_ctrl.cgi'
You can, for example, call it in an automation that triggers when you change your playlist combobox or when you hit a script’s start button in the ui.
The automation action would look like this:
action:
service: shell_command.set_panasonic_volume
data_template:
value: '{{ states.input_number.panasonic_volume.state | int }}'
For a setup similar to what you’re building have a look at the chromecast component here: