Periksa tingkat baterai headphone bluetooth yang terhubung dari baris perintah

22

Saya mencoba memeriksa tingkat baterai headphone nirkabel saya dari baris perintah. Saya menemukan sebuah beberapa diskusi , dan sepertinya yang perlu saya lakukan adalah memasukkan yang berikut ini:

ioreg -c 'deviceName' |grep -i batterypercent

Saya mencoba perintah ini menggunakan "Powerbeats Wireless" dan "bluetoothaudiod" untuk 'deviceName' , tetapi tidak mengembalikan batterypercent. Saya mencoba ioreg -c bluetoothaudiod |grep -i battery untuk mendapatkan informasi umum tentang baterai, dan dapatkan ini sebagai respons:

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

Jika saya menghubungkan headphone ke laptop saya iPhone , tingkat baterai segera muncul di bilah alat. Ini membuat saya percaya bahwa perangkat menyiarkan level baterai, dan bahwa saya harus dapat mengakses informasi ini dari komputer saya.

Bagaimana saya bisa memeriksa tingkat baterai headphone yang terhubung dengan bluetooth saya?

Edit:

Awalnya saya pikir masalahnya ada pada nama perangkat, tapi sepertinya "Powerbeats Wireless" dan bluetoothaudiod bekerja secara bergantian. Hanya tidak tahu bagaimana cara mengakses batterypercent param.

Edit 2:

Melihat dokumen Bluetooth, sepertinya ada Layanan Baterai yang memaparkan Status Baterai dan Tingkat Baterai . Level Baterai dapat dibaca menggunakan GATT Baca sub-prosedur Nilai Karakteristik, jadi saya perlu mencari cara untuk berinteraksi dengan layanan ini dari baris perintah. Saya punya perasaan batterypercent mungkin hanya diberi kode untuk periferal standar (trackpad, mouse, keyboard), karena semua widget pemantauan baterai yang saya coba hanya kompatibel dengan perangkat tersebut.

Edit 3:

Meninjau ini hampir setahun kemudian. Saya tahu memiliki trackpad nirkabel & amp; keyboard, dan dapat melihat tingkat baterainya dengan sangat baik (baik di bilah alat atau baris perintah). Masih tidak bisa mendapatkan tingkat baterai dari headphone saya, dan tidak yakin mengapa: /

pingo
sumber
ioreg -c "Powerbeats Wireless" |grep -i battery juga mengembalikan info baterai umum, jadi saya pikir saya memiliki nama perangkat yang benar. Tapi mengapa batterylevel perintah tidak berfungsi !! Smh
pingo
Harap edit pertanyaan Anda alih-alih mengomentari pertanyaan Anda sendiri.
At0mic
Suntingan @IronCraftMan sekarang selesai. Anda pikir Anda bisa menawarkan bantuan?
pingo
Hai - Saya tertarik mendengar jika Anda melangkah lebih jauh. Saya ingin mendapatkan masa pakai baterai dari pengontrol PS4 yang terhubung oleh BlueTooth ke iMac saya.
dunxd
Juga tidak berfungsi untuk headphone Bluetooth JVC saya. Aneh, karena iPhone 4S saya yang berusia 5 tahun tidak memiliki masalah untuk memberitahukan tingkat baterai mereka ketika terhubung.
Michael Kupietz

Jawaban:

8

Anda harus menggunakan ioreg. Anda harus tahu nama perangkat. Ikuti saja ini panduan.

Panduan ini, singkatnya, pada dasarnya Anda menjalankan ioreg -c <devicename> |grep '"BatteryPercent" ='

Contoh:

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

enter image description here

Selain itu, Anda dapat mengambil informasi baterai yang lebih luas dengan:

ioreg -c BeatsBluetoothHeadset |grep Battery
wynshaft
sumber
2
Hai, terima kasih atas tanggapan Anda! Masalah ini tampaknya khusus untuk headphone Beats, karena saya dapat mengakses level baterai untuk keyboard nirkabel saya & amp; trackpad. Akan memperbarui pertanyaan awal!
pingo
itu tidak bekerja untuk saya
Jadda
7

Di iMac saya (macOS 10.12.6), tidak ada solusi yang disebutkan di atas yang berfungsi. Setelah membaca halaman manual ioreg . Solusi yang berfungsi di komputer saya adalah:

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

Ada beberapa kelas perangkat lain untuk dicoba untuk argumen -c: Perangkat AppleHSBluetooth AppleHSBluetoothHIDDriver AppleMultitouchMouseHIDEventDriver AppleHIDKeyboardEventDriverV2 , mereka memberikan hasil yang berbeda.

Minghao Ni
sumber
1

Saya baru saja menemukan bahwa untuk memeriksa tingkat baterai powerbeats 3 saya di Mac, saya hanya pergi ke menu bluetooth di area ikon di kanan atas layar, mengarahkan kursor ke powerbeats yang terhubung dan kemudian menunjukkan tingkat baterai di sana. Semoga itu bisa membantu.

Keaton
sumber