UWP PowerManager.EnergySaverStatus always returns 'Off' in Windows 11 when battery is above 20%
I am encountering an issue where the PowerManager.EnergySaverStatus UWP API incorrectly reports the energy saver state on Windows 11 devices when the battery charge is above approximately 20%.
This behavior contradicts the official documentation, which states:
A user can also set battery saver to turn on automatically when the battery reaches a specified charge threshold, such as 20% remaining.
Environment and API Reference
Operating System: Windows 11 (24H2, 2610000.6725).
Device Tested: Surface Pro 10.
API: Windows.System.Power.PowerManager.EnergySaverStatus
Documentation: https://learn.microsoft.com/en-us/uwp/api/windows.system.power.powermanager.energysaverstatus?view=winrt-26100
Observed Behavior
When the device battery is above ≈20%, the EnergySaverStatus property consistently returns EnergySaverStatus.Off, even if Battery Saver mode is visibly active in the Windows UI.
Manual Activation: With the battery at 50% (well above the auto-threshold), if I manually enable Battery Saver via the Quick Settings or System Settings, the API returns EnergySaverStatus.Off.
Automatic Activation: If I set the automatic threshold to 30% and the battery level drops to 25%, the Windows UI shows Battery Saver is active, but the API returns EnergySaverStatus.Off.
Correct Indication: The API starts reporting the correct status (EnergySaverStatus.On) only when the battery charge drops to ≈20% or lower.
Expected Behavior
The EnergySaverStatus API should return EnergySaverStatus.On whenever Battery Saver is active, regardless of whether it was activated manually by the user or automatically by the system, and regardless of the current battery percentage (as long as the mode is engaged).
Comparative Test (Working Behavior)
This API works as expected on Windows 10 (tested on a Surface Pro 8). In Windows 10, manually enabling Battery Saver at any charge level correctly causes the API to immediately return EnergySaverStatus.On.
Code (Python)
Required pip package: winrt-Windows.System.Power
import winrt.windows.system.power as wsp
print(wsp.PowerManager.energy_saver_status)
return value documentation: https://learn.microsoft.com/en-us/uwp/api/windows.system.power.energysaverstatus?view=winrt-26100