HomePodの温湿度センサーをHome Assistantで取得

HomePod の温湿度センサーを Home Assistant で取得する

みなさんこんにちは、たいくんです。
HomePodに内蔵されている温湿度センサーの情報をHome Assistantに統合できたら便利だなと思った事はありませんか?
この記事では、HomePodに内蔵された温湿度センサーの情報をHome Assistantに送信して、Home Assistantに統合する方法をご紹介します。

広告

特別なHomeKitアクセサリ

HomePodシリーズはHome Assistantとペアリングできない唯一のHomeKitアクセサリ

バックデスクのHomePod miniの温度センサー
大雅の部屋: 24.0°

HomePod(第2世代)とHomePod miniには温湿度センサーが内蔵されており、他のHomeKit対応温湿度センサーと同様の手順で温湿度を確認することができます。
しかし、HomePodシリーズは他のHomeKitアクセサリとは異なり、初期化以外でペアリングを解除することができず、初期化したとしてもApple製品でセットアップする必要があり、センサー単独でペアリングを行うことができません。
そのため、他のHomeKitアクセサリのように、「HomeKitデバイス統合を使ってHome Assistantとペアリングし、HomeKit Bridge統合を使ってHomeKitと共有する」といった使い方ができません。

HomePodシリーズは「ホームハブ」として機能するため「HomeKitの基盤」としての側面が強く、内蔵センサーはあくまでアクセサリというよりも「付随するもの」、つまり、言ってしまえば「おまけ機能」であるため、他のHomeKitアクセサリとは扱いが大きく異なるのです。

ちなみに、メディアの操作やAirPlay 2の操作についてはHomeKitとは独立しているため、Home AssistantのApple TV統合で制御することができます。

広告

Home Assistantにセンサー情報を送信する方法

HomeKitから情報を送信する方法を取る

先ほど説明したように、HomePodシリーズはHome Assistantと直接ペアリングすることができません。
そのため、Home Assistantと直接ペアリングするのではなく、HomeKitのオートメーション機能を使って、HomePodシリーズのセンサー情報を定期的にHome Assistantに送信するというアプローチを取ります。
実際にこのアプローチでHome Assistantに統合している方を見つけましたので、この記事では最新バージョンで利用可能な手順に変更し、より詳しく解説していきます。

Home Assistantには「REST API」機能があり、Home Assistantと直接通信できないデバイスでも、API機能の1つを使ってデータを送信することでHome Assistantに統合することができます。

APIの準備

REST APIを使用できるようにする

デフォルトではREST API機能が有効になっていないため、API統合を設定して、REST APIを使えるようにします。

API統合はconfiguration.yamlから設定する必要がありますが、とても簡単です。

File editorアドオンがインストールされている場合は、File editorアドオンを開き、左上のフォルダアイコンをクリックしたら「configuration.yaml」をクリックして開きます。

configuration.yamlを開くことができたら、お好みの場所に以下のコードをインデント(先頭のスペース)なしで記述してください。

api:

記述できたら、右上の赤い保存ボタンをクリックし、Home Assistantを再起動します。
これで、API統合の設定は完了です。

アクセストークンを取得する

次は、REST APIで使用するアクセストークンを取得します。

セキュリティ設定

左下のユーザー名をクリックしてユーザー設定から「セキュリティ」と進むか、以下のボタンからセキュリティ設定を開きます。

Open your Home Assistant instance and show your Home Assistant user's security options.

次に、一番下にスクロールし、「長期間有効なアクセストークン」のところにある「トークンの作成」をクリックします。

トークンに名前をつける

アクセストークンに「HomeKitセンサーの更新」などのようなわかりやすい名前をつけ、「OK」をクリックします。

アクセストークンをコピーしてください。再表示される...

アクセストークンが表示されるので、どこか安全な場所にコピーしておきます。
このトークンは一度しか表示されないのでご注意ください。

これで、REST APIを使用する準備ができました。

なお、アクセストークンは厳重に管理してください。作成したトークンが外部に流出すると、流出したトークンを使ってHome Assistantを不正に操作されてしまう危険性があります(特に、Home Assistantサーバーを外部に公開している場合)。
また、全く使っていないアクセストークンがある場合は残しておかず、削除するようにしましょう(使っているアクセストークンを削除してしまうと、そのトークンを使っているサービスが正常に動作しなくなり、再設定が必要になります)。

広告

切り替えヘルパーを設定する

切り替えヘルパーを作成する

HomeKitのオートメーションをトリガーするために使用する切り替え(真偽値入力 / Input boolean)ヘルパーを作成します。

まだヘルパーがないようです!

Home Assistantの「設定」→「デバイスとサービス」→「ヘルパー」と進むか、以下のボタンからヘルパー設定を開きます。

Open your Home Assistant instance and show your helper entities.

ヘルパー設定を開いたら、右下の「ヘルパーを作成」をクリックします。

ヘルパーを作成

ヘルパーの作成画面が表示されたら、「切り替え」を選択します。

作成 切り替え

お好みの名前とアイコンを設定します。
名前は「HomeKitセンサーの更新」のようなわかりやすいものに設定しておくことをおすすめします。
設定したら右下の「作成」をクリックします。

切り替えヘルパーが作成できたら、作成したヘルパーの設定からエンティティIDを「update_homekit_sensors」のようなわかりやすいものに変更しておくことをおすすめします。

作成したヘルパーをHomeKitに公開する

後でHomeKitのオートメーションで使うために、HomeKit Bridge統合を使って、先ほど作成した切り替えヘルパーをHomeKitに公開します。

何を追加しますか?

Home Assistantの「設定」→「デバイスとサービス」と進んで「HomeKit Bridge」統合を検索するか、以下のボタンからHomeKit Bridge統合の設定を始めます。

Open your Home Assistant instance and start setting up a new integration.
含めるドメインの選択

含めるドメイン」には「Input Boolean」を選択して、右下の「送信」をクリックします。

モードとドメインを選択します。

統合が作成できたら作成した統合の設定を開き、「インクルージョンモード」を「include」に変更して、右下の「送信」をクリックします。

含めるエンティティを選択

含めるエンティティを選択」では、先ほど作成した切り替えヘルパーを追加して、右下の「送信」をクリックします。

HomeKit Pairing

通知を開くとこのような画面が表示されるので、iPhoneやiPadを使ってHomeKitとペアリングします。

ペアリングした後にこのようなスイッチが追加されていれば問題ありません。

広告

オートメーションを設定する

先ほど作成したヘルパーを切り替えるオートメーションを作成する

次は、HomeKitのオートメーションを自動的にトリガーするため、先ほど作成したヘルパーを定期的に切り替えるHome Assistantのオートメーションを作成します。

オートメーションを始める

Home Assistantの「設定」→「オートメーションとシーン」と進むか、以下のボタンからオートメーションの設定を開きます。

Open your Home Assistant instance and show your automations.

オートメーションの設定が開いたら、右下の「オートメーションの作成」をクリックします。

新しいオートメーションを作成する

新しいオートメーションの作成画面が表示されたら、「新しいオートメーションを作成」をクリックします。

新しいオートメーション
YAML で編集

このオートメーションを作成するには次の2つの方法があります。

  1. コードを貼り付けて作成する
    • コピペだけで簡単に作成できます。
  2. UIを使って手動で作成する
    • コード貼り付けよりも少し時間がかかりますが、そこまで難しくはありません。

どちらの手順も結果は同じですので、お好みの手順で作成してください。

1つ目のコードを貼り付けて作成するには、新しいオートメーションの画面で右上の「」から「YAML で編集」をクリックします。

新しいオートメーション

このような画面になったら、画面上に表示されているコードを全て削除します。
その後、以下のコードをコピーして貼り付けます。

alias: HomeKitセンサーの更新
description: ""
triggers:
  - trigger: time_pattern
    seconds: /30
conditions: []
actions:
  - action: input_boolean.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.update_homekit_sensors
  - delay:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.update_homekit_sensors
mode: single
オートメーションの説明(クリックで開閉)

このオートメーションは、30秒ごとに「切り替えヘルパーをオン → 1秒待機 → オフ」を行います。
後で、切り替えヘルパーがオンになった時にHomePodのセンサー情報をHome Assistantに送信するように設定するので、タイムパターンで設定した時間がセンサーの更新間隔となります。

オートメーションの名前(alias)を変更したい場合や先ほど作成した切り替えヘルパーのエンティティ名(input_boolean.update_homekit_sensors)が異なる場合は各自置き換えてください。

HomeKitセンサーの更新

正しく貼り付けられたら、右下の「保存」をクリックします。
これで、オートメーションの作成は完了です。

新しいオートメーション

2つ目の手動で作成する場合は、「いつ(When)」のところの「トリガーを追加」をクリックして「時間と場所」→「タイムパターン」からタイムパターンを追加します。
タイムパターンの「」のところに「/30」と入力します。

新しいオートメーション

次に「どうする(Then do)」のところに、次の3つのブロックを順番に追加します。

  1. 真偽値入力(Booleans): オンにする
    • 「アクションを追加」→「ヘルパー」→「真偽値入力(Booleans)」→「オンにする」
  2. 遅延
    • 「構成要素」→「時間が経つのを待つ(遅延)」
  3. 真偽値入力(Booleans): オフにする
    • 「アクションを追加」→「ヘルパー」→「真偽値入力(Booleans)」→「オフにする」

「真偽値入力(Booleans)」のエンティティには、先ほど作成した切り替えヘルパーを選択します。
「遅延」は1秒(0:00:01:000)に設定します。

正しく設定できたら、右下の「保存」をクリックします。

オートメーションの説明(クリックで開閉)

このオートメーションは、30秒ごとに「切り替えヘルパーをオン → 1秒待機 → オフ」を行います。
後で、切り替えヘルパーがオンになった時にHomePodのセンサー情報をHome Assistantに送信するように設定するので、タイムパターンで設定した時間がセンサーの更新間隔となります。

保存
HomeKitセンサーの更新

保存画面が表示されたら、「名前」に「HomeKitセンサーの更新」などのようなわかりやすい名前を入力して、右下の「保存」をクリックします。
これで、オートメーションの作成は完了です。

オートメーションによるトリガー
HomeKitセンサーの更新 時間のパターンによってトリガー

オートメーションが作成できたら、先ほど作成した切り替えヘルパーの履歴を表示し、指定した時間ごと(今回は30秒ごと)にオン・オフが切り替えられていることを確認します。
指定した時間以上が経過しても切り替わらない場合、作成したオートメーションが正しく保存されているか、オフになっていないかご確認ください。

広告

HomePodのセンサー情報を送信するオートメーションを作成する

切り替えヘルパーがオンになった際に、HomePodのセンサー情報をHome Assistantに送信するHomeKitのオートメーションを作成します。

オートメーションを追加

このオートメーションはmacOSでは作成できない(使用する変数の挿入がmacOSではできないバグや、途中の手順で必ずアプリがクラッシュしてしまうバグがある)ため、iPhoneまたはiPadを使用する必要があります。

iPhoneまたはiPadで「ホーム」アプリを開き、右上の「+」ボタンから「オートメーションを追加」をタップします。

新規オートメーション

新規オートメーションの画面が表示されたら、「アクセサリがコントロールされたとき」を選択します。

アクセサリオートメーション

オートメーションをトリガーするアクセサリに先ほど作成した切り替えヘルパーを選択し、「オンになった」にチェックを入れて次に進みます。

自動化するシーンとアクセサリを選択してください。

自動化するシーンとアクセサリの選択画面が表示されたら、一番下にある「ショートカットに変換」をタップします。

ショートカット

ショートカットの設定画面が表示されるので、最初から追加されている「シーンとアクセサリを設定」を削除します。

ショートカット

「ホーム」アプリの「状態を取得」アクションを追加し、取得したいセンサーを割り当てます。
このアクションは、取得したい(Home Assistantに送信したい)センサーの数だけ追加する必要があります(複数のHomePodがある場合、そのHomePodの分も追加します)。

広告
ショートカット

次に、アクションの検索欄に「URL」と入力し、「URLの内容を取得」アクションを追加します。
まずは温度センサーを送信するアクションを設定します。


URL」の部分に、次のURLを入力します。

http://homeassistant.local:8123/api/states/sensor.お好みのエンティティID_temperature_by_api

「homeassistant.local」のところはHome AssistantサーバーのIPアドレスやドメイン名でも問題ありません。
お好みのエンティティID」のところは、Home Assistantに表示させるエンティティIDを入力します。英数字と「_」(アンダースコア)のみ使用可能です(例: 「restroom_homepod_mini」)。


アクション名のところにある下向きの矢印をタップして広げた後、「方法」のところにある「GET」をタップして「POST」に変更します。


ヘッダ」をタップしたら「新規ヘッダを追加」をタップし、次のように入力します。

  • キー: Authorization
  • テキスト: 「Bearer 」(最後の半角スペース1つを含む)と入力した後、続けてアクセストークンを入力
    • 例: 「Bearer xxxxxxxxxxxxxxx」

本文を要求」が「JSON」になっていることを確認し、「新規フィールドを追加」をタップします。

1つ目は「数字」のフィールドを追加し、次のように入力します。

  • キー: state
  • 数字: 取得したいHomePodの「現在の温度」の変数を挿入
    • 複数のHomePodがあってどれがどの変数かがわからない場合は、左下の「変数を選択」をタップして、先ほど設定した「状態を取得」アクションの下にある使用したいHomePodの変数をタップして挿入します。

2つ目は「辞書」のフィールドを追加し、次のように入力します。

  • キー: attributes

0項目」と書かれているところをタップし、辞書の設定画面を開きます。

attributes

辞書の追加画面が開いたら、「新規フィールドを追加」をタップし、複数の「テキスト」フィールドを追加します。

それぞれのフィールドに、以下のように入力します(順不同)。

  • 1つ目
    • キー: device_class
    • テキスト: temperature
  • 2つ目
    • キー: state_class
    • テキスト: measurement
  • 3つ目
    • キー: unit_of_measurement
    • テキスト: °C
  • 4つ目(オプション。なくても良い)
    • キー: friendly_name
    • テキスト: Home Assistantに表示させるセンサーの名前
      • 例: 「トイレのHomePod miniの温度センサー」

フィールドが追加できたら、「完了」をタップします。これで、温度センサーを送信するアクションの設定は完了です。

ショートカット

次は、湿度センサーを送信するアクションを設定します。もう一つ「URLの内容を取得」アクションを追加します。


URL」の部分に、次のURLを入力します。

http://homeassistant.local:8123/api/states/sensor.お好みのエンティティID_humidity_by_api

「homeassistant.local」のところはHome AssistantサーバーのIPアドレスやドメイン名でも問題ありません。
お好みのエンティティID」のところは、Home Assistantに表示させるエンティティIDを入力します。英数字と「_」(アンダースコア)のみ使用可能です(例: 「restroom_homepod_mini」)。


アクション名のところにある下向きの矢印をタップして広げた後、「方法」のところにある「GET」をタップして「POST」に変更します。


ヘッダ」をタップしたら「新規ヘッダを追加」をタップし、次のように入力します。

  • キー: Authorization
  • テキスト: 「Bearer 」(最後の半角スペース1つを含む)と入力した後、続けてアクセストークンを入力
    • 例: 「Bearer xxxxxxxxxxxxxxx」

本文を要求」が「JSON」になっていることを確認し、「新規フィールドを追加」をタップします。

1つ目は「数字」のフィールドを追加し、次のように入力します。

  • キー: state
  • 数字: 取得したいHomePodの「現在の相対湿度」の変数を挿入
    • 複数のHomePodがあってどれがどの変数かがわからない場合は、「変数を選択」をタップして、先ほど設定した「状態を取得」アクションの下にある使用したいHomePodの変数をタップして挿入します。

2つ目は「辞書」のフィールドを追加し、次のように入力します。

  • キー: attributes

0項目」と書かれているところをタップし、辞書の設定画面を開きます。

attributes

辞書の追加画面が開いたら、「新規フィールドを追加」をタップし、複数の「テキスト」フィールドを追加します。

それぞれのフィールドに、以下のように入力します(順不同)。

  • 1つ目
    • キー: device_class
    • テキスト: humidity
  • 2つ目
    • キー: state_class
    • テキスト: measurement
  • 3つ目
    • キー: unit_of_measurement
    • テキスト: %
  • 4つ目(オプション。なくても良い)
    • キー: friendly_name
    • テキスト: Home Assistantに表示させるセンサーの名前
      • 例: 「トイレのHomePod miniの湿度センサー」

フィールドが追加できたら、「完了」をタップします。これで、湿度センサーを送信するアクションも設定は完了です。

他にも設定したいHomePodがある場合は、他のHomePodの分も同様に設定します。
入力する項目が多くて何度も繰り返すのは大変なので、「URLの内容を取得」アクションのアイコンをタップして「複製」をタップすることで同じアクションを複製することができますので、複製してから編集すると簡単です。

オートメーションが設定できたら、右上の「完了」をタップします。

大雅の部屋の HomeKitセンサーの収集がオンになった

このような画面が表示されたら、必要に応じてオートメーションの名前を設定し、右上の「完了」をタップします。
これで、オートメーションの設定は完了です。

オートメーションが作成できたら、Home Assistantの「設定」→「デバイスとサービス」→「エンティティ」と進むか、以下のボタンからエンティティの一覧を表示します。

Open your Home Assistant instance and show your entities.

エンティティの一覧が表示されたら、検索欄に「_by_api」などと入力し、HomePodのセンサーが追加されていることを確認します。
まだ作成されていない場合はオートメーションが作動していない可能性がありますので、少し待ってみてください。
しばらく待ってもセンサーが作成されない場合、アクセストークンなどの設定が間違っている可能性がありますので、先ほど作成したHomeKitオートメーションの設定を開いて正しいことをご確認ください。

HomeKitオートメーションの設定を確認するには(クリックして開閉)

HomeKitオートメーションの設定画面の右下にある再生ボタンをタップすることでオートメーションを手動で実行することができます。
オートメーションを実行した際、最後の「URLの内容を取得」アクションが行われた結果が一番下に表示されるので、何かエラーが表示されていないかご確認ください。

途中のアクションの結果を見たい場合は、見たいアクションの直後に「停止して出力」アクションを配置してオートメーションを実行します。

広告

作成されたセンサーを使いやすくする

テンプレートセンサーを作成する

REST APIを使って作成されたセンサーには、システム的にセンサーを識別するユニークIDが割り当てられていないため、UIからエンティティの設定を変更することができません。
そのため、後からセンサーの名前を変えたりエンティティIDを変更したりすることができないため、このままでは少し不便です。
そのため、テンプレートヘルパーを使って、設定変更ができるテンプレートセンサーを作成します(後からセンサー名やエンティティIDを変更する予定がなく、設定変更ができなくても問題ない場合はこのまま使っても構いません)。

ヘルパーを作成

Home Assistantの「設定」→「デバイスとサービス」→「ヘルパー」と進むか、以下のボタンからヘルパー設定を開きます。

Open your Home Assistant instance and show your helper entities.

ヘルパー設定を開いたら、右下の「ヘルパーを作成」をクリックします。
ヘルパーの作成画面が表示されたら「Template」を選択します。

テンプレートヘルパー

テンプレートヘルパーの選択画面が表示されたら、「センサーのテンプレート」を選択します。

テンプレートセンサー

テンプレートセンサーの設定画面が表示されるので、それぞれ設定していきます。

名前」のところには、お好みのセンサー名を入力します。

状態テンプレート」には以下のコードを入力します。

温度センサーの場合:

{{ states('sensor.APIで作成されたエンティティID_temperature_by_api') }}

湿度センサーの場合:

{{ states('sensor.APIで作成されたエンティティID_humidity_by_api') }}

APIで作成されたエンティティID」の部分は、各自変更してください。

測定単位」には以下のものを選択します。

  • 温度センサーの場合: °C
  • 湿度センサーの場合: %

デバイスクラス」には以下のものを選択します。

  • 温度センサーの場合: 温度
  • 湿度センサーの場合: 湿度

状態クラス」は「測定」を選択します。

デバイス」の部分はお好みで設定してください(Apple TV統合を設定している場合、そのデバイスに割り当てておくとセンサーを見つけやすくなります)。

それぞれ入力したら、下にある「プレビュー」が正しく表示されていることを確認し、右下の「送信」をクリックします。

作成したセンサーは、このように設定変更ができるようになっています。
センサー名に日本語や漢字を入力した場合はエンティティIDがわかりづらいものとなってしまうため、わかりやすいものに変更しておくことをおすすめします。
元のセンサーの「_by_api」をなくした部分に変更しておくとわかりやすいでしょう(例: 「restroom_homepod_mini_temperature_by_api」→「restroom_homepod_mini_temperature」)。

テンプレートセンサーの設定で「デバイス」を割り当てた場合はこのように、統合のデバイス設定画面に追加されます。

トイレのHomePod miniの温度センサー

テンプレートセンサーは、「状態テンプレート」で指定したセンサーの状態変更を常に検知するため、元のセンサーの状態が変わったらすぐにテンプレートセンサーに反映されます。
そのため、Home Assistant上の他の温湿度センサーと同じように使うことができます。

広告

おまけ: HomePod mini内蔵温湿度センサーと他のセンサーを比べてみた

HomePod(第2世代)は持っていないので、HomePod miniと他の温湿度センサーを比べてみました。
なお、正確にキャリブレーションされた温湿度センサーは持っていないため、あくまで参考程度ですのでご了承ください。

温度センサーを比較

温度センサーのグラフ

こちらは、同じ部屋に設置した以下の温湿度計の温度グラフです。

  • Smartmi スマート加湿器2(電源オフ)
  • Dyson Pure Hot + Cool Link HP03(電源オフ、連続モニタリングオン)
  • SwitchBot ハブ2
  • HomePod mini x2

同じ部屋といっても設置場所が異なるのと冷房が入っているため、センサーによって温度差が結構ありますが、こうしてグラフで見ると、HomePod miniに内蔵された温度センサーは他の温度センサーと比べて急激な差は検知しにくいようです。

例えば、他の温度センサーが急激に温度上昇を検知しても、HomePod miniの温度センサーはそれを後から追いかけていくように上昇していくのがわかります。
また、温度が細かく上下しているところでは温度変化をあまり検知せず、平坦なグラフになっているのがわかります。

これはおそらく、HomePod miniの内部で発生した熱の影響を最小限に抑えるようにHomePodソフトウェアで補正をかけて記録しているため、正しい温度になるまで少し時間がかかるのかもしれません。
そのため、HomePod miniに内蔵された温度センサーは、急激な温度変化を検知して作動させるようなオートメーションには向いていません。

ちなみに、SwitchBot ハブ2とバックデスクのHomePod miniは結構近いところに設置してありますが、グラフ上で見ると温度差はそこまで大きくないため、(温度変化が落ち着けば)精度は結構高いのかもしれません。
オートメーションに使う場合は、「28°C以上になったら冷房をつける」のように、しきい値を超えた、または下回ったときに作動させるようなオートメーションに使うのが良さそうです。

また、メインデスクのHomePod miniはエアコンの冷風が当たる場所に置いてあるのですが、風が当たる場所では実際の温度よりも低く記録される傾向があるようです(ソフトウェアの補正が強くかかる?個体差かもしれませんが…)。
メインデスクのHomePod miniは加湿器やHP03に近い場所に置いてありますが、エアコンの冷風が当たっている間はこれらよりもかなり低い温度を報告しています(エアコンを切ると他の温度センサーに近い値になります)。
そのため、HomePod miniを使って温度を記録する際は、あまり風が当たらない場所に設置するのが良さそうです。

ちなみに、加湿器の温度がHP03よりも高いのは、電源を切っているためです。電源を入れると風の流れができてHP03に近い温度になります(電源オフの状態では平坦なグラフですが、電源がオンの際は温度の細かい上下変動もしっかり検知できます)。
HP03は連続モニタリングをオンにしており、電源がオフの状態でも低速でファンが回り、わずかに風の流れがあるため、細かい温度変化を検知できています。

湿度センサーを比較

湿度センサーのグラフ

こちらは同じデバイスの湿度グラフです(わかりやすい場所を抜き出したので温度比較の時とは時間帯が異なります)。

先ほど、HomePod miniの温度センサーは他の温度センサーと比べて少し遅れているのがわかりましたが、湿度のほうはあまり遅れておらず、概ね他の湿度センサーと同じようなタイミングで変化を検知できているのがわかります(多少は遅れていますが)。
ただし、温度センサーと同じく、湿度が細かく上下している箇所では変化をあまり検知できていないようです。

おそらく、湿度の場合はHomePod mini内部で発生した熱の影響をそこまで大きくは受けないため、湿度の補正にあまり時間がかからないのかもしれません(もちろん、大きな温度変化が起きた場合は湿度が大きくかけ離れてしまう事があるとは思いますが…)。
そのため、HomePod miniに内蔵された湿度センサーも、急激な湿度変化を検知して作動させるようなオートメーションには向いていません。

ちなみに、こちらもSwitchBot ハブ2とバックデスクのHomePod miniを見てみると、そこまで大きく差があるわけではないので、湿度に関しても精度は悪くなさそうです。
こちらも温度センサーと同様に、しきい値で作動させるようなオートメーションに使うのが良さそうです。

絶対湿度で比較

絶対湿度のグラフ

先ほどの湿度グラフは相対湿度のグラフだったため、温度によって湿度が変わってしまい、本当の湿度で比較することができませんでした。そのため、同じ時間帯の絶対湿度のグラフがこちらです(「Thermal Comfort」カスタム統合で計算)。

メインデスクのHomePod miniはエアコンの冷風が当たっているため絶対湿度が低くなっていますが、それ以外は概ね同じような絶対湿度となっています。
14時10分ごろにエアコンを止めたため温度が上昇し、絶対湿度も上昇していますが、HomePod miniは温度センサーの反応が遅いため、絶対湿度も正しい値になるまでゆっくり追いかけているような感じです(バックデスクのHomePod miniを見るとわかりますが、まるで平均値をとっているかのよう)。
Thermal Comfort」カスタム統合は温度と相対湿度から絶対湿度を計算しているため、急激な温度変化が起きた際はHomePod miniの温度センサーが急激な温度変化を検知できず、絶対湿度もそれに引っ張られているように見えます。

温度、相対湿度、絶対湿度のグラフ

参考までに、同じ時間帯の温度・相対湿度・絶対湿度のグラフがこちらです。

さいごに

今回は、HomePodシリーズに内蔵されている温湿度センサーの情報をHome Assistantに送信して統合する方法をご紹介しました。
せっかくHomePodを持っているのに、Home Assistantに対応した温湿度センサーを持っていないから追加できない…」という方でも、新たな製品を購入せずに、すでにお持ちのHomePodに内蔵されたセンサーをHome Assistantのダッシュボードに表示させたり、オートメーションで使用したりすることができます。

HomePod内蔵の温湿度センサーは少々クセがありますが、Home Assistantを使っていてHomePodシリーズをお持ちの方はぜひ試してみてはいかがでしょうか。

最後まで読んでくださりありがとうございました。それでは、また!

広告

コメントはこちらから!

記事について気になるところや質問、ご指摘など、以下のコメント欄から気軽にコメントしていただけるとうれしいです!

※コメントの投稿には、無料で作成できるGitHubアカウントが必要です。コメント欄が表示されない場合はページを再読み込みしてみてください。

コメント欄ではMarkdown記法が使用でき、画像を挿入することもできます。ここで使用できるMarkdown記法の詳しい使い方は、入力欄の右下にあるアイコンをクリックすることで確認することができます。