group_player = self._players[player.group_parent]
if group_player.settings['apply_group_power']:
player_childs = [item for item in self._players.values() if item.group_parent == group_player.player_id]
- if not group_player.powered and cmd == 'power' and cmd_args == 'on':
- # power on group player
- self.mass.event_loop.create_task(
- self.player_command(group_player.player_id, 'power', 'on'))
- elif group_player.powered and cmd == 'power' and cmd_args == 'off':
+ if group_player.powered and cmd == 'power' and cmd_args == 'off':
# check if the group player should still be turned on
new_powered = False
for child_player in player_childs:
new_powered = True
break
if not new_powered:
- self.mass.event_loop.create_task(
- self.player_command(group_player.player_id, 'power', 'off'))
+ await self.player_command(group_player.player_id, 'power', 'off')
async def remove_player(self, player_id):
''' handle a player remove '''
''' issue command on player (play, pause, next, previous, stop, power, volume, mute) '''
count = 0
while self._chromecasts[player_id].is_busy and count < 10:
- asyncio.sleep(0.1)
+ await asyncio.sleep(0.1)
count += 1
self._chromecasts[player_id].is_busy = True
if cmd == 'play':
'''
count = 0
while self._chromecasts[player_id].is_busy and count < 10:
- asyncio.sleep(0.1)
+ await asyncio.sleep(0.1)
count += 1
self._chromecasts[player_id].is_busy = True
castplayer = self._chromecasts[player_id]