mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Bump Music Assistant Client to 1.2.3 (#147885)
This commit is contained in:
parent
01e7efc7b4
commit
3ed440a3af
@ -34,7 +34,7 @@ class MusicAssistantEntity(Entity):
|
||||
identifiers={(DOMAIN, player_id)},
|
||||
manufacturer=self.player.device_info.manufacturer or provider.name,
|
||||
model=self.player.device_info.model or self.player.name,
|
||||
name=self.player.display_name,
|
||||
name=self.player.name,
|
||||
configuration_url=f"{mass.server_url}/#/settings/editplayer/{player_id}",
|
||||
)
|
||||
|
||||
|
@ -7,6 +7,6 @@
|
||||
"documentation": "https://www.home-assistant.io/integrations/music_assistant",
|
||||
"iot_class": "local_push",
|
||||
"loggers": ["music_assistant"],
|
||||
"requirements": ["music-assistant-client==1.2.0"],
|
||||
"requirements": ["music-assistant-client==1.2.3"],
|
||||
"zeroconf": ["_mass._tcp.local."]
|
||||
}
|
||||
|
@ -6,11 +6,7 @@ import logging
|
||||
from typing import TYPE_CHECKING, Any, cast
|
||||
|
||||
from music_assistant_models.enums import MediaType as MASSMediaType
|
||||
from music_assistant_models.media_items import (
|
||||
BrowseFolder,
|
||||
MediaItemType,
|
||||
SearchResults,
|
||||
)
|
||||
from music_assistant_models.media_items import MediaItemType, SearchResults
|
||||
|
||||
from homeassistant.components import media_source
|
||||
from homeassistant.components.media_player import (
|
||||
@ -549,8 +545,6 @@ def _process_search_results(
|
||||
|
||||
# Add available items to results
|
||||
for item in items:
|
||||
if TYPE_CHECKING:
|
||||
assert not isinstance(item, BrowseFolder)
|
||||
if not item.available:
|
||||
continue
|
||||
|
||||
|
@ -250,8 +250,8 @@ class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity):
|
||||
# update generic attributes
|
||||
if player.powered and active_queue is not None:
|
||||
self._attr_state = MediaPlayerState(active_queue.state.value)
|
||||
if player.powered and player.state is not None:
|
||||
self._attr_state = MediaPlayerState(player.state.value)
|
||||
if player.powered and player.playback_state is not None:
|
||||
self._attr_state = MediaPlayerState(player.playback_state.value)
|
||||
else:
|
||||
self._attr_state = MediaPlayerState(STATE_OFF)
|
||||
# active source and source list (translate to HA source names)
|
||||
@ -270,12 +270,12 @@ class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity):
|
||||
self._attr_source = active_source_name
|
||||
|
||||
group_members: list[str] = []
|
||||
if player.group_childs:
|
||||
group_members = player.group_childs
|
||||
if player.group_members:
|
||||
group_members = player.group_members
|
||||
elif player.synced_to and (parent := self.mass.players.get(player.synced_to)):
|
||||
group_members = parent.group_childs
|
||||
group_members = parent.group_members
|
||||
|
||||
# translate MA group_childs to HA group_members as entity id's
|
||||
# translate MA group_members to HA group_members as entity id's
|
||||
entity_registry = er.async_get(self.hass)
|
||||
group_members_entity_ids: list[str] = [
|
||||
entity_id
|
||||
|
2
requirements_all.txt
generated
2
requirements_all.txt
generated
@ -1467,7 +1467,7 @@ mozart-api==4.1.1.116.4
|
||||
mullvad-api==1.0.0
|
||||
|
||||
# homeassistant.components.music_assistant
|
||||
music-assistant-client==1.2.0
|
||||
music-assistant-client==1.2.3
|
||||
|
||||
# homeassistant.components.tts
|
||||
mutagen==1.47.0
|
||||
|
2
requirements_test_all.txt
generated
2
requirements_test_all.txt
generated
@ -1259,7 +1259,7 @@ mozart-api==4.1.1.116.4
|
||||
mullvad-api==1.0.0
|
||||
|
||||
# homeassistant.components.music_assistant
|
||||
music-assistant-client==1.2.0
|
||||
music-assistant-client==1.2.3
|
||||
|
||||
# homeassistant.components.tts
|
||||
mutagen==1.47.0
|
||||
|
@ -53,6 +53,7 @@ async def music_assistant_client_fixture() -> AsyncGenerator[MagicMock]:
|
||||
|
||||
client.connect = AsyncMock(side_effect=connect)
|
||||
client.start_listening = AsyncMock(side_effect=listen)
|
||||
client.send_command = AsyncMock(return_value=None)
|
||||
client.server_info = ServerInfoMessage(
|
||||
server_id=MOCK_SERVER_ID,
|
||||
server_version="0.0.0",
|
||||
|
@ -4,7 +4,6 @@
|
||||
"player_id": "00:00:00:00:00:01",
|
||||
"provider": "test",
|
||||
"type": "player",
|
||||
"name": "Test Player 1",
|
||||
"available": true,
|
||||
"powered": false,
|
||||
"device_info": {
|
||||
@ -23,10 +22,10 @@
|
||||
],
|
||||
"elapsed_time": null,
|
||||
"elapsed_time_last_updated": 0,
|
||||
"state": "idle",
|
||||
"playback_state": "idle",
|
||||
"volume_level": 20,
|
||||
"volume_muted": false,
|
||||
"group_childs": [],
|
||||
"group_members": [],
|
||||
"active_source": "00:00:00:00:00:01",
|
||||
"active_group": null,
|
||||
"current_media": null,
|
||||
@ -37,7 +36,7 @@
|
||||
"enabled": true,
|
||||
"icon": "mdi-speaker",
|
||||
"group_volume": 20,
|
||||
"display_name": "Test Player 1",
|
||||
"name": "Test Player 1",
|
||||
"power_control": "native",
|
||||
"volume_control": "native",
|
||||
"mute_control": "native",
|
||||
@ -75,7 +74,6 @@
|
||||
"player_id": "00:00:00:00:00:02",
|
||||
"provider": "test",
|
||||
"type": "player",
|
||||
"name": "Test Player 2",
|
||||
"available": true,
|
||||
"powered": true,
|
||||
"device_info": {
|
||||
@ -93,10 +91,10 @@
|
||||
],
|
||||
"elapsed_time": 0,
|
||||
"elapsed_time_last_updated": 0,
|
||||
"state": "playing",
|
||||
"playback_state": "playing",
|
||||
"volume_level": 20,
|
||||
"volume_muted": false,
|
||||
"group_childs": [],
|
||||
"group_members": [],
|
||||
"active_source": "spotify",
|
||||
"active_group": null,
|
||||
"current_media": {
|
||||
@ -117,7 +115,7 @@
|
||||
"hidden": false,
|
||||
"icon": "mdi-speaker",
|
||||
"group_volume": 20,
|
||||
"display_name": "My Super Test Player 2",
|
||||
"name": "My Super Test Player 2",
|
||||
"power_control": "native",
|
||||
"volume_control": "native",
|
||||
"mute_control": "native",
|
||||
@ -139,7 +137,6 @@
|
||||
"player_id": "test_group_player_1",
|
||||
"provider": "player_group",
|
||||
"type": "group",
|
||||
"name": "Test Group Player 1",
|
||||
"available": true,
|
||||
"powered": true,
|
||||
"device_info": {
|
||||
@ -157,10 +154,10 @@
|
||||
],
|
||||
"elapsed_time": 0.0,
|
||||
"elapsed_time_last_updated": 1730315437.9904983,
|
||||
"state": "idle",
|
||||
"playback_state": "idle",
|
||||
"volume_level": 6,
|
||||
"volume_muted": false,
|
||||
"group_childs": ["00:00:00:00:00:01", "00:00:00:00:00:02"],
|
||||
"group_members": ["00:00:00:00:00:01", "00:00:00:00:00:02"],
|
||||
"active_source": "test_group_player_1",
|
||||
"active_group": null,
|
||||
"current_media": {
|
||||
@ -180,7 +177,7 @@
|
||||
"enabled": true,
|
||||
"icon": "mdi-speaker-multiple",
|
||||
"group_volume": 6,
|
||||
"display_name": "Test Group Player 1",
|
||||
"name": "Test Group Player 1",
|
||||
"power_control": "native",
|
||||
"volume_control": "native",
|
||||
"mute_control": "native",
|
||||
|
@ -75,7 +75,7 @@ async def test_button_press_action(
|
||||
await trigger_subscription_callback(
|
||||
hass, music_assistant_client, EventType.PLAYER_CONFIG_UPDATED, mass_player_id
|
||||
)
|
||||
with pytest.raises(HomeAssistantError, match="Player has no active source"):
|
||||
with pytest.raises(HomeAssistantError, match="No current item to add to favorites"):
|
||||
await hass.services.async_call(
|
||||
BUTTON_DOMAIN,
|
||||
SERVICE_PRESS,
|
||||
|
Loading…
x
Reference in New Issue
Block a user