Turning Mu-so on and off with Apple Shortcuts

As much as I love my Mu-so’s (2 and Qb 2), I have two minor annoyances:

  • The Mu-so 2 is connected to an older TV (no HDMI-ARC) via Optical – selecting the digital input via the app or by pressing the source select button on the remote repeatedly gets a bit old, especially for other family members;
  • The Mu-so QB 2 is in my bedroom (with lighting off). When it goes into standby, it says goodbye with a light flash, which is annoying in a dark room when almost asleep. So I like to turn it off manually after listening, but IR from the bed is weak and the standby button in the app is hidden one level deep.

To make life a bit easier, I created a few Shortcuts to live on my iPhone, accessible one swipe from the lock screen without unlocking the phone:

The first ones (top row) turn on the Mu-so’s and select the digital input:

The second ones (bottom row) put the Mu-so’s into standby:

One-click happiness – peace ensues. Sometimes it’s the small things that matter. :slight_smile:

Tip o’ the hat to @GF21 for setting me on the right track:

7 Likes

This is brilliant,

Do you know more shortcuts?
I always tried to get it to run but failed.

Quick Question - can Siri perform the Shortcuts?

Hi,

Yes it can. Rename it to specific command and it works.

Very interesting RBM. I managed to re-produce this but I used analogue instead of digital for the input. It made me wonder what else is possible. Could you set the volume for the source as well?

Thank you for these ethernet commands, been looking for such a solution for a long time for my home automation system.

My Uniti Nova is not only my Roon music player and main amplifier (attached to two PMC Fact8 speakers), but also part of my home entertainment 5.1 system, driving the two front speakers. I have a universal programmable remote to switch the whole system (tv, surround amplifier, naim amplifier, media player) on at once, but integration of the Naim was lacking so far.

With these commands, I might be able to control the Naim Uniti with my home automation system. Would be interested to learn how to execute additional commands.

1 Like

Managed to add a few more functions to the list.
These IP control commands also work for the Uniti range and can also be used in home automation platforms like Homey and Home Assistent. I could not find any official listing of Naim IP control commands - so this is all trial and error.

Play send a GET command to: http://[Naim IP]:15081/nowplaying?cmd=play

Pause send a GET command to:
http://[Naim IP]:15081/nowplaying?cmd=pause

Stop send a GET command to:
http://[Naim IP]:15081/nowplaying?cmd=stop

Mute volume send a PUT command to:
http://[Naim IP]:15081/levels/room?mute=1

Unmute volume send a PUT command to:
http://[Naim IP]:15081/levels/room?mute=0

Set volume to a specific value (“25” in this example) send a PUT command to:
http://[Naim IP]:15081/levels/room?volume=25

There should be a volumeIncrement command avialable, but have not been able to get this working for volume increase/decrease commands over IP. Help or tips would be appreciated.

3 Likes

Ha! Great to see this thread is still alive – and thanks for the extra commands. Adding these to my automations – let me just add:

http://[Naim IP]:15081/nowplaying?cmd=playpause

to toggle play and pause instead of sending separate commands.

1 Like

No luck so far with volume increase/decrease. As a workaround, I use RoonCommandLine (RoonReady devices are exposed to Roon commands regardless of what source they’re playing):

/usr/bin/python3 /usr/local/Roon/api/set_volume.py -r -v 3 -z “Naim Mu-so Qb 2”
/usr/bin/python3 /usr/local/Roon/api/set_volume.py -r -v -3 -z “Naim Mu-so Qb 2”

Works fine, but Roon required.

1 Like

Been breaking my head on those volume increase /decrease commands as well. Will continue to try, trial and error might get us there - there has to be a way.

In the meanwhile, I discovered some extra commands:

Next Track send a GET command to:
http://[Naim IP]:15081/nowplaying?cmd=next

Previous Track send a GET command to:
http://[Naim IP]:15081/nowplaying?cmd=prev

1 Like

I got volume to work for Naim Mu-so 2nd gen.

Currently using a workaround using the chromecast ‘set relative volume’ commands to change the volume.
I’m using the home automation system Homey for this, and to send the IP commands to my Naim Uniti Nova when my A/V system is starting up.

1 Like

Great! Care to share how?

I’ve read the comments again and I think I misunderstood. I got the absolute volume setting to work. I haven’t found a way to increase or decrease a volume.

1 Like

Hi

I updated to the latest iOS 18 developer version.

Somehow it can’t find the server anymore.

Apologies for my lack of technical knowledge, but presumably these commends depend upon the Naim devices having a static IP address?

I am trying to get shortcuts to work to enable me to play an internet radio station on my Muso 2 by asking Siri but have been unable to so far.

This command based approach might help me do that I think, if I can work out the commands!

OK. So I now have a shortcut to turn my Mu-so on and off, and I can get it to select the Digital input (thanks to @RMB and @GF21 above) but I cannot work out how to select one of the radios presets.

Anyone have a list of the different inputs or know how to select one of the presets?

You could work without static IPs, but then you will need to have a reliable name resolution on your local network, e.g. via your router. I will often be more simple to have a fixed/static IP address for each device, at least initially for playing around.
Note, you don’t have to configure a static address on the device itself (Mu-so in this case) - you can still run DHCP on the Mu-so and have your router assign a “static” (as in: persistently the same) address to it. Details will depend on the router, but e.g. on my FritzBox I can go to the list of all devices/IPs and just click a button to “freeze” the current address.

I just checked - in my current network, the router actually learns hostnames (for my Nova: the device name set and visible in the Naim app) by itself, and you can then query it locally in the network.
If this works reliably, it would be even more convenient than have a pseudo-static IP address, but I would not expect this to work in any random home network out of the box without some trial and error or risks to reliability.

1 Like

Thanks for your response.

I’ve done a bit more research today and I’m fairly confident that my Mu-so has had the same IP address for a long time (my home network is pretty stable). So I have successfully used that to interrogate the device using JSON.

I’m also reasonably confident that i can write a shortcut using scripting to get the IP address from my router and into a variable that I can use.

1 Like

You could try to send GET http://IP:15081/favourites/6a0ead5dde684fa4b634ed379add4184?cmd=play

The long ID should be unique for each preset.