よくあるおうちIoT

この記事は穏やかなぴょこりんクラスタ Advent Calendar 2025 - Adventarのために書いたものです。 このアドベントカレンダーは、こういう趣旨のものです。

サマリ

  • SwitchBotの温湿度計の値を読み取ってGrafana+influxdbで可視化。ソースコードはこれ:
  • 除湿機off時は70%くらいで、除湿機使うと50-60%くらい。50-60%くらいを維持できれば快適。

はじめに

今年は3年ぶりに日本の夏を最初から最後まで味わいました。

我が家は北海道ではないので、当然ながら夏場は毎日非常に湿度が高く、雨降りのようなぬるっと感に浸されておりました。除湿器はリビングに1つしかないので、別の部屋で在宅勤務しているとぬるっと感に浸らざるを得ません。なかなかこの湿度は手ごわく、クーラーで部屋をどれだけ冷やしても、あのさわやかなカリフォルニアにはまったくもって至りませんでした。

では、どうすればよいか。対策は明白で、除湿器を追加で買う以外にありません。これ(衣類乾燥除湿機 – ツインバード公式ストア)を各部屋に買いました。ただ、除湿器を買ったことで湿度はどうなるのか、会社でも現状認識の甘さで怒られている自分としては、どうなっているか定量的に知りたいと思いました。

そんな中、都合よくSwitchBotの温湿度計がセールになってくれました。Switchbotの温湿度計はスマホアプリで温度・湿度のログが見られるようになっています。これはこれでよいのですが、最新のログを見るのに逐一通信しなければならず、Bluetoothの届かないところでは状況がわかりません。つまり、別の部屋にいると状況がわからなくて不便ということですね。 ちょっと調べてみると、Bluetooth のアドバタイズメントに値を載っけて垂れ流しているようで、PCから値を読めそうです。サーバにデータを投げ込めれば、いつでもどこでも見られるようになりますね。 というわけで、やりました。

SwitchBotの温湿度計の値をGrafanaで可視化する

ソースコードは以下においてます。Claude Codeにだいたい書かせました。ただ、さすがにSwitchBot のパケット構造は知らなかったみたいで、めちゃくちゃな値(部屋の温度が70℃とかありえない数字)を出してドヤ顔してきました。そこだけ手直ししましたね。

github.com

Grafanaのダッシュボードはこんな感じになりました。

Grafanaのダッシュボード(1/2)

Grafanaのダッシュボード(2/2)

除湿器を入れてどうなった?

まず、除湿器設定は湿度50%にしました。リビングの除湿器がデフォルトで50%を保つように稼働していて、この設定はからっとしていて気分がいいから、というのが理由です。

上の図のように、外が80-90%程度の高湿度でも、部屋の中は50-60%くらいに保てるようです。サンノゼあたりの8月の平均湿度は65%だそうなので(8月のサンノゼ, アメリカ合衆国の天気:平均気温と気候)なので、湿度50-60%はサンノゼ同等かそれ以上の乾燥具合、という感じですね。体感的にも不愉快さはさっぱり消えました。

じゃあ、除湿器がないとどうなるか。除湿器が止まったとき(00:00-08:00くらい)のグラフがこれです。エアコンが動いているので外と同じくらいにはならないけど、70%手前くらいまで上がってますね。体感的にもじっとりしてるな、という感じでした。平均湿度65%をちょっと超えるだけでこんなに不快になるのすごいな。

除湿器OFFにするとだいたい2時間くらいで外と変わらなくなる

おわりに

除湿器を買って、夏場でも湿度が安定して60%以下に保てるようになり、快適かつ穏やかな生活が送れるようになりました。よかったよかった。