Verifique el nivel de batería de los auriculares Bluetooth conectados desde la línea de comando

21

Estoy intentando verificar el nivel de batería de mis auriculares inalámbricos desde la línea de comandos. Encontré unos pocos Discussions , y parece que todo lo que necesito hacer es ingresar lo siguiente:

ioreg -c 'deviceName' |grep -i batterypercent

Probé este comando usando "Powerbeats Wireless" y "bluetoothaudiod" para el 'deviceName' 's, pero ninguno devolvió el batterypercent . Intenté ioreg -c bluetoothaudiod |grep -i battery para obtener información general sobre la batería, y obtuve esto como respuesta:

| |   +-o AppleSmartBatteryManager  <class AppleSmartBatteryManager, id 0x100000250, registered, matched, active, busy 0 (0 ms), retain 7>
| |     +-o AppleSmartBattery  <class AppleSmartBattery, id 0x100000252, registered, matched, active, busy 0 (0 ms), retain 6>

Si conecto los auriculares a mi iPhone , el nivel de batería inmediatamente aparece en la barra de herramientas. Esto me lleva a creer que el dispositivo está transmitiendo el nivel de batería y que debería poder acceder a esta información desde mi computadora.

¿Cómo puedo verificar el nivel de batería de mis auriculares conectados a Bluetooth?

Editar:

Inicialmente, pensé que el problema estaba relacionado con el nombre del dispositivo, pero parece que "Powerbeats Wireless" y bluetoothaudiod funcionan de manera intercambiable. Simplemente no puedo averiguar cómo acceder al parámetro batterypercent .

Edición 2:

Mirando los documentos de Bluetooth, parece que hay un Servicio de batería que expone el Estado de la batería y Nivel de la batería . El nivel de la batería se puede leer utilizando el sub-procedimiento de valor característico de lectura GATT , por lo que necesito encontrar una manera de interactuar con este servicio desde la línea de comandos. Tengo la sensación de que batterypercent solo puede estar codificado para periféricos estándar (trackpad, mouse, teclado), ya que todos los dispositivos de monitoreo de batería que he probado solo son compatibles con dichos dispositivos.

Edición 3:

Revisando esto casi un año después. Sé que tiene un trackpad inalámbrico y amp; Teclado, y puede ver sus niveles de batería perfectamente bien (tanto en la barra de herramientas como en la línea de comandos). Sin embargo, aún no puedo obtener el nivel de batería de mis auriculares y no estoy seguro de por qué: /

    
pregunta pingo 11.11.2015 - 20:32

3 respuestas

8

Necesitas usar ioreg . Necesitarás saber el nombre del dispositivo. Simplemente siga esta guía.

En resumen, la guía básicamente te hace ejecutar ioreg -c <devicename> |grep '"BatteryPercent" ='

Ejemplo:

ioreg -c BeatsBluetoothHeadset |grep '"BatteryPercent" ='

Además, podría recuperar información más amplia de la batería con:

ioreg -c BeatsBluetoothHeadset |grep Battery
    
respondido por el wynshaft 13.08.2016 - 21:24
6

En mi iMac (macOS 10.12.6), ninguna de las soluciones mencionadas anteriormente funciona. Después de leer la página del manual de ioreg . La solución que funciona en mi computadora es:

// the -r option is used to reduce output
// the -l option is used to display properties for all object
// by default some object properties are not shown
// the -c specify device class, the class could be specific or general
ioreg -c AppleDeviceManagementHIDEventService -r -l
ioreg -c AppleDeviceManagementHIDEventService -r -l | grep -i battery

// instead of using device io class, you could also use a property key to query
// you need to know one of target device's property key(-k), for example it is BatteryPercent for Bluetooth keyboard and mouse
// any device with this property will be listed
ioreg -r -l -k "BatteryPercent"
ioreg -r -l -k "BatteryPercent" | grep -i battery

Hay otras clases de dispositivos para probar por el argumento -c: AppleHSBluetoothDevice AppleHSBluetoothHIDDriver AppleMultitouchMouseHIDEventDriver AppleHIDKeyboardEventDriverV2 dan salida diferente.

    
respondido por el Minghao Ni 02.08.2017 - 07:24
1

Acabo de descubrir que para comprobar el nivel de batería de mis powerbeats 3 en mi Mac, simplemente voy al menú de Bluetooth en el área de iconos en la parte superior derecha de la pantalla, coloco el mouse sobre los powerbeats conectados y luego se muestra el nivel de la batería. justo ahí. Espero que ayude.

    
respondido por el Keaton 06.09.2017 - 03:50

Lea otras preguntas en las etiquetas