ios-settings-urls icon indicating copy to clipboard operation
ios-settings-urls copied to clipboard

Is there a known URL for Charging Optimization?

Open WaitingForGuacamole opened this issue 1 year ago • 27 comments

I'm trying to get to the Charging Optimization page under Battery -> Battery Health & Charging. I've tried the following:

prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH, and that gets me to the Battery Health page - great start. To try to go deeper, I've tried

prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/Charging%20Optimization
prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/CHARGING_OPTIMIZATION
prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH#Charging%20Optimization
prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH#CHARGING_OPTIMIZATION
prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH#Charging
prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH#CHARGING

Has anyone had success with this?

WaitingForGuacamole avatar Sep 23 '23 15:09 WaitingForGuacamole

Also very interested in this and have tried various combinations without success.

THX723 avatar Sep 24 '23 03:09 THX723

Came here looking for the same thing, and tried many of the same URLs as the first poster.

rodalpho avatar Sep 26 '23 16:09 rodalpho

Also tried:

prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/OPTIMIZED_CHARGE
prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/OPTIMIZED_CHARGING
prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/OPTIMIZATION
prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/OPTIMIZED%20CHARGE
prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/OPTIMIZED%20CHARGING

But didn’t work either

marcodestefano avatar Sep 27 '23 07:09 marcodestefano

This seems to work, but only when my device language is US English: prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH#Optimized%20Battery%20Charging

colin273 avatar Sep 27 '23 19:09 colin273

prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH#Optimized%20Battery%20Charging works as-is in my Spanish iPhone

atnbueno avatar Sep 27 '23 19:09 atnbueno

That does not work for me, still takes me to the Battery Health & Charging page, not the Charging Optimization page.

image

NOTE: that is %20, not %2O in the screenshot

WaitingForGuacamole avatar Sep 27 '23 19:09 WaitingForGuacamole

Is that a separate page on your device? For me, "Optimize Battery Charging" is a single switch on the Battery Health page.

Settings: Battery Health & Charging

colin273 avatar Sep 27 '23 20:09 colin273

@colin273 I'm guessing you have the iPhone 15 (non-Pro)? 'Charging Optimization' screen is only available for the 15 Pro

image

THX723 avatar Sep 27 '23 20:09 THX723

Yeah, it's a subpage that shows three options, one for optimized battery charging, one for the 80% limit, one for none. that's why I want this so bad, it's yet another level of setting.

I have a iPhone 15 Pro.

WaitingForGuacamole avatar Sep 27 '23 20:09 WaitingForGuacamole

I have an SE 2020 (hence the notchless status bar). That explains why I don't see the page.

I've looked around in system files, but so far I've come up empty. The search manifests don't seem to contain any useful information, and the battery settings bundle and its binary aren't much help either.

Edit: the key for the "Optimized Charging" string in the relevant loctable is CHARGING_TITLE. I have no idea whether that's useful.

colin273 avatar Sep 27 '23 20:09 colin273

Certainly appreciate you taking a look around for us!

WaitingForGuacamole avatar Sep 27 '23 20:09 WaitingForGuacamole

prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH#Optimized%20Battery%20Charging

Does not work (iPhone 15 Pro Max, USA, iOS 17.0.2). Copied exactly as shown here on github and the shortcut drops you in one step short of "Charging Optimization" screen. https://www.youtube.com/shorts/rWbW6XgCUF8

ShakataGaNai avatar Sep 27 '23 21:09 ShakataGaNai

The URL I sent earlier takes me directly to the "Optimize Battery Charging" switch in my settings. The path to the "Charging Optimization" page, and even the bar to access it on the Battery Health page, is almost certainly different for iPhone 15 Pro models, since it's effectively a different settings item that just happens to generally control the same thing.

colin273 avatar Sep 27 '23 22:09 colin273

That URL definitely does not work on iPhone 15 pro, unfortunately.

rodalpho avatar Sep 29 '23 10:09 rodalpho

Based on all other setting urls, I’d find weird to have one url that is working depending on the language set in the phone

marcodestefano avatar Sep 29 '23 11:09 marcodestefano

The optimized charging setting is also available on the regular iPhone 15, at least on iOS 17.

Unfortunately the posted link doesn’t work on it either. I tried:

prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH%23Optimized%20Battery%20Charging

both with Region and language set to USA/English US.

samuelgrf avatar Dec 02 '23 13:12 samuelgrf

So, I'm doing some digging behind this. I'll try to explain this in some terms that will simplify this.

  • A PSSpecifier is an item (button, label, switch, groups, etc.) in Settings
  • Each specifier has an identifier tag.

It seems like the URLs are based on the identifiers of the nested specifiers. So, it turns out Optimized Charging on non-iPhone 15 devices is indeed Optimized Battery Charging which is why it works on said devices. I'm thinking that at runtime, the view loads and checks whether if it is a iPhone 15 model, and then picks which specifier to use. This means its identifier is possibly different for iPhone 15 models.

chrisharper22 avatar Jan 15 '24 03:01 chrisharper22

Tried these so far... nothing.

  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/Battery%20Optimization%20Mode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/Battery%20Optimization
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/batteryChargingMode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/batteryMode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/batteryOptimizationMode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/BatteryOptimizationMode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/BATTERY_CHARGING_MODE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/BATTERY_MODE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/BATTERY_OPTIMIZATION_GROUP
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/BATTERY_OPTIMIZATION_MODE_GROUP
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/BATTERY_OPTIMIZATION_MODE_SPEC
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/BATTERY_OPTIMIZATION_MODE_TITLE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/BATTERY_OPTIMIZATION_MODE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/BATTERY_OPTIMIZATION_SPEC
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/BATTERY_OPTIMIZATION_TITLE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/BATTERY_OPTIMIZATION
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/MODE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/Optimized%20Battery%20Charging%20Mode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/Optimized%20Battery%20Charging
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/optimizedChargingGroup
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/optimizedChargingTitle
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/optimizedCharging
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/OPTIMIZED_CHARGING_GROUP_ID
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/OPTIMIZED_CHARGING_GROUP
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/OPTIMIZED_CHARGING_SPEC
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/OPTIMIZED_CHARGING_TITLE_ID
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/OPTIMIZED_CHARGING_TITLE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/Smart%20Battery%20Charging%20Mode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/Smart%20Battery%20Mode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/Smart%20Charging%20Mode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/Smart%20Optimization%20Mode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/Smart%20Optimization
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/smartBatteryMode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/smartBattery
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/smartChargingGroup
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/smartChargingMode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/smartOptimizationMode
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/smartOptimization
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY_CHARGING_GROUP
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY_CHARGING_ID
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY_CHARGING_MODE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY_CHARGING_SPEC
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY_CHARGING_TITLE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY_CHARGING
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY_GROUP_ID
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY_GROUP
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY_MODE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY_SPEC
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY_TITLE_ID
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_BATTERY
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_CHARGING_GROUP_ID
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_CHARGING_GROUP
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_CHARGING_ID
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_CHARGING_MODE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_CHARGING_SPEC
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_CHARGING_TITLE_ID
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_CHARGING_TITLE_SPEC
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_CHARGING_TITLE
  • prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH/SMART_CHARGING

chrisharper22 avatar Jan 15 '24 18:01 chrisharper22

With iOS 17.4 (which restructured the "Battery Health"/"Charging Optimization" menus) and iPhone 15 Pro (or potentially any future models) supporting the 80% Limit, I found with some trial and error (and thanks to the previous work by commenters such as @colin273 & @chrisharper22 ) that this URL directly opens the menu "Battery > Charging Optimization" (at least with system language set to EN-US): prefs:root=BATTERY_USAGE&path=CHARGING_TITLE

It's better than nothing when trying to quickly enable/disable the 80% Limit via Shortcuts... Is there any way to extend this URL to also directly select one of the three available options within this menu?

mercuryLuz avatar Mar 18 '24 04:03 mercuryLuz

CHARGING_TITLE doesn't work on iPadOS, but this does: prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH_TITLE

kamui avatar May 22 '24 00:05 kamui

I am on iOS 17.5.1 with an iPhone 14 and this URL is working perfectly! Finally found it, thanks!!

rushitshukl avatar Jun 16 '24 09:06 rushitshukl

Is there any way to extend this URL to also directly select one of the three available options within this menu?

As of right now, Apple prevents this behavior with Shortcuts, most likely from downloaded Shortcuts from changing system settings without acknowledgement.

chrisharper22 avatar Jul 08 '24 21:07 chrisharper22