return await self.player_command(player.group_parent, cmd, cmd_args)
# handle hass integration
await self.__player_command_hass_integration(player, cmd, cmd_args)
+ # handle group volume/power for group players
+ await self.__player_group_commands(player, cmd, cmd_args)
# handle mute as power
if cmd == 'power' and player.settings['mute_as_power']:
- args = 'on' if cmd_args == 'off' else 'off' # invert logic (power ON is mute OFF)
- await prov.player_command(player_id, 'mute', args)
+ cmd = 'mute'
+ cmd_args = 'on' if cmd_args == 'off' else 'off' # invert logic (power ON is mute OFF)
# handle play on power on
if cmd == 'power' and cmd_args == 'on' and player.settings['play_power_on']:
cmd = 'play'
cmd_args = None
# normal execution of command on player
await prov.player_command(player_id, cmd, cmd_args)
- # handle group volume/power for group players
- await self.__player_group_commands(player, cmd, cmd_args)
+
async def __player_command_hass_integration(self, player, cmd, cmd_args):
''' handle hass integration in player command '''
self._chromecasts[player_id].set_volume_muted(False)
elif cmd == 'mute':
self._chromecasts[player_id].set_volume_muted(True)
- #self._chromecasts[player_id].wait()
+ self._chromecasts[player_id].wait()
async def player_queue(self, player_id, offset=0, limit=50):
''' return the current items in the player's queue '''
"""Plays media after chromecast has switched to requested app."""
queuedata['mediaSessionId'] = media_controller.status.media_session_id
media_controller.send_message(queuedata, inc_session_id=False)
- #castplayer.wait()
+ castplayer.wait()
receiver_ctrl.launch_app(media_controller.app_id,
callback_function=app_launched_callback)
self.mass.event_loop.create_task(self.mass.player.update_player(self._players[member]))
async def __chromecast_discovered(self, chromecast):
- LOGGER.info("discovered chromecast: %s" % chromecast)
+ LOGGER.debug("discovered chromecast: %s" % chromecast)
player_id = str(chromecast.uuid)
ip_change = False
if player_id in self._chromecasts and chromecast.uri != self._chromecasts[player_id].uri:
self._player_queue[player_id] = []
chromecast.wait()
- @run_periodic(600)
+ @run_periodic(3600)
async def __discover_chromecasts(self):
''' discover chromecasts on the network '''
LOGGER.info('Running Chromecast discovery...')