AlexxIT / YandexStation

Управление Яндекс.Станцией и другими устройствами умного дома с Алисой из Home Assistant
https://t.me/AlexxIT_SmartHome
MIT License
1.27k stars 120 forks source link

Не работает трансляция музыки в mopidy #316

Open whakru opened 1 year ago

whakru commented 1 year ago

Есть одна маленькая проблема.. Хочу использовать mopidy для трансляции музыки в Джек orange pi И для плагина ledfx. Но трансляция в mopidy по какой то причине не происходит. Ловлю ошибку:

Logger: homeassistant.core
Source: components/mpd/media_player.py:474
First occurred: 01:19:51 (5 occurrences)
Last logged: 10:47:06

Error executing service: <ServiceCall media_player.play_media (c:01GEJHAYHK91WSMKY66PPR62G6): entity_id=['media_player.mpd_mopidy_localhost'], extra=, media_type=music, media_id=http://10.255.255.2:8123/api/yandex_station/lb000000000/5335652c17f42b5ae6f38308d435a81e.mp3>
Error executing service: <ServiceCall media_player.play_media (c:01GEK5YMXV4Z0DWTQJVRTG8AQM): entity_id=['media_player.mpd_mopidy_localhost'], extra=, media_type=music, media_id=http://10.255.255.2:8123/api/yandex_station/lb000000000/c0cbf4bb514a9841fa89a898df234734.mp3>
Error executing service: <ServiceCall media_player.play_media (c:01GEK64G4MNEXE8770YGW8N1AR): entity_id=['media_player.mpd_mopidy_localhost'], extra=, media_type=music, media_id=http://10.255.255.2:8123/api/yandex_station/lb000000000/8a320b3069c9328575913a2189fa103b.mp3>
Error executing service: <ServiceCall media_player.play_media (c:01GEK6CVQMD1C0FBB5CT8N7WXR): entity_id=['media_player.mpd_mopidy_localhost'], extra=, media_type=music, media_id=http://10.255.255.2:8123/api/yandex_station/lb000000000/7431ac07aa57839f9e4ebbccb6df4e8f.mp3>
Error executing service: <ServiceCall media_player.play_media (c:01GEKHSKMF0BRVCXEHPDF3WM3N): entity_id=['media_player.mpd_mopidy_localhost'], extra=, media_type=music, media_id=http://10.255.255.2:8123/api/yandex_station/lb000000000/c3c3919a7fcf22283451182f9bac2df5.mp3>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/core.py", line 1756, in catch_exceptions
    await coro_or_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 676, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 931, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 713, in _handle_entity_call
    await result
  File "/config/custom_components/yandex_music_browser/patches/generic.py", line 94, in _patch_generic_async_play_media
    return await object.__getattribute__(self, "async_play_media")(
  File "/usr/src/homeassistant/homeassistant/components/mpd/media_player.py", line 474, in async_play_media
    await self._client.add(media_id)
  File "/usr/local/lib/python3.10/site-packages/mpd/asyncio.py", line 309, in __run
    await result._feed_from(self)
  File "/usr/local/lib/python3.10/site-packages/mpd/asyncio.py", line 45, in _feed_from
    line = await mpdclient._read_line()
  File "/usr/local/lib/python3.10/site-packages/mpd/asyncio.py", line 395, in _read_line
    raise CommandError(error)
mpd.base.CommandError: [50@0] {add} directory or file not found

Подтер чутка api запрос (мб приватно хз). Почему то mopidy ругается что такого файла нет. Больше смущает ip адрес http://10.255.255.2:8123 это адрес в виртуальной сети (vpn). В которой Алиса не живёт. У HA 2 сети, локальная (основная) 192.168.31.31 И VPN от wire guard 10.255.255.2 (в эту сеть пробрасывается внешний порт).

Так как провайдер не даёт белый ИП приходиться пользоваться vpn и используется он исключительно в HA.

Может быть в этом проблема?

whakru commented 1 year ago

Откинул вариант vpn, без впн в локальной сети тоже самое.

whakru commented 1 year ago

Проблема на стороне mpd https://github.com/Poeschl/Hassio-Addons/issues/334

whakru commented 1 year ago

Использую рабочую версию mpd 2.1.1 https://github.com/Llntrvr/Hassio-Addons Теперь всё работает но только когда отключен впн. Можно ли как то интеграции задать адрес который она будет транслировать? Если подключен впн то транслирует с адресом http://10.255.255.2 (и mopidy его не видит) а хотелось бы чтобы транслировала из другой сети (локальной) 192.168.31.31

AlexxIT commented 1 year ago

Компонент ничего не придумывает и берёт адрес ХА из настроек ХА

whakru commented 1 year ago

Компонент ничего не придумывает и берёт адрес ХА из настроек ХА

Тоесть он берет локальный адрес из HA? Можно ли как то указать какой сетевой интерфейс использовать?

whakru commented 1 year ago

Компонент ничего не придумывает и берёт адрес ХА из настроек ХА

Screenshot_2022-10-16-09-42-16-314_io homeassistant companion android Странно но HA имеет правильный локальный адрес.