SwitchBot で生活習慣を正す
このところ寝るのが遅くなっている。昨日に関して言えば就寝したのが夜中の 4 時を回っていた。Oura ring を手に入れた後のしばらく(10 月ごろ)は、ある程度は規則正しい生活が送れていたと思っていたのだが、せっかく正した生活習慣も、ここ数日であっという間に元通りになってしまった。 (this is a private diary)
夜ふかしの原因、というより、なぜそもそもそのような時間まで起きていられてしまうのかといえば、電気やインターネットがあるからである。夜が更けても電気さえあれば読書はおろか、テレビを見たりゲームをしたりすることだってできてしまう。さらに、眠らないインターネットの世界につながっていれば、いつでも Prime ビデオでアニメや映画を見ることができるし、YouTube でひたすら動画を見ふけることもできてしまう。
これじゃいかんと思った。この状況を打破するには、時間になったら強制的に消灯し、インターネットを遮断する仕組みが必要だ。そこで、「時間術大全」に書かれていた「タイマースイッチ」を試してみることにした。
Amazon でタイマースイッチで検索したときにおすすめとして出てきたのが、今回購入した SwitchBot だ。気になっていろいろ調べてみると、スマートプラグだけではなく、テレビや電気まで制御できる Hub Mini というものがあることを知った。当初の目的は、時間術大全にも書かれている通りインターネットを遮断することで、スマートプラグだけで十分だと思っていたが、電気やテレビも制御できるなら、より強い効力をもたせることができるのではないかと思い、スマートプラグと Hub Mini を 1 つずつ購入した。
それが今日の午前 10 時に届いた。4 時寝だったため、またしてもインターホンで強制的に起こされてしまったがこの際仕方ない。
Amazon の箱を閉じるための紙テープは、可愛らしいクリスマス仕様になっていた。
それはさておき、家の家電をスマートハウス化できるということで、本来の目的とは別の意味でもわくわくしていた。
仕組みは簡単だ。テレビや電気のリモコンの赤外線情報を取得して、代わりに SwitchBot Hub Mini がテレビや電気を制御してくれるというもの。Siri にも対応しているため、「Hey Siri, ライトつけて」といえば電気をつけてくれる。
まず始めに SwitchBot Hub Mini を開封し、ライト(電気)を登録してみた。ライトのメーカーを選択した後、機種(型番)を選択する画面に遷移する。残念ながらうちのライトの型番がドンピシャで出てくることはなかったので、Panasonic の全対応機種の中から最も挙動が近いものを選ぶことになった。
61 機種の電気のリモコンを片っ端から試していくと、機種は違えど意外とまともに動くものが何種類かあった。
(this is a private diary)
「オン」のボタンを押すときに、前回消灯する前と同じ明るさで電気をつけてくれるパターンのものもあれば、最大光度でつけてくれるものもあった。どうやら同じメーカーでも機種によっては、「オン」が別の赤外線情報になっているものもあるようだ。
どのパターンのものを使おうか迷ったが、電気のオン、オフ、最大光度でのオン、常夜灯、光度上昇、光度下降の一通りのパターンが網羅されているものを選んだ。ボタンの名称と挙動が全然違っていたが、全く同じ型番のものではないので致し方なかろう。
次に、テレビを登録した。こちらも同じくメーカーを選ぶところから始まる。SONY のテレビは Bravia がメイン(それしかない?)だからか、型番を選ぶ画面はなく、10 種類の中から最もマッチするものを選ぶ選択になっていた。
うちにある Bravia は割とメジャーな型番だと思っていたが、なぜか完璧にボタンがマッチするリモコンのパターンが存在しなかった。「戻る」ボタンが効かない(それ以外は問題ない)パターンのものと、全体的に配列が異なっているパターンの 2 種類に分類された。「戻る」ボタンが使えないのは残念だったが、もともとテレビのリモコン代わりに使う目的ではなかったので、とりあえず「戻る」ボタン以外のものは正常に動作するリモコンパターンを登録しておいた。
さて、本題はここからだ。この SwitchBot Hub Mini にはスケジュール機能があり、特定の時刻になったら特定の動作を行うようにスケジュールを組むことができる。
遅くても日をまたぐ前には就寝することを目的としたかったので、23 時に勝手に消灯されるようにスケジュールを設定した。
そして、ひらめいてしまった。消灯だけじゃなくて、逆に点灯もスケジュールすれば良いのでは……? と。
つまり、朝になったら光度最大にして電気を自動的につけることで、強い光による目覚まし機能として使えるのではないかと考えたのだ。
起きる時間帯は特に考えていなかったのだが、早く起きたいという気持ちもあり、なんとなく 7 時に電気を最大光度でオンにする設定を追加した。
同じ要領でテレビも 23 時になったら電源を切る、ということがやりたかったのだが、残念ながらできなかった。なぜなら、テレビのリモコンの電源ボタンは、トグル式になっているからだ。
つまり、テレビがついている状態で 23 時を迎えれば意図した通りに機能してくれるだろうが、もしテレビの電源をオフにしていた場合、23 時になったら逆にテレビを見ろといわんばかり電源をオンにするおせっかいも甚だしい機能になってしまうのだ。
これは困った。赤外線情報しか取得していないから、それ以上のことはわからない。だから、今テレビがオンなのかオフなのか、ということは SwitchBot は知らないのだ。一応、Bravia だから、自分が知らないだけで、そもそもスマートハウス的な機能があるのではないかという期待もあるのだが、まだ調べていないのでなんともいえない。この後調べる予定だ。
さて、次に SwitchBot スマートプラグのセットアップを行った。先ほど説明し忘れたが、Hub Mini は Wi-Fi 経由で制御する。スマートプラグも同様に Wi-Fi 経由でスケジュールの設定をしたりすることができる。
スマートプラグの Wi-Fi 初期設定では、まず iPhone とスマートプラグを Wi-Fi 接続して(スマートプラグが Wi-Fi ルータ的な振る舞いをして)その後、Wi-Fi の SSID とパスワードを入力するという、独特な設定方式だった。
多少時間はかかったが無事セットアップを終えることができた。そしてこのスマートプラグを、電源タップのアウトレットとルータのプラグの間にかませた。
試しに iPhone アプリでスマートプラグの電源をオフにしてみると……。大成功! 見事、ルータの電源をオフにすることができた。
ところが、ここで困ったことが起きた。Wi-Fi 経由で操作しているため、ルータの電源をオフにしたことで iPhone とスマートプラグの接続が切断され、再度オンにすることができなくなってしまった。
でも、これに関しては特に問題なかった。スマートプラグについているボタンを押すことで、スタンドアローンな状態で手動でオン、オフを御することができた。
その後、Hub Mini と同じようにスケジュール設定を行った。23 時にルータの電源を切り、7 時にオンにする設定を追加した。
試しに現在時刻 2 分後くらいに電源が切れるようにして、その 5 分後くらいに再び電源がオンになるようにスケジュールをいじってみた。すると、ちゃんと動作してくれた。とてもテンションが上がった。
しかしここでまた問題が発生した。ルータで動作するならモデムにつないでも同じことが実現できると思い、モデムに差し替えて 10 分後くらいに電源がオンになるように設定したら、正しく動作しなくなってしまった。1 分後に設定したら問題なく動作した。
この結果から考察できることは……
- 5 分くらいだったら Wi-Fi につながっていなくても動作するが、それ以上(10 分とか)になると動作しなくなる
- モデムではなくルータにつながないといけない
モデムの電源を切ろうがルータの電源を切ろうが、インターネットに接続できないという点では同じだから、可能性があるとすれば、Wi-Fi につながっていないと 5 分以上のスケジューリングは機能してくれないと考えるのが妥当だと判断した。
とはいえ、モデムの電源をオンにするくらいは手動で行っても良いと思った。それより、Hub Mini のほうで、朝、電気が点くようになってくれれば問題ない、と。
ところが、さらに落胆することとなった。なんと、Hub Mini のほうも Wi-Fi に接続できていないと、たとえスケジュールを設定していたとしても動作しないことに気づいてしまった。つまり、朝、電気を点灯する設定にしていても、そのときルータの電源が切れていると動作しないということになる。
なんてこった……。せっかく素晴らしい環境が整うと思ったのに、まさか Wi-Fi につながっていないとスケジューリングが機能しないとは……。
しかし、諦めるのはまだ早い。もう一つの可能性、モデムではなくルータに接続してみれば、Wi-Fi がつながらなくてもスケジュールが正しく機能してくれるかもしれない。そう思い、ルータにつなげ直し、電源がオフになった状態で、少し長めの 30 分後に再びオンになるかどうか実験した。これでオンになってくれれば、おそらく本番の 8 時間後(23 時にオフにして 7 時にオンにする)でも動作してくれるだろうと信じて。
結果、なんと正しく動作した! なぜかモデムの電源を切るとうまくいかなかったのに、ルータだったら 30 分後でも正しくスケジューリングが機能したのだ。どちらにしてもインターネットにつながらない状況なので完全に謎なのだが、モデムの電源をオフにすると何かマズかったのだろう。理由はよくわからないが、とにかく実現したいことができそうなことに安堵した。まだ 8 時間後が正常に動くかは実際に今夜試してみないとなんともいえないが、たぶん大丈夫だろう。そんな気がする。
ということで、いろいろと不安要素がてんこ盛りだったが、いろいろ実験してみて、なんとか想定通りのことができそうだ。いや、想定以上のことが実現できそうである。購入前は、ルータの電源と電気を夜に切るだけだったのが、朝すっきり起きるために電気を点けることまでできてしまうなんて。いやはや、僥倖であった。
インターネットに接続されていないと Hub Mini は正しく動作しないことを考えると、消灯と同時にルータの電源を切り、点灯と同時にルータの電源を入れるスケジュールにしていると、順番が前後して、消灯と点灯がうまくいかない可能性がある。これを踏まえて、以下のように 5 分ずらすことにした。
アクション | スケジュール |
---|---|
消灯 | 23:00 |
ルータの電源 OFF | 23:05 |
ルータの電源 ON | 7:00 |
点灯 | 7:05 |
これで、消灯してからルータの電源を切り、ルータの電源を入れてから点灯することになるので問題なかろう。
設定しているなかでいろいろとひやひやすることはあったが、なんとかやりたいことが実現できそうで良かった。いろいろと実験してみて良かった。モデムだけにつないで試していたら、インターネットにつながっていないとスケジュールは機能しないんだと思い込んで気づかなかったかもしれないから。
最後に、一応、SwitchBot Hub Mini の気になった点やデメリットをあげておくと、
- ボタンの長押しができない
- 状態がわからない
- 完全にマッチするリモコンが存在しないことが多く、一部のボタンが押せない
1 は、電気の光度調整ボタンについてだ。電気のリモコンでは、光度を上げるボタン(または下げるボタン)を長押しすることで光度を連続的に上げたり(下げたり)することができる。ところが、SwitchBot Hub Mini には長押しというオプションがないので、連打しないといけない。
さらに、自動で一番暗くしたりすることができない。スケジュールのディレイ機能を使って、1 秒ごとに光度を下げるボタンを 1 回ずつ、合計 100 回押すような設定を入れてみたが、うまくいかなかった。
また、iOS のショートカットで、「光度を下げる」を 100 回ループの中に入れて実行してみたが、これもダメだった。1 回実行するごとにネットワーク経由で Hub Mini に命令を出すため、光度を 1 下げるだけで 5 秒くらいかかる。最大光度のときに最低光度まで下げるには 100 回くらい実行しないといけないから、どう考えても現実的じゃなかった。
2 の状態に関しては、テレビの電源ボタンもそうなのだが、もっと問題だったのはエアコンだった。実はエアコンも登録していたのだが、ほとんど使い物にならないなと感じた。なぜなら、状態がわからないから。
アプリ画面上には現在温度や風量、冷房なのか暖房なのかなどが表示されてはいるが、これはエアコンと連動しているわけではない。なので、アプリ上で「25℃」と表示されていても、果たして本当にエアコンが 25℃ なのかはわからない。この状態で温度を 1 上げても、アプリ上では「26℃」と表記されるが、本当に 26℃ になったのかはわからない。
また、冷房や暖房の切り替えに関しても、「冷房」や「暖房」というボタンではなく、これらがトグルされる形式になっていて、しかもエアコンの状態とは連動していない。なので、アプリ上で「冷房」と書かれていて、実はエアコンは暖房だったときに、ボタンを押して「暖房」にすると冷房になってしまう可能性がある。冷房と暖房の他に「除湿」など別の項目もあるので余計に状態がややこしくなっている。
エアコンのリモコンの表記とも連動しないので、エアコンのリモコンと SwitchBot アプリ両方でいじってしまうと、もはや今のエアコンの設定がどうなっているのか皆目検討がつかなくなる。
エアコンに関しては強制的につけたり消したりする必要もないので今まで通りリモコンで操作すれば良いかなと思った。「温度が ○○℃ 以上になったらエアコンを点ける」なども、SwitchBot Hub mini には温湿度機能がついていなくてできないし。それに、音声でつけたり消したりはできるが、リモコンのほうが早かったりするし。
最後の 3 に関しては説明した通りだ。Bravia なのに完全一致するリモコンパターンが一つも存在しなかった。エアコンに関しては、いくつかのパターンから選ぶことなく一意に定まったので、完全マッチしているかと思ったが実際には足りないボタンがいくつかあったし。
などなど。まあ他にも考えたらいろいろ出てくるかもしれないが、たいした問題ではないだろう。なにせ、本来やりたかったことは消灯とルータの電源オフだけだったのだから。ついでにいうと消灯も、SwitchBot について調べたことにより、もしかしたらそういうこともできるかも? と思って、Hub Mini を買ったのだから(最初はもちろんタイマースイッチ、つまりスマートプラグだけを買うつもりだった)。
なんだかんだ言って楽しかったし満足している。とはいえ、まだ本番では正しく機能する保証はないので、今日の夜と明日の朝、ちゃんと動作してくれることを祈るのみだ。
それよりも重要なのは、ちゃんと寝ることだ。ちゃんと寝るために、23 時までには、やるべきことをすべて済ませておく必要がある。特に日記を書くことはインターネットを使用する上、23 時を過ぎることが多いので注意すべき点だ。
まずは自分自身の生活をスケジューリングして、夜遅くまでやるべきことが残らないように気をつけよう。
Appendix
(this is a private diary)
細かいメモ
- 熟睡アラームは、機内モードだとクラッシュする(記録できない)
- しかし寝る前にオートメーションで機内モードになるようにした(寝る直前まで使ってしまう対策)
- 熟睡アラームは使えなくなってしまうけどまあしかたないか
昼ごはん
バナナ 3 本を、昼ごはんの時間帯というより合間合間にちょこちょこ食べていた感じ。
夜ごはん
夕方くらいに買ってきて、かなり遅い昼ごはんのつもりで食べようと思っていたのだが、SwitchBot のことで書きたいことがたくさんあったので先にそちらを優先していたら、いつの間にか 18 時半とかになっていてもはや夜ごはんになった。