yandex.tを管理するためのコンポーネント。ホームアシスタントのアリスとのスマートハウスの他のデバイス。

テキストは、多くの場合、ローカル列、ローカルモード、ローカルコントロールという用語を使用します(同じ意味を持ちます)。どの列が彼をサポートするかを慎重に研究してください。ローカルコントロールの機能と機能は、クラウド管理よりも非常に優れています。クラウド管理はすべての列でサポートされていますが、モジュールではサポートされていません。ローカルモードは、サポートされている列で自動的にオンになります。
クラウドコントロールには、列からのフィードバックがありません。列が何かを再生するのか、一時停止して立っているのか、そしてその現在のボリュームは何なのかは不明です。したがって、ホームアシスタントの列の状態は、コンポーネントからではなくコマンドを与えた場合、列の現在の状態とは異なる場合があります。
ローカルおよびクラウド管理の可能性:
ローカルコントロールの追加機能:
すべての列の可能性
地元のスピーカーの可能性
その他の機能
私の著者の背後にあるこれらのコンポーネントのすべてはありません!
方法1。HACS >統合> add> yandex.station>インストール
方法2。yandex_station yandex_stationを最新リリースからディレクトリ/config/custom_componentsに手動でコピーします。
注意: Yandexモバイルアプリケーションの各列について、サービスシナリオが作成されます。触れないでください。誤って削除した場合は、ホームアシスタントを再起動します。
方法1。GUI (推奨)
設定>統合>統合の追加> yandexステーション
リストに統合がない場合は、ブラウザのキャッシュをクリーニングします。
許可する方法はいくつかあります。
その結果、コンポーネントはYandexトークンを受信して保存します。パスワードはどこにも残りません。
方法2。YAML (時代遅れ)
yandex_station :
username : myuser
password : mypassテキストは、多くの場合、スクリプトと自動化の異なる例を示しています。それらを使用できます:
ここでは、スピーカーの完全な状態と利用可能な属性を見ることができます。
いくつかの例はevent_typeを使用しています。ここでトリガーを監視できます。
エラーの場合、リストと説明をここで見ることができます。
このドキュメントは、ホームアシスタントと協力することの基本を教えるようには設計されていません。
すべての列で動作します
注意。チームは常に地元のスピーカーでもクラウドを通り抜けているため、駅はTTSの後に聴き続けません。
クラウドモードには2つの制限があります。
コンポーネントは、テキストから禁止された文字を自動的に削除し、テキストの長さを許容に制限します。
script :
yandex_tts1 :
sequence :
- service : media_player.play_media
entity_id : media_player.yandex_station # замените на вашу колонку
data :
media_content_id : ' Температура в комнате {{ states("sensor.temperature_hall")|round }} градуса '
media_content_type : text サポート:
次の効果、音のライブラリ、音声の構成、音声が利用可能です。
スピーチの生成を設定します
media_content_id : смелость sil <[500]> город+а берёт音声効果
media_content_id : <speaker effect="megaphone">Ехал Грека через реку <speaker effect="-">видит Грека в реке ракささやきます
media_content_id : <speaker is_whisper="true">Хозяин, уже утро, пора вставать!音のライブラリ
media_content_id : <speaker audio="alice-sounds-game-win-1.opus"> У вас получилось!オーディオオーディオファイルを120秒にアップロードできます。ロードされたオーディオファイルを再生するには、ファイルがアップロードされているコンテキストでyandex.dialogを使用する必要はありません。
media_content_id : <speaker audio="dialogs-upload/5d77ecc4-b781-4baa-abdd-bd0127553b97/081b7f9e-e708-499c-a907-264e33f28ecd.opus">ここではさまざまな声が見られます。すべての声が機能するわけではありません。間違った音声を指定すると、列が破裂しています。次に、停止コマンドを送信するか、再起動する必要があります。
media_content_id : <speaker voice="zahar">Всем привет. Меня зовут Захар... script :
yandex_tts :
alias : TTS c эффектами
sequence :
- service : media_player.play_media
entity_id : media_player.yandex_station # замените на вашу колонку
data :
media_content_id : <speaker audio="alice-sounds-game-win-1.opus"> sil <[500]> Объявление погоды на сегодня...
media_content_type : dialog # работает только на локальной колонке アリスとのベルのフレーズは、自動化とホームアシスタントインターフェイスの両方から送信できます。バージョンV2022.3 TTSメニューから始めて、メディアセクションに転送され、その後メディアプレーヤーウィンドウにありました。
必要に応じて、YAMLを使用してこのセクションを構成できます。
チームにmedia_content_idが含まれている場合、またはtemplateに単語messageがありません。メッセージエントリウィンドウが見逃されます。
ここにいくつかの例があります:
yandex_station :
media_source :
- title : Произнеси текст # обязательное поле
media_content_type : text # обязательное поле
thumbnail : https://brands.home-assistant.io/_/tts/icon.png
- title : Выполни команду
media_content_type : command
thumbnail : https://brands.home-assistant.io/_/automation/icon.png
- title : Включи любимое
media_content_id : Включи моё любимое вперемешку
media_content_type : command
- title : Произнеси шепотом
template : ' <speaker is_whisper="true">{{ message }} '
media_content_type : dialog
extra :
volume_level : 0.2
- title : Статус эквалайзера
template : ' Эквалайзер установлен на {{ states("select.yandex_station_equalizer") }} '
media_content_type : text 
プレーヤーカードの例。注意:このカードはデフォルトではホームアシスタントにはありません。 HACSを通して簡単に配置できます。インストールが困難な場合は、標準カードを使用してください。彼女も働いています。
美しいyandexデバイスのアイコンは、HACSを介してインストールすることもできます。
すべての列で動作します
script :
yandex_command : # работает и в локальном и в облачном режиме
alias : Выполнить команду
sequence :
- service : media_player.play_media
entity_id : media_player.yandex_station # замените на вашу колонку
data :
media_content_id : Включи мою любимую музыку вперемешку
media_content_type : command いくつかのステーションのチームが同時にサポートされています(TTSとMedia_Playerの両方)。
すべての列で動作します
script :
yandex_volume_set : # в локальном или облачном режиме
alias : Меняем громкость нескольких станций
sequence :
- service : media_player.volume_set
data :
entity_id :
- media_player.yandex_station_12345678901234567890
- media_player.yandex_station_98765432109876543210
volume_level : 0.5地元の政権のためだけ!
script :
yandex_play_album : # только в локальном режиме!!!
alias : Включить Би-2 на Станции
sequence :
- service : media_player.play_media
entity_id : media_player.yandex_station # замените на вашу колонку
data :
media_content_id : 60062 # ID альбома в Яндекс.Музыка
media_content_type : album # album, track or playlist すべての列で動作します
次に、「質問に答えたり、コマンドに記入してください」、「テキストを声に出して読む」、「lose sound」などを選択できます。
チームが静かにHAに行きたい場合は、チームを実行ничего не делайを示しています。
列がそのようなシナリオを実行すると、追加のパラメーターを持つ2つのイベントがHA ::に表示されます
yandex_speaker 「コマンドの実行」でのみ動作し、ベータyandexgpt 2が有効になっている場合は機能しない場合があります instance : text_action
value : ничего не делай # фраза колонке из раздела То
entity_id : media_player.station_mini # ID колонки в ХА
name : Яндекс Мини # имя колонки в ХАyandex_scenario 「then」のほぼすべてのアクションで働く instance : sound_play
value :
sound : boot-1
sound_name : Загрузка (8 бит)
entity_id : media_player.station_mini # ID колонки в ХА
name : Яндекс Мини # имя колонки в ХА
scenario_name : Тест # имя сценария в Яндексеイベントのいずれかについて、自動化を作成できます。
automation :
- alias : Расскажи шутку
trigger :
- platform : event
event_type : yandex_speaker
event_data :
value : ничего не делай # фраза из Сценария Яндекса (раздел То)
action :
- service : media_player.play_media
target :
entity_id : ' {{ trigger.event.data.entity_id }} ' # ответить той же колонкой
data :
media_content_type : text
media_content_id : ' {{ ["На связи", "Смольный слушает", "Тут я"]|random }} '
mode : single残念ながら、コラムが言ったフレーズを見つけることができません。列が完成したフレーズのみを見つけることができます。
「必死の実行」でいくつかのシナリオを作成するには、句読点サインを使用します-,!.:=?そして、 ничего не делай???!!! 。効果は変わりません。HAでは、反応が発生したフレーズを区別できます。
trigger: > event_data:スピーカーをフィルタリングして、同じフレーズで異なる部屋に対して異なる自動化を実行できます。
注意! HAからのTTSコールもこれらのイベントをアクティブにします。
イベントをデバッグするには、 http://192.168.1.123:8123/developer-tools/event 8123/developer-tools/eventでHAの開発者に移動し、「イベントの購読」を示し、 yandex_speaker示し、「購読」をクリックします。
詩また、上級ユーザーのためだけにコマンドを取得する頑固な方法もあります!
コンポーネントは、他のコンポーネントとの統合であるyandexdialogsをサポートします。あなたがそれを持っているなら、あなたは機能を利用できます:
すべての列で動作します
TTS特殊効果をサポートします。 100文字に制限はありません。 TTS投稿はユーザーの話を聞きません。
media_content_type隙間のないコロンを介してyandex.dialogoの名前を示す必要があります。レジスタは重要ではありません。
script :
yandex_tts3 :
sequence :
- service : media_player.play_media
entity_id : media_player.yandex_station_irbis
data :
media_content_id : <speaker is_whisper="true">Хозяин, пора бы спать
media_content_type : text:умный домすべての列で動作します
ユーザーとの対話を開始し、ユーザーの回答に応じて、必要なアクションを実行することができます。
media_content_type隙間のないコロンを介してyandex.dialogoの名前を示す必要があります。レジスタは重要ではありません。そして、2番目のコロンを通して、自動化で理解するために、対話の特定の「タグ」があなたに答えました。
script :
yandex_dialog :
sequence :
- service : media_player.play_media
entity_id : media_player.yandex_station_mini
data :
media_content_id : <speaker is_whisper="true">Хозяин, уже утро, пора вставать!
media_content_type : dialog:умный дом:утроユーザーの応答に対する反応の例は、ここで見ることができます。このアプローチは、ホームアシスタントオートメーションとノードCの両方で使いやすいです。
コンポーネントは、通知と警告をサポートします。
通知は、TTSを呼び出す代替方法です。通知はconfiguration.yamlで構成されています。最小限には、新しい通知の名前と、響く列のリストを示す必要があります。通知ごとに別のサービスが作成されます。次に、 messageパラメーターでこのサービスを呼び出す必要があります。
オプションで、通知はtitleパラメーターをサポートしています。それをサポートするために、以下の例からテンプレートを使用できます。
通知を設定するとき、 media_content_idおよびmedia_content_typeパラメーターがオプションです。
通知は警告で使用できます。たとえば、出力ドアを閉じるのを忘れた場合、警告は問題が解決するまで特定の間隔で通知を送信します。
notify :
- name : alice_alert # любое название
platform : yandex_station
data :
entity_id : media_player.yandex_station_mini # замените на вашу колонку
media_content_id : >-
{% if title is defined %}<speaker effect="megaphone">{{ title }}<speaker effect="-"> sil <[200]>{% endif %}{{ message }}
media_content_type : dialog
input_boolean : # просто для примера
garage_door :
name : Дверь гаража
alert :
garage_door :
name : Гараж открыт
done_message : Гараж закрыт
entity_id : input_boolean.garage_door
state : " on " # опционально, потому что "on" это значение по умолчанию
repeat : 5 # как часто повторять, в минутах
can_acknowledge : true # разрешить выключить уведомления вручную
skip_first : true # пропустить первое (мгновенное) уведомление
notifiers :
- alice_alert # название, которые указали выше ステーションに設置された目覚まし時計の管理がサポートされています。
地元の政権のためだけ!
テキストを発音した後も聴き続けます!しかし、文字の数に制限はありません。特殊効果をサポートします。
script :
yandex_tts4 :
alias : TTS только для локального режима
sequence :
- service : media_player.play_media
entity_id : media_player.yandex_station # замените на вашу колонку
data :
media_content_id : <speaker effect="megaphone">Объявление погоды на сегодня...
media_content_type : dialog 地元の政権のためだけ!
列は、特定のボリュームでテキストを発し、ボリュームを前のレベルに返します。
script :
alice_custom_volume1 :
sequence :
- service : tts.yandex_station_say
entity_id : media_player.yandex_station # замените на вашу колонку
data :
message : Внимание! Важное сообщение...
options :
volume_level : 0.8またはSO
script :
alice_custom_volume2 :
sequence :
- service : media_player.play_media
entity_id : media_player.yandex_station # замените на вашу колонку
data :
media_content_id : Внимание! Важное сообщение...
media_content_type : text # поддерживается text и dialog
extra :
volume_level : 0.8 地元の政権のためだけ!
Yandexコラムから他のメーカーのスマートスピーカーまでの音楽のストリーミング(ブロードキャスト)がサポートされています。条件は次のとおりです。
sync_volume: False )sync_volume: "{{ volume_level / 2 }}" )統合サポートがテストされています:
media_content_type: urlで示すことが重要です注意。いくつかの統合の正しい操作のために、HAサーバーはHTTPおよびIPアドレスのローカルネットワークで利用できるようにする必要があります。
設定>一般>ホームネットワークのURL> http://192.168.1.123:8123/
さまざまなアドオンを介した外部アクセスの正しい構成を使用すると、アドレスhttps://myhome.duckdns.org/でHAを使用できることを理解する必要があります。また、適切な設定を使用すると、このようなリンクは外部ネットワークとローカルネットワークの両方で機能します。タイプHTTP/IPのリンクは、地元のメディアプレーヤーによってのみ使用されます。
コンポーネントは、すべての理論的に適切なmedia_player自動的に見つけ、列のsource_listリストに追加します。必要に応じて、 configuration.yamlでスピーカーのリストを手動で示すことができます。
yandex_station :
media_players :
- entity_id : media_player.yas_306
name : Yamaha
- entity_id : media_player.mpd
name : MPD
speaker_id : [media_player.yandex_station] # опциональная привязка к конкретным колонкам Яндекса
- entity_id : media_player.yas_306
name : Yamaha (no sync)
sync_volume : False # опциональное отключение синхронизации громкости звука
- entity_id : media_player.yas_306
name : Yamaha (no sync)
sync_volume : " {{ volume_level / 2 }} " # использование Jinja2 для синхронизации громкости
- entity_id : media_player.samsung
name : SamsungTV
media_content_type : url # важно для интеграции SamsungTV из HACS
- entity_id : edia_player.nest_hub
name : Chromecast
quality : lossless # варианты качества - lossless / nq / lq
codecs : flac,mp3 # поддерживаемые кодеки - flac,aac,mp3 放送の品質の選択:
lossless + mp3 = 320 kbpm品質が選択されましたflacのみを選択しないでください - すべての曲がこの形式であるわけではありませんブロードキャストを切り替えることができます:
sourceスイッチsourceスイッチ地元の政権のためだけ!
各列について、 cameraが作成され(デフォルトでオフになります)、カラオケモードの現在の曲のテキストを表示できます。
テキストのフローは、Chromecastなど、テレビに送信できます。
alias : Включить караоке на ТВ
sequence :
- service : media_player.play_media
target :
entity_id : media_player.mibox
data :
media_content_id : >-
http://192.168.1.123:8123/api/camera_proxy_stream/camera.hall_speaker_lyrics?token={{ state_attr('camera.hall_speaker_lyrics', 'access_token') }}
media_content_type : image/jpeg 地元の政権のためだけ!
Yandexデバイスができるリンクのみ!
画面のあるデバイス(大きなステーションまたはモジュール)のみ
これは、「Play Text」フィールドにリンクを挿入する場合に、GUIからを含む機能します。
script :
yandex_play_url :
alias : Проигрывание медиа по ссылке
sequence :
- service : media_player.play_media
entity_id : media_player.yandex_station # замените на вашу колонку
data :
media_content_id : https://music.yandex.ru/album/2150009/track/19174962
media_content_type : xxx # тип не важен, но должен быть! 地元の政権のためだけ!
注意: 2024年の夏頃、列は任意のリクエストに対するテキスト応答を返しました。 Yandexでの次のアップデートの後、列は、限られたフレーズのリスト(天気、時間、スマートハウスなど)のみにテキストの回答を返し始めました。
オプション1。yandex_station.send_command yandex_station.send_commandを介して。
script :
example1 :
sequence :
- action : yandex_station.send_command
data :
entity_id : media_player.yandex_station # замените на вашу колонку
text : какая погода?
response_variable : response
- action : notify.persistent_notification
data :
message : " {{ response }} "オプション2。 Conversation Entity経由。
script :
example2 :
sequence :
- action : conversation.process
data :
agent_id : conversation.yandex_station_mini # замените на вашего агента
text : какая погода?
response_variable : response
- action : notify.persistent_notification
data :
message : " {{ response }} " 地元の政権のためだけ!
テレグラムを通じてアリスと通信できます。そして彼女は電報であなたに答えます!天気を尋ねたり、タクシーを呼んだり、曲をオンにしたり、都市をプレイしたり、スマートホームを管理したりすることができます(Yandex Smart Houseとの統合を調整した場合)。 Telegram Slashコマンドはありません。通常のテキストでアリスと通信します。
同時に、ホームアシスタントはインターネット上で「投げる」必要はありません。 pollingモードの電報は、外部アクセスなしで機能します。
同時に、リンクでメディアを再生することも機能します。 Telegramで、Yandex Musicの映画Kinopoisk、YouTubeビデオ、または曲/アルバム/プレイリストへのリンクをTelegramと共有するだけで、コラムで開始します。
telegram_bot :
- platform : polling
api_key : TELEGRAM_BOT_API_KEY # создайте своего Телеграм бота
allowed_chat_ids :
- TELEGRAM_USER1_ID # укажите ID своего аккаунта
- TELEGRAM_USER2_ID # при желании, поддерживается несколько аккаунтов
automation :
- trigger :
platform : event
event_type : telegram_text
action :
- service : conversation.process
data :
agent_id : conversation.yandex_station_mini # замените на вашу станцию
text : " {{ trigger.event.data.text }} "
conversation_id : " {{ trigger.event.data.chat_id }} "
response_variable : response
- service : telegram_bot.send_message
data :
target : " {{ trigger.event.data.chat_id }} "
message : " {{ response.response.speech.plain.speech }} "さまざまなステーションに電報メッセージを送信するために、@Prostomakssはそのようなソリューションを提供しました。
地元の政権のためだけ!
アリスの購入リストと標準のショッピングリストコンポーネントの二重の同期がサポートされています。 HAと列の音声の両方からリスト要素を追加および削除できます。

以前は、GUIまたはYAMLを介して標準コンポーネントを追加する必要があります。
リストの同期のために、次のサービスを呼び出す必要があります。必要に応じて、このサービスの呼び出しは、ステーションからコマンドを受信してコラムから音声で実行できます。
script :
update_shopping_list :
alias : Обновить список покупок
sequence :
- service : media_player.play_media
entity_id : media_player.yandex_station_mini # замените на вашу колонку
data :
media_content_id : update
media_content_type : shopping_list同期後、列に音声が付いた要素を削除できます。このような要素は、次の同期のためにHAから削除されます。
または、HAインターフェイスで完了した要素に注意することもできます。このような要素は、次の同期でYandexから削除されます。同期する前に、HAの完成した要素のリストを手動でクリーニングしないでください!それ以外の場合、同期は妨げられます。
同期は、次のルールに従って発生します。
yandexがリストに追加できない名前の一部に留意する必要があります。したがって、それらはトレースなしで消える可能性があります。
地元の政権のためだけ!
ローカルモードの作業をチェックする最も簡単な方法は、コラムで曲を開始し、ホームアシスタントにカバーが表示されているかどうかを確認することです。
ローカルデバイスは、MDNS(Zeroconf)プロトコルを通じて自動的に求められます。あなたがホームアシスタントのために1つの港だけを開いた場合、彼は働きません。たとえば、 network=hostまたはNATの仮想マシンを設定せずに、Docker(hass.ioでは大丈夫です)にインストールします。
これに問題がある場合は、ルーターとホームアシスタント構成で静的IPアドレスを指定できます。 device_id列はyandexモバイルアプリケーションで表示できます。
yandex_station :
devices :
12345678901234567890 : # device_id вашей колонки
host : 192.168.1.123
name : Яндекс Станция # имя можно задать и тутswitch 、 sensor 、 select 、 number )から組み立てることができますIRとして、TuyaのYandexリモートまたは安価なバージョン(ネイティブYandexリモートとして直接追加)を使用できます。
構成では、デバイスの名前をリストする必要があります。
yandex_station :
include :
- Кондиционер # добавить ВСЕ устройства с этим именем
- name : Очиститель Xiaomi
properties : [ "temperature", "humidity", "pm2.5_density" ] # опционально создать сенсоры
- name : Чайник Polaris
capabilities : [ "mute", "keep_warm" ] # опционально создать контролы
- name : Увлажнитель Polaris
capabilities : [ "mute", "controls_locked", "ionization", "backlight" ] # опционально создать контролы
properties : [ "temperature","humidity" ] # опционально создать сенсоры
- name : Кондиционер
room_name : Зал # опционально указать комнату
capabilities : [ "temperature", "fan_speed", "thermostat" ] # опционально создать контролы
current_temperature : " {{ states('sensor.temperature') }} " # опционально указать сенсор температуры
- name : Увлажнитель
current_humidity : " {{ states('sensor.humidity') }} " # опционально указать сенсор влажности
- room_name : Ванная # добавить ВСЕ устройства из этой комнаты
- type : devices.types.sensor # добавить ВСЕ устройства такого типа
- id : 96581cf1-dad4-4329-bbe9-0c843128f60a # добавить устройство по IDエアコンはサーモスタットとして追加されます。

手動で構成されたIRデバイスがリモートとして追加されます。チームはremote.send_commandサービスを介して送信されます。一度にいくつかのチームを送信し、遅延と繰り返しの数を構成できます。呼び出しの例。
script :
change_settings :
alias : Изменение настроек Алисы
sequence :
- service : media_player.play_media
data :
entity_id : media_player.yandex_station # замените на любую вашу колонку
media_content_id : ' без лишних слов: да ' # пробел после двоеточия
media_content_type : settingsサポートされた値:
без лишних слов: да/нетответить шепотом: да/нетанонсировать треки: да/нетскрывать названия товаров: да/нетзвук активации: да/нетодним устройством: да/нетпонимать детей: да/нетрассказывать о навыках: да/нетвзрослый голос: умеренный/семейный/безопасный/без ограниченийдетский голос: безопасный/семейныйимя: алиса/яндексадаптивная громкость: да/неткроссфейд: да/нет 選択した列を他の言語に切り替えます。ヤスミンに応答し始めます!
action : media_player.play_media
target :
entity_id : media_player.hall_speaker # замените на вашу колонку
data :
media_content_type : locale
media_content_id : ru-RU # ru-RU en-US ar-SA kk-KZ tr-TR いくつかのTTSサービスがホームアシスタントに接続されている場合、それらの最初のサービスはメディアプレーヤーカードから呼び出されます(名前でソート)。たとえば、 tts.google_translate_say 、 tts.yandex_station_sayも優先されます。 tts.yandex_station_sayは、 tts.yandextts_sayも優先されます。
Yandex.tanのコンポーネントは他のTTSをサポートできますが、他のスピーカーはTTS yandex_station_sayをサポートできない場合があります。必要に応じて、:
yandex_station :
tts_service_name : alice_say HDMIのみのステーションの場合
音の出力を切り替える機能は、ベータのYandexにあります。ビデオ(たとえば、YouTube)の音のみがテレビに表示されます。音楽とアリスの声の音は駅に残ります。
以前は、関数がconfigに含まれていました。これで、大きなステーションのすべての所有者のデフォルトでオンになります。
script :
yandex_hdmi_sound :
alias : Звук Станции на HDMI
sequence :
- service : media_player.select_source
entity_id : media_player.yandex_station # поменяйте на вашу станцию
data :
source : HDMI yandex.mation maksのみ
script :
yandex_brightness :
sequence :
- service : media_player.play_media
entity_id : media_player.yandex_station_max
data :
media_content_id : 0.5 # допустимые значения от 0 до 1, или -1 для включения авто режима
media_content_type : brightness #257#263#518#552
別のyandexドメインを使用します
yandex_station :
domain : yandex.com接続HTTPプロキシ
yandex_station :
proxy : http://username:[email protected]:3128https証明書の対抗
yandex_station :
ssl : False 問題の検索と排除
logger:
default: info
logs: { custom_components.yandex_station: debug }