Компонент для управления Яндекс.Станцией по локальной сети.
На конец января 2020 поддерживается:
- Яндекс.Станция (большая)
Не поддерживается:
- Яндекс.Станция Мини
- Irbis
- Dexp
Остальные колонки не тестировались.
Нужны имя и пароль аккаунта Яндекс, к которому привязаны колонки. Изучите код, если думаете, что это небезопасно.
Токен сохраняется в директории конфигов и больше не запрашивается.
yandex_station:
username: myuser
password: mypass
Если знаете свой Oauth-токен, можно так:
yandex_station:
token: abcdefghijklmnopqrstuvwxyz
script:
yandex_tts:
alias: TTS на Яндекс.Станции
sequence:
- service: tts.yandex_station_say
data_template:
entity_id: media_player.yandex_station_12345678901234567890
message: Температура в комнате {{ states("sensor.temperature_hall")|round }} градуса.
yandex_play_album:
alias: Включить Би-2 на Станции
sequence:
- service: media_player.play_media
data:
entity_id: media_player.yandex_station_12345678901234567890
media_content_id: 60062 # ID альбома в Яндекс.Музыка
media_content_type: album # album, track or playlist
Для шаблонов не забывайте указывать data_template
, для остальных команд
хватит просто data
.
Компонент создаёт сервис yandex_station.send_command
, которому необходимо
передать команду.
Полезные команды станции можно узнать тут.
Самая универсальная - это sendText
. Станция выполнит посланную фразу, как
буд-то услышала команду голосом.
Если у аккаунта больше одной станции - команда выполнится на первой из
поддерживаемых. Если поддерживаемых станций несколько - нужно дополнительно
передать device
равный id
или названию станции. Можно посмотреть в
приложении Яндекс или в веб интерфейсе.
script:
yandex_tts:
alias: TTS на Яндекс.Станции
sequence:
- service: yandex_station.send_command
data:
command: sendText
text: Повтори за мной 'Привет, человек!'
device: Яндекс Станция