HOME Assistantでのリスク通知設定をCodexに依頼した(屋内外熱中症など)

HOME Assistantで、屋外(ベランダ)と居間と寝室の温度・湿度の情報を取得できているので、それらの情報に基づいて、屋内外の気温上昇、屋内外の熱中症、道路凍結のリスクを通知するように、HOME Assistantのオートメーションを設定した。
手動でもオートメーションの設定はできるが、どのように検知条件を決めるかなども含めてCodexに相談し、設定まで行ってもらったので、その経緯を紹介する。
なお、本記事の内容は、HOME Assistantを導入し、HOME Assistantの外部LLM連携機能(MCP Server)を利用して、外部LLMとHOME Assistantが連携できるように構成した実機(Mac mini)で試したものである。この実機については下記の記事で紹介している。

(注)本記事の内容は正確性を保証するものではない。

(2026年5月19日 追記)YouTube動画を追加しました。 https://youtu.be/8Rhvfr2T8bs


目次

熱中症のリスク通知(屋外)

屋外の熱中症のリスクを通知するオートメーションを設定したいと思います。現状は、屋外の温度と湿度を計測する「温湿度計」しかありませんが、これで有用な設定ができますか。また、そのリスク判断に利用できるHOME Assistantの「統合」や、Webサイトの熱中症に関する指標(オートメーションで入手できるもの)があれば教えてください

(以下、ChatGPT 5.5 Thinkingの回答)

はい、屋外の温度・湿度だけでも「早めの注意喚起」には有用です。
ただし、日本で熱中症リスク判断の中心になる 暑さ指数 WBGT は、湿度・日射/輻射・気温を取り入れる指標で、正式な算出では湿球温度・黒球温度・乾球温度を使います。
屋外WBGTの式にも黒球温度が含まれるため、温湿度計だけでは直射日光・照り返し・風の影響を十分に見られません。(熱中症対策情報) (熱中症対策情報)

結論:おすすめ構成

一番実用的なのは、次の 2段構え です。

使うデータ目的
① 自宅の温湿度計屋外温度・湿度自宅周辺の「暑い・蒸す」を早めに検知
② 外部WBGT環境省WBGT、気象APIなど熱中症リスクの本命判定
③ 通知Home Assistant通知iPhone、Mac mini、Fire TVなどへ通知

WBGTの目安は、25以上:警戒、28以上31未満:厳重警戒、31以上:危険です。
環境省・気象庁の熱中症警戒アラートは、府県予報区などでいずれかの暑さ指数提供地点の日最高WBGTが 33 に達する予測の場合に発表されます。(熱中症対策情報) (熱中症対策情報)

温湿度計だけでできること

温度・湿度だけなら、Home Assistantの Templateセンサー で「ヒートインデックス」または「簡易リスクレベル」を作れます。Home AssistantのTemplate統合は、既存センサー値から別のセンサー値を作る用途に使えます。(Home Assistant)

例として、米国NWSのHeat Index式は気温と相対湿度から体感温度を計算します。ただし、この式は華氏80°F前後以上の暑い条件で使うものなので、日本の熱中症判断では WBGTの代替ではなく補助指標 と考えるのが安全です。(NCEP Weather Prediction Center)

template:
  - sensor:
      - name: "屋外ヒートインデックス"
        unique_id: outdoor_heat_index
        unit_of_measurement: "°C"
        device_class: temperature
        state_class: measurement
        state: >
          {% set t = states('sensor.outdoor_temperature') | float(none) %}
          {% set rh = states('sensor.outdoor_humidity') | float(none) %}
          {% if t is none or rh is none %}
            unknown
          {% else %}
            {% set tf = t * 9 / 5 + 32 %}
            {% if tf < 80 or rh < 40 %}
              {{ t | round(1) }}
            {% else %}
              {% set hi_f =
                -42.379
                + 2.04901523 * tf
                + 10.14333127 * rh
                - 0.22475541 * tf * rh
                - 0.00683783 * tf * tf
                - 0.05481717 * rh * rh
                + 0.00122874 * tf * tf * rh
                + 0.00085282 * tf * rh * rh
                - 0.00000199 * tf * tf * rh * rh
              %}
              {{ ((hi_f - 32) * 5 / 9) | round(1) }}
            {% endif %}
          {% endif %}

      - name: "屋外熱中症リスク簡易判定"
        unique_id: outdoor_heat_risk_simple
        state: >
          {% set hi = states('sensor.outdoor_heat_index') | float(none) %}
          {% set t = states('sensor.outdoor_temperature') | float(none) %}
          {% set rh = states('sensor.outdoor_humidity') | float(none) %}
          {% if hi is none or t is none or rh is none %}
            unknown
          {% elif hi >= 35 or (t >= 33 and rh >= 60) %}
            危険
          {% elif hi >= 32 or (t >= 30 and rh >= 70) %}
            厳重警戒
          {% elif hi >= 29 or (t >= 28 and rh >= 65) %}
            警戒
          {% else %}
            注意以下
          {% endif %}

通知例です。通知統合では、Companion App経由でiPhoneやAndroidに送れます。Home Assistant側では通知先ごとにアクションが表示され、notify.mobile_app_... のような個別通知先を選ぶのが確実です。(Home Assistant)

alias: 熱中症リスク通知(温湿度計ベース)
mode: single

trigger:
  - platform: state
    entity_id: sensor.outdoor_heat_risk_simple
    to:
      - "厳重警戒"
      - "危険"
    for: "00:10:00"

condition:
  - condition: template
    value_template: >
      {{ this.attributes.last_triggered is none
         or (now() - this.attributes.last_triggered).total_seconds() > 7200 }}

action:
  - service: notify.mobile_app_iphone17
    data:
      title: "熱中症リスク"
      message: >
        屋外が{{ states('sensor.outdoor_heat_risk_simple') }}です。
        気温 {{ states('sensor.outdoor_temperature') }}℃、
        湿度 {{ states('sensor.outdoor_humidity') }}%、
        体感目安 {{ states('sensor.outdoor_heat_index') }}℃。

利用できる外部指標・統合

候補Home Assistantでの使い方評価
環境省 熱中症予防情報サイト WBGTCSV取得、Command Line Sensor、REST、Pythonスクリプト等最優先。全国WBGT、予測値、実況値、熱中症警戒アラート情報をCSVで提供。(熱中症対策情報)
環境省 WBGTデータダウンロード/WebAPI自動取得。
ただし高頻度アクセスは避ける
2026年4月22日から過去実況値・予測値のダウンロードやWebAPI対応が案内されています。
自動化ツールからの高頻度アクセスは控えるよう注意書きがあります。(熱中症対策情報)
Open-Meteo統合HA公式統合、またはREST API無料・APIキー不要で気象予報を取得可能。
Open-Meteoは日本のJMAモデルも扱い、APIでは湿度・体感温度・湿球温度なども選べます。(Home Assistant) (Open Meteo)
OpenWeatherMap統合HA公式統合APIキーが必要。humiditydew_pointfeels_like_temperature などのセンサーを作れます。(Home Assistant)
Thermal Comfort(HACS)HACSカスタム統合温湿度から露点、絶対湿度、Heat Index、Humidexなどを作成可能。公式統合ではないため、安定重視ならTemplateで自作でも十分です。(GitHub)
ウェザーニューズ WxTech DataREST API1kmメッシュの熱中症危険度指数WBGTをJSONで取得可能。72時間分・1時間ごとの情報に対応しますが、APIキー利用が前提です。(ウェザーニューズ) (ウェザーニューズ)
WAGRIのWBGT/THI APIREST APIWBGT・温湿度指数THIを提供しますが、有償オプションAPIです。農業・作業安全用途には向きます。(WAGRI)

実装方針としてはこれがよいです

まずは、温湿度計ベースの簡易通知を作り、その後に環境省WBGTのCSV取得を追加するのがよいです。

特におすすめの判定は次の形です。

通知条件 =
  自宅温湿度ベースで「厳重警戒」以上
  または
  環境省WBGTが28以上
  または
  熱中症警戒アラート発表あり

WBGTは生活環境ごとに差が出るため、環境省も身近な場所での確認や、必要に応じて黒球付きWBGT測定機器での独自測定を勧めています。(熱中症対策情報)

追加で精度を上げるなら

屋外温湿度計だけでも使えますが、より安全側にするなら、次を追加するとよいです。

追加するもの効果
屋内温湿度計室内熱中症リスクも検知できる
日射・照度センサー直射日光の影響を補助的に見られる
WBGT計最も確実
スマートプラグ/エアコン統合危険時に冷房・送風・通知を連動できる

最初の実用設定としては、「温湿度計で早めに通知」+「環境省WBGTで本判定」が一番バランスがよいです。


(ChatGPTの回答を添付してCodexに質問)
屋外の熱中症のリスクを通知するオートメーションを設定したいと思います。ChatGPTに相談したところ、添付文書の回答を得ました。温湿度計だけで有用な設定ができますか。まず、実現方法を検討し、提案してください。また、おすすめの外部指標があれば教えてください

(以下、Codexの回答)

結論
温湿度計だけでも「早めの注意喚起」としては有用です。
ただし、屋外熱中症リスクの本命指標である WBGT は、湿度・日射/輻射・気温を含む指標なので、温度と湿度だけでは直射日光、照り返し、風の影響を拾い切れません。
添付文書の「温湿度計ベース + 外部WBGT」の2段構えはかなり妥当です。

おすすめ構成

  1. 第1段階: 温湿度計だけで簡易通知
  • 気温・湿度から簡易リスクを作る
  • 例: 警戒厳重警戒危険
  • 10分以上継続したら通知
  • 2時間に1回など、通知しすぎ防止を入れる
  1. 第2段階: 環境省WBGTを追加
  • 近い観測地点の WBGT 実況値・予測値を取得
  • WBGT 28以上 で厳重警戒、31以上 で危険、33以上 相当なら強い通知
  • 環境省の目安でも、WBGT は 25以上28未満: 警戒28以上31未満: 厳重警戒31以上: 危険 です。環境省 WBGT説明
  1. 第3段階: 熱中症警戒アラートを加味
  • 府県予報区等で日最高WBGT予測が 33 に達する場合に発表されます。環境省 熱中症警戒アラート
  • アラート発表日は、温湿度計の値がまだ低くても朝に通知する価値があります。

外部指標のおすすめ順位

  1. 環境省 暑さ指数 WBGT
  • 最優先です。
  • 2026年時点で、WBGTの実況値・予測値はCSV/API取得に対応しています。環境省 WBGTデータダウンロード
  • ただし高頻度アクセスは避ける注意があります。Home Assistantでは30分から1時間に1回程度がよさそうです。
  1. Open-Meteo
  • APIキー不要で使いやすい補助情報源です。
  • Home Assistant公式統合があります。Home Assistant Open-Meteo
  • APIでは気温、湿度、体感温度、湿球温度、風なども扱えます。Open-Meteo Docs
  • ただし日本の熱中症判定なら、Open-Meteo単独より環境省WBGTを優先したいです。
  1. OpenWeatherMap
  • Home Assistant公式統合あり。
  • 湿度、露点、体感温度などを取得できます。Home Assistant OpenWeatherMap
  • APIキーやプラン管理が必要なので、まずは環境省WBGT + Open-Meteoで十分だと思います。

私ならこう実装します
まずは既存の屋外温湿度計で「簡易リスク通知」を作り、その後に環境省WBGTを追加します。通知条件は次の形が扱いやすいです。

通知する:
- 自宅温湿度ベースで「厳重警戒」以上が10分継続
または
- 環境省WBGTが28以上
または
- 熱中症警戒アラート発表あり

強い通知:
- 環境省WBGTが31以上
または
- 自宅温度が33度以上かつ湿度60%以上

過去の Home Assistant 作業メモでは、温度センサーは sensor.wen_shi_du_ji_temperature、通知先は iPhone17FireTVMac mini まで実際に使えています。湿度センサー名と、最寄りのWBGT地点は実機確認してから決めるのがよいです。


環境省WBGTについて教えてください。事前に手動でAPI取得作業が必要ですか。また、1時間ごとに取得する頻度で問題なさそうですか

はい、事前に手動でAPI取得申請やAPIキー発行は基本的に不要です。

環境省WBGTは、地点番号や都道府県名を使ったCSVファイルをHTTPSで取得できます。たとえば説明書では、地点別の予測値は次のようなURL形式です。

https://www.wbgt.env.go.jp/prev15WG/dl/yohou_地点番号.csv

実況値は月ごとに次のようなURL形式です。

https://www.wbgt.env.go.jp/est15WG/dl/wbgt_地点番号_年月.csv

つまり必要なのは、最初に一度だけ 最寄りのWBGT地点番号を決めること です。これは手動確認でも、地点一覧から探す形でも大丈夫です。その後は Home Assistant 側でREST/Command Line/Pythonなどから自動取得できます。

1時間ごとの取得頻度
1時間ごとで問題なさそうです。むしろ適切です。

環境省の説明では、WBGT予測値は1時間に1回、30分頃に更新、実況値は1時間に2回、25分頃と45分頃に更新されます。また、自動取得では更新直後を避け、少し時間を置くよう案内されています。

なので実装するなら、例えば:

毎時 35分または50分ごろに取得

がよいです。予測値中心なら毎時35分、実況値も安定して拾いたいなら毎時50分あたりが無難です。

注意点は、環境省ページにも「自動化ツールからの高頻度アクセスは控えてください」とあるので、5分ごと、10分ごと取得は避けるのがよいです。家庭用の熱中症通知なら1時間ごとで十分実用的だと思います。

参考:


環境省WBGTについて教えてください。事前にユーザーがそのWebサイトで「地点番号」を調べ、Codexに通知すればいいですか

はい、その方法で大丈夫です。最初の設定に必要なのは、基本的に 「最寄りの環境省WBGT地点番号」 です。

やり方は2通りあります。

方法A: ユーザーが地点番号を調べてCodexに伝える
これが一番確実です。

例:

環境省WBGTの地点番号は 44132 です

のように教えてもらえれば、その地点のCSV取得URLを使って Home Assistant 用のセンサー化を設計できます。

方法B: 地域名だけ教えて、Codexが候補を調べる
たとえば、

横浜市付近で探してください

のように言ってもらえれば、こちらで環境省の地点一覧やデータ仕様から近そうな地点を確認できます。ただし「自宅に最も近い地点」を厳密に選ぶには、地域名や最寄りの市区町村程度は必要です。

実装上は、地点番号が分かると次のようなURLを使います。

予測値:
https://www.wbgt.env.go.jp/prev15WG/dl/yohou_地点番号.csv

実況値:
https://www.wbgt.env.go.jp/est15WG/dl/wbgt_地点番号_年月.csv

なので、事前作業としては 地点番号を1つ決めるだけ で十分です。APIキー登録やログインは基本不要です。

おすすめは、まずユーザー側で環境省サイトの「全国の暑さ指数」から最寄り地点を見て、地点名または地点番号を教えてもらう形です。地点番号まで分からなければ、地点名だけでも次に進められます。

参考: 環境省 WBGTデータダウンロード


環境省WBGTから添付ファイルの情報をダウンロードできました。地点番号は、”*****”です。環境省WBGTのデータ(実況値)を、毎時50分ごろに拾って、この情報も利用する案で、設定を作成してください

設定を作成しました。

作った構成はこうです。

  • 環境省WBGT地点: *****
  • Home Assistant センサー: sensor.env_wbgt_*****
  • 現在取得できた値: 21.0
  • リスク目安: 注意
  • 観測時刻: 2026-05-18T17:00
  • 取得元: https://www.wbgt.env.go.jp/est15WG/dl/wbgt_*****_202605.csv

Home Assistant側には、次の通知オートメーションを作成済みです。

  • 屋外熱中症リスク通知(環境省WBGT *****)
  • 状態: on
  • 条件:
  • 環境省WBGTが 28以上
  • または温湿度計が高温多湿条件に入った場合
  • 通知先:
  • iPhone17
  • Fire TV
  • Mac mini
  • 通知しすぎ防止:
  • 前回通知から2時間以内は再通知しない

毎時50分の取得については、macOSのLaunchAgent/crontab登録がこの実行環境の書き込み制限で直接登録できなかったため、Codexアプリ側の定期実行として作成しました。

  • 定期実行名: 環境省WBGT *****をHome Assistantへ送信
  • スケジュール: 毎時50分
  • 実行内容: 環境省WBGTを取得し、Home Assistantへ sensor.env_wbgt_***** として送信

取得スクリプトも作成済みです: push_env_wbgt.py

補足として、この sensor.env_wbgt_***** は外部取得ジョブがHome Assistantへ値を送る方式です。
Home Assistantを再起動して一時的に消えても、次回の毎時50分取得で再作成されます。


作成されたオートメーションの設定(詳細省略)

同じように見える「テンプレート」でも、中身は違う。


熱中症のリスク通知(屋内)

「屋外熱中症リスク通知(環境省WBGT *****)」の通知設定を行ってもらいましたが、今度は、「ハブ2 居間」の温度と湿度に基づいて、居間熱中症リスク通知の設定を行ってください

設定しました。

Home Assistant上では、次のオートメーションが on になっています。

居間熱中症リスク通知(ハブ2 居間)

使っているセンサーは以下です。

  • sensor.hahu2_ju_jian_temperature: 現在 25℃
  • sensor.hahu2_ju_jian_humidity: 現在 52%

通知条件は、居間の温湿度が10分継続して次のいずれかに入った場合です。

  • 33℃以上 かつ 湿度60%以上: 危険
  • 30℃以上 かつ 湿度70%以上: 厳重警戒
  • 28℃以上 かつ 湿度80%以上: 厳重警戒

通知先は前回と同じく、iPhone17Fire TVMac mini にしています。通知しすぎ防止として、前回通知から2時間以内は再通知しない設定です。

現在値は 25℃ / 52% なので、今すぐ通知される状態ではありません。


作成されたオートメーションの設定(詳細省略)


道路凍結のリスク通知

まず、ChatGPT 5.5 Thinkingに実現方法を相談し、その回答をCodexに渡して具体的な実装方法の検討を行ってもらい、設定も行ってもらった。

冬の時期に、道路が凍結する可能性を通知するオートメーションを設定したいと思います。現状は、屋外の温度と湿度を計測する「温湿度計」しかありませんが、これで有用な設定ができますか

(以下、ChatGPT 5.5 Thinkingの回答)

温湿度計だけでも「凍結リスクの早期注意」としては使えます。ただし、道路表面温度・降水・風・日陰・橋の有無までは分からないので、「確定通知」ではなく「注意喚起」として設計するのがよいです。

はい。屋外の温湿度計だけでも、かなり有用な「凍結注意」通知は作れます。
ただし、「道路が実際に凍っている」と断定するものではなく、凍結しやすい条件になったら注意喚起する通知として設計するのが現実的です。

路面凍結は、気温だけでは判断しにくいです。路面温度は外気温と一致せず、日陰・橋・風・放射冷却・前日の雨などで、外気温が0℃以上でも凍結する場合があります。一般に明け方前後は路面温度が下がりやすく、霜・放射霧・湧水などでも凍結の可能性があります。

温湿度計だけでできる実用的な判定

まずは次の3段階がおすすめです。

判定条件例通知内容
注意外気温 5℃以下 かつ 湿度 90%以上霜・路面冷却に注意
警戒外気温 3℃以下 かつ 湿度 80〜85%以上路面凍結の可能性あり
強い警戒外気温 0.5℃以下濡れた路面は凍結の可能性が高い

特におすすめは、「気温3℃以下が10〜30分続き、湿度が高い場合に通知」です。
Home Assistantでは、数値状態トリガーや条件を使って、温度・湿度のしきい値を組み合わせられます。トリガーが成立した後に条件を確認してアクションを実行する仕組みなので、この用途に合っています。

まず作るなら、この条件が現実的です

夜間・早朝の凍結注意

alias: 路面凍結の可能性を通知
description: 屋外温湿度計から凍結リスクを通知
trigger:
- platform: numeric_state
entity_id: sensor.outdoor_temperature
below: 3
for:
minutes: 20

condition:
- condition: numeric_state
entity_id: sensor.outdoor_humidity
above: 80

- condition: or
conditions:
- condition: time
after: "18:00:00"
- condition: time
before: "08:00:00"

action:
- service: notify.mobile_app_iphone17
data:
title: "路面凍結に注意"
message: >
屋外温度が3℃未満で20分以上続き、湿度も高くなっています。
明け方・日陰・橋・濡れた路面では凍結に注意してください。
mode: single

sensor.outdoor_temperaturesensor.outdoor_humidity は、実際の温湿度計のエンティティIDに置き換えてください。

さらに有用にするなら「朝の定時通知」もおすすめです

凍結は外出前に知りたいので、条件成立時だけでなく、毎朝6時〜7時に判定して通知する形も実用的です。

alias: 朝の路面凍結リスク通知
trigger:
- platform: time
at: "06:30:00"

condition:
- condition: numeric_state
entity_id: sensor.outdoor_temperature
below: 3
- condition: numeric_state
entity_id: sensor.outdoor_humidity
above: 80

action:
- service: notify.mobile_app_iphone17
data:
title: "今朝は路面凍結に注意"
message: >
現在の屋外温度と湿度から、路面凍結の可能性があります。
日陰、橋、坂道、濡れた路面では注意してください。
mode: single

できれば追加したい情報

温湿度計だけでも始められますが、精度を上げるなら次の順番です。

  1. 天気予報・降水予報
    前夜に雨、雪、みぞれがあったかを加えると、かなり実用性が上がります。
    Home AssistantにはWeather統合があり、天気エンティティや予報データを扱えます。
  2. 最低気温予報
    「明日の朝の最低気温が3℃以下」なら前夜に通知できます。
  3. 屋外温湿度計の設置場所の見直し
    直射日光、室外機、壁面の熱影響を避けると判定が安定します。
  4. 路面に近い温度センサー
    可能なら地面・玄関先・駐車場付近に近い位置の温度を取ると、道路凍結判定に近づきます。

結論

現状の温湿度計だけでも、
「外気温3℃以下+湿度80%以上+夜間/早朝」
を条件にすれば、かなり実用的な凍結注意通知になります。

ただし、これは「凍結した」という通知ではなく、「凍結しやすい条件になった」通知として使うのが安全です。まずは少し広めに通知して、実際の状況を見ながら、しきい値を 3℃ → 2℃、湿度を 80% → 85% のように調整するのがよいです。

今回は、「できれば追加したい情報」は追加しない。前夜の天気を考慮したり、路面に近い場所(駐車場所のコンクリート面)に温度センサーを設置する方法は割と容易に実現可能で精度向上が期待できそうである。


ChatGPTに道路の凍結の可能性についての通知設定を相談したところ、添付文書(ChatGPTの回答)の回答を得ました。下記の2つのオートメーション設定を作成したいと思います。まず、実現方法を検討し提案してください。
また、Home Assistantの「Weather統合」が、これらの設定に使えるかも教えてください。

・おすすめ設定「気温3℃以下が10〜30分続き、湿度が高い場合に通知」
・「朝の定時通知」

(以下、Codexの回答)

はい、添付文書の内容なら 2本のオートメーションに分けて作るのが扱いやすいです。

提案

  1. 凍結リスク即時通知
  • 条件: 外気温が 3℃以下 の状態が 20分 続く
  • 追加条件: 湿度が 80%以上
  • 時間帯: 夕方から翌朝まで、例 18:00〜08:00
  • 通知: iPhone17、必要なら FireTV / Mac mini にも追加可能
  • 目的: 「今、凍結しやすい条件になった」ことを知らせる
  1. 朝の定時通知
  • 実行時刻: 例 06:30
  • 条件: その時点で外気温 3℃以下、湿度 80%以上
  • 通知: 外出前の確認用
  • 目的: 条件成立の瞬間を逃しても、朝に再判定できるようにする

過去の設定履歴から、この Home Assistant 環境では温度センサーとして sensor.wen_shi_du_ji_temperature、通知先として notify.mobile_app_iphone17 は使えています。湿度センサーの正確な entity_id は、作成前に実機側で確認してから確定するのがよいです。

Weather統合について
使えます。ただし、今回の2本は 温湿度計だけでも作成可能です。

Weather統合は、特に次の用途で追加すると有用です。

  • 朝通知に「今日の最低気温予報」を加える
  • 前夜通知に「明朝の予想最低気温が3℃以下」を加える
  • 雨・雪・みぞれ予報がある場合だけ凍結リスクを強める
  • 現在の天気状態が rainy / snowy / pouring などなら通知文を変える

Home Assistant公式ドキュメント上も、Weather統合は天気エンティティや weather.get_forecasts アクションを通じて予報データをオートメーションで使う形です。ただし Weather統合自体は土台で、実際には Met.no、OpenWeatherMap、AccuWeather などの weather entity が必要です。
参考: Weather integrationAutomation triggers

私のおすすめは、まず 温湿度計ベースの2本を作り、次に Weather統合の weather.* エンティティがあるか確認して、予報条件を足す流れです。最初から天気予報まで入れると複雑になりますが、精度は上がります。


提案してもらった2つの案のそれぞれについて、「Weather統合」を考慮しない設定と、「Weather統合」を考慮した設定を作成し、2つの「Weather統合」を考慮した設定は動作しない状態としておくことはできますか(動作状態にするかは別途検討する)

作成しました。4本構成で、Weather統合なしの2本は有効、Weather統合ありの2本は停止状態です。

登録結果

  • on 路面凍結リスク通知(温湿度計)
  • 気温 3℃未満20分 継続
  • 湿度 80%以上
  • 時間帯 18:00〜08:00
  • on 朝の路面凍結リスク通知(温湿度計)
  • 毎朝 06:30
  • 気温 3℃未満
  • 湿度 80%以上
  • off 路面凍結リスク通知(Weather統合考慮・停止中)
  • off 朝の路面凍結リスク通知(Weather統合考慮・停止中)

使った実機エンティティは、温度 sensor.wen_shi_du_ji_temperature、湿度 sensor.wen_shi_du_ji_humidity、Weather weather.forecast_zi_zhai、通知先 notify.mobile_app_iphone17 です。

Weather統合についても確認済みで、weather.get_forecasts から48件の時間別予報が取れました。
予報データには temperaturehumidityprecipitationcondition などが含まれているので、凍結リスク判定に使えます。Home Assistant公式でも Weather の weather.get_forecasts と automation の initial_state: false はこの用途に合う形です: Weather integrationAutomation YAML

Weather版を使うかどうかは後でトグルを on にするだけで検討できます。

温湿度計の情報のみで条件を設定したオートメーションの例(詳細省略)
(「20分継続」という条件が正しく設定されている)

CodexとHOME AssistantをMCPで連携させ、Codexに依頼することによって、HOME Assistantのデバイス・エンティティ(「sensor.wen_shi_du_ji_temperature」など)を知らなくても、容易にオートメーションの設定を行うことができた。


最後に、手動で行った設定と、Codexに作成したもらった設定とで違いが見られたので、それを紹介する。
事例は、手動で居間の温度上昇を通知する設定を行い、その後、Codexに通知先の追加を依頼した際の例である。

居間の気温上昇通知(通知先追加)

すでに手動で居間の温度上昇についての通知をMac miniに行うように「居間高温通知」という名称のオートメーションを設定していた。今回は通知先の追加をCodexに依頼した。以下、Codexとの会話。

HOME Assistantで、「ハブ2 居間」の温度について下記のオートメーションを設定していますが、通知先として、iPhon17とFireTVを追加してください。

温度が28度を5分間超えていた場合、Mac miniにその旨通知する

設定しました。

既存の「居間高温通知」はそのまま使い、通知先に iPhone17Fire TV を追加しました。現在の通知先は以下です。

  • Mac mini
  • iPhone17
  • Fire TV

条件は既存どおり、ハブ2 居間 温度28°Cを5分間超過した場合です。反映後に再読み込みし、オートメーションが on のままになっていることも確認しました。


設定状態は下図の通りとなった。「通知メッセージを送信する」というのが手動で設定したもので、他の2つのアクションはCodexが追加設定したもの。この違いについて、ChatGPT 5.5 Thinkingに質問した。


もともと設定していた「Mac miniへの通知」と、追加した2つのアクションの書式が違います。これは、「Purpose-specific triggers and conditions」を導入したため、ユーザーが手動で設定したアクションは、人に分かりやすい表現になっているということですか

(以下、ChatGPT 5.5 Thinkingの回答)

はい、近いですが、正確には少し違います。

添付画像の違いは、主に 「Purpose-specific triggers and conditions」を入れたからというより、通知アクションの追加方法/YAMLの書き方が違うためだと思われます。

画面上の見え方としては、次のような違いです。

表示likely な中身意味
通知メッセージを送信する
[○○のMac mini]
notify.send_message 形式通知先を「通知エンティティ」として選んだ、比較的新しい・UI向きの書き方
アクション ‘Send a notification via mobile_app_iphone17’ の実行notify.mobile_app_iphone17 を直接実行通知サービス/アクションを直接呼び出す書き方
アクション ‘Send a notification with android_tv_fire_tv’ の実行notify.android_tv_fire_tv 系を直接実行Fire TV向け通知アクションを直接呼び出す書き方

Home Assistantでは、通知には notify.send_message という通知エンティティ向けの形式があり、複数の notify エンティティを対象にできます。公式ドキュメントでも、notify.send_message を選んで通知先エンティティを指定する例が示されています。(home-assistant.io) 一方、iPhoneなどの Companion App 通知は、notify.mobile_app_端末名 のような個別アクションとしても表示・実行できます。(home-assistant.io)

つまり、Codexが追加した2つは、おそらく 既存のMac mini通知と同じ形式で追加したのではなく、個別の通知アクションを直接追加したため、表示が「アクション ‘〜’ の実行」という見た目になっています。

「Purpose-specific triggers and conditions」は、主に いつ(When)条件(And if) を、人間に分かりやすい形で作るための機能です。Home Assistant 2025.12で導入され、「When a light turns on」「If the climate is heating」のように、技術的なstate条件ではなく目的別に選べるようにするものとして説明されています。(home-assistant.io) 2026.5では、状態が一定時間続いた場合を扱う for 相当の指定も、目的別トリガー側に広がっています。(home-assistant.io)

一方で、アクションを分かりやすく表示する流れ自体はもっと前からあります。Home Assistant 2024.1で「サービス呼び出し」をアクションとして統合し、UI上で「何をするか」を選びやすくする改善が入り、2024.8では用語も “service call” から “action” に整理されています。(home-assistant.io)


「通知メッセージを送信する」というアクションの詳細は添付画像(上図)の通りでした。通知先として、「ターゲット」の項目に、通知先を追加するという方法もあるということですか

はい。添付画像の 「通知メッセージを送信する」アクションでは、通知先を「ターゲット」に追加する方法が使えます。

この画面の意味は、次のようになります。

現在の状態

  • アクション:通知メッセージを送信する
  • ターゲット:○○のMac mini
  • そのデバイス内の通知エンティティ:1個
  • メッセージ:温度超過の通知文

Home Assistantの通知機能では、notify.send_message という形式で、複数の notify エンティティに通知を送ることができます。公式ドキュメントでも、通知メッセージ送信アクションは notify エンティティを対象にして実行する形として説明されています。(home-assistant.io) また、notify エンティティは「デバイスやサービスへメッセージを送るエンティティ」として扱われます。(developers.home-assistant.io)

したがって、理屈としては、青い 「ターゲットを追加」 を押して、iPhone17FireTV に対応する通知エンティティを追加できれば、Mac mini・iPhone17・FireTVを1つの通知アクションにまとめることができます。

整理すると、こうです。

方法見た目向いているケース
「通知メッセージを送信する」のターゲットに追加Mac miniと同じ見た目に揃いやすい通知先が notify エンティティとして選べる場合
個別アクションを追加「アクション ‘Send a notification via …’ の実行」と表示される通知先が個別サービスとしてしか扱えない場合

notify.send_message という形式で複数の 通知先に通知を送るか、個別に通知を送るかの違いらしい。


目次