Estoy tratando de verificar el nivel de batería de mis auriculares inalámbricos desde la línea de comandos. Encontré algunas discusiones , 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 los 'deviceName'
's, pero ninguno de los dos devolvió el batterypercent
. Traté ioreg -c bluetoothaudiod |grep -i battery
de obtener información general sobre la batería y obtener 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 aparece inmediatamente en la barra de herramientas. Esto me lleva a creer que el dispositivo está transmitiendo el nivel de la 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 con conexión Bluetooth?
Editar:
Al principio pensé que el problema fue con el nombre del dispositivo, pero parece "Powerbeats Wireless"
y bluetoothaudiod
el trabajo de manera intercambiable. Simplemente no puedo entender cómo acceder al batterypercent
param.
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 el nivel de la batería . El nivel de batería se puede leer usando el subprocedimiento 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 solo se puede codificar para periféricos estándar (trackpad, mouse, teclado), ya que todos los widgets de monitoreo de batería que he probado solo son compatibles con dichos dispositivos.batterypercent
Edición 3:
Revisando esto casi un año después. Sé que tengo un trackpad inalámbrico y teclado, y puedo ver sus niveles de batería perfectamente bien (tanto en la barra de herramientas como en la línea de comandos). Sin embargo, todavía no puedo obtener el nivel de batería de mis auriculares y no estoy seguro de por qué:
fuente
ioreg -c "Powerbeats Wireless" |grep -i battery
También devuelve la información general de la batería, así que creo que tengo el nombre correcto del dispositivo. ¡Pero por qué elbatterylevel
comando no funciona! SmhRespuestas:
En mi iMac (macOS 10.12.6), ninguna de las soluciones mencionadas anteriormente funciona. Después de leer la página de manual de ioreg . La solución que funciona en mi computadora es:
Hay algunas otras clases de dispositivos para probar el argumento -c: AppleHSBluetoothDevice AppleHSBluetoothHIDDriver AppleMultitouchMouseHIDEventDriver AppleHIDKeyboardEventDriverV2 , dan una salida diferente.
fuente
Necesitas usar
ioreg
. Necesitará saber el nombre del dispositivo. Solo sigue esta guía.La guía, en resumen, básicamente te hace ejecutar el
ioreg -c <devicename> |grep '"BatteryPercent" ='
Ejemplo:
Además, puede recuperar información más amplia sobre la batería con:
fuente
Acabo de descubrir que para verificar el nivel de batería de mis powerbeats 3 en mi Mac solo voy al menú de bluetooth en el área de iconos en la parte superior derecha de la pantalla, coloco el cursor sobre los powerbeats conectados y luego muestra el nivel de batería allí. Espero que ayude.
fuente