- Print
Device-0.10.0
- Print
Device Module 0.10.0
Usage
To use the Device module, you can import it into your project from the Firebolt SDK:
import { Device } from '@firebolt-js/sdk'
Methods
audio
Get the supported audio profiles
To get the value of audio
call the method like this:
function audio(): Promise<AudioProfiles>
Promise resolution:
Type | Description |
---|---|
AudioProfiles | the supported audio profiles |
Examples
Getting the supported audio profiles
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.audio()
.then(supportedAudioProfiles => {
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 set the value of audio
call the method like this:
function audio(): Promise<ListenResponse | AudioProfiles>
Parameters:
Param | Type | Required | Summary |
---|
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
Getting the supported audio profiles
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.audio(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 (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.audio((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
distributor
Get the distributor ID for this device
To get the value of distributor
call the method like this:
function distributor(): Promise<string>
Promise resolution:
Type | Description |
---|---|
string | the distributor ID |
Examples
Getting the distributor ID
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.distributor()
.then(distributorId => {
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"
}
To set the value of distributor
call the method like this:
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` |
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.distributor()
JSON-RPC:
Request:
Response:
To subscribe to notifications when the value changes, call the method like this:
function distributor (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.distributor((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
hdcp
Get the supported HDCP profiles
To get the value of hdcp
call the method like this:
function hdcp(): Promise<BooleanMap>
Promise resolution:
Type | Description |
---|---|
BooleanMap | the supported HDCP profiles |
Examples
Getting the supported HDCP profiles
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.hdcp()
.then(supportedHdcpProfiles => {
console.log(supportedHdcpProfiles)
})
Value of supportedHdcpProfiles
:
{
"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 set the value of hdcp
call the method like this:
function hdcp(): Promise<ListenResponse | BooleanMap>
Parameters:
Param | Type | Required | Summary |
---|
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
Getting the supported HDCP profiles
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.hdcp(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 (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.hdcp((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
hdr
Get the supported HDR profiles
To get the value of hdr
call the method like this:
function hdr(): Promise<BooleanMap>
Promise resolution:
Type | Description |
---|---|
BooleanMap | the supported HDR profiles |
Examples
Getting the supported HDR profiles
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.hdr()
.then(supportedHdrProfiles => {
console.log(supportedHdrProfiles)
})
Value of supportedHdrProfiles
:
{
"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 set the value of hdr
call the method like this:
function hdr(): Promise<ListenResponse | BooleanMap>
Parameters:
Param | Type | Required | Summary |
---|
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
Getting the supported HDR profiles
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.hdr(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 (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.hdr((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
id
Get the platform back-office device identifier
To get the value of id
call the method like this:
function id(): Promise<string>
Promise resolution:
Type | Description |
---|---|
string | the id |
Examples
Default Example
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.id()
.then(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"
}
To set the value of id
call the method like this:
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` |
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.id()
JSON-RPC:
Request:
Response:
To subscribe to notifications when the value changes, call the method like this:
function id (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.id((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
listen
Listen for events from this module.
To listen to a specific event pass the event name as the first parameter:
Device.listen(event: string, (data: any) => void): Promise<number>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
event | string | Yes | The event to listen for, see 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. |
To listen to all events from this module pass only a callback, without specifying an event name:
Device.listen((event: string, data: any) => void): Promise<number>
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. |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
event | string | Yes | The event that has occured listen for, see Events. |
data | any | Yes | The event data, which depends on which event is firing, see 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 for more information and examples.
make
Get the device make
To get the value of make
call the method like this:
function make(): Promise<string>
Promise resolution:
Type | Description |
---|---|
string | the device make |
Examples
Getting the device make
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.make()
.then(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"
}
To set the value of make
call the method like this:
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` |
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.make()
JSON-RPC:
Request:
Response:
To subscribe to notifications when the value changes, call the method like this:
function make (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.make((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
model
Get the device model
To get the value of model
call the method like this:
function model(): Promise<string>
Promise resolution:
Type | Description |
---|---|
string | the device model |
Examples
Getting the device model
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.model()
.then(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"
}
To set the value of model
call the method like this:
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` |
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.model()
JSON-RPC:
Request:
Response:
To subscribe to notifications when the value changes, call the method like this:
function model (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.model((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
name
The human readable name of the device
To get the value of name
call the method like this:
function name(): Promise<string>
Promise resolution:
Type | Description |
---|---|
string | the device friendly-name |
Examples
Example value for device name
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.name()
.then(value => {
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"
}
To set the value of name
call the method like this:
function name(): Promise<ListenResponse | string>
Parameters:
Param | Type | Required | Summary |
---|
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
Example value for device name
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.name(true)
JSON-RPC:
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "device.name",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "Living Room"
}
To subscribe to notifications when the value changes, call the method like this:
function name (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.name((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
network
Get the current network status and type
To get the value of network
call the method like this:
function network(): Promise<object>
Promise resolution:
the status and type
Field | Type | Description |
---|---|---|
state | NetworkState | |
type | NetworkType |
Examples
Getting the network info
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.network()
.then(networkInfo => {
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 set the value of network
call the method like this:
function network(): Promise<ListenResponse | object>
Parameters:
Param | Type | Required | Summary |
---|
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
Getting the network info
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.network(true)
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 (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.network((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
once
Listen for only one occurance of an event from this module. The callback will be cleared after one event.
To listen to a specific event pass the event name as the first parameter:
Device.once(event: string, (data: any) => void): Promise<number>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
event | string | Yes | The event to listen for, see 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. |
To listen to all events from this module pass only a callback, without specifying an event name:
Device.once((event: string, data: any) => void): Promise<number>
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. |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
event | string | Yes | The event that has occured listen for, see Events. |
data | any | Yes | The event data, which depends on which event is firing, see 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 for more information and examples.
platform
Get the platform ID for this device
To get the value of platform
call the method like this:
function platform(): Promise<string>
Promise resolution:
Type | Description |
---|---|
string | the platform ID |
Examples
Getting the platform ID
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.platform()
.then(platformId => {
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"
}
To set the value of platform
call the method like this:
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` |
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.platform()
JSON-RPC:
Request:
Response:
To subscribe to notifications when the value changes, call the method like this:
function platform (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.platform((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
screenResolution
Get the current screen resolution
To get the value of screenResolution
call the method like this:
function screenResolution(): Promise<[number, number]>
Promise resolution:
Type | Description |
---|---|
[number, number] | the resolution |
Examples
Getting the screen resolution
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.screenResolution()
.then(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 set the value of screenResolution
call the method like this:
function screenResolution(): Promise<ListenResponse | [number, number]>
Parameters:
Param | Type | Required | Summary |
---|
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
Getting the screen resolution
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.screenResolution(true)
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 (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.screenResolution((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
sku
Get the device sku
To get the value of sku
call the method like this:
function sku(): Promise<string>
Promise resolution:
Type | Description |
---|---|
string | the device sku |
Examples
Getting the device sku
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.sku()
.then(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"
}
To set the value of sku
call the method like this:
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` |
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.sku()
JSON-RPC:
Request:
Response:
To subscribe to notifications when the value changes, call the method like this:
function sku (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.sku((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
type
Get the device type
To get the value of type
call the method like this:
function type(): Promise<string>
Promise resolution:
Type | Description |
---|---|
string | the device type |
Examples
Getting the device type
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.type()
.then(deviceType => {
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"
}
To set the value of type
call the method like this:
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` |
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.type()
JSON-RPC:
Request:
Response:
To subscribe to notifications when the value changes, call the method like this:
function type (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.type((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
uid
Gets a unique id for the current app & device
To get the value of uid
call the method like this:
function uid(): Promise<string>
Promise resolution:
Type | Description |
---|---|
string | a unique ID |
Examples
Getting the unique ID
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.uid()
.then(uniqueId => {
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"
}
To set the value of uid
call the method like this:
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` |
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.uid()
JSON-RPC:
Request:
Response:
To subscribe to notifications when the value changes, call the method like this:
function uid (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.uid((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
version
Get the SDK, OS and other version info
To get the value of version
call the method like this:
function version(): Promise<object>
Promise resolution:
the versions
Field | Type | Description |
---|---|---|
sdk | SemanticVersion | The Firebolt SDK version |
api | SemanticVersion | The lateset Firebolt API version supported by the curent device. |
firmware | SemanticVersion | The device firmware version. |
os | SemanticVersion | Deprecated Use firmware , instead. |
debug | string | Detail version as a string, for debugging purposes |
Examples
Getting the os and sdk versions
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.version()
.then(versions => {
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."
}
}
To set the value of version
call the method like this:
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` |
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.version()
JSON-RPC:
Request:
Response:
To subscribe to notifications when the value changes, call the method like this:
function version (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.version((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
videoResolution
Get the current video resolution
To get the value of videoResolution
call the method like this:
function videoResolution(): Promise<[number, number]>
Promise resolution:
Type | Description |
---|---|
[number, number] | the resolution |
Examples
Getting the video resolution
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.videoResolution()
.then(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 set the value of videoResolution
call the method like this:
function videoResolution(): Promise<ListenResponse | [number, number]>
Parameters:
Param | Type | Required | Summary |
---|
Promise resolution:
Type | Summary |
---|---|
void | Promise resolves with no value when the operation is complete. |
Examples
Getting the video resolution
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.videoResolution(true)
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 (subscriber: () => void): Promise<listenerId>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | |||
subscriber | function | Yes | Callback to execute when the value changes. |
Promise resolution:
Type | Summary |
---|---|
listenerId | The id of the listener that can be used with Device.clear(listenerId) to unsubscribe |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
`` | ` |
Examples
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.videoResolution((value) => {
// property value was changed
console.log(value)
}).then(listenerId => {
// you can clear this listener w/ Device.clear(listenerId)
})
value of value
:
JSON-RPC:
Request:
Response:
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"listening": "true"
}
}
Events
deviceNameChanged
This API is deprecated since version 0.6.0. Use Device.name()
instead.
Get the human readable name of the device
See also: listen(), once(), clear().
Event value:
Type | Description |
---|---|
string | the device friendly-name |
Examples
Getting the device name:
JavaScript:
import { Device } from '@firebolt-js/sdk'
Device.listen('deviceNameChanged', value => {
console.log(value)
})
Value of value
"Living Room"
JSON-RPC:
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "device.onDeviceNameChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "Living Room"
}
Additional events
The following events are documented as part of a related set of method APIs.
For more information, follow the links under the "Documentation" column.
JavaScript | RPC | Payload | Documentation |
---|---|---|---|
cp | hdcp | ListenResponse | hdcp |
hdr | hdr | ListenResponse | hdr |
dio | audio | ListenResponse | audio |
reenResolution | screenResolution | ListenResponse | screenResolution |
deoResolution | videoResolution | ListenResponse | videoResolution |
me | name | ListenResponse | name |
twork | network | ListenResponse | network |
Schemas
Resolution
type Resolution = [number, number]
NetworkType
The type of network that is currently active
type NetworkType = 'wifi' | 'ethernet' | 'hybrid'
NetworkState
The type of network that is currently active
type NetworkState = 'connected' | 'disconnected'
AudioProfiles
type AudioProfiles = {
stereo: boolean
"dolbyDigital5.1": boolean
"dolbyDigital7.1": boolean
"dolbyDigital5.1+": boolean
"dolbyDigital7.1+": boolean
dolbyAtmos: boolean
}
See also: