Device

    Device


    Article summary


    title: Device

    version: 0.5.3
    layout: default
    sdk: core

    # Device Module

    Version 0.5.3

    OpenRPC

    This document was generated from an OpenRPC JSON-Schema, and is intended to provide a human readable overview and examples of the methods contained in the module.

    For the full schema, see the link below.

    Schema
    device.json

    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'
    

    Overview

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

    Events

    deviceNameChanged

    Get the human readable name of the device

    // listen to deviceNameChanged
    Device.listen('deviceNameChanged', (data: string) => void): Promise<bigint>
    
    // listen to deviceNameChanged once
    Device.once('deviceNameChanged', (data: string) => void): Promise<bigint>
    
    // clear a listener
    Device.clear(listenerId?: bigint): void
    
    

    Event value

    TypeDescription
    stringthe device friendly-name

    Promise Resolution

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

    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": {}
    }
    

    Response

    {
      "jsonrpc": "2.0",
      "id": 1,
      "result": "Living Room"
    }
    

    ##### Listen to an event only once

    JavaScript
    Device.listen('deviceNameChanged', (value) => {
      console.log(value)
    }).then( (listenerId) => {
      Device.clear(listenerId)
    })
    

    Alternately, simply call once():

    Device.once('deviceNameChanged', (value) => {
      console.log(value)
    })
    

    ##### Clear all listeners for an event

    JavaScript
    Device.clear('deviceNameChanged')
    

    Methods

    id

    Get the platform back-office device identifier

    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"
    }
    

    distributor

    Get the distributor ID for this device

    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"
    }
    

    platform

    Get the platform ID for this device

    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"
    }
    

    uid

    Gets a unique id for the current app & device

    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"
    }
    

    type

    Get the device type

    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"
    }
    

    model

    Get the device model

    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"
    }
    

    sku

    Get the device sku

    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"
    }
    

    make

    Get the device make

    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"
    }
    

    version

    Get the SDK, OS and other version info

    function version(): Promise<object>
    

    Promise Resolution

    the versions

    FieldTypeDescription
    sdkSemanticVersionThe Firebolt SDK version
    osSemanticVersionThe Firebolt OS version
    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": 5,
        "patch": 0,
        "readable": "Firebolt JS SDK v0.5.0"
      },
      "os": {
        "major": 0,
        "minor": 1,
        "patch": 0,
        "readable": "Firebolt OS v0.1.0"
      },
      "debug": ""
    }
    
    JSON-RPC

    ###### Request

    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "device.version",
      "params": {}
    }
    

    ###### Response

    {
      "jsonrpc": "2.0",
      "id": 1,
      "result": {
        "sdk": {
          "major": 0,
          "minor": 5,
          "patch": 0,
          "readable": "Firebolt JS SDK v0.5.0"
        },
        "os": {
          "major": 0,
          "minor": 1,
          "patch": 0,
          "readable": "Firebolt OS v0.1.0"
        },
        "debug": ""
      }
    }
    

    hdcp

    Get the supported HDCP profiles

    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
      }
    }
    

    hdr

    Get the supported HDR profiles

    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
      }
    }
    

    audio

    Get the supported audio profiles

    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
      }
    }
    

    screenResolution

    Get the current screen resolution

    function screenResolution(): Promise<[bigint, bigint]>
    

    Promise Resolution

    TypeDescription
    [bigint, bigint]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
      ]
    }
    

    videoResolution

    Get the current video resolution

    function videoResolution(): Promise<[bigint, bigint]>
    

    Promise Resolution

    TypeDescription
    [bigint, bigint]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
      ]
    }
    

    name

    Get the human readable name of the device

    function name(): Promise<string>
    

    Promise Resolution

    TypeDescription
    stringthe device friendly-name

    Examples

    ##### Getting the device name

    JavaScript
    import { Device } from '@firebolt-js/sdk'
    
    Device.name()
        .then(deviceName => {
            console.log(deviceName)
        })
    

    Value of deviceName

    "Living Room"
    
    JSON-RPC

    ###### Request

    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "device.name",
      "params": {}
    }
    

    ###### Response

    {
      "jsonrpc": "2.0",
      "id": 1,
      "result": "Living Room"
    }
    

    network

    Get the current network status and type

    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"
      }
    }
    

    Schemas

    Resolution

    type Resolution = [bigint, bigint]
    

    NetworkType

    type NetworkType = 'wifi' | 'ethernet' | 'hybrid'
    

    Details

    The type of network that is currently active


    NetworkState

    type NetworkState = 'connected' | 'disconnected'
    

    Details

    The type of network that is currently active


    AudioProfiles

    type AudioProfiles = {
    }
    

    See also:


    AudioProfile

    type AudioProfile;
    

    See also:



    Was this article helpful?

    What's Next