Smartglass - Control your Xbox

SmartGlass - Control Registered Devices

class xbox.webapi.api.provider.smartglass.SmartglassProvider(client)[source]

Bases: BaseProvider

SG_URL = 'https://xccs.xboxlive.com'
HEADERS_SG = {'skillplatform': 'RemoteManagement', 'x-xbl-contract-version': '4'}
__init__(client)[source]

Initialize Baseclass, create smartglass session id

Args: Instance of XBL client

async get_console_list(include_storage_devices=True, **kwargs)[source]

Get Console list

Parameters:

include_storage_devices (bool) – Include a list of storage devices in the response

Return type:

SmartglassConsoleList

Returns: Console List

async get_installed_apps(device_id=None, **kwargs)[source]

Get Installed Apps

Parameters:

device_id (str | None) – ID of console (from console list)

Return type:

InstalledPackagesList

Returns: Installed Apps

async get_storage_devices(device_id, **kwargs)[source]

Get Installed Apps

Parameters:

device_id (str) – ID of console (from console list)

Return type:

StorageDevicesList

Returns: Storage Devices list

async get_console_status(device_id, **kwargs)[source]

Get Console Status

Parameters:

device_id (str) – ID of console (from console list)

Return type:

SmartglassConsoleStatus

Returns: Console Status

async get_op_status(device_id, op_id, **kwargs)[source]

Get Operation Status

Parameters:
  • device_id (str) – ID of console (from console list)

  • op_id (str) – Operation ID (from previous command)

Return type:

OperationStatusResponse

Returns: Operation Status

async wake_up(device_id, **kwargs)[source]

Wake Up Console

Parameters:

device_id (str) – ID of console (from console list)

Return type:

CommandResponse

Returns: Command Response

async turn_off(device_id, **kwargs)[source]

Turn Off Console

Parameters:

device_id (str) – ID of console (from console list)

Return type:

CommandResponse

Returns: Command Response

async reboot(device_id, **kwargs)[source]

Reboot Console

Parameters:

device_id (str) – ID of console (from console list)

Return type:

CommandResponse

Returns: Command Response

async mute(device_id, **kwargs)[source]

Mute

Parameters:

device_id (str) – ID of console (from console list)

Return type:

CommandResponse

Returns: Command Response

async unmute(device_id, **kwargs)[source]

Unmute

Parameters:

device_id (str) – ID of console (from console list)

Return type:

CommandResponse

Returns: Command Response

async volume(device_id, direction, amount=1, **kwargs)[source]

Adjust Volume

Parameters:
Return type:

CommandResponse

Returns: Command Response

async play(device_id, **kwargs)[source]

Play (media controls)

Parameters:

device_id (str) – ID of console (from console list)

Return type:

CommandResponse

Returns: Command Response

async pause(device_id, **kwargs)[source]

Pause (media controls)

Parameters:

device_id (str) – ID of console (from console list)

Return type:

CommandResponse

Returns: Command Response

async previous(device_id, **kwargs)[source]

Previous (media controls)

Parameters:

device_id (str) – ID of console (from console list)

Return type:

CommandResponse

Returns: Command Response

async next(device_id, **kwargs)[source]

Next (media controls)

Parameters:

device_id (str) – ID of console (from console list)

Return type:

CommandResponse

Returns: Command Response

async go_home(device_id, **kwargs)[source]

Go Home

Parameters:

device_id (str) – ID of console (from console list)

Return type:

CommandResponse

Returns: Command Response

async go_back(device_id, **kwargs)[source]

Go Back

Parameters:

device_id (str) – ID of console (from console list)

Returns:

Command Response

Return type:

SmartglassConsoleStatus

async show_guide_tab(device_id, tab=GuideTab.Guide, **kwargs)[source]

Show Guide Tab

Parameters:
  • device_id (str) – ID of console (from console list)

  • tab (GuideTab) –

Return type:

CommandResponse

Returns: Command Response

async press_button(device_id, button, **kwargs)[source]

Press Button

Parameters:
  • device_id (str) – ID of console (from console list)

  • button (InputKeyType) –

Return type:

CommandResponse

Returns: Command Response

async insert_text(device_id, text, **kwargs)[source]

Insert Text

Parameters:
  • device_id (str) – ID of console (from console list)

  • text (str) –

Return type:

CommandResponse

Returns: Command Response

async launch_app(device_id, one_store_product_id, **kwargs)[source]

Launch Application

Parameters:
  • device_id (str) – ID of console (from console list)

  • one_store_product_id (str) – OneStoreProductID for the app to launch

Return type:

CommandResponse

Returns: Command Response

async show_tv_guide(device_id, **kwargs)[source]

Show TV Guide

Parameters:

device_id (str) – ID of console (from console list)

Return type:

CommandResponse

Returns: Command Response

async _fetch_list(list_name, params=None, **kwargs)[source]

Fetch arbitrary list

Parameters:
  • list_name (str) – name of list

  • params (dict | None) – query params

Returns:

HTTP Response

Return type:

httpx.Response

async _send_one_shot_command(device_id, command_type, command, params=None, **kwargs)[source]

Send One Shot command to console

Parameters:
  • device_id (str) – ID of console (from console list)

  • type – type of command

  • command (str) – name of command

  • params (List[dict] | None) – command parameters

  • command_type (str) –

Return type:

CommandResponse

Returns: Command Response