除湿機をSwitchBotで完全自動化する

Featured image of the post

目次

はじめに:カビが怖い

本当にカビが怖い

一人暮らしを始めて最初の一年。

枕元のメガネケースにカビが生え、ビジネスバッグにカビが生え、カバンにカビが生えました。それもリビングで、です。

除湿機持ってないけど暑いからエアコンは掛けて、室温が下がると相対湿度は上昇して、結果カビが生えます。

こうなったらもう除湿機を買うしかありません。

除湿機の自動化における課題

一人暮らしではSwitchBotのハブ2を使ってプチスマートホーム化を進めています。

リビングの照明とエアコンは赤外線だったので真っ先に制御できるようになりました。帰宅前にエアコンの電源を入れるのと、起床時刻に照明ONが便利です。

この流れで、除湿機を買うなら絶対スマートホームに組み込みたいと考えていました。

SwitchBotで家電を制御する方法は主に4通りです。

  1. SwitchBot ボット (指ロボット)
    • 家電の物理的なスイッチやボタンを直接押したり引いたりする
    • ✅ 物理ボタンでON/OFFできる家電を制御可能
    • ❌ 電池交換が必要
  2. SwitchBot プラグミニ (スマートプラグ)
    • 家電の電源プラグを接続し、電力供給自体をON/OFFする
    • ✅ 電源のON/OFFだけで動く家電を制御可能
    • ✅ 消費電力のモニタリングが可能
    • ❌ 電源ONだけでは起動しない家電の操作ができない(テレビ・エアコン・除湿機)
    • ❌ 電源ON/OFF以外の細かい操作ができない(モード切替・温度調整など)
  3. SwitchBot ハブ (赤外線リモコン)
    • 家電の赤外線リモコン信号を学習・模倣し、送信する
    • ✅ 1台で複数の家電を制御可能
    • ❌ 赤外線リモコンがない家電の操作ができない
  4. SwitchBotの家電そのもの
    • Wi-Fiに繋げば動かせる

除湿機はどのように動かせばよいのでしょうか?調べてみると先駆者がいました。

一般的に除湿機は電源ケーブルを抜き差ししても動き出しません。電源「入」のボタンを押したら動きます。つまり、SwitchBotから除湿機を起動するには指ロボットを使う必要があります。

指ロボットは面倒です。指ロボットの動作の完了と家電の動作が完全に一致することを保証できないからです。両面テープが剥がれて実は起動していなかった、旅行中に電源を切りたいのに指ロボットが動かなくてオフにできない、というようなことが起こりかねません。そして、現在の動作の様子(家電が現在電源ONなのかOFFなのか)を指ロボットは把握できません。つまり、指ロボットで家電を制御する場合、スマートプラグを併用して、消費電力をモニターできるようにすることで動作状況の確認と強制電源オフを実現することになります。
同様の問題は赤外線リモコンにも存在しているため、エアコンの方にはスマートプラグを追加しています。

除湿機を動かすために、指ロボットとスマートプラグを組み合わせるということにどうしても耐えられなかったため、解決方法を考えました。

除湿機の自動化の具体的手法

結論から言うと、三菱電機の停電復帰機能が付いた除湿機であれば、スマートプラグ1つで自動化を実現できます。

停電復帰機能とは、停電から復旧した際に、直前の運転状態を記憶し自動で運転を再開する機能のことです。運転中の除湿機の電源を引っこ抜いて停止させても、再度電源を繋げば運転を再開します。

つまり、スマートプラグで電源をON/OFFするだけで制御できるということですね。

僕の調べでは、これができるのは三菱電機の除湿機の一部モデルだけです。三菱電機の除湿機なら何でも良いわけではないので、購入前に型番で検索して取扱説明書の2ページ目によく書かれている特長の欄に停電復帰機能があることを確認しましょう。

Image in a image block

僕は3月にメルカリで見つけたものを購入しました。一番安い時期だと思います。車で実家から運ぶ際に腰痛になったのを数ヶ月引きずったのは酷い思い出です。

オートメーションの条件

全部手動で操作していては、SwitchBotと相性がいい除湿機を買った意味がありません。

SwitchBotにはオートメーションの機能があるので、部屋の湿度を自動で一定の範囲に維持するようなオートメーションを作ります。湿度はハブ2から取得します。

一番簡単な条件式は、相対湿度が〇〇%以上なら除湿オン、相対湿度が〇〇%以下なら除湿オフ、というものでしょう。これだと上限下限の範囲で湿度が推移します。

人が居ない部屋であればこれで良いのですが、僕の場合はリビングに除湿機があり、リビングで寝ています。除湿機はコンプレッサー式なのでうるさいです。家にいる間は自動除湿機能はオフにしたいです。

生活リズムがぐちゃぐちゃなので時刻による条件分岐はできません。iPhoneの位置情報を使って、自宅から100m以内に居る際は自動除湿を実行しないようにします。

Image in a image block
駄目な例

素直に実装するとこうなります。想定する挙動は

  • 外出中に湿度が70%を超えたら除湿ON
  • 部屋にいるときは湿度が70%を超えても除湿はONにならない
  • 湿度が70%を超えた状態で半径100mの範囲外に出ると除湿がONになる

というものです。この場合、3つめのシチュエーションでは何も起こりません。オートメーション自体がトリガされません。

原因はこれです。SwitchBotのオートメーションがトリガされる条件を満たすには瞬時的な変化が必要です。3つめのシチュエーションでは、相対湿度が69%から70%に変化している訳では無いので条件を満たしてないことになっています。

3つのシチュエーションに対応するにはこうです。重複するようですが全部必要です。

Image in a image block
除湿ON のオートメーション条件式

「いつ」の湿度70%以上がトリガ(69%から70%になった瞬間)

  • 除湿機が電源OFF&湿度70%以上(同じなので意味ない)&自宅の範囲外 を満たしていれば除湿ON
  • 除湿機がONのときと自宅に居るときは除湿をONにしない

「いつ」の出発がトリガ

  • 除湿機が電源OFF&湿度70%以上&自宅の範囲外(同じなので意味ない)を満たしていれば除湿ON
  • 除湿機がONのときと湿度が70%未満ときは除湿をONにしない(あとで70%超えたらトリガされる)

面倒ですね。

Image in a image block
除湿ON のオートメーション実行内容

除湿ONでは除湿OFFのオートメーションを有効にして除湿機をONにします。湿気を発生させる原因が屋内にあるなどの理由で下限の湿度に永遠に到達しない場合を考慮して、湿度に関わらず1時間でOFFにするようにしています。

除湿OFFのオートメーションはこうです。

Image in a image block
除湿OFFのオートメーション

そして除湿サイクルリセット のオートメーションがこれです。

Image in a image block
除湿サイクルリセットのオートメーション

なぜ除湿OFFのオートメーションをデフォルトで無効にしているかというと、自室で自分が手動で除湿機をONにしたときに、指定の湿度になったからといって勝手に停止されるとイライラするからです。除湿OFFのオートメーションは除湿ONがトリガされたときにのみ有効化されるようにしています。

オートメーションがこのようになっていれば、自動除湿の待機状態です。

Image in a image block

自動除湿が働いて除湿機がONになっている間だけ全てがONになります。

正常に動作していれば、下のような湿度推移になります。(4時頃に除湿機を停止して就寝し、13時に登校したので自動除湿がトリガ、以降は湿度が上がるごとに自動的にトリガ)

Image in a image block

連続排水システムの構築

タンクの水を捨てる作業から完全に解放されるのでおすすめです。

僕はこの除湿機のタンクに水を一滴も入れないまま、完全に連続排水で使っています。

水は窓のサッシにある穴から外に直接捨てることができます。

Image in a image block
Image in a image block
Image in a image block

自動除湿の効果

今年の夏はリビングのどこにもカビは生えませんでした。

電気代については知りません。