[Mac][Keyboard Maestro]勝手にスリープが解除される Mac を再びスリープする

Hackintosh の不具合として、スリープが勝手に解除されてしまうことがあった。特に夜中にスリープが解除されると、パソコンと同じ部屋で寝ているのでスクリーンの明かりやパソコンの音で目が覚めてしまう。起き上がってまたスリープにするのは面倒だ。

ひょっとして Time Machine の影響かもしれないと、Time Machine の実行時間をカスタマイズできるアプリケーションを使ってみたりした。一応スリープが解除されることはなくなったような気がする。

[Mac][Hackintosh] Time Machine の動作時間をカスタマイズする – with a Christian Wife
https://wacw.cf/2019/01/08/customising-time-machine/

もう一つは、iOS の「ショートカット」を活用する方法がある。枕元に iPhone を置いておき、夜中にスリープが解除されたらウィジェットからスリープさせるコマンドを送る。

[Mac][ショートカット] iPhone で Mac をスリープさせる – with a Christian Wife
https://wacw.cf/2018/12/21/sleep-mac-with-iphone/

ただ、iPhone をワイフにあげることになり、iPhone がこれからはなくなる。iPad でもできなくはないけど、大きなタブレットを枕元で操作するのって難しかったりする。

それと同じことを Raspberry Pi の WebIOPi で実現しようと試行錯誤したが、これも私のスキルでは難しそう。もし WebOPi が使えれば Android や Nokia のスマートフォンのブラウザでワンタップで Mac をスリープさせたりできるんだけどなあ。

あるいは、枕元に Raspberry Pi を置いてタクトスイッチで Mac にコマンドを送る手もある。

Raspberry Pi のタクトスイッチ(複数個)を押すと Slack に通知する – with a Christian Wife
https://wacw.cf/2018/02/28/tactswitdch-to-slack-with-raspberry-pi/

ただ、Raspberry Pi から Mac へログインするスクリプトは作れたが、スリープのコマンドがよく分からなかった。

SSH 接続のパスワード入力を自動化するシェルスクリプトを作ってコマンド化した – Corredor
http://neos21.hatenablog.com/entry/2018/09/19/080000

そして、最終的にもっと簡単な方法が見つかった。それは Mac の Keyboard Maestro を使う方法だ。

システムがスリープから復帰した際に、それが指定時間帯であれば再びスリープに戻るようにすればいいのだ。最近覚えた HOUR() という計算式のお陰で実現できた。以下のようになる。

CapturFiles-20190119_073842
23 時以降、あるいは6時より前で実行されるようにしている。

Mac 自身で簡単に解決できた。