--- title: "Device" slug: "170-core-device" updated: 2025-12-01T19:25:33Z published: 2025-12-09T18:02:06Z canonical: "docs.developer.comcast.com/170-core-device" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.developer.comcast.com/llms.txt > Use this file to discover all available pages before exploring further. # Device **Device Module 1.7.0 | Core SDK** ## Usage To use the Device module, you can import it into your project from the Firebolt SDK: ``` import { Device } from '@firebolt-js/sdk' ``` ## Overview A module for querying about the device and it's capabilities. ## Methods ### audio Get the supported audio profiles for the connected devices. It is not recommended to use this API for visual badging on content within your app since this does not reflect the settings of the user. To get the value of `audio` call the method like this: ``` function audio(): Promise ``` Promise resolution: [AudioProfiles](/docs/170-core-device#audioprofiles) Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:info | #### Examples Getting the supported audio profiles JavaScript: ``` import { Device } from '@firebolt-js/sdk' let supportedAudioProfiles = await Device.audio() console.log(supportedAudioProfiles) ``` Value of `supportedAudioProfiles`: ``` { "stereo": true, "dolbyDigital5.1": true, "dolbyDigital5.1+": true, "dolbyAtmos": true } ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.audio", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": { "stereo": true, "dolbyDigital5.1": true, "dolbyDigital5.1+": true, "dolbyAtmos": true } } ``` --- To subscribe to notifications when the value changes, call the method like this: ``` function audio(callback: (value) => AudioProfiles): Promise ``` Promise resolution: ``` number ``` #### Examples Getting the supported audio profiles JavaScript: ``` import { Device } from '@firebolt-js/sdk' let listenerId = await audio((value) => { console.log(value) }) console.log(listenerId) ``` Value of `supportedAudioProfiles`: ``` { "stereo": true, "dolbyDigital5.1": true, "dolbyDigital5.1+": true, "dolbyAtmos": true } ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.onAudioChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": { "stereo": true, "dolbyDigital5.1": true, "dolbyDigital5.1+": true, "dolbyAtmos": true } } ``` --- ### distributor Get the name of the entity which is distributing the current device. There can be multiple distributors which distribute the same device model. To get the value of `distributor` call the method like this: ``` function distributor(): Promise ``` Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:distributor | #### Examples Getting the distributor ID JavaScript: ``` import { Device } from '@firebolt-js/sdk' let distributorId = await Device.distributor() console.log(distributorId) ``` Value of `distributorId`: ``` 'Company' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.distributor", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "Company" } ``` --- ### hdcp Get the negotiated HDCP profiles for a connected device. For devices that do not require additional connections (e.g. panels), `true` will be returned for all profiles. To get the value of `hdcp` call the method like this: ``` function hdcp(): Promise ``` Promise resolution: [HDCPVersionMap](/docs/170-core-device#hdcpversionmap) Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:info | #### Examples Getting the negotiated HDCP versions JavaScript: ``` import { Device } from '@firebolt-js/sdk' let negotiatedHdcpVersions = await Device.hdcp() console.log(negotiatedHdcpVersions) ``` Value of `negotiatedHdcpVersions`: ``` { "hdcp1.4": true, "hdcp2.2": true } ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.hdcp", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": { "hdcp1.4": true, "hdcp2.2": true } } ``` --- To subscribe to notifications when the value changes, call the method like this: ``` function hdcp(callback: (value) => HDCPVersionMap): Promise ``` Promise resolution: ``` number ``` #### Examples Getting the negotiated HDCP versions JavaScript: ``` import { Device } from '@firebolt-js/sdk' let listenerId = await hdcp((value) => { console.log(value) }) console.log(listenerId) ``` Value of `negotiatedHdcpVersions`: ``` { "hdcp1.4": true, "hdcp2.2": true } ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.onHdcpChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": { "hdcp1.4": true, "hdcp2.2": true } } ``` --- ### hdr Get the negotiated HDR formats for the connected display and device To get the value of `hdr` call the method like this: ``` function hdr(): Promise ``` Promise resolution: [HDRFormatMap](/docs/170-core-device#hdrformatmap) Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:info | #### Examples Getting the negotiated HDR formats JavaScript: ``` import { Device } from '@firebolt-js/sdk' let negotiatedHdrFormats = await Device.hdr() console.log(negotiatedHdrFormats) ``` Value of `negotiatedHdrFormats`: ``` { "hdr10": true, "hdr10Plus": true, "dolbyVision": true, "hlg": true } ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.hdr", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": { "hdr10": true, "hdr10Plus": true, "dolbyVision": true, "hlg": true } } ``` --- To subscribe to notifications when the value changes, call the method like this: ``` function hdr(callback: (value) => HDRFormatMap): Promise ``` Promise resolution: ``` number ``` #### Examples Getting the negotiated HDR formats JavaScript: ``` import { Device } from '@firebolt-js/sdk' let listenerId = await hdr((value) => { console.log(value) }) console.log(listenerId) ``` Value of `negotiatedHdrFormats`: ``` { "hdr10": true, "hdr10Plus": true, "dolbyVision": true, "hlg": true } ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.onHdrChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": { "hdr10": true, "hdr10Plus": true, "dolbyVision": true, "hlg": true } } ``` --- ### id Get the platform back-office device identifier To get the value of `id` call the method like this: ``` function id(): Promise ``` Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:id | #### Examples Default Example JavaScript: ``` import { Device } from '@firebolt-js/sdk' let id = await Device.id() console.log(id) ``` Value of `id`: ``` '123' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.id", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "123" } ``` --- ### listen To listen to a specific event pass the event name as the first parameter: ``` listen(event: string, callback: (data: any) => void): Promise ``` Parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `event` | `string` | Yes | The event to listen for, see [Events](/docs/170-core-device#events). | | *callback* | `function` | Yes | A function that will be invoked when the event occurs. | Promise resolution: | Type | Description | | --- | --- | | `number` | Listener ID to clear the callback method and stop receiving the event, e.g. `Device.clear(id)` | Callback parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `data` | `any` | Yes | The event data, which depends on which event is firing, see [Events](/docs/170-core-device#events). | To listen to all events from this module pass only a callback, without specifying an event name: ``` listen(callback: (event: string, data: any) => void): Promise ``` Parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | *callback* | `function` | Yes | A function that will be invoked when the event occurs. The event data depends on which event is firing, see [Events](/docs/170-core-device#events). | Callback parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `event` | `string` | Yes | The event that has occured listen for, see [Events](/docs/170-core-device#events). | | `data` | `any` | Yes | The event data, which depends on which event is firing, see [Events](/docs/170-core-device#events). | Promise resolution: | Type | Description | | --- | --- | | `number` | Listener ID to clear the callback method and stop receiving the event, e.g. `Device.clear(id)` | See [Listening for events](/docs/listening-for-events/) for more information and examples. ### make Get the manufacturer of the device model To get the value of `make` call the method like this: ``` function make(): Promise ``` Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:make | #### Examples Getting the device make JavaScript: ``` import { Device } from '@firebolt-js/sdk' let make = await Device.make() console.log(make) ``` Value of `make`: ``` 'Arris' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.make", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "Arris" } ``` --- ### model Get the manufacturer designated model of the device To get the value of `model` call the method like this: ``` function model(): Promise ``` Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:model | #### Examples Getting the device model JavaScript: ``` import { Device } from '@firebolt-js/sdk' let model = await Device.model() console.log(model) ``` Value of `model`: ``` 'xi6' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.model", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "xi6" } ``` --- ### name The human readable name of the device To get the value of `name` call the method like this: ``` function name(): Promise ``` Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:name | #### Examples Default example #1 JavaScript: ``` import { Device } from '@firebolt-js/sdk' let value = await Device.name() console.log(value) ``` Value of `value`: ``` 'Living Room' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.name", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "Living Room" } ``` Default example #2 JavaScript: ``` import { Device } from '@firebolt-js/sdk' let value = await Device.name() console.log(value) ``` Value of `value`: ``` 'Living Room' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.name", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "Kitchen" } ``` --- To subscribe to notifications when the value changes, call the method like this: ``` function name(callback: (value) => string): Promise ``` Promise resolution: ``` number ``` #### Examples Default example #1 JavaScript: ``` import { Device } from '@firebolt-js/sdk' let listenerId = await name((value) => { console.log(value) }) console.log(listenerId) ``` Value of `value`: ``` 'Living Room' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.onNameChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "Living Room" } ``` Default example #2 JavaScript: ``` import { Device } from '@firebolt-js/sdk' let listenerId = await name((value) => { console.log(value) }) console.log(listenerId) ``` Value of `value`: ``` 'Living Room' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.onNameChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "Kitchen" } ``` --- ### network Get the current network status and type To get the value of `network` call the method like this: ``` function network(): Promise ``` Promise resolution: [NetworkInfoResult](/docs/170-core-device#networkinforesult) Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:network:status | #### Examples Getting the network info JavaScript: ``` import { Device } from '@firebolt-js/sdk' let networkInfo = await Device.network() console.log(networkInfo) ``` Value of `networkInfo`: ``` { "state": "connected", "type": "wifi" } ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.network", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": { "state": "connected", "type": "wifi" } } ``` --- To subscribe to notifications when the value changes, call the method like this: ``` function network(callback: (value) => NetworkInfoResult): Promise ``` Promise resolution: ``` number ``` #### Examples Getting the network info JavaScript: ``` import { Device } from '@firebolt-js/sdk' let listenerId = await network((value) => { console.log(value) }) console.log(listenerId) ``` Value of `networkInfo`: ``` { "state": "connected", "type": "wifi" } ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.onNetworkChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": { "state": "connected", "type": "wifi" } } ``` --- ### once To listen to a single instance of a specific event pass the event name as the first parameter: ``` once(event: string, callback: (data: any) => void): Promise ``` The `once` method will only pass the next instance of this event, and then dicard the listener you provided. Parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `event` | `string` | Yes | The event to listen for, see [Events](/docs/170-core-device#events). | | *callback* | `function` | Yes | A function that will be invoked when the event occurs. | Promise resolution: | Type | Description | | --- | --- | | `number` | Listener ID to clear the callback method and stop receiving the event, e.g. `Device.clear(id)` | Callback parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `data` | `any` | Yes | The event data, which depends on which event is firing, see [Events](/docs/170-core-device#events). | To listen to the next instance only of any events from this module pass only a callback, without specifying an event name: ``` once(callback: (event: string, data: any) => void): Promise ``` Parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | *callback* | `function` | Yes | A function that will be invoked when the event occurs. The event data depends on which event is firing, see [Events](/docs/170-core-device#events). | Callback parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `event` | `string` | Yes | The event that has occured listen for, see [Events](/docs/170-core-device#events). | | `data` | `any` | Yes | The event data, which depends on which event is firing, see [Events](/docs/170-core-device#events). | Promise resolution: | Type | Description | | --- | --- | | `number` | Listener ID to clear the callback method and stop receiving the event, e.g. `Device.clear(id)` | See [Listening for events](/docs/listening-for-events/) for more information and examples. ### platform Get a platform identifier for the device. This API should be used to correlate metrics on the device only and cannot be guaranteed to have consistent responses across platforms. To get the value of `platform` call the method like this: ``` function platform(): Promise ``` Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:info | #### Examples Getting the platform ID JavaScript: ``` import { Device } from '@firebolt-js/sdk' let platformId = await Device.platform() console.log(platformId) ``` Value of `platformId`: ``` 'WPE' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.platform", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "WPE" } ``` --- ### screenResolution Get the resolution for the graphical surface of the app. The pairs returned will be of a [width, height] format and will correspond to the following values: NTSC Standard Definition (SD): [720, 480] PAL Standard Definition (SD): [720, 576] High Definition (HD): [1280, 720] Full HD (FHD): [1920, 1080] 4K Ultra High Definition (UHD): [3840, 2160] **Deprecated:** Use non-Firebolt APIs specific to your platform, e.g. W3C APIs To get the value of `screenResolution` call the method like this: ``` function screenResolution(): Promise ``` Promise resolution: [Resolution](/docs/170-core-device#resolution) Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:info | #### Examples Getting the screen resolution JavaScript: ``` import { Device } from '@firebolt-js/sdk' let screenResolution = await Device.screenResolution() console.log(screenResolution) ``` Value of `screenResolution`: ``` ;[1920, 1080] ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.screenResolution", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": [1920, 1080] } ``` --- To subscribe to notifications when the value changes, call the method like this: ``` function screenResolution(callback: (value) => Resolution): Promise ``` Promise resolution: ``` number ``` #### Examples Getting the screen resolution JavaScript: ``` import { Device } from '@firebolt-js/sdk' let listenerId = await screenResolution((value) => { console.log(value) }) console.log(listenerId) ``` Value of `screenResolution`: ``` ;[1920, 1080] ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.onScreenResolutionChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": [1920, 1080] } ``` --- ### sku Get the device sku To get the value of `sku` call the method like this: ``` function sku(): Promise ``` Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:sku | #### Examples Getting the device sku JavaScript: ``` import { Device } from '@firebolt-js/sdk' let sku = await Device.sku() console.log(sku) ``` Value of `sku`: ``` 'AX061AEI' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.sku", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "AX061AEI" } ``` --- ### type Get the device type To get the value of `type` call the method like this: ``` function type(): Promise ``` Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:info | #### Examples Getting the device type JavaScript: ``` import { Device } from '@firebolt-js/sdk' let deviceType = await Device.type() console.log(deviceType) ``` Value of `deviceType`: ``` 'STB' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.type", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "STB" } ``` --- ### uid Gets a unique id for the current app & device To get the value of `uid` call the method like this: ``` function uid(): Promise ``` Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:uid | #### Examples Getting the unique ID JavaScript: ``` import { Device } from '@firebolt-js/sdk' let uniqueId = await Device.uid() console.log(uniqueId) ``` Value of `uniqueId`: ``` 'ee6723b8-7ab3-462c-8d93-dbf61227998e' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.uid", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "ee6723b8-7ab3-462c-8d93-dbf61227998e" } ``` --- ### version Get the SDK, OS and other version info To get the value of `version` call the method like this: ``` function version(): Promise ``` Promise resolution: [DeviceVersion](/docs/170-core-device#deviceversion) Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:info | #### Examples Getting the os and sdk versions JavaScript: ``` import { Device } from '@firebolt-js/sdk' let versions = await Device.version() console.log(versions) ``` Value of `versions`: ``` { "sdk": { "major": 0, "minor": 8, "patch": 0, "readable": "Firebolt JS SDK v0.8.0" }, "api": { "major": 0, "minor": 8, "patch": 0, "readable": "Firebolt API v0.8.0" }, "firmware": { "major": 1, "minor": 2, "patch": 3, "readable": "Device Firmware v1.2.3" }, "os": { "major": 0, "minor": 1, "patch": 0, "readable": "Firebolt OS v0.1.0" }, "debug": "Non-parsable build info for error logging only." } ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.version", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": { "sdk": { "major": 0, "minor": 8, "patch": 0, "readable": "Firebolt JS SDK v0.8.0" }, "api": { "major": 0, "minor": 8, "patch": 0, "readable": "Firebolt API v0.8.0" }, "firmware": { "major": 1, "minor": 2, "patch": 3, "readable": "Device Firmware v1.2.3" }, "os": { "major": 0, "minor": 1, "patch": 0, "readable": "Firebolt OS v0.1.0" }, "debug": "Non-parsable build info for error logging only." } } ``` --- ### videoResolution Get the maximum supported video resolution of the currently connected device and display. The pairs returned will be of a [width, height] format and will correspond to the following values: NTSC Standard Definition (SD): [720, 480] PAL Standard Definition (SD): [720, 576] High Definition (HD): [1280, 720] Full HD (FHD): [1920, 1080] 4K Ultra High Definition (UHD): [3840, 2160] To get the value of `videoResolution` call the method like this: ``` function videoResolution(): Promise ``` Promise resolution: [Resolution](/docs/170-core-device#resolution) Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:device:info | #### Examples Getting the video resolution JavaScript: ``` import { Device } from '@firebolt-js/sdk' let videoResolution = await Device.videoResolution() console.log(videoResolution) ``` Value of `videoResolution`: ``` ;[1920, 1080] ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.videoResolution", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": [1920, 1080] } ``` --- To subscribe to notifications when the value changes, call the method like this: ``` function videoResolution(callback: (value) => Resolution): Promise ``` Promise resolution: ``` number ``` #### Examples Getting the video resolution JavaScript: ``` import { Device } from '@firebolt-js/sdk' let listenerId = await videoResolution((value) => { console.log(value) }) console.log(listenerId) ``` Value of `videoResolution`: ``` ;[1920, 1080] ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Device.onVideoResolutionChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": [1920, 1080] } ``` --- ## Events ### audioChanged See: [audio](/docs/170-core-device#audio) ### deviceNameChanged [Deprecated] This method is deprecated as of since version 0.6.0. Please use `Device.name()` as a replacement. --- ### hdcpChanged See: [hdcp](/docs/170-core-device#hdcp) ### hdrChanged See: [hdr](/docs/170-core-device#hdr) ### nameChanged See: [name](/docs/170-core-device#name) ### networkChanged See: [network](/docs/170-core-device#network) ### screenResolutionChanged See: [screenResolution](/docs/170-core-device#screenresolution) ### videoResolutionChanged See: [videoResolution](/docs/170-core-device#videoresolution) ## Private Events **View** ### audioChanged See: [audio](/docs/170-core-device#audio) ### deviceNameChanged [Deprecated] This method is deprecated as of since version 0.6.0. Please use `Device.name()` as a replacement. --- ### hdcpChanged See: [hdcp](/docs/170-core-device#hdcp) ### hdrChanged See: [hdr](/docs/170-core-device#hdr) ### nameChanged See: [name](/docs/170-core-device#name) ### networkChanged See: [network](/docs/170-core-device#network) ### screenResolutionChanged See: [screenResolution](/docs/170-core-device#screenresolution) ### videoResolutionChanged See: [videoResolution](/docs/170-core-device#videoresolution) ## Types ### NetworkState The type of network that is currently active ``` NetworkState: { CONNECTED: 'connected', DISCONNECTED: 'disconnected', }, ``` --- ### NetworkType The type of network that is currently active ``` NetworkType: { WIFI: 'wifi', ETHERNET: 'ethernet', HYBRID: 'hybrid', }, ``` --- ### HDRFormatMap The type of HDR format ``` type HDRFormatMap = { hdr10: boolean hdr10Plus: boolean dolbyVision: boolean hlg: boolean } ``` --- ### AudioProfiles ``` type AudioProfiles = { stereo: boolean dolbyDigital5_1: boolean dolbyDigital5_1_plus: boolean dolbyAtmos: boolean } ``` --- ### Resolution ``` type Resolution = | [ 720, // undefined Width in pixels item 480, // undefined Height in pixels item ] | [ 720, // undefined Width in pixels item 576, // undefined Height in pixels item ] | [ 1280, // undefined Width in pixels item 720, // undefined Height in pixels item ] | [ 1920, // undefined Width in pixels item 1080, // undefined Height in pixels item ] | [ 3840, // undefined Width in pixels item 2160, // undefined Height in pixels item ] ``` --- ### NetworkInfoResult ``` type NetworkInfoResult = { state: NetworkState // The type of network that is currently active type: NetworkType // The type of network that is currently active } ``` See also: [NetworkState](/docs/170-core-device#networkstate) [NetworkType](/docs/170-core-device#networktype) --- ### DeviceVersion ``` type DeviceVersion = { sdk?: SemanticVersion // The Firebolt SDK version api: SemanticVersion // The latest Firebolt API version supported by the current device. firmware: SemanticVersion // The firmware version as reported by the device os: SemanticVersion // **Deprecated** Use `firmware`, instead. debug?: string // Detailed version as a string, for debugging purposes } ``` See also: [SemanticVersion](/docs/170-core-Types-schemas#SemanticVersion) --- ### HDCPVersionMap The type of HDCP versions ``` type HDCPVersionMap = { hdcp1_4: boolean hdcp2_2: boolean } ``` ---