Home Assistant World Clock & Weather Dashboard 第5章

Chapter 5

World Clock Configuration

世界時計の設定

5.1 本章の目的

Chapter 4 までで、Version 1.3 を構築するための環境準備が整いました。

本章では、Dashboard の左側に表示する世界各都市の現在時刻を構築します。

Version 1.3 では16都市を対象とします。

🇯🇵 東京
🇬🇧 ロンドン
🇫🇷 パリ
🇺🇸 ニューヨーク
🇺🇸 ロサンゼルス
🇩🇪 ベルリン
🇷🇺 モスクワ
🇸🇬 シンガポール
🇦🇺 シドニー
🇨🇳 北京
🇿🇦 ケープタウン
🇦🇪 ドバイ
🇧🇷 サンパウロ
🇺🇸 ダラス
🇳🇴 オスロ
🇮🇳 デリー

本章では、この16都市について時刻センサーを準備します。


5.2 World Clock の役割

Version 1.3 のシステムでは、World Clock は時刻だけを担当します。

気温については Open-Meteo が担当します。

したがって、

World Clock
     │
     └── 現在時刻

Open-Meteo
     │
     └── 気象情報

という役割分担になります。

Dashboard の都市カードでは、この2つを組み合わせて表示します。

World Clock
    ↓
現在時刻 ─────┐
              ├──→ button-card
気温 ─────────┘
    ↑
Open-Meteo

5.3 World Clock を確認する

Home Assistant の、

設定 → デバイスとサービス

を開きます。

統合の一覧から World Clock を確認します。

World Clock がすでに登録されている場合は、そのまま次へ進みます。

Version 1.3 では、World Clock の設定そのものをDashboardの中に記述する方式ではありません。

Home Assistant の統合として登録された時刻エンティティを、Dashboard から参照します。


5.4 16都市のタイムゾーン

各都市で使用するタイムゾーンは次のようになります。

都市タイムゾーン
🇯🇵 東京Asia/Tokyo
🇬🇧 ロンドンEurope/London
🇫🇷 パリEurope/Paris
🇺🇸 ニューヨークAmerica/New_York
🇺🇸 ロサンゼルスAmerica/Los_Angeles
🇩🇪 ベルリンEurope/Berlin
🇷🇺 モスクワEurope/Moscow
🇸🇬 シンガポールAsia/Singapore
🇦🇺 シドニーAustralia/Sydney
🇨🇳 北京Asia/Shanghai
🇿🇦 ケープタウンAfrica/Johannesburg
🇦🇪 ドバイAsia/Dubai
🇧🇷 サンパウロAmerica/Sao_Paulo
🇺🇸 ダラスAmerica/Chicago
🇳🇴 オスロEurope/Oslo
🇮🇳 デリーAsia/Kolkata

ここで重要なのは、都市名とタイムゾーン名は必ずしも同じではないということです。

例えば、

北京 → Asia/Shanghai
デリー → Asia/Kolkata
ケープタウン → Africa/Johannesburg
ダラス → America/Chicago

となります。

これは誤りではありません。

タイムゾーンは「都市名」ではなく、地域の標準時を表しているためです。


5.5 生成された時刻エンティティを確認する

World Clock の設定後、

設定 → デバイスとサービス → エンティティ

から時刻エンティティを確認します。

Version 1.3 では、実際に使用するエンティティは次のようになります。

都市時刻エンティティ
東京sensor.asia_tokyo
ロンドンsensor.europe_london
パリsensor.europe_paris
ニューヨークsensor.america_new_york
ロサンゼルスsensor.america_los_angeles
ベルリンsensor.europe_berlin
モスクワsensor.europe_moscow
シンガポールsensor.asia_singapore
シドニーsensor.australia_sydney
北京sensor.asia_shanghai
ケープタウンsensor.africa_johannesburg
ドバイsensor.asia_dubai
サンパウロsensor.america_sao_paulo
ダラスsensor.america_chicago
オスロsensor.europe_oslo
デリーsensor.asia_kolkata

注意

この表で特に注意したいのが、

北京
sensor.asia_shanghai
ケープタウン
sensor.africa_johannesburg
ダラス
sensor.america_chicago
デリー
sensor.asia_kolkata

です。

都市名とエンティティ名が一致していなくても、そのタイムゾーンを正しく表していれば問題ありません。

Dashboardでは都市名を日本語で表示し、内部ではこのエンティティを使用します。


5.6 16都市の時刻を確認する

エンティティ一覧で16都市の時刻センサーを確認します。

例えば東京の場合、

sensor.asia_tokyo

を開き、状態が現在時刻になっていることを確認します。

同様に、

sensor.europe_london
sensor.europe_paris
sensor.america_new_york

などを確認します。

この段階では、まだDashboardを作る必要はありません。

16都市の時刻がHome Assistant内で正常に取得できていることを確認することが目的です。


5.7 ダラス・オスロ・デリーを追加する

Version 1.3 では、Version 1.2 の13都市に、

  • ダラス
  • オスロ
  • デリー

を追加して16都市とします。

それぞれのタイムゾーンは、

ダラス
America/Chicago

オスロ
Europe/Oslo

デリー
Asia/Kolkata

です。

追加後は、必ずエンティティ一覧で生成されたセンサーを確認します。

想定されるエンティティは、

sensor.america_chicago
sensor.europe_oslo
sensor.asia_kolkata

です。


5.8 World Clock の確認完了条件

Chapter 5 の作業は、次の条件を満たした時点で完了です。

  • World Clock が正常に動作している
  • 東京の時刻が取得できる
  • ロンドンの時刻が取得できる
  • パリの時刻が取得できる
  • ニューヨークの時刻が取得できる
  • ロサンゼルスの時刻が取得できる
  • ベルリンの時刻が取得できる
  • モスクワの時刻が取得できる
  • シンガポールの時刻が取得できる
  • シドニーの時刻が取得できる
  • 北京の時刻が取得できる
  • ケープタウンの時刻が取得できる
  • ドバイの時刻が取得できる
  • サンパウロの時刻が取得できる
  • ダラスの時刻が取得できる
  • オスロの時刻が取得できる
  • デリーの時刻が取得できる

5.9 この段階でDashboardを作らない理由

ここで一度、作業を区切ります。

Version 1.3 の構築では、

時刻
 ↓
気象情報
 ↓
Template Sensor
 ↓
Dashboard

の順番で確認します。

そのため、World Clock の確認が終わった段階では、まだDashboardを完成させません。

まず、

「時刻は16都市すべて正常」

という状態を作ります。

次章では、同じ16都市について Open-Meteo の Weather Entity を確認します。


Chapter 5 Summary

本章では、Version 1.3 の世界時計部分を構築しました。

重要なのは、Dashboardに表示する都市名と、Home Assistant内部のエンティティ名を分けて考えることです。

例えば、

🇨🇳 北京
      ↓
sensor.asia_shanghai

という関係でも問題ありません。

Dashboardでは、

🇨🇳 北京

と表示し、内部では、

sensor.asia_shanghai

を使用します。

これによって、Home Assistant内部のエンティティ名に左右されることなく、利用者にとって分かりやすい日本語都市名でDashboardを構成できます。

16都市の時刻が正常に取得できたら、World Clock の準備は完了です。


次章

Chapter 6

Open-Meteo Configuration

次章では、16都市の現在気温を取得するための Open-Meteo を設定します。

ここでは、

Zone
 ↓
Open-Meteo
 ↓
weather.xxx

という関係を整理し、特にVersion 1.3で追加した

ダラス・オスロ・デリー

を含め、16都市すべての Weather Entity を確認します。

そしてChapter 7で、いよいよこの weather.xxx から気温を取り出す Template Sensor を構築します。


※CharGPT により作成