これは Home Assistant 2025.12.x のバージョン仕様に基づく、詳しい初心者向けチュートリアルです。

2024〜2025 の進化の中で、Home Assistant (HA) の TTS(テキスト読み上げ)の仕組みは非常に標準化されました。旧版のプラットフォーム固有のサービス(tts.google_translate_say など)ではなく、汎用の tts.speak サービスを使用することをおすすめします。そうすれば将来音声エンジンを変更しても、オートメーションスクリプトを修正する必要がありません。

核心となる仕組み

  • TTS インテグレーション:テキストを音声ストリームに変換します(Google Translate、Edge TTS、Piper など)。
  • メディアプレーヤー:音声を再生するデバイス(小愛同学、HomePod、ブラウザ、Bluetooth スピーカーなど)。
  • Jinja2 テンプレート:センサーデータを取得してテキストに埋め込みます。

準備

  • Home Assistant:バージョン 2025.12.2(または近いバージョン)。
  • 再生デバイス:HA に接続済みのメディアプレーヤー(エンティティ ID 例:media_player.living_room_speaker)。
  • センサー:接続済みの PM2.5 センサー(エンティティ ID 例:sensor.living_room_pm25)。

ステップ1:TTS サービス (Text-to-Speech) を設定する

初心者にとって最も簡単で追加ハードウェアが不要なのは、内蔵の Google Translate TTS(ネットワーク環境の対応が必要)を使う方法、または HACS から Edge TTS をインストールする方法(より自然な音声でおすすめ)です。ここでは公式の内蔵フローを説明します。

  • HA の左メニュー 設定 (Settings) -> デバイスとサービス (Devices & Services) を開きます。
  • 右下の インテグレーションを追加 (Add Integration) をクリックします。
  • Google Translate text-to-speech を検索して追加をクリックします。
  • 言語コードを設定します。中国語の場合は zh-cn を入力し、送信をクリックします。
  • システムが自動的にエンティティを生成します。通常は tts.google_zh_cn です。

注意

:オフライン動作やより良い中国語の品質を求める場合は、”Piper”(公式ローカルアドオン)または “Edge TTS”(HACS)の検索・インストールをおすすめします。設定後の仕組みは以下と完全に同じです。


ステップ2:TTS が発声できるか検証する

オートメーションを書く前に、まず音が出ることを確認します。

  • 左メニューの 開発者ツール (Developer Tools) -> サービス (Services/Actions) を開きます。
  • アクションの検索欄に tts.speak と入力します(これが現代 HA の標準的な発声アクションです)。
  • ターゲット (Target):先ほど追加した TTS エンティティ(例:tts.google_zh_cn)を選択します。
  • メディアプレーヤーエンティティ (Media Player Entity):自分のスピーカー(例:media_player.browser またはスマートスピーカー)を選択します。
  • メッセージ (Message):「こんにちは、これはテストです」と入力します。
  • アクションを実行 (Perform Action) をクリックします。

スピーカーが鳴れば次のステップに進めます。鳴らない場合は、ネットワークまたはスピーカーの音量を確認してください。


ステップ3:アナウンスのオートメーションを作成する(UI ビジュアルモード)

実現したいこと:毎朝 8 時に、現在の PM2.5 値をアナウンスし、窓を開けるかどうかのアドバイスを出します。

  • 設定 -> オートメーションとシーン -> オートメーションを作成 -> 新しいオートメーションを作成 を開きます。

1. トリガー条件 (Triggers) を設定する

  • トリガーを追加 -> 時間 (Time) を選択 をクリックします。
  • 固定時間を設定します。例:08:00:00。

2. アクション (Actions) を設定する – 核心部分

  • アクションを追加 -> TTS: Speak(または「テキストを音声に送信」と表示)を検索して選択 をクリックします。
  • TTS エンティティ:tts.google_zh_cn を選択します。
  • メディアプレーヤーエンティティ:自分のスピーカーを選択します。
  • メッセージ (Message):ここが最も重要な手順で、テンプレート (Template) を使って変数を挿入する必要があります。以下のコードをメッセージ欄にコピーしてください:

codeJinja2

おはようございます。現在のリビングの PM2.5 指数は {{ states(‘sensor.living_room_pm25’) }} マイクログラム毎立方メートルです。{% set pm = states(‘sensor.living_room_pm25’) | float(0) %}アドバイス:{% if pm

  • 初心者向けコード解説:
  • {{ states(‘…’) }}:これはセンサー値を取得する定型の書き方です。sensor.living_room_pm25 を必ず自分のシステムのセンサー ID に置き換えてください。
  • {% set pm = … %}:pm という変数を定義し、後の判定に使います。float(0) はセンサーが使用不可のときにエラーになるのを防ぐためで、デフォルトは 0 です。
  • {% if … %}:論理判定で、数値に応じてスピーカーに異なる内容を話させます。言語 (Language):空欄のままか、zh-cn を入力します。

3. オートメーションを保存する

  • 右下の保存をクリックし、「毎日の大気質アナウンス」と命名します。

ステップ4:上級テクニック (YAML モード)

YAML コードで直接設定したり、他の人に共有したりしたい場合は、オートメーションエディタ右上の 3 つの点をクリックし、「YAML で編集」を選択します。

以下は完全で標準化されたオートメーションの YAML 設定です(HA 2025 標準に基づく):

alias: 每日空气质量播报description: "通过TTS播报PM2.5及建议"trigger:
 - platform: time
 at: "08:00:00"condition: action:
 - action: tts.speak
 target:
 entity_id: tts.google_zh_cn
 # 你的TTS实体
 data:
 media_player_entity_id: media_player.living_room_speaker
# 你的音箱实体
 message: >- 现在是 {{ now().strftime('%H点%M分') }}。 当前 PM2.5 数值为 {{ states('sensor.living_room_pm25') }}。 {% set pm = states('sensor.living_room_pm25') | float(0) %} {% if pm > 75 %} 空气不好,我已经为您自动开启了净化器。 {% else %} 空气清新,祝您心情愉快。 {% endif %}mode: single

よくある問題とトラブルシューティングガイド

  • 数値が “Unknown” または “Unavailable” と読み上げられる:
  • 原因:その時点でセンサーがオフラインだったか、ID の入力が間違っています。
  • 解決:「開発者ツール -> 状態」で sensor ID が正しいか、具体的な数値があるかを確認してください。

Google TTS が鳴らない:

  • 原因:Google のサービスがあなたのネットワーク環境から接続できない可能性があります。
  • 解決:
  • 案 A:ネットワーク環境を設定する(ルーター側)。
  • 案 B(推奨):HACS で Edge TTS インテグレーションをダウンロードします。これは Microsoft Edge ブラウザのインターフェースを利用しており、中国国内でも接続が非常に速く、音声も自然です。設定方法は上記の手順と完全に同じで、action 内のエンティティを tts.edge_tts に変えるだけです。

数値を整数にするには?

  • 「PM2.5 は 25.3421…」と聞きたくない場合は、テンプレートに round を追加できます:
  • {{ states(‘sensor.living_room_pm25’) | float(0) | round(0) }}

プレーヤーが対応していない:

  • Sonoff などの簡単なブザーゲートウェイを使用している場合、TTS には対応していません。本物のメディアプレーヤー(HomePod、Sonos、Google Nest、または DLNA 接続のスピーカーなど)が必要です。

以上の手順で、Home Assistant 2025 でスマートな音声アナウンスを実現できます。まず簡単な「こんにちは」を通してから、徐々にセンサーデータを追加することをおすすめします。

相关新闻

cloud@haiots.com

QQ
微信