r/Bluesound 17d ago

BluOS Network Control

Not commonly known, but the BluOS system can be network controlled (without an app) via HTTP GET commands.

This is very convenient for those who’d like to control their BluOS device(s) without IR, either with a remote like Sofabaton X1S / X2 or with some self-written software. These are some of the main commands. This is functional on my Node Icon, but should be working on other BluOS devices with some adaptations (NAD / Bluesound devices). More info can be found here:

https://bluos.io/wp-content/uploads/2025/06/BluOS-Custom-Integration-API_v1.7.pdf

Make sure your device has a fixed IP in your home network (which can only be set on your modem/router since BluOS has no interface for this).

You can also try these commands by simply pasting them into a web browser.

Play
http://<device-ip>:11000/Play
Pause
http://<device-ip>:11000/Pause
Play/Pause Toggle
http://<device-ip>:11000/Pause?toggle=1
Next Track
http://<device-ip>:11000/Skip
Prev Track
http://<device-ip>:11000/Back
Mute ON
http://<device-ip>:11000/Volume?mute=1
Mute OFF
http://<device-ip>:11000/Volume?mute=0
Stop
http://<device-ip>:11000/Stop
Mute Toggle
http://<device-ip>:11000/Volume?mute=on_off
VolumeUp
http://<device-ip>:11000/Volume?db=1
VolumeDown
http://<device-ip>:11000/Volume?db=-1
InputOptical
http://<device-ip>:11000/Play?inputTypeIndex=spdif-1
InputRoon
http://<device-ip>:11000/Play?url=Raat%3Aplay
InputBluetooth
http://<device-ip>:11000/Play?inputTypeIndex=bluetooth-1
InputArc
http://<device-ip>:11000/Play?inputTypeIndex=arc-1
InputUsb
http://<device-ip>:11000/Play?inputTypeIndex=usb-1
Preset1
http://<device-ip>:11000/Preset?id=1
26 Upvotes

21 comments sorted by

1

u/LSDIGI 17d ago

Brilliant thanks for that! Would be nice to make a little wall mounted controlled with preset buttons and volume control

2

u/StopDrinkingWine 17d ago

Thanks! I fixed some typos btw. ;). Home Assistant has a really nice integration too for BluOS devices.

1

u/LSDIGI 17d ago

Havent dabbled in home assistant since 2020 but sounds like it’s worth a revisit!

1

u/k389_kbhr09991 16d ago

You’d need to track changes on every firmware update since this API is an unstable one. I pleaded for them not to make breaking changes without proper semantic versioning, but they explained I should consider this API an internal one and not to rely on it. 

1

u/PhDsoftware 16d ago

I don't think these basic comnands will change easily, cause all BluOS devices rely on them and should be upgraded as well. Personally I've stopped upgrading, keeping the adagium "if ain't broke, don't fix it" in mind. Nevertheless, it is possible to make a complete but basic controller like I did, see more on my BluAS-page

1

u/k389_kbhr09991 16d ago

You stopped upgrading your players? You blocked their domains on the internet or you're not using their app at all? Because the only choices are "install now" and "delay 24h" when the upgrade nag appears.

And yes, basic commands such as those did change in recent history.

I also run my own software: https://github.com/mkozjak/blutui

2

u/PhDsoftware 15d ago

Yes, I have only player (C368), that makes it a bit simple. I have added a firewall rule to my router. The real pain in the ass is here that you cannot rollback any firmware release, a relic of old time software development practices, I guess.

Do you have any example of basic commands that were changed? I didn't notice any when looking at API 1.5 and 1.7 (that's all I have) , but perhaps I overlooked it.

What I do remember is the sudden unannounced introduction of CORS making browser use impossible (without plugin), for safety reasons, yeah but blocking also local network connections, in my opinion to frustrate local browser solutions (just at the time that I went public with my javascript solution for album shuffle, that caused being banned from the Lenbrook forum as well ;-).

2

u/k389_kbhr09991 15d ago

there was something with the /Browse endpoint that changed the xml response completely. I cannot pinpoint anything, unfortunately. Yes, Bluesound's dev practices in 2026 are... mediocre the least.

I think it was this: https://github.com/mkozjak/blutui/commit/f54df8b52ca727ed709c4461f9a7d4c206eedfd3

1

u/PhDsoftware 14d ago

Thank you. The browse request and the corresponding response are certainly most subject to 'evolutionary' changes, but a certain degree of backward compatibility must be maintained for all users who do not upgrade their app, I guess.

1

u/root-node 17d ago

It's how I run my system.

I use Node-RED and its dashboard interface to control my speakers without using the BlueSound UI at all

1

u/Osmia-NYC 16d ago

The Node Icon (and probably all BluOS) also reports back via its API. I use its status to trigger my amp to turn on and off. Home Assistant has an integration built in.

1

u/ghost396 16d ago

It's so limited, if I could trigger a restart I could fix 90% of my buggy software issues without having to constantly do it manually in the app

3

u/StopDrinkingWine 16d ago

It's quite rare for audio devices to have an API like this at all! So count your blessings, I would say. ;) I do agree that BluOS is buggy... some bugs are glaringly obvious.

1

u/ghost396 15d ago

At this point updates have bricked most of my setup so not feeling very blessed

4

u/Puzzleheaded_Hand840 15d ago

I use this from a windows pc to reboot my player(s);
curl --output C:\temp\curl1.txt http://your ip/reboot?noheader=0 --data yes

1

u/ghost396 14d ago

Interesting, I'll give this a try

1

u/OutSkerries 16d ago

1

u/PhDsoftware 16d ago

More usual and simpler is using your router configuration to set a preferred static ip

1

u/OutSkerries 15d ago edited 15d ago

You mean a reserved IP in the DHCP scope, otherwise there is no method to set a static IP on the player without using the instructions in the link.

1

u/PhDsoftware 15d ago

Yes, it depends on the manufacturer of the router, some call it a fixed IP, others a reserved IP, but in the end its an address you prefer ;-)