9 votes

Niveau de batterie des AirPods avec `ioreg`

Je peux interroger le niveau de la batterie de mes appareils Bluetooth avec ioreg avec

ioreg -r -l -n devicename | grep  '"BatteryPercent"\ =' 

avec les appareils suivants

  • Claviers : IOAppleBluetoothHIDDriver, AppleBluetoothHIDKeyboard
  • Souris : BNBMouseDevice, AppleHSBluetoothDevice
  • Trackpad : BNBTrackpadDevice

Une idée du nom de l'objet pour les Apple AirPods?

1 votes

Cette page sur AskDifferent pourrait fournir quelques indices.

0 votes

@IconDaemon J'ai vu la page mais je ne peux trouver aucun appareil avec BatteryPercent dans la liste (ioreg -l) qui pourrait être un AirPod.

0 votes

Ce n'était pas le nom spécifique, juste il semblait y avoir différentes façons d'interroger ioreg.

3voto

Leszek Points 2611

Vous pouvez interroger /Bibliothèque/Preferences/com.apple.Bluetooth.plist avec l'utilitaire en ligne de commande defaults pour obtenir les niveaux de batterie des AirPods. Il n'utilise pas ioreg mais est assez extensible.

Quelques exemples:

# Analyser comme XML et stocker dans des variables d'environnement
batterie_gauche=$(defaults export /Bibliothèque/Preferences/com.apple.Bluetooth   - | xpath '//dict/key[text()="BatteryPercentLeft"]/following-sibling::integer[1]/text()' 2>/dev/null )
batterie_droite=$(defaults export /Bibliothèque/Preferences/com.apple.Bluetooth   - | xpath '//dict/key[text()="BatteryPercentRight"]/following-sibling::integer[1]/text()' 2>/dev/null )
batterie_boitier=$(defaults export /Bibliothèque/Preferences/com.apple.Bluetooth   - | xpath '//dict/key[text()="BatteryPercentCase"]/following-sibling::integer[1]/text()' 2>/dev/null )
echo gauche: $batterie_gauche
echo droite: $batterie_droite
echo boitier: $batterie_boitier

# Montrer simplement les valeurs de la sortie texte plist par défaut
# Gauche
defaults read /Bibliothèque/Preferences/com.apple.Bluetooth    | grep BatteryPercentLeft | tr -d \; | awk '{print $3}'

# Droite
defaults read /Bibliothèque/Preferences/com.apple.Bluetooth    | grep BatteryPercentRight | tr -d \; | awk '{print $3}'

# Boitier
defaults read /Bibliothèque/Preferences/com.apple.Bluetooth    | grep BatteryPercentCase | tr -d \; | awk '{print $3}'

Mon boîtier semble toujours indiquer 0 sauf si les AirPods y sont. Si vous avez plus d'un ensemble de AirPods connectés (ou si d'autres appareils renvoient des informations similaires), vous devrez faire quelque chose de plus compliqué pour différencier entre plusieurs appareils.

Cet article de blog contient plus d'informations: https://blog.duklabs.com/airpods-power-in-touchbar/

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X