Compare commits

...

1 Commits

Author SHA1 Message Date
Claude
eab18bc8cd Remove volume_up/volume_down overrides from ws66i media player
Set _attr_volume_step to 1/MAX_VOL (1/38) and let the base class
handle volume stepping. The base class calls async_set_volume_level
which delegates to _set_volume, preserving the automatic unmute
behavior when volume changes.

https://claude.ai/code/session_01Gn8AeZ8HvyyDw53e1rynUA
2026-02-27 19:34:52 -05:00

View File

@@ -55,6 +55,7 @@ class Ws66iZone(CoordinatorEntity[Ws66iDataUpdateCoordinator], MediaPlayerEntity
| MediaPlayerEntityFeature.TURN_OFF
| MediaPlayerEntityFeature.SELECT_SOURCE
)
_attr_volume_step = 1 / MAX_VOL
def __init__(
self,
@@ -147,20 +148,6 @@ class Ws66iZone(CoordinatorEntity[Ws66iDataUpdateCoordinator], MediaPlayerEntity
await self.hass.async_add_executor_job(self._set_volume, int(volume * MAX_VOL))
self._async_update_attrs_write_ha_state()
async def async_volume_up(self) -> None:
"""Volume up the media player."""
await self.hass.async_add_executor_job(
self._set_volume, min(self._status.volume + 1, MAX_VOL)
)
self._async_update_attrs_write_ha_state()
async def async_volume_down(self) -> None:
"""Volume down media player."""
await self.hass.async_add_executor_job(
self._set_volume, max(self._status.volume - 1, 0)
)
self._async_update_attrs_write_ha_state()
def _set_volume(self, volume: int) -> None:
"""Set the volume of the media player."""
# Can't set a new volume level when this zone is muted.