Bump arcam_fmj to 3.0.0 (#182956)

This commit is contained in:
kernelpanic85
2026-09-25 20:43:40 +01:00
committed by GitHub
parent 1b91b28fad
commit 542bf64e24
11 changed files with 39 additions and 13 deletions
@@ -5,8 +5,8 @@ from asyncio import timeout
from contextlib import AsyncExitStack
import logging
from arcam.fmj import ConnectionFailed
from arcam.fmj.client import Client
from arcam.fmj.errors import ConnectionFailed
from homeassistant.const import CONF_HOST, CONF_PORT, Platform
from homeassistant.core import HomeAssistant
@@ -18,7 +18,11 @@ from .coordinator import ArcamFmjConfigEntry, ArcamFmjCoordinator, ArcamFmjRunti
_LOGGER = logging.getLogger(__name__)
PLATFORMS = [Platform.BINARY_SENSOR, Platform.MEDIA_PLAYER, Platform.SENSOR]
PLATFORMS = [
Platform.BINARY_SENSOR,
Platform.MEDIA_PLAYER,
Platform.SENSOR,
]
async def async_setup_entry(hass: HomeAssistant, entry: ArcamFmjConfigEntry) -> bool:
@@ -4,8 +4,8 @@ import socket
from typing import Any, override
from urllib.parse import urlparse
from arcam.fmj import ConnectionFailed
from arcam.fmj.client import Client
from arcam.fmj.errors import ConnectionFailed
from arcam.fmj.utils import get_uniqueid_from_host, get_uniqueid_from_udn
import probatio
@@ -6,8 +6,8 @@ from dataclasses import dataclass
import logging
from typing import override
from arcam.fmj import ConnectionFailed
from arcam.fmj.client import AmxDuetResponse, Client, ResponsePacket
from arcam.fmj.errors import ConnectionFailed
from arcam.fmj.state import State
from homeassistant.config_entries import ConfigEntry
+1 -1
View File
@@ -4,7 +4,7 @@ from collections.abc import Callable, Coroutine
import functools
from typing import Any, override
from arcam.fmj import ConnectionFailed
from arcam.fmj.errors import ConnectionFailed
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.entity import EntityDescription
@@ -7,7 +7,7 @@
"integration_type": "device",
"iot_class": "local_polling",
"loggers": ["arcam"],
"requirements": ["arcam-fmj==1.8.3"],
"requirements": ["arcam-fmj==3.0.0"],
"ssdp": [
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
@@ -3,7 +3,7 @@
import logging
from typing import Any, override
from arcam.fmj import SourceCodes
from arcam.fmj.codecs import SourceCodes
from homeassistant.components.media_player import (
BrowseError,
@@ -165,7 +165,7 @@ class ArcamFmj(ArcamFmjEntity, MediaPlayerEntity):
f"Media not found: {media_content_type} / {media_content_id}"
)
presets = self._state.get_preset_details()
presets = self._state.get_preset_details() or {}
radio = [
BrowseMedia(
+2 -1
View File
@@ -5,7 +5,8 @@ from dataclasses import dataclass
import logging
from typing import override
from arcam.fmj import IncomingVideoAspectRatio, IncomingVideoColorspace, IntOrTypeEnum
from arcam.fmj.codecs import IncomingVideoAspectRatio, IncomingVideoColorspace
from arcam.fmj.models import IntOrTypeEnum
from arcam.fmj.state import IncomingAudioConfig, IncomingAudioFormat, State
from homeassistant.components.sensor import (
+1 -1
View File
@@ -573,7 +573,7 @@ aqualogic==2.6
aranet4==2.6.0
# homeassistant.components.arcam_fmj
arcam-fmj==1.8.3
arcam-fmj==3.0.0
# homeassistant.components.arris_tg2492lg
arris-tg2492lg==2.2.0
@@ -5,7 +5,7 @@ from dataclasses import replace
import socket
from unittest.mock import AsyncMock, MagicMock, patch
from arcam.fmj.client import ConnectionFailed
from arcam.fmj.errors import ConnectionFailed
import pytest
from homeassistant.components.arcam_fmj.const import DOMAIN
@@ -4,7 +4,8 @@ from collections.abc import Generator
from math import isclose
from unittest.mock import Mock, PropertyMock, patch
from arcam.fmj import ConnectionFailed, DecodeMode2CH, DecodeModeMCH, SourceCodes
from arcam.fmj.codecs import DecodeMode2CH, DecodeModeMCH, SourceCodes
from arcam.fmj.errors import ConnectionFailed
from arcam.fmj.state import State
import pytest
from syrupy.assertion import SnapshotAssertion
@@ -22,6 +23,7 @@ from homeassistant.components.media_player import (
ATTR_MEDIA_VOLUME_MUTED,
ATTR_SOUND_MODE,
DOMAIN as MEDIA_PLAYER_DOMAIN,
SERVICE_BROWSE_MEDIA,
SERVICE_PLAY_MEDIA,
SERVICE_SELECT_SOUND_MODE,
SERVICE_SELECT_SOURCE,
@@ -64,6 +66,25 @@ async def test_setup(
await snapshot_platform(hass, entity_registry, snapshot, mock_config_entry.entry_id)
@pytest.mark.usefixtures("player_setup")
async def test_browse_media_without_presets(
hass: HomeAssistant, state_1: State
) -> None:
"""Test browsing when the receiver has no preset details."""
state_1.get_preset_details.return_value = None
response = await hass.services.async_call(
MEDIA_PLAYER_DOMAIN,
SERVICE_BROWSE_MEDIA,
service_data={ATTR_ENTITY_ID: MOCK_ENTITY_ID},
blocking=True,
return_response=True,
)
media = response[MOCK_ENTITY_ID]
assert media.media_content_id == "root"
assert media.children == []
@pytest.mark.usefixtures("player_setup")
async def test_disconnect(hass: HomeAssistant, client: Mock) -> None:
"""Test a disconnection is detected."""
+1 -1
View File
@@ -3,7 +3,7 @@
from collections.abc import Generator
from unittest.mock import Mock, patch
from arcam.fmj import IncomingVideoAspectRatio, IncomingVideoColorspace
from arcam.fmj.codecs import IncomingVideoAspectRatio, IncomingVideoColorspace
from arcam.fmj.state import IncomingAudioConfig, IncomingAudioFormat, State
import pytest
from syrupy.assertion import SnapshotAssertion