Home Assistant World Clock & Weather Dashboard 第6章

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の作業では、次の表を確認表として利用できます。

都市ZoneWeather 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 により作成。