Controllare il livello della batteria delle cuffie bluetooth collegate dalla riga di comando

21

Sto provando a controllare il livello della batteria delle cuffie wireless dalla riga di comando. Mi sono imbattuto in pochi discussioni , e sembra che tutto quello che devo fare è inserire il seguente:

ioreg -c 'deviceName' |grep -i batterypercent

Ho provato questo comando usando "Powerbeats Wireless" e "bluetoothaudiod" per 'deviceName' , ma nessuno dei due ha restituito batterypercent . Ho provato ioreg -c bluetoothaudiod |grep -i battery per ottenere informazioni generali sulla batteria e ottenerlo come risposta:

| |   +-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>

Se collego le cuffie al mio iPhone , il livello della batteria immediatamente viene visualizzato sulla barra degli strumenti. Questo mi porta a credere che il dispositivo stia trasmettendo il livello della batteria e che dovrei essere in grado di accedere a queste informazioni dal mio computer.

Come posso controllare il livello della batteria delle mie cuffie connesse Bluetooth?

Modifica:

Inizialmente pensavo che il problema fosse con il nome del dispositivo, ma sembra che "Powerbeats Wireless" e bluetoothaudiod funzionino in modo intercambiabile. Non riesco a capire come accedere al parametro batterypercent .

Modifica 2:

Guardando i documenti Bluetooth, sembra che ci sia un servizio batteria che espone lo stato della batteria e il livello della batteria . Il livello della batteria può essere letto utilizzando la sottoprocedura del valore caratteristico della lettura GATT , quindi ho bisogno di capire un modo di interfacciare con questo servizio dalla riga di comando. Ho la sensazione che batterypercent possa essere codificato solo per periferiche standard (trackpad, mouse, tastiera), poiché tutti i widget di monitoraggio della batteria che ho provato sono compatibili solo con tali dispositivi.

Modifica 3:

Rivisitare questo quasi un anno dopo. So che ho un trackpad e un amplificatore wireless; tastiera e può vedere perfettamente i loro livelli di batteria (sia nella barra degli strumenti che nella riga di comando). Non riesco comunque a ottenere il livello della batteria dalle mie cuffie, e non sono sicuro del perché: /

    
posta pingo 11.11.2015 - 20:32
fonte

3 risposte

8

Devi utilizzare ioreg . Dovrai conoscere il nome del dispositivo. Basta seguire questa guida.

La guida, in breve, in pratica hai eseguito ioreg -c <devicename> |grep '"BatteryPercent" ='

Esempio:

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

Inoltre, puoi recuperare informazioni più ampie sulla batteria con:

ioreg -c BeatsBluetoothHeadset |grep Battery
    
risposta data 13.08.2016 - 21:24
fonte
7

Sul mio iMac (macOS 10.12.6), nessuna delle soluzioni menzionate sopra funziona. Dopo aver letto la pagina man di ioreg . La soluzione che funziona sul mio computer è:

// 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

Esistono altre classi di dispositivi per provare l'argomento -c: AppleHSBluetoothDevice AppleHSBluetoothHIDDriver AppleMultitouchMouseHIDEventDriver AppleHIDKeyboardEventDriverV2 , danno un output diverso.

    
risposta data 02.08.2017 - 07:24
fonte
1

Ho appena scoperto che per controllare il livello della batteria dei miei powerbeat 3 sul mio Mac, torno al menu bluetooth nell'area delle icone nella parte in alto a destra dello schermo, passa il mouse sui powerbeat collegati e poi mostra il livello della batteria proprio qui. Spero che ti aiuti.

    
risposta data 06.09.2017 - 03:50
fonte

Leggi altre domande sui tag