fix group player missing child
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 10 Sep 2020 23:44:32 +0000 (01:44 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 10 Sep 2020 23:44:32 +0000 (01:44 +0200)
music_assistant/player_manager.py

index e2898fe57772cf36fce2d8d4f3a7ac9a9a1b4e9d..5d7267663c93a5ad601fdc344d8c224301d28f9b 100755 (executable)
@@ -332,7 +332,8 @@ class PlayerManager:
         if player.is_group_player:
             # player is group, turn off all childs
             for child_player_id in player.group_childs:
-                await self.async_cmd_power_off(child_player_id)
+                if self._players.get(child_player_id):
+                    await self.async_cmd_power_off(child_player_id)
 
     async def async_cmd_power_toggle(self, player_id: str):
         """
@@ -613,7 +614,8 @@ class PlayerManager:
             if player.is_group_player:
                 for child_player_id in player.group_childs:
                     child_player = self.get_player(child_player_id)
-                    self.mass.add_job(self.async_update_player(child_player))
+                    if child_player and child_player.available:
+                        self.mass.add_job(self.async_update_player(child_player))
         if player_id in self._player_queues and player.active_queue == player_id:
             self.mass.add_job(self._player_queues[player_id].async_update_state())