Closed urtaevS closed 11 months ago
Такая же проблема, появилась около 3 дней назад. Пробовал передавать звук на dlna ресивер, а так же через chomecast на телек, поведение везде одинаково, первую песню играет, и дальше через раз воспроизводит, можно переключать песни, какие то передаёт, какие то нет. Ставил новый сервер ХА на виртуалку, такие же проблемы, может в яндексе что то сделали? Колонка яндекс станция 2
Аналогичная проблема. Играет 1-2 песни и стрим прерывается. Причем Яндекс станция продолжает играть. На двух разных серверах ХА в разных локациях ситуация одинаковая. Причем в первом случае стрим идёт на устройство Chromecast, а вот втором на dlna. Неделю назад все работало без проблем.
Использую стример Arylic. Изначально заметил, что интеграция Yandex отказывается транслировать звук на него, если проигрывать плейлисты залитые самолично. Но с Волной и прочим аудиоконтентом на платформе проблем не возникало, пока использовал media_player через интеграцию linkplay.
Когда подключил этот же стример, но через DLNA интеграцию, и стал использовать его как источник для станции, то периодически возникает ошибка. Из-за неё ссылка на новый трек не отправляется интеграцией на воспроизводящее устройство (плеер переходит в idle состояние с media_position на несколько секунд меньше полной длины трека). Получаются пропуски в потоке до следующей смены трека. Во время таких пропусков можно поставить на паузу и опять включить, тогда ссылка обновится и воспроизведение начнется с начала трека. Пока решил проблему простой автоматизацией, если плеер в простое 5 секунд, а станция в процессе стриминга на него, то выполняем пауза - воспроизведение. Кто является причиной этого (реализация поддержки dlna в устройсве, интеграция DMR или интеграция Станции) не имею понятия. Лог ошибки:
2023-01-11 14:07:57.237 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall media_player.media_pause (c:01GPG87SXKFKPHD4DQCV8F6D1G): entity_id=['media_player.bedroom']>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/core.py", line 1763, in catch_exceptions
await coro_or_task
File "/usr/src/homeassistant/homeassistant/core.py", line 1782, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 655, in entity_service_call
raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity media_player.bedroom does not support this service.
По данной проблеме как я понимаю нет новостей. У меня тоже прерывается стрим на chromecast после проигрывания 1-2 треков. Колонка продолжает воспроизведение в приглушенном режиме.
Подтверждаю. В большей или меньшей степени эта проблема проявляется уже несколько месяцев. Транслирую с Яндекс лайт на KODI. Пробовал установить KODI на другое устройство и другой версии. Отключал доступ по https, чтобы был доступ по внутреннему ip-адресу. Изменений никаких: через произвольное количество треков трансляция прерывается, переключив источник на станцию и обратно, продолжается. Замечу, что похожим образом начал вести себя плагин Яндекс.музыка (установленный на KODI, не имеющий отношения к home assistant) - также через произвольное число треков трансляция прерывается.
Столкнулся с такой же проблемой и вижу, что тема уже полгода как актуальна. Для себя пока сделал костыль, поделюсь - может кому поможет. У меня звук выводится на MPD, но думаю, что по аналогии можно настроить на любое устройство. Суть проблемы - иногда в момент начала воспроизведения нового трека и отправки его на плеер, тот просто выключается, то есть переходит в состояние off. Но трек в него при этом передаётся и если плеер просто включить, то всё начинает играть. Поэтому костыль работает так - по триггеру состояния станции media_position (Положение), то есть каждую секунду, срабатывает условие, которое проверяет включен ли плеер. Если включен, то ничего не происходит, а если выключен, то он включается. По факту, при прослушивании, если вылезает вышеописанная проблема, Станция может чуть икнуть (на секунду начать воспроизведение), но потом замолкает и воспроизведение начинается на плеере.
Код этой автоматизации:
alias: Музыка С Алисой - Костыль для MPD
description: ''
trigger:
- platform: state
entity_id:
- media_player.yandex_station_u007mt000dvgne
attribute: media_position
condition:
- condition: state
entity_id: media_player.mpd
state: 'off'
action:
- service: media_player.turn_on
data: {}
target:
entity_id: media_player.mpd
mode: single
Вот бы еще автоматизацию при переключении треков. Когда переключаешь треки с колонки не всегда переключается трек на внешнем устройстве. у себя сделал автоматизацию, когда говоришь например: алиса перезапусти, то посылается команда на колонку пауза и следом воспроизведение, тогда запускается новый трек на внешнем устройстве. Хотелось бы все это дело автоматизировать.
Я сделал через состояние Станции - alice_state (Alice state) - когда статус меняется с одного на другой, вот статусы:
Во-первых сделал постановку на паузу плеера, когда активируется Алиса, чтобы команда лучше воспринималась при высокой громкости:
- id: '1683204520688'
alias: Музыка С Алисой - Слушать команду
description: ''
trigger:
- platform: state
entity_id:
- media_player.yandex_station_u007mt000dvgne
attribute: alice_state
to: LISTENING
from: IDLE
condition: []
action:
- service: media_player.media_pause
data: {}
target:
entity_id: media_player.mpd
mode: single
Ну и запуск плеера после команды (заодно условие - если Станция на паузе, то музыка не заиграет, пока не снимешь с паузы):
- id: '1683204687130'
alias: Музыка С Алисой - После команды Play
description: ''
trigger:
- platform: state
entity_id:
- media_player.yandex_station_u007mt000dvgne
attribute: alice_state
from: LISTENING
to: IDLE
condition:
- condition: not
conditions:
- condition: state
entity_id: media_player.yandex_station_u007mt000dvgne
state: paused
action:
- service: media_player.media_play
data: {}
target:
entity_id: media_player.mpd
mode: single
И саму паузу, чтобы уж всё было)
- id: '1683207544521'
alias: Музыка С Алисой - Пауза
description: ''
trigger:
- platform: device
device_id: d082c59a30898e26f05c4790a5c8634a
domain: media_player
entity_id: media_player.yandex_station_u007mt000dvgne
type: paused
condition: []
action:
- service: media_player.media_pause
data: {}
target:
entity_id: media_player.mpd
mode: single
Пока это весь мой комплект костылей)
И у меня аналогичная проблема при трансляции на хромкаст.
С недавних пор перестал(опять), к сожалению, работать стриминг музыки со станции на устройства(в моем случае это плееры squeezebox). Играет первую песню после выбора источника, остальные песни играть продолжают только на самой станции (без звука). В HA установлено три интеграции с разными аккаунтами, и привязанными к ним станциями.