Suppress vizio logging API call failures to prevent no-op logs (#44388)
parent
051f6c0e72
commit
b651f63ef0
|
@ -184,10 +184,10 @@ class VizioDevice(MediaPlayerEntity):
|
|||
async def async_update(self) -> None:
|
||||
"""Retrieve latest state of the device."""
|
||||
if not self._model:
|
||||
self._model = await self._device.get_model_name()
|
||||
self._model = await self._device.get_model_name(log_api_exception=False)
|
||||
|
||||
if not self._sw_version:
|
||||
self._sw_version = await self._device.get_version()
|
||||
self._sw_version = await self._device.get_version(log_api_exception=False)
|
||||
|
||||
is_on = await self._device.get_power_state(log_api_exception=False)
|
||||
|
||||
|
@ -236,7 +236,9 @@ class VizioDevice(MediaPlayerEntity):
|
|||
if not self._available_sound_modes:
|
||||
self._available_sound_modes = (
|
||||
await self._device.get_setting_options(
|
||||
VIZIO_AUDIO_SETTINGS, VIZIO_SOUND_MODE
|
||||
VIZIO_AUDIO_SETTINGS,
|
||||
VIZIO_SOUND_MODE,
|
||||
log_api_exception=False,
|
||||
)
|
||||
)
|
||||
else:
|
||||
|
@ -306,6 +308,7 @@ class VizioDevice(MediaPlayerEntity):
|
|||
setting_type,
|
||||
setting_name,
|
||||
new_value,
|
||||
log_api_exception=False,
|
||||
)
|
||||
|
||||
async def async_added_to_hass(self) -> None:
|
||||
|
@ -453,52 +456,58 @@ class VizioDevice(MediaPlayerEntity):
|
|||
"""Select sound mode."""
|
||||
if sound_mode in self._available_sound_modes:
|
||||
await self._device.set_setting(
|
||||
VIZIO_AUDIO_SETTINGS, VIZIO_SOUND_MODE, sound_mode
|
||||
VIZIO_AUDIO_SETTINGS,
|
||||
VIZIO_SOUND_MODE,
|
||||
sound_mode,
|
||||
log_api_exception=False,
|
||||
)
|
||||
|
||||
async def async_turn_on(self) -> None:
|
||||
"""Turn the device on."""
|
||||
await self._device.pow_on()
|
||||
await self._device.pow_on(log_api_exception=False)
|
||||
|
||||
async def async_turn_off(self) -> None:
|
||||
"""Turn the device off."""
|
||||
await self._device.pow_off()
|
||||
await self._device.pow_off(log_api_exception=False)
|
||||
|
||||
async def async_mute_volume(self, mute: bool) -> None:
|
||||
"""Mute the volume."""
|
||||
if mute:
|
||||
await self._device.mute_on()
|
||||
await self._device.mute_on(log_api_exception=False)
|
||||
self._is_volume_muted = True
|
||||
else:
|
||||
await self._device.mute_off()
|
||||
await self._device.mute_off(log_api_exception=False)
|
||||
self._is_volume_muted = False
|
||||
|
||||
async def async_media_previous_track(self) -> None:
|
||||
"""Send previous channel command."""
|
||||
await self._device.ch_down()
|
||||
await self._device.ch_down(log_api_exception=False)
|
||||
|
||||
async def async_media_next_track(self) -> None:
|
||||
"""Send next channel command."""
|
||||
await self._device.ch_up()
|
||||
await self._device.ch_up(log_api_exception=False)
|
||||
|
||||
async def async_select_source(self, source: str) -> None:
|
||||
"""Select input source."""
|
||||
if source in self._available_inputs:
|
||||
await self._device.set_input(source)
|
||||
await self._device.set_input(source, log_api_exception=False)
|
||||
elif source in self._get_additional_app_names():
|
||||
await self._device.launch_app_config(
|
||||
**next(
|
||||
app["config"]
|
||||
for app in self._additional_app_configs
|
||||
if app["name"] == source
|
||||
)
|
||||
),
|
||||
log_api_exception=False,
|
||||
)
|
||||
elif source in self._available_apps:
|
||||
await self._device.launch_app(source, self._all_apps)
|
||||
await self._device.launch_app(
|
||||
source, self._all_apps, log_api_exception=False
|
||||
)
|
||||
|
||||
async def async_volume_up(self) -> None:
|
||||
"""Increase volume of the device."""
|
||||
await self._device.vol_up(num=self._volume_step)
|
||||
await self._device.vol_up(num=self._volume_step, log_api_exception=False)
|
||||
|
||||
if self._volume_level is not None:
|
||||
self._volume_level = min(
|
||||
|
@ -507,7 +516,7 @@ class VizioDevice(MediaPlayerEntity):
|
|||
|
||||
async def async_volume_down(self) -> None:
|
||||
"""Decrease volume of the device."""
|
||||
await self._device.vol_down(num=self._volume_step)
|
||||
await self._device.vol_down(num=self._volume_step, log_api_exception=False)
|
||||
|
||||
if self._volume_level is not None:
|
||||
self._volume_level = max(
|
||||
|
@ -519,10 +528,10 @@ class VizioDevice(MediaPlayerEntity):
|
|||
if self._volume_level is not None:
|
||||
if volume > self._volume_level:
|
||||
num = int(self._max_volume * (volume - self._volume_level))
|
||||
await self._device.vol_up(num=num)
|
||||
await self._device.vol_up(num=num, log_api_exception=False)
|
||||
self._volume_level = volume
|
||||
|
||||
elif volume < self._volume_level:
|
||||
num = int(self._max_volume * (self._volume_level - volume))
|
||||
await self._device.vol_down(num=num)
|
||||
await self._device.vol_down(num=num, log_api_exception=False)
|
||||
self._volume_level = volume
|
||||
|
|
|
@ -858,6 +858,7 @@ async def test_zeroconf_ignore(
|
|||
|
||||
async def test_zeroconf_no_unique_id(
|
||||
hass: HomeAssistantType,
|
||||
vizio_guess_device_type: pytest.fixture,
|
||||
vizio_no_unique_id: pytest.fixture,
|
||||
) -> None:
|
||||
"""Test zeroconf discovery aborts when unique_id is None."""
|
||||
|
|
|
@ -40,6 +40,7 @@ from homeassistant.components.vizio.const import (
|
|||
CONF_ADDITIONAL_CONFIGS,
|
||||
CONF_APPS,
|
||||
CONF_VOLUME_STEP,
|
||||
DEFAULT_VOLUME_STEP,
|
||||
DOMAIN,
|
||||
SERVICE_UPDATE_SETTING,
|
||||
VIZIO_SCHEMA,
|
||||
|
@ -259,6 +260,7 @@ async def _test_service(
|
|||
**kwargs,
|
||||
) -> None:
|
||||
"""Test generic Vizio media player entity service."""
|
||||
kwargs["log_api_exception"] = False
|
||||
service_data = {ATTR_ENTITY_ID: ENTITY_ID}
|
||||
if additional_service_data:
|
||||
service_data.update(additional_service_data)
|
||||
|
@ -378,13 +380,27 @@ async def test_services(
|
|||
{ATTR_INPUT_SOURCE: "USB"},
|
||||
"USB",
|
||||
)
|
||||
await _test_service(hass, MP_DOMAIN, "vol_up", SERVICE_VOLUME_UP, None)
|
||||
await _test_service(hass, MP_DOMAIN, "vol_down", SERVICE_VOLUME_DOWN, None)
|
||||
await _test_service(
|
||||
hass, MP_DOMAIN, "vol_up", SERVICE_VOLUME_SET, {ATTR_MEDIA_VOLUME_LEVEL: 1}
|
||||
hass, MP_DOMAIN, "vol_up", SERVICE_VOLUME_UP, None, num=DEFAULT_VOLUME_STEP
|
||||
)
|
||||
await _test_service(
|
||||
hass, MP_DOMAIN, "vol_down", SERVICE_VOLUME_SET, {ATTR_MEDIA_VOLUME_LEVEL: 0}
|
||||
hass, MP_DOMAIN, "vol_down", SERVICE_VOLUME_DOWN, None, num=DEFAULT_VOLUME_STEP
|
||||
)
|
||||
await _test_service(
|
||||
hass,
|
||||
MP_DOMAIN,
|
||||
"vol_up",
|
||||
SERVICE_VOLUME_SET,
|
||||
{ATTR_MEDIA_VOLUME_LEVEL: 1},
|
||||
num=(100 - 15),
|
||||
)
|
||||
await _test_service(
|
||||
hass,
|
||||
MP_DOMAIN,
|
||||
"vol_down",
|
||||
SERVICE_VOLUME_SET,
|
||||
{ATTR_MEDIA_VOLUME_LEVEL: 0},
|
||||
num=(15 - 0),
|
||||
)
|
||||
await _test_service(hass, MP_DOMAIN, "ch_up", SERVICE_MEDIA_NEXT_TRACK, None)
|
||||
await _test_service(hass, MP_DOMAIN, "ch_down", SERVICE_MEDIA_PREVIOUS_TRACK, None)
|
||||
|
@ -394,6 +410,9 @@ async def test_services(
|
|||
"set_setting",
|
||||
SERVICE_SELECT_SOUND_MODE,
|
||||
{ATTR_SOUND_MODE: "Music"},
|
||||
"audio",
|
||||
"eq",
|
||||
"Music",
|
||||
)
|
||||
# Test that the update_setting service does config validation/transformation correctly
|
||||
await _test_service(
|
||||
|
|
Loading…
Reference in New Issue