Chapter 6
Open-Meteo Configuration
Open-Meteo の設定
6.1 本章の目的
Chapter 5 では、16都市の現在時刻を取得する World Clock の準備を行いました。
本章では、同じ16都市について現在の気象情報を取得できるようにします。
Version 1.3では、気温を取得するために Open-Meteo Integration を使用します。
基本的な流れは次のとおりです。
都市のZone
↓
Open-Meteo Integration
↓
Weather Entity
↓
weather.xxx
例えば東京の場合、
東京 Zone
↓
Open-Meteo
↓
weather.tokyo
となります。
この weather.tokyo から、次のChapter 7で現在気温を取り出します。
6.2 Open-Meteo の役割
Version 1.3では、Open-Meteoを気象情報の取得元として使用します。
World Clockとは役割が異なります。
World Clock
↓
現在時刻
Open-Meteo
↓
気象情報
Open-Meteoから取得されるWeather Entityには、現在気温をはじめとする複数の気象情報が含まれています。
例えば、
weather.tokyo
には現在の気温などの情報があります。
Version 1.3では、その中から現在気温をTemplate Sensorで取り出します。
6.3 Open-Meteo Integration を確認する
Home Assistantで、
設定 → デバイスとサービス
を開きます。
「統合」の一覧から、
Open-Meteo
を確認します。
すでにOpen-Meteoが登録されている場合は、そのまま次へ進みます。
6.4 都市を追加するための考え方
Open-Meteoでは、対象地点をHome AssistantのZoneとして登録しておくことで、その地点の気象情報を取得できます。
したがって、都市を追加するときは、
都市 ↓ Zone ↓ Open-Meteo ↓ Weather Entity
という流れになります。
ここで重要なのは、
Zoneの名前とWeather Entityの名前は、必ずしも完全に同じになるとは限らない
という点です。
そのため、Zoneを作成したあとには、必ずOpen-Meteoによって生成されたWeather Entityを確認します。
6.5 16都市の対象
Version 1.3では次の16都市を対象とします。
| No. | 都市 | Weather Entity |
|---|---|---|
| 1 | 🇯🇵 東京 | weather.tokyo |
| 2 | 🇬🇧 ロンドン | weather.london |
| 3 | 🇫🇷 パリ | weather.paris |
| 4 | 🇺🇸 ニューヨーク | weather.new_york |
| 5 | 🇺🇸 ロサンゼルス | weather.los_angeles |
| 6 | 🇩🇪 ベルリン | weather.berlin |
| 7 | 🇷🇺 モスクワ | weather.moscow |
| 8 | 🇸🇬 シンガポール | weather.singapore |
| 9 | 🇦🇺 シドニー | weather.sydney |
| 10 | 🇨🇳 北京 | weather.beijing |
| 11 | 🇿🇦 ケープタウン | weather.cape_town |
| 12 | 🇦🇪 ドバイ | weather.dubai |
| 13 | 🇧🇷 サンパウロ | weather.sao_paulo |
| 14 | 🇺🇸 ダラス | weather.dallas |
| 15 | 🇳🇴 オスロ | weather.oslo |
| 16 | 🇮🇳 デリー | weather.delhi |
この16個が、Version 1.3で使用するWeather Entityです。
6.6 Zone の確認
Home Assistantで、
設定 → エリア、ラベル、ゾーン
を開きます。
Version 1.3では、対象都市のZoneが登録されていることを確認します。
特に、Version 1.2から追加した次の3都市について確認します。
ダラス オスロ デリー
それぞれのZoneに正しい位置情報が設定されていることを確認します。
Zoneでは、都市名だけでなく、
- 緯度
- 経度
が重要です。
Open-Meteoはこの位置情報をもとに気象データを取得します。
6.7 Zoneの位置情報
各都市について、対象地点の緯度・経度が正しく設定されていることを確認します。
例えば東京なら、
東京 緯度:約35.69 経度:約139.69
となります。
ただし、Version 1.3ではDashboard側に緯度・経度を記述する必要はありません。
位置情報はZone側で管理します。
したがって、
Zone ↓ 位置情報 ↓ Open-Meteo
という構造になります。
6.8 Open-Meteo に都市を追加する
Open-Meteoの設定画面から、新しい地点を追加します。
対象となるZoneを選択します。
例えば、
Tokyo
のZoneを選択すると、Open-Meteoから東京のWeather Entityが提供されます。
同様に各都市について追加します。
Version 1.3では、最終的に16都市のWeather Entityを作成します。
6.9 Weather Entity を確認する
Open-Meteoへの追加が完了したら、
設定 → デバイスとサービス → エンティティ
を開きます。
検索欄で、
weather.
を検索します。
Version 1.3では、次の16個が存在することを確認します。
weather.tokyo weather.london weather.paris weather.new_york weather.los_angeles weather.berlin weather.moscow weather.singapore weather.sydney weather.beijing weather.cape_town weather.dubai weather.sao_paulo weather.dallas weather.oslo weather.delhi
6.10 Weather Entity の状態を確認する
各Weather Entityをクリックして、詳細を確認します。
例えば、
weather.tokyo
を開きます。
現在の天気情報が表示され、その中に現在気温が存在することを確認します。
この段階では、まだTemplate Sensorは作成しません。
確認するのは、
Open-MeteoからWeather Entityが正常に提供されているか
という一点です。
6.11 特に注意する3都市
Version 1.3では、追加した3都市について特に確認します。
ダラス
weather.dallas
オスロ
weather.oslo
デリー
weather.delhi
この3都市はVersion 1.2には存在しなかったため、最初から構築する場合には追加作業が必要です。
6.12 エンティティ名を推測しない
Open-Meteoを設定するときに注意したいのが、エンティティ名です。
例えば、
ケープタウン
だからといって、
weather.capetown
になるとは限りません。
Version 1.3で使用する実際のエンティティは、
weather.cape_town
です。
同様に、
サンパウロ
は、
weather.sao_paulo
です。
このため、手順書では、
都市名からエンティティIDを推測しない
ことを原則とします。
必ずHome Assistantのエンティティ一覧で確認してください。
6.13 16都市の確認表
Chapter 6の作業では、次の表を確認表として利用できます。
| 都市 | Zone | Weather Entity | 確認 |
|---|---|---|---|
| 🇯🇵 東京 | ✓ | weather.tokyo | □ |
| 🇬🇧 ロンドン | ✓ | weather.london | □ |
| 🇫🇷 パリ | ✓ | weather.paris | □ |
| 🇺🇸 ニューヨーク | ✓ | weather.new_york | □ |
| 🇺🇸 ロサンゼルス | ✓ | weather.los_angeles | □ |
| 🇩🇪 ベルリン | ✓ | weather.berlin | □ |
| 🇷🇺 モスクワ | ✓ | weather.moscow | □ |
| 🇸🇬 シンガポール | ✓ | weather.singapore | □ |
| 🇦🇺 シドニー | ✓ | weather.sydney | □ |
| 🇨🇳 北京 | ✓ | weather.beijing | □ |
| 🇿🇦 ケープタウン | ✓ | weather.cape_town | □ |
| 🇦🇪 ドバイ | ✓ | weather.dubai | □ |
| 🇧🇷 サンパウロ | ✓ | weather.sao_paulo | □ |
| 🇺🇸 ダラス | ✓ | weather.dallas | □ |
| 🇳🇴 オスロ | ✓ | weather.oslo | □ |
| 🇮🇳 デリー | ✓ | weather.delhi | □ |
16都市すべてにチェックが付けば、Chapter 6の作業は完了です。
6.14 この段階で確認すること
ここで重要なのは、まだDashboardを確認しないことです。
Chapter 6の完成条件は、
16都市 ↓ Open-Meteo ↓ 16個のWeather Entity
が成立していることです。
つまり、
weather.tokyo weather.london weather.paris ... weather.delhi
がHome Assistant内に存在していればOKです。
6.15 Version 1.3における気温取得の流れ
ここまで準備すると、気温について次の構造が完成しています。
Open-Meteo
│
▼
weather.tokyo
│
│ temperature
▼
┌───────────────┐
│ Template Sensor│
└───────────────┘
│
▼
sensor.weather_tokyo
ただし、Template Sensorは次章で作成します。
Chapter 6では、
weather.tokyo
までを完成させることが目的です。
6.16 Chapter 6 完成条件
次の条件をすべて満たしていれば、Open-Meteoの設定は完了です。
- Open-Meteo Integrationが正常に動作している
- 16都市のZoneが存在する
- 各Zoneの位置情報が正しい
- 東京のWeather Entityが存在する
- ロンドンのWeather Entityが存在する
- パリのWeather Entityが存在する
- ニューヨークのWeather Entityが存在する
- ロサンゼルスのWeather Entityが存在する
- ベルリンのWeather Entityが存在する
- モスクワのWeather Entityが存在する
- シンガポールのWeather Entityが存在する
- シドニーのWeather Entityが存在する
- 北京のWeather Entityが存在する
- ケープタウンのWeather Entityが存在する
- ドバイのWeather Entityが存在する
- サンパウロのWeather Entityが存在する
- ダラスのWeather Entityが存在する
- オスロのWeather Entityが存在する
- デリーのWeather Entityが存在する
Chapter 6 Summary
Chapter 6では、16都市の気象情報を取得するためのOpen-Meteoを準備しました。
Version 1.3では、
Zone ↓ Open-Meteo ↓ weather.xxx
という構造を採用しています。
ここで取得したWeather Entityは、まだDashboardへ直接表示するものではありません。
次のChapter 7で、
weather.xxx
↓
temperature
↓
Template Sensor
↓
sensor.weather_xxx
という処理を行います。
これによって、各都市の現在気温を独立した温度センサーとして扱えるようになります。
次章
Chapter 7
Template Sensor Configuration
次章はいよいよVersion 1.3の中でも重要な部分です。
ここで、
weather.tokyo
から、
sensor.weather_tokyo
を作ります。
そして16都市すべてについて同じ構造のTemplate Sensorを作成します。
Chapter 7では、今回のVersion 1.3で採用した
「Open-MeteoのWeather Entityを情報源とし、Template Sensorを表示用の温度センサーとして利用する」
という設計を、実際の configuration.yaml に落とし込んでいきます。
さらに、今回の構築で発生した _2 問題などの試行錯誤は本文には持ち込まず、最初から正常な状態を作るための手順だけに整理します。
※ChatGPT により作成。