Device-0.10.0

    Device-0.10.0


    Article summary


    title: Device

    # Device Module

    Version 0.10.0

    Overview

    A module for querying about the device and it's capabilities.

    OpenRPC

    Firebolt APIs are maintained in the rdkcentral/firebolt-core-sdk GitHub repository.

    You can see this API in the device.json OpenRPC JSON-Schema document.

    Table of Contents

    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:

    TypeDescription
    AudioProfilesthe 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:

    ParamTypeRequiredSummary

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    stringthe 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:

    ParamTypeRequiredSummary
    ``

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    BooleanMapthe 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:

    ParamTypeRequiredSummary

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    BooleanMapthe 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:

    ParamTypeRequiredSummary

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    stringthe 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:

    ParamTypeRequiredSummary
    ``

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    ParamTypeRequiredSummary
    eventstringYesThe event to listen for, see Events.
    callbackfunctionYesA function that will be invoked when the event occurs.

    Promise resolution:

    TypeDescription
    numberListener ID to clear the callback method and stop receiving the event, e.g. Device.clear(id)

    Callback parameters:

    ParamTypeRequiredSummary
    dataanyYesThe 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:

    ParamTypeRequiredSummary
    callbackfunctionYesA function that will be invoked when the event occurs. The event data depends on which event is firing, see Events.

    Callback parameters:

    ParamTypeRequiredSummary
    eventstringYesThe event that has occured listen for, see Events.
    dataanyYesThe event data, which depends on which event is firing, see Events.

    Promise resolution:

    TypeDescription
    numberListener 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:

    TypeDescription
    stringthe 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:

    ParamTypeRequiredSummary
    ``

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    stringthe 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:

    ParamTypeRequiredSummary
    ``

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    stringthe 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:

    ParamTypeRequiredSummary

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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

    FieldTypeDescription
    stateNetworkState
    typeNetworkType

    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:

    ParamTypeRequiredSummary

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    ParamTypeRequiredSummary
    eventstringYesThe event to listen for, see Events.
    callbackfunctionYesA function that will be invoked when the event occurs.

    Promise resolution:

    TypeDescription
    numberListener ID to clear the callback method and stop receiving the event, e.g. Device.clear(id)

    Callback parameters:

    ParamTypeRequiredSummary
    dataanyYesThe 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:

    ParamTypeRequiredSummary
    callbackfunctionYesA function that will be invoked when the event occurs. The event data depends on which event is firing, see Events.

    Callback parameters:

    ParamTypeRequiredSummary
    eventstringYesThe event that has occured listen for, see Events.
    dataanyYesThe event data, which depends on which event is firing, see Events.

    Promise resolution:

    TypeDescription
    numberListener 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:

    TypeDescription
    stringthe 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:

    ParamTypeRequiredSummary
    ``

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    [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:

    ParamTypeRequiredSummary

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    stringthe 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:

    ParamTypeRequiredSummary
    ``

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    stringthe 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:

    ParamTypeRequiredSummary
    ``

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    stringa 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:

    ParamTypeRequiredSummary
    ``

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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

    FieldTypeDescription
    sdkSemanticVersionThe Firebolt SDK version
    apiSemanticVersionThe lateset Firebolt API version supported by the curent device.
    firmwareSemanticVersionThe device firmware version.
    osSemanticVersionDeprecated Use firmware, instead.
    debugstringDetail 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:

    ParamTypeRequiredSummary
    ``

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    [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:

    ParamTypeRequiredSummary

    Promise resolution:

    TypeSummary
    voidPromise 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:

    ParamTypeRequiredSummary
    ``
    subscriberfunctionYesCallback to execute when the value changes.

    Promise resolution:

    TypeSummary
    listenerIdThe id of the listener that can be used with Device.clear(listenerId) to unsubscribe

    Callback parameters:

    ParamTypeRequiredSummary
    ```

    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:

    TypeDescription
    stringthe 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.

    JavaScriptRPCPayloadDocumentation
    cphdcpListenResponsehdcp
    hdrhdrListenResponsehdr
    dioaudioListenResponseaudio
    reenResolutionscreenResolutionListenResponsescreenResolution
    deoResolutionvideoResolutionListenResponsevideoResolution
    menameListenResponsename
    tworknetworkListenResponsenetwork

    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:



    Was this article helpful?