Are you using multicast forwarding or have any other unusual network setup? That is, do you have a single subnet flat network?
The menu bar on the left could be up there after āmusic assistantā would give more room for covers and the lower bar with controlsā¦ Iām aware that there is a horizontal option as well but that takes even more away from the window with coversā¦
Nothing unusual with my network. It consists of 2 Ubiquiti APs and everything is on the same 192.168.1.x subnet.
Try adjusting the multicast options and IGMP snooping
Thanks. Iāll take a look at those settings.
What I find odd is that only the Google Home Speaker Groups are impacted as the individual speakers all appear and work fine.
Yeah which is why I suspect something local as no one else is reporting this? I could be wrong though!
Not sure what is happening but I am finding I am getting errors when trying run MU to apple homepod speakers via a service call. Seems I am able to run from the MU GUI though. Finding it all quite inconsistent, sometimes it works, sometimes it doesnāt.
alias: Play moveDaHouse on the home pods
service: mass.play_media
data:
media_type: radio
media_id: MoveDaHouse
enqueue: play
target:
entity_id: media_player.group_airplay
Not sure if this is related, but this is what I see in the logs:
Log entry one:
Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/mass/media_player.py:500
integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 10:27:12 (3 occurrences)
Last logged: 10:34:00
[140070905065200] Error handling message: Unknown error (unknown_error) Steve of Queanbeyan from 192.168.1.16 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36)
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
await func(hass, connection, msg)
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 793, in handle_execute_script
script_result = await script_obj.async_run(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1769, in async_run
return await asyncio.shield(create_eager_task(run.async_run()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 464, in async_run
await self._async_step(log_exceptions=False)
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 528, in _async_step
self._handle_exception(
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 558, in _handle_exception
raise exception
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 526, in _async_step
await getattr(self, handler)()
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 763, in _async_call_service_step
response_data = await self._async_run_long_action(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 726, in _async_run_long_action
return await long_task
^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2741, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2784, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 977, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1049, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/config/custom_components/mass/media_player.py", line 438, in _async_play_media_advanced
if item := await self._get_item_by_name(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/mass/media_player.py", line 500, in _get_item_by_name
result = await func(search=searchname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/music_assistant/client/music.py", line 357, in get_library_radios
return PagedItems.parse(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/music_assistant/common/models/media_items.py", line 620, in parse
items=[item_type.from_dict(x) for x in raw["items"]],
~~~^^^^^^^^^
TypeError: list indices must be integers or slices, not str
Log entry two:
Logger: homeassistant.helpers.script.websocket_api_script
Source: helpers/script.py:526
First occurred: 10:27:12 (3 occurrences)
Last logged: 10:34:00
websocket_api script: Error executing script. Unexpected error for call_service at pos 1: list indices must be integers or slices, not str
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 526, in _async_step
await getattr(self, handler)()
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 763, in _async_call_service_step
response_data = await self._async_run_long_action(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 726, in _async_run_long_action
return await long_task
^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2741, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2784, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 977, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1049, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/config/custom_components/mass/media_player.py", line 438, in _async_play_media_advanced
if item := await self._get_item_by_name(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/mass/media_player.py", line 500, in _get_item_by_name
result = await func(search=searchname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/music_assistant/client/music.py", line 357, in get_library_radios
return PagedItems.parse(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/music_assistant/common/models/media_items.py", line 620, in parse
items=[item_type.from_dict(x) for x in raw["items"]],
~~~^^^^^^^^^
TypeError: list indices must be integers or slices, not str
I obtained the token for Apple Music. The documentation says, āClick it and copy the cookie value and use this in Music Assistant as the 'Music user token.ā Where exactly does the token go?
For those errors update to the latest version of the integration.
When you add the Apple Music provider there is a field in the config
Just noticed an update in HACS. Thanks. Updating from 2024.5.1 to 2024.6.1
Update applied and now working. Thanks again for the response.
You have an old version of the server then
Thanks for helping with trying to diagnose my issue with the Google Speaker groups. I think I have isolated the issue to be with the two Harmon Kardon Citation One speakers that I have, They are setup as a stereo pair in Google Home and then included in the Google Speaker group with two other speakers.
This has worked fine when playing music via Spotify to the Google Speaker group but for some reason it is causing Music Assistant to not load the speaker group. When I remove the HK Citation One speakers from the Google Speaker group, the group appears immediately in Music Assistant.
Update: It is not just the HK Citation One when in a stereo pair has issues. I created a stereo pair with two Google Home Miniās and have the same issue. So it looks like the Google Speaker Groups donāt work well when it contains speakers in a stereo pair.
and Apple Music is available in the 2.1 Beta version so thatās why you canāt see it
Music Assistant 2.0: Your Music, Your Players - #385 by OzGav
Sounds like you should raise an issue on GutHub then so Marcel can try and replicate it
My system has advised me of updates to both the addon and the integration. Two each over the last couple of days, so 4 in all.
Has anyone considered looking into using NymphCast casting protocol to and/or from Music Assistant?
Player/Client can be used on example ESP32 or Raspberry Pi:
What is NymphCast?
NymphCast is a software solution which turns your choice of hardware into an audio and video source for a television or (powered) speakers. It enables the streaming of audio and video over the network from a client device or media server, as well as the streaming of internet media to a NymphCast server, controlled by a client device, or directly on the receiver.
In addition, the server supports NymphCast apps (currently in preview status) written in AngelScript to extend the overall NymphCast functionality with e.g. 3rd party audio / video streaming protocol support on the server side, and customisable UIs in the client application.
NymphCast requires the use of a client device in all but the GUI (āSmart TVā) mode. The server application (receiver) runs on a target device, while the client device functions as a remote control device:
Client-side core functionality is provided through the NymphCast library.
I really donāt get how MU selects its speakers through service calls. I have three airplay speakers (a homepod and two homepod minis).
This morning, as part of an automation I ran these service callsā¦
service: media_player.unjoin
metadata: {}
data: {}
target:
entity_id: media_player.bed_room
service: mass.play_media
target:
entity_id: media_player.bed_room
data:
media_type: radio
media_id: SBS Chill
enqueue: play
alias: Play SBS Chill on Airplay Bedroom
Instead of playing to the bedroom speaker it played to the living room and kitchen speakers. I just donāt seem able to nut this out in a consistent, predictable manner. There seems no rhyme or reason to it all.
That and developer tools states is displaying the wrong information in the attributes. It is telling me that the news is playing in living room and kitchen speakers and music in the bedroom where I can hear the opposite. Music in the living room and kitchen and the news upstairs. I know I have named them properly as I can select the correct speaker with Home Assistant. Restarting the add-on seems to have fixed this.
Also those speakers (apart from the group speakers I have setup) are absent from the GUI, though they do appear under the group speakers. They come back in the GUI after I restart the add-on.
Can we have the service calls play to the speaker it is asked to pay to? Or is there some other trick to all of this that I am unaware of? ieā¦ should I switch the other two off and then run mass.play_media
or something similar?