Fix: Round volume level coming from player control
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Wed, 2 Apr 2025 19:59:51 +0000 (21:59 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Wed, 2 Apr 2025 19:59:51 +0000 (21:59 +0200)
music_assistant/providers/hass/__init__.py

index 27167e0928c3d853143434c0dc9f1a42370a70ad..51e8b23b4ed58074a7ecd9218a079b1d80b6c85c 100644 (file)
@@ -391,7 +391,9 @@ class HomeAssistantProvider(PluginProvider):
                 if not hass_state:
                     control.volume_level = 0
                 elif entity_platform == "media_player":
-                    control.volume_level = hass_state["attributes"].get("volume_level", 0) * 100
+                    control.volume_level = int(
+                        hass_state["attributes"].get("volume_level", 0) * 100
+                    )
                 else:
                     control.volume_level = try_parse_int(hass_state["state"]) or 0
                 control.volume_set = partial(self._handle_player_control_volume_set, entity_id)
@@ -482,7 +484,7 @@ class HomeAssistantProvider(PluginProvider):
         if "a" in state and (attributes := state["a"]):
             if player_control.supports_volume:
                 if entity_platform == "media_player":
-                    player_control.volume_level = attributes.get("volume_level", 0) * 100
+                    player_control.volume_level = int(attributes.get("volume_level", 0) * 100)
                 else:
                     player_control.volume_level = try_parse_int(attributes.get("value")) or 0
             if player_control.supports_mute and entity_platform == "media_player":