コマンドラインから接続されたBluetoothヘッドフォンのバッテリー残量を確認してください


24

コマンドラインからワイヤレスヘッドフォンのバッテリーレベルを確認しようとしています。私はいくつかの 議論に出くわしました、そして、私がする必要があるのは以下を入力することだけであるようです:

ioreg -c 'deviceName' |grep -i batterypercent

の「Powerbeats Wireless」と「bluetoothaudiod」を使用してこのコマンドを試しました'deviceName'が、どちらも返されませんでしたbatterypercentioreg -c bluetoothaudiod |grep -i batteryバッテリーに関する一般的な情報を取得しようとしましたが、これを応答として取得しました。

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

ヘッドフォンをiPhoneに接続すると、バッテリーレベルがすぐにツールバーに表示されます。これにより、デバイスがバッテリーレベルをブロードキャストしており、コンピューターからこの情報にアクセスできるようになるはずです。

Bluetooth接続のヘッドフォンのバッテリーレベルを確認するにはどうすればよいですか?

編集:

当初、私は問題は、デバイス名と思ったが、それはそうです"Powerbeats Wireless"し、bluetoothaudiod仕事は交換可能。batterypercentparam にアクセスする方法がわかりません。

編集2:

Bluetoothドキュメントを見ると、Battery StateBattery Levelを公​​開するBattery Serviceがあるようです。バッテリーレベルは、GATT Read Characteristic Valueサブプロシージャを使用して読み取ることができるため、コマンドラインからこのサービスとインターフェイスする方法を理解する必要があります。私が試したすべてのバッテリー監視ウィジェットは、そのようなデバイスとのみ互換性があるため、標準の周辺機器(トラックパッド、マウス、キーボード)にのみコーディングされているように感じます。batterypercent

編集3:

ほぼ1年後にこれを再検討します。私はワイヤレスのトラックパッドとキーボードを持っていることを知っていて、それらのバッテリーレベルを完全にうまく見ることができます(ツールバーまたはコマンドラインの両方で)。それでもヘッドフォンからバッテリーレベルを取得することができず、なぜかわからない:/


ioreg -c "Powerbeats Wireless" |grep -i batteryまた、一般的なバッテリー情報を返すので、正しいデバイス名を持っていると思います。しかし、なぜbatterylevelコマンドは機能しません!! SMH
ピンゴ

自分の質問にコメントする代わりに、質問を編集してください。
At0mic

@IronCraftManの編集が完了しました。あなたは何か助けができると思いますか?
ピンゴ

こんにちは-さらに知りたい場合は、聞きたいです。BlueToothでiMacに接続したPS4コントローラーのバッテリー寿命を延ばしたい。
ダンクスド

JVC bluetoothヘッドフォンでも動作しません。奇妙なのは、私の5歳のiPhone 4Sが、接続時にバッテリーレベルを教えても問題ないからです。
ジョンスミス

回答:


8

私のiMac(macOS 10.12.6)では、上記の解決策のいずれも機能しません。ioregのmanページを読んだ後。私のコンピューターで動作するソリューションは次のとおりです。

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

-c引数を試す他のデバイスクラスがいくつかあります:AppleHSBluetoothDevice AppleHSBluetoothHIDDriver AppleMultitouchMouseHIDEventDriver AppleHIDKeyboardEventDriverV2、異なる出力を提供します。


7

を使用する必要がありますioreg。デバイスの名前を知る必要があります。このガイドに従っください。

要するに、このガイドは基本的に ioreg -c <devicename> |grep '"BatteryPercent" ='

例:

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

ここに画像の説明を入力してください

さらに、次の方法でより広範なバッテリー情報を取得できます。

ioreg -c BeatsBluetoothHeadset |grep Battery

2
ねえ、あなたの応答をありがとう!この問題はBeatsヘッドフォンに固有のようです。ワイヤレスキーボードとトラックパッドのバッテリーレベルにアクセスできるからです。元の質問を更新します!
ピンゴ

それは私のために働いていません
ジャダ

1

Macでpowerbeats 3のバッテリーレベルを確認するには、画面右上のアイコン領域のbluetoothメニューに移動し、接続されているpowerbeatsにカーソルを合わせると、バッテリーレベルが表示されます。お役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.