I used ioreg
and the only one of my connected devices that seems to report its battery level is the Trackpad:
╰─➤ ioreg -l | grep -B 20 BatteryPercent\"
| | | | | | | "MaxInputReportSize" = 5
| | | | | | | }
| | | | | | |
| | | | | | +-o AppleDeviceManagementHIDEventService <class AppleDeviceManagementHIDEventService, id 0x100001e17, registered, matched, active, busy 0 (0 ms), retain 7>
| | | | | | {
| | | | | | "LowBatteryNotificationPercentage" = 2
| | | | | | "PrimaryUsagePage" = 65280
| | | | | | "BatteryFaultNotificationType" = "TPBatteryFault"
| | | | | | "VersionNumber" = 0
| | | | | | "VendorID" = 76
| | | | | | "IOUserClientClass" = "IOHIDEventServiceUserClient"
| | | | | | "Built-In" = No
| | | | | | "DeviceAddress" = "3c-7d-0a-5d-1a-82"
| | | | | | "WakeReason" = "Host (0x01)"
| | | | | | "Product" = "Magic Trackpad 2"
| | | | | | "SerialNumber" = "3c-7d-0a-5d-1a-82"
| | | | | | "Transport" = "Bluetooth"
| | | | | | "BatteryLowNotificationType" = "TPLowBattery"
| | | | | | "ProductID" = 613
| | | | | | "DeviceUsagePairs" = ({"DeviceUsagePage"=65280,"DeviceUsage"=11},{"DeviceUsagePage"=65280,"DeviceUsage"=20})
| | | | | | "BatteryPercent" = 64
This matches what I see in the BT dropdown.
I'd like to get the battery level of my non-Apple BT headphones. Is this possible from the command line?
I see this answer Check the battery level of connected bluetooth headphones from the command line but it seems to only work for Apple devices. This answer is 4 years old.
I reached out to the support for this device and they suggested a 3rd party app called Batteries. It has a free trial. It doesn't report any battery level, just that a battery-powered device is connected.
It looks like this is the fault of the manufacturer -- is there some profile they have to support or something? My MX Keys for Mac are the same way.