diff --git a/homeassistant/components/universal/media_player.py b/homeassistant/components/universal/media_player.py index 09771b551ac..63e3ff7448d 100644 --- a/homeassistant/components/universal/media_player.py +++ b/homeassistant/components/universal/media_player.py @@ -255,7 +255,10 @@ class UniversalMediaPlayer(MediaPlayerDevice): @property def volume_level(self): """Volume level of entity specified in attributes or active child.""" - return self._override_or_child_attr(ATTR_MEDIA_VOLUME_LEVEL) + try: + return float(self._override_or_child_attr(ATTR_MEDIA_VOLUME_LEVEL)) + except (TypeError, ValueError): + return None @property def is_volume_muted(self): diff --git a/tests/components/universal/test_media_player.py b/tests/components/universal/test_media_player.py index 67d826f576b..22ec96c3a21 100644 --- a/tests/components/universal/test_media_player.py +++ b/tests/components/universal/test_media_player.py @@ -539,10 +539,10 @@ class TestMediaPlayer(unittest.TestCase): ump = universal.UniversalMediaPlayer(self.hass, **config) - assert "0" == ump.volume_level + assert 0 == ump.volume_level self.hass.states.set(self.mock_volume_id, 100) - assert "100" == ump.volume_level + assert 100 == ump.volume_level def test_is_volume_muted_children_and_attr(self): """Test is volume muted property w/ children and attrs."""