Macbook Pro - 充電の閾値の設定と自動充電

最近 HomeKit や Siri ショートカットに対応するスマートコンセント(Switch Bot mini)というのが売られていて バッテリーが50%切ったら充電開始、80%超えたら充電停止 充電中はスリープ禁止 というようなことできそうなのですが すでに試してみられたという方はおられますでしょうか?


バッテリーについては 以前に知見をお尋ねして 私的には Apple のバッテリーの最適化に任せたいと思っています 仮にもし バッテリーの閾値を見て自動充電してくれたら 幅が広がり面白そうだと感じましての投稿させていただいた次第です


ショートカットアプリの中に バッテリーの状態の取得と If 文 というものがあって 条件は作れそうなのですが コンセントが Wi-Fi 経由で動いてくれたらと望んでいます


環境としましては

Macbook Pro 2024、 MacOS Sequoia 15.5

です


投稿日 2025/06/12 07:03

返信
スレッドに付いたマーク ランキングトップの返信

投稿日 2025/07/22 12:33

YaoYorozu様


コメントありがとうございます


わたしもちょっと試してみました:

目的: バッテリー容量が50%未満になると充電開始 75%を超えると充電停止 充電中はスリープ禁止の実験


用意するもの:

 ①「SwitchBot プラグミニ(JP) HomeKit対応」 ※コンセントのブレード(栓刃)の片方が広いのでN極対応のタップ等がいるかもしれないです

 ②2.5 GHz 帯の Wi-fi 環境 ※後述の③で使うのと、SwitchBot自身のアップデートやMac側から制御するために使います

 ③iPhone ※Wi-fi 接続して HomeKit デバイスをホームアプリに登録するために使います


必要な設定の概要(MacbookPro側):

 ・ショートカットアプリ ※バッテリー閾値が50%未満で充電開始 75%を超えると充電停止 するために使います

 ・ターミナルアプリ ※crontab -e で5分おきに前述のショートカットを呼び出すために使います

 ・スクリーンセーバーの設定 ※充電中にスリープしてしまうとcronが働かなくなり充電ストップの処理が働かないため 充電中は画面はスクリーンセーバー表示状態(ディスプレイはオフにしない=スリープさせない)ために使います


ーー


手順(SwitchBot miniをデバイスに登録する):

1.iPhone を Wi-Fi 2.5GHz に接続

2.スマートコンセントの電源ボタンを2秒以上押し青色で早点滅させる

3.iPhone のホームappを開き アクセサリを登録する

  カメラがアクティブ化され QR コードをスキャン

  あとは画面の指示に従う ベッドルーム(寝室) 任意として登録

  名前は Zoo-Plug(任意)

4.登録後は iPhone の Wi-Fi 接続を切っても OK

※登録後はiCloudに保存されるのでMacbookProのホームアプリにも出てくる様になります

※2.5GHzが要るのはiPhoneからのアクセサリ登録時だけかもしれません MacbookProからのオンオフは5GHz帯でもできました


ーー


手順(ショートカット作成する):

  名前(任意):うさぎの充電(50%未満で開始、75%超えると停止)

  内容:

    バッテリー残量を取得

    if文 バッテリーの状態 が次より大きい 75 の場合

     マイホームでZoo-Plugを設定

     スイッチをオフ状態で保存

    その他の場合

     if文 バッテリーの状態 が次より小さい 50 の場合

     マイホームでZoo-Plugを設定

     スイッチをオン状態で保存

     その他の処理

     if文の終了

    if文の終了

  参考:

    ※私の設定では50〜75の付近です この設定では80%をちょっと超えるくらいで止まってくれました


ーー


手順(cronで5分ごとにショートカット実行する):

1.ターミナルを起動

2.crontab -eを実行

3.以下linuxのviエディタのような操作となるが下記行追加し 保存終了する

*/5 * * * * /usr/bin/shortcuts run "うさぎの充電(50%未満で開始、75%超えると停止)"

4.crontab -lで登録されたかどうかを確認

※即座に反映されます cronが動いているかどうかはショートカットアプリの「最終変更日」の日時で確認できます


ーー


手順(スクリーンセーバー設定変更):

1.設定 ー ロック画面 ー 電源アダプタ接続時に使用していない場合はディスプレイをオフにする を しない に変更

※充電中にスリープしてしまうとcronが働かなくなり充電ストップの処理が働かないため 充電中は画面はスクリーンセーバー表示状態(ディスプレイの電源はオフしない=スリープしない設定)となる


ーー


いちおう この設定で充電50%未満になると5分以内にスイッチが自動的に入り 75%以上になると5分以内にスイッチが自動的にオフになって充電完了します 充電中はスリープにならないようになってます 1ヶ月ほどですが大きなトラブルとかは今のところ出ていません

Macを買ってから7ヶ月ほど使っていますが 今の使用状況ではバッテリーの消耗はこんな感じでした

"CycleCount" = 157

"MaxCapacity" = 100

"DesignCapacity" = 8579

"AppleRawMaxCapacity" = 8498


色々な方がコメントしてくださっているとおりで 結局 AC電源繋ぎっぱなしにする+Appleのバッテリー制御に任せるで十分問題ないかなーと思い始めております これまで バッテリーを長持ちさせる設定をしらべていましたら 本当にたくさんあって・・・ バッテリー充電サイクルだけではないようで 「温度」とか「放電深度(DOD)」なんかも影響し たとえば適温で49%〜50%付近で充電を行ったり来たりさせるというのも そのセルの寿命を短くするのだとか・・・ いたわりながら使っても減っていく 時間が経っても減っていく 酷使すると早く・・・ そういう意味では実験という範囲でしかなかないのですが 参考情報でした


類似の質問

返信: 5
スレッドに付いたマーク ランキングトップの返信

2025/07/22 12:33 YaoYorozu への返信

YaoYorozu様


コメントありがとうございます


わたしもちょっと試してみました:

目的: バッテリー容量が50%未満になると充電開始 75%を超えると充電停止 充電中はスリープ禁止の実験


用意するもの:

 ①「SwitchBot プラグミニ(JP) HomeKit対応」 ※コンセントのブレード(栓刃)の片方が広いのでN極対応のタップ等がいるかもしれないです

 ②2.5 GHz 帯の Wi-fi 環境 ※後述の③で使うのと、SwitchBot自身のアップデートやMac側から制御するために使います

 ③iPhone ※Wi-fi 接続して HomeKit デバイスをホームアプリに登録するために使います


必要な設定の概要(MacbookPro側):

 ・ショートカットアプリ ※バッテリー閾値が50%未満で充電開始 75%を超えると充電停止 するために使います

 ・ターミナルアプリ ※crontab -e で5分おきに前述のショートカットを呼び出すために使います

 ・スクリーンセーバーの設定 ※充電中にスリープしてしまうとcronが働かなくなり充電ストップの処理が働かないため 充電中は画面はスクリーンセーバー表示状態(ディスプレイはオフにしない=スリープさせない)ために使います


ーー


手順(SwitchBot miniをデバイスに登録する):

1.iPhone を Wi-Fi 2.5GHz に接続

2.スマートコンセントの電源ボタンを2秒以上押し青色で早点滅させる

3.iPhone のホームappを開き アクセサリを登録する

  カメラがアクティブ化され QR コードをスキャン

  あとは画面の指示に従う ベッドルーム(寝室) 任意として登録

  名前は Zoo-Plug(任意)

4.登録後は iPhone の Wi-Fi 接続を切っても OK

※登録後はiCloudに保存されるのでMacbookProのホームアプリにも出てくる様になります

※2.5GHzが要るのはiPhoneからのアクセサリ登録時だけかもしれません MacbookProからのオンオフは5GHz帯でもできました


ーー


手順(ショートカット作成する):

  名前(任意):うさぎの充電(50%未満で開始、75%超えると停止)

  内容:

    バッテリー残量を取得

    if文 バッテリーの状態 が次より大きい 75 の場合

     マイホームでZoo-Plugを設定

     スイッチをオフ状態で保存

    その他の場合

     if文 バッテリーの状態 が次より小さい 50 の場合

     マイホームでZoo-Plugを設定

     スイッチをオン状態で保存

     その他の処理

     if文の終了

    if文の終了

  参考:

    ※私の設定では50〜75の付近です この設定では80%をちょっと超えるくらいで止まってくれました


ーー


手順(cronで5分ごとにショートカット実行する):

1.ターミナルを起動

2.crontab -eを実行

3.以下linuxのviエディタのような操作となるが下記行追加し 保存終了する

*/5 * * * * /usr/bin/shortcuts run "うさぎの充電(50%未満で開始、75%超えると停止)"

4.crontab -lで登録されたかどうかを確認

※即座に反映されます cronが動いているかどうかはショートカットアプリの「最終変更日」の日時で確認できます


ーー


手順(スクリーンセーバー設定変更):

1.設定 ー ロック画面 ー 電源アダプタ接続時に使用していない場合はディスプレイをオフにする を しない に変更

※充電中にスリープしてしまうとcronが働かなくなり充電ストップの処理が働かないため 充電中は画面はスクリーンセーバー表示状態(ディスプレイの電源はオフしない=スリープしない設定)となる


ーー


いちおう この設定で充電50%未満になると5分以内にスイッチが自動的に入り 75%以上になると5分以内にスイッチが自動的にオフになって充電完了します 充電中はスリープにならないようになってます 1ヶ月ほどですが大きなトラブルとかは今のところ出ていません

Macを買ってから7ヶ月ほど使っていますが 今の使用状況ではバッテリーの消耗はこんな感じでした

"CycleCount" = 157

"MaxCapacity" = 100

"DesignCapacity" = 8579

"AppleRawMaxCapacity" = 8498


色々な方がコメントしてくださっているとおりで 結局 AC電源繋ぎっぱなしにする+Appleのバッテリー制御に任せるで十分問題ないかなーと思い始めております これまで バッテリーを長持ちさせる設定をしらべていましたら 本当にたくさんあって・・・ バッテリー充電サイクルだけではないようで 「温度」とか「放電深度(DOD)」なんかも影響し たとえば適温で49%〜50%付近で充電を行ったり来たりさせるというのも そのセルの寿命を短くするのだとか・・・ いたわりながら使っても減っていく 時間が経っても減っていく 酷使すると早く・・・ そういう意味では実験という範囲でしかなかないのですが 参考情報でした


2025/07/22 05:22 hatakeno-usagi への返信

私もできそうだなーと思ってやってみました。が、結論から言うと「Homekitのハブとなるデバイス(homepodもしくはappleTV)があれば可能」、もしくは「セキュリティ面を危険に晒せば可能」という答えのどちらかになります。


まず、matterもしくはapple homekitに対応するスマートコンセント自体はセールで1500円も出せば買えますのでこれのみでなんとかできないか試してみました。


使用環境

MacBook Air M4

tp-link P110M


2.4GHzでルーターを経由して接続することになるのですが、過去に中華製スマートコンセントによるセキュリティ面での事象がいくつか報告されていることからWi-Fi側で専用のSSIDを接続し、通常状態では隔離機能on,プライバシセパレータon、IPフィルターonにして運用することが必要と感じ、色々試行錯誤してみました。




Macbookの充電制御を行う場合、Macbookでバッテリーの状態を取得すること自体は可能です。コンセントのon,offをするためにはmacbookからコンセントを操作する必要がありますが、残念ながらMacbookのHomeアプリはiPhoneとは違ってHomeデバイスの直接コントロールはできません。よってHomepodなしで上記のセキュリティ条件を満たしながらMacbookからコンセントを操作することはできませんでした。HomepodがあればMacbookからHomepodを経由して操作することが可能と思われます。また、スマートコンセントを出しているメーカーのアプリもありますが、こちらはサポートおよびセキュリティの問題から、前述したセキュリティ条件を満たしながら使用することができませんでした。やはり基本的にはMatterもしくはHomekitの設定のみで動作させることを前提として事を運んだほうが良いと考えられます。


また、matterもしくはhomekit対応のコンセントであればiPadもしくはiPhoneからhomepodを経由せずに操作することが可能ですので、MacbookからiPhoneを形式的に経由して操作する方法も模索しましたが無理でした。(理論上はMacbookでバッテリーの状態を取得し、条件を満たしたらフラグファイルをiCloudDrive上に作成することでiPhoneで5分おきにオートメーションをかけてこのフラグファイルを参照しコンセントのon/offをすることで可能です。しかし5分おきにオートメーションをかけると1日に288個、10分おきでも144個のオートメーションが必要になるのであまり現実的ではありません。)


また、色々書きましたがこれらの制御はおそらくスリープモードではできません。


個人的には、Homepodは高いのでHomePod miniもしくはAppleTVを買うか、Macbookに上限80%設定に対応した新機種が出るまで待つ、と言うのが現実的かなと思っています。

あるいは原始的ですがバッテリー残量を取得して特定の範囲を超えたらアラームが鳴るようにする、というのが最も現実的でしょうね。


長文になってすみません。できるかも!と思って半日いろいろやって粘ったんですが結局上手くできずガックリしたまま書いてるので拙い文章ですがお許しください。


追記:Aldenteというソフトがありますが、こちらも有料版にしないと痒いところに手が届かないんですよね。保証の対象外になる可能性もありますし、悩みどころです。


まとめ:Appleさんバッテリー上限を設定できるMacbookを早く発売してくれ〜。ぜったい買うから!

2025/06/12 07:25 hatakeno-usagi への返信

試していないのですが、書き込んでいいですかね?

もしダメならスルーしてください。

Mac Book ProやAirなら、電源アダプタは通常のコンセント繋ぎっぱなしでいいと思いますよ。


冗長ですが再度書きます。

意図しないレスならスルーしてください。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Macbook Pro - 充電の閾値の設定と自動充電

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。