| Notes |
- This function uses private Apple APIs - that means it can break without notice on any macOS version update. Please report breakage to us!
- This function will return information for all connected Bluetooth devices, but much of it will be meaningless for most devices
- The table contains the following keys:
- vendorID - Numerical identifier for the vendor of the device (Apple's ID is 76)
- productID - Numerical identifier for the device
- address - The bluetooth address of the device
- isApple - A string containing "YES" or "NO", depending on whether or not this is an Apple/Beats product, or a third party product
- name - A human readable string containing the name of the device
- batteryPercentSingle - For some devices this will contain the percentage of the battery (e.g. Beats headphones)
- batteryPercentCombined - We do not currently understand what this field represents, please report if you find a non-zero value here
- batteryPercentCase - Battery percentage of AirPods cases (note that this will often read 0 - the AirPod case sleeps aggressively)
- batteryPercentLeft - Battery percentage of the left AirPod if it is out of the case
- batteryPercentRight - Battery percentage of the right AirPod if it is out of the case
- buttonMode - We do not currently understand what this field represents, please report if you find a value other than 1
- micMode - For AirPods this corresponds to the microphone option in the device's Bluetooth options
- leftDoubleTap - For AirPods this corresponds to the left double tap action in the device's Bluetooth options
- rightDoubleTap - For AirPods this corresponds to the right double tap action in the device's Bluetooth options
- primaryBud - For AirPods this is either "left" or "right" depending on which bud is currently considered the primary device
- primaryInEar - For AirPods this is "YES" or "NO" depending on whether or not the primary bud is currently in an ear
- secondaryInEar - For AirPods this is "YES" or "NO" depending on whether or not the secondary bud is currently in an ear
- isInEarDetectionSupported - Whether or not this device can detect when it is currently in an ear
- isEnhancedDoubleTapSupported - Whether or not this device supports double tapping
- isANCSupported - We believe this likely indicates whether or not this device supports Active Noise Cancelling (e.g. Beats Solo)
- Please report any crashes from this function - it's likely that there are Bluetooth devices we haven't tested which may return weird data
- Many/Most/All non-Apple party products will likely return zeros for all of the battery related fields here, as will Apple HID devices. It seems that these private APIs mostly exist to support Apple/Beats headphones.
|