Deep link to specific area within Apple TV Settings

Does anyone know if it is possible to have a deep link that takes you directly to a specific area in the Apple TV settings menu and that would work as a Personal sections button? I've got buttons for the likes of youtube and iPlayer working fine so figured the settings would be easy, but it isn't so far.

I'm specifically after a way to access the Settings/Video and Audio/Enhance Dialogue section.

I've tried various combinations of command as a Personal Section url but so far haven't even been able to even get into the basic Apple TV Settings menu.

At the moment I'm doing it with a convoluted button press macro, but it is slow and unreliable if the timing isn't spot on with all the button presses required.

Any help greatly appreciated

As you know, TvOS supports deeplinks but I've never tried it with settings. There are loads listed across the internet for iOS but not so many for TvOS. However, they are often the same format, or very similar variations, in TvOS. Sometimes it's a bit of trial and error.

If it helps, the url scheme for ios settings is usually prefs:root=

As an iOS example for Settings->General->Keyboard->Hardware Keyboard, the url scheme (deeplink) would be prefs:root=General&path=Keyboard/Hardware%20Keyboard.

As a starting point, for your requirement, you could try something like prefs:root=VIDEO_AND_AUDIO&path=ENHANCE_DIALOGUE

I'd be inclined to try each sub-level of settings first and get that working, so you know it's right, before getting the next level working (i.e. see if you can get to Video and Audio first.)

Thanks for the suggestions :+1:

While googling this problem I found 2 schools of thought as to the starting part of the deeplink - some said use "prefs:" others said "app-settings:"

It seemed to depend on OS version which you needed. In testing this within Channels I have never got prefs: to work at all and while app-settings: does work it only takes you into the Channels specific area of settings which is the the "Background App Refresh" toggle under Settings/Apps/Channels.

I've tried numerous different combinations after the "app-settings:" but they all seem to be ignored and you always end up in the same place.

You may be on to something with "app-settings:" I had a try and it's the only leader I could find that did anything. From the home page it opens the settings app but I can find any combination that goes down to any sub-level. Maybe it's just not implemented in TvOS.

I did find the bundle ID for the TV settings app is com.apple.TVSettings if that of use to anyone else in helping to crack it.

Thanks, yes that is what I have been using from my PYATV instance to open the settings app from my Node Red before it runs my button press macro. But I've tried all sorts of combinations of strings after that to get to a specific section and it either does nothing or crashes Node Red, or both. That's why I started wondering about using a deeplink from within Channels.

That is the conclusion I'm sadly coming too. It's a shame because my "OK,down,down,down,down,down,down,down,ok,up,up,up,ok,back" macro feels positively medieval compared to a direct link. Also if the settings menu doesn't start where you left it for any reason the macro can do wierd stuff - it managed to restart the Apple TV once!

The really annoying thing is that Apple have provided an "Accessibilty" pop up menu if you triple hit the menu/back button but they haven't put the Dialogue Enhance as one of the options for that menu :man_shrugging:

The best I've been able to figure out is if you force quit settings, then it'll return to the main screen when you relaunch it.

With patience I've been able to automate it; here's an example of an atvremote command line that switches to my Bluetooth headset:

atvremote \
      --id '[...]' \
      --companion-credentials '[...]' \
      launch_app=com.apple.TVSettings delay=1000 home home delay=700 up up home launch_app=com.apple.TVSettings delay=1500 down down down down down down select delay=2000 down down down down down select delay=1000 down down down select delay=1000 select delay=500 home home delay=700 left select

I have given up trying to find a direct deeplink for the required section of settings, but after looking at the way @nriley approached his macro, I have now adjusted mine.

The macro now works from the very top of the settings menu (the General tab) rather than having to leave it in the Video and Audio tab. But, rather than call up/dismiss/call up again the settings app at the start of the macro as @nriley does , I have done it at the end when I have made the change I want but am still in the settings menu. I figured that was probably quicker overall than calling up the settings app and then dismissing it and going back in again at the start. Seems to be working OK so far. The only flaw with my way of doing it is if I call up the settings menu independently of my macro and leave it somewhere else in the menu, but I know not to do that and very, very rarely access the settings other than for the Enhance Dialogue change.

1 Like

Interesting discussion! Very educational. Question though: why not just leave Enhance Dialogue on, all the time? What’s the disadvantage? Just curious.

.
We use it in Isolate mode which really does cut out any background music/noise so anything where you actually want to hear the background music is better with it turned off. Music video channels for example sound very wierd with it on.

Ah, that makes sense. Thanks! I hope one day Apple offers documentation and support for deeplinking into these settings. Until then the information you shared about the macro sequencing to get there is very helpful.