Introduction

RDK Services are the RDK components implemented as the Thunder Nano services. RDK services are the services that are developed based on the Thunder (WPE) Framework. Services each other or a particular service can be controlled through JSON RPC commands and it has a web-based controller UI.

The graphics UI services like WebKit Browser and so on are run on top of RDK Shell. RDK Shell is a native component that gives the Wayland composition with application management.

For the Integration of RDK Services on Generic RDK image, below are the important components


Table of Contents

Yocto build

The links are given here provide the instructions to

These instructions are made for the execution of the RDK media stack on the Raspberrypi 3 B+ Model.

User Interface

User Interface involves graphics display on TV to show the app launched on the box and a controller UI that can be launched from the host machine's web browser to control all RDK services remotely.

App UI

SwitcherApp is a Lightning framework based JS application that launches on a WebKit Browser instance. The URL and other parameters of this WebKit Browser instance can be controller from the ResidentApp service on controller UI (from the Host machine's web browser).

SwitcherApp URL: https://px-apps.sys.comcast.net/lightning_apps/SwitcherApp/dist/index.html

Note: App's can be navigated through a Keyboard or an IR (especially Xfinity) remote connected to the RPi

ResidentApp

Resident App is a WebKit browser instance where it loads the App resides in the box. By default, it loads with Switcher App URL. The switcher App loads different WebKit browser engine for various apps

Switcher APP UI

Swither App launches through ResidentApp (WebKit Browser) Instance

SwitcherApp Home screen

Note: Numerical `1` key is used to come out of any apps on this URL

LightningApp

LightningApp is another WebKit browser instance specifically for apps designed through the Lightning framework.

Metrological's App Functionality

Metrological's App launches on LightningApp (WebKit Browser) Instance. Though it available on Switcher App it launches in a different browser instance.

Metrological's App contains

Live stream playback through AAMPVimeo Home ScreenVimeo VOD Playback


Cobalt

Cobalt is an RDK service that gives a lightweight HTML5/CSS/JS based lightweight application container that is mainly designed for a rich animation environment. This service is mainly used for Youtube TV.

Youtube TV

Youtube from Switcher App launches through Cobalt.

Youtube can be launched from


Bouncing Ball

Bouncing ball is a Lightning framework based Graphics rendering App) that comes as one of an app in the Switcher App. On launching the bouncing ball, a LightningApp (WebKit browser) instance will be created.


SearchandDiscoveryApp

SearchandDiscoveryApp is another WebKit Browser instance mainly used for setup functionality

Setup

Setup configuration and settings which is from Switcher App that contains


HTMLApp

HTMLApp is another WebKit browser instance or service that mainly used for HTML-based applications.

WebKitBrowser

WebKit Browser is a base browser service where any external URL can be loaded.

App Vs Instance

Below given apps will be loaded on the corresponding UI browser service

Metrological App - Lightning App

Switcher App URL - Resident App

Youtube - Cobalt

Bouncing Ball - Lightning App

Setup menu on Switcher App - SearchAndDiscoveryApp

Controller UI

Controller UI is a web UI that can be launched from a host machine's (machine under the same network where RPi resides) browser. This UI can be loaded with the RPi box's IP address with port number 9998.
URL: http://<Rpi's IP address>:9998

Controller: List of plugins

In the Controller tab, any plugins can be enabled or disabled. On loading the controller UI initially, it loads the Controller tab with all possible services with the enable or disable status.

ResidentApp Control

As this is a WebKit browser instance, preset and custom URL can be loaded from the controller UI.

ResidentApp Control


RDK Services

Each RDK Service can be validated through JSON RPC Commands through HTTP. It has a request and response in JSON format. Some RDK Services which have graphics UI can be validated through the controller UI as well.

As the JSON RPC commands to control the RDK service through HTTP, requests can be sent from the target and from the remote (a host connected on the same network) machines.


Any service can be enabled or disabled also through JSONRPC commands.

FunctionRequestResponseRemarks
activatecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{ "jsonrpc":"2.0", "id":3, "method":"Controller.1.activate", "params":{"callsign":"org.rdk.RDKShell"} }'{"jsonrpc":"2.0","id":3,"result":{"success":true}}callsign argument can accept all plugins
Note: the argument is case sensitive
deactivatecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{ "jsonrpc":"2.0", "id":3, "method":"Controller.1.deactivate", "params":{"callsign":"org.rdk.RDKShell"} }'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
environmentcurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{ "jsonrpc":"2.0", "id":3, "method":"Controller.1.environment@XDG_RUNTIME_DIR"}'{"jsonrpc":"2.0","id":3,"result":"/tmp"}



RDK Shell as an RDK service enables by default which controls the management of Composition, Layout, Z-Order, and Key handling. Below JSON RPC commands are used to validate the RDK Shell's service functionality.

Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
get Screen Resolutioncurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.getScreenResolution""params":{ }}'{"jsonrpc":"2.0", "id":3, "result": {"w": 1920, "h": 1080} }
set Screen Resolutioncurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.setScreenResolution""params":{ "w"1920"h"1080 }}'{"jsonrpc":"2.0""id":3"result": {} }
launch Applicationcurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.launch", "params": {"callsign":"HtmlApp", "type":"application", "visible":true, "uri":"http://www.goggle.com"}}'{"jsonrpc":"2.0", "id":3, "result": {} }
suspend Applicationcurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.suspend""params":{"client""Cobalt"}}'{"jsonrpc":"2.0""id":3"result": {} }
resume Applicationcurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.resume""params":{"client""Cobalt"}}'{"jsonrpc":"2.0", "id":3, "result": {} }
get Clientscurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.getClients", "params":{ }}'{"jsonrpc":"2.0", "id":3, "result": { "clients": ["ResidentApp", "org.rdk.RDKBrowser2"]} }The below functionality will be succeeded only to the clients listed in this response
get Z-Ordercurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.getZOrder""params":{ }}'{"jsonrpc":"2.0", "id":3, "result": { "clients": ["ResidentApp", "org.rdk.RDKBrowser2"]} }
Move to Frontcurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.moveToFront", "params":{ "client": "ResidentApp" }}'{"jsonrpc":"2.0", "id":3, "result": {} }client argument should be the exact name of the graphics UI service
Move to Backcurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.moveToBack", "params":{ "client": "ResidentApp" }}'{"jsonrpc":"2.0", "id":3, "result": {} }
move Behind

curl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.moveBehind", "params":{ "client": "WebKitBrowser", "target": "ResidentApp"}}'

{"jsonrpc":"2.0", "id":3, "result": {} }
set Focus

curl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.setFocus", "params":{ "client": "WebKitBrowser" }}'

{"jsonrpc":"2.0", "id":3, "result": {} }
get Boundscurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.getBounds""params":{ "client""ResidentApp"}}'{"jsonrpc":"2.0", "id":3, "result": {
             "x": 0,
             "y": 0,
             "w": 600,
             "h": 400} }

set Boundscurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.setBounds""params":{              "client""WebKitBrowser""x"0"y"0"w"600, "h"400 }}'{"jsonrpc":"2.0", "id":3, "result": {} }
get Visibilitycurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.getVisibility""params":{ "client""ResidentApp" }}'{"jsonrpc":"2.0", "id":3, "result": {"visible": true} }
set Visibilitycurl 'http://127.0.0.1:9998/jsonrpc' -d '

{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.setVisibility", "params":{ "client": "ResidentApp", "visible": true }}'

{"jsonrpc":"2.0", "id":3, "result": {} }
get Opacitycurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.getOpacity""params":{ "client""ResidentApp"}}'{"jsonrpc":"2.0", "id":3, "result": { "opacity" : 100} }
set Opacitycurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.setOpacity""params":{ "client""ResidentApp""opacity"100}}'{"jsonrpc":"2.0", "id":3, "result": {} }
get Scalecurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.getScale""params":{"client""ResidentApp"}}'{"jsonrpc":"2.0", "id":3, "result": {"sx":1.5, "sy":1.5} }
set Scalecurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.setScale""params":{"client""ResidentApp""sx":1.5"sy":1.5}}'{"jsonrpc":"2.0", "id":3, "result": {} }
killcurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.RDKShell.1.kill""params":{ "client": "WebKitBrowser" }}'{"jsonrpc":"2.0", "id":3, "result": {} }
generate Keycurl 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.generateKey", "params":{"keys":[ {"keyCode": 49,"modifiers": [],"delay":1.0}{"keyCode": 50,"modifiers": [],"delay":2.0}]}}'{"jsonrpc":"2.0", "id":3, "result": {} }

Note: The above functions are referred from the RDK Service's RDK Shell wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
get Interfacescurl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.getInterfaces", "params":{}}'

{"jsonrpc":"2.0", "id":3, "result": {"interfaces":
[
  {
    "interface":"WIFI",
    "macAddress":"AA:AA:AA:AA:AA:AA",
    "enabled":true,
    "connected":true
  },
  {
    "interface":"ETHERNET",
    "macAddress":"AA:AA:AA:AA:AA:AD",
    "enabled":false,
    "connected":false
  }
]
} }


is Interface Enabled

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.isInterfaceEnabled", "params":{"interface":"WIFI"}}'

{"jsonrpc":"2.0", "id":3, "result": {"enabled":true} }
Enable Interface

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.setInterfaceEnabled", "params":{"interface":"WIFI", "enabled":true, "persist":true}}'

{"jsonrpc":"2.0", "id":3, "result": 0}
set Default Interface

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.setDefaultInterface", "params":{ "interface":"WIFI", "persist":true}}'

{"jsonrpc":"2.0", "id":3, "result": {}}
get Default Interface

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.getDefaultInterface", "params":{}}'

{"jsonrpc":"2.0", "id":3, "result": {"interface":"WIFI"}}
get IP for default interface

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.getStbIp", "params":{}}'

{"jsonrpc":"2.0","id":3,"result":{"ip":"192.168.xx.yyy","success":true}}
ping

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.ping", "params":{
  "endpoint": "45.57.221.20",
  "packets": 10
}}'

{"jsonrpc":"2.0", "id":3, "result":{
  "target" : "173.194.123.7",
  "success" : true,
  "packetsTransmitted" : 10,
  "packetsReceived" : 10,
  "packetLoss" : "0.0",
  "tripMin" : "61.264",
  "tripAvg" : "130.397",
  "tripMax" : "230.832",
  "tripStdDev" : "80.919",
  "error" : null
}}

get Named Endpoints

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.getNamedEndpoints", "params":{}}'

{"jsonrpc":"2.0", "id":3, "result":{"endpoints":["CMTS"]}}
ping to named Endpoint

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.pingNamedEndpoint", "params":{
"endpointName": "CMTS",
"packets": 10
}}'

{"jsonrpc":"2.0", "id":3, "result":{
  "target" : "173.194.123.7",
  "success" : true,
  "packetsTransmitted" : 10,
  "packetsReceived" : 10,
  "packetLoss" : "0.0",
  "tripMin" : "61.264",
  "tripAvg" : "130.397",
  "tripMax" : "230.832",
  "tripStdDev" : "80.919",
  "error" : null
}}

trace

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.trace", "params":{
"endpoint": "45.57.221.20",
"packets": 10
}}'

{"jsonrpc":"2.0", "id":3, "result":{
  "target" : "173.194.123.7",
  "success" : true,
  "error" : null,
  "results" : "<<<traceroute command results>>>"
}}

trace a named Endpoint

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.traceNamedEndpoint", "params":{
"guid": "iasoviubejcv",
"endpointName": "CMTS",
"packets": 10
}}'

{"jsonrpc":"2.0", "id":3, "result":{
  "target" : "173.194.123.7",
  "success" : true,
  "error" : null,
  "results" : "<<<traceroute command results>>>"
}}

get IP Settings

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.getIPSettings", "params":{ "interface": "wlan0" }}'

{"jsonrpc":"2.0", "id":3, "result":{
  "interface": "wifi",
  "ipversion": "IPv4
  "autoconfig": true,
  "ipaddr": “192.168.1.101",
  "netmask": "255.255.255.0"
  "gateway": "192.168.1.1",
  "primarydns": "192.168.1.1",
  "secondarydns": ""
} }

set IP Settings

curl http://localhost:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Network.1.setIPSettings", "params":{
  "interface": "wifi",
  "ipversion": "IPv4",
  "autoconfig": true,
  "ipaddr": “192.168.1.101",
  "netmask": "255.255.255.0"
  "gateway": "192.168.1.1",
  "primarydns": "192.168.1.1",
  "secondarydns": ""
}}'

{"jsonrpc":"2.0", "id":3, "result":{
  "supported": true,
  "success": true
} }

Note: The functions are referred from the RDK Service's Network wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
get Current State

curl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Wifi.1.getCurrentState", "params":{}}'

{"jsonrpc":"2.0", "id":3, "result": {"state":2,"success":true}}
start Scan

curl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Wifi.1.startScan", "params":{"incremental":false,"ssid":"","frequency":""}}'

{"jsonrpc":"2.0", "id":3, "result":{"success":true}}incremental can be set to true to get each SSID in different events (mostly used from GUI)
stop scan

curl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Wifi.1.stopScan", "params":{}}'

{"jsonrpc":"2.0", "id":3, "result":{"success":true}}
set Enabled

curl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Wifi.1.setEnabled", "params":{"enable": true}}'

{"jsonrpc":"2.0", "id":3, "result":{"success":true}}
connect

curl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Wifi.1.connect", "params":{"ssid":"123412341234", "passphrase": "foobar", "securityMode": 3}}'

{"jsonrpc":"2.0", "id":3, "result":{"success":true}}
get connected SSID

curl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Wifi.1.getConnectedSSID", "params":{}}'

{"jsonrpc":"2.0", "id":3, "result":{"ssid":"TP-LINK 1234","bssid":"ec:08:6b:ce:09:20","rate":"144.000000","noise":"-121.000000",

"security":"5","signalStrength":"-27.000000","frequency":"2.442000","success":true}


disconnect

curl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Wifi.1.disconnect", "params":{}}'

{"jsonrpc":"2.0", "id":3, "result":{"result":"","success":true}}
initiate pairing through WPScurl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.Wifi.1.initiateWPSPairing"}'{"jsonrpc":"2.0", "id":3, "result":{"result":"","success":true}}
cancel WPS pairingcurl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.Wifi.1.cancelWPSPairing""params":{}}'{"jsonrpc":"2.0""id":3"result":{"result":"","success":true}}
save SSIDcurl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.Wifi.1.saveSSID""params":{"ssid""123412341234""passphrase""foobar""securityMode": 3}}'{"jsonrpc":"2.0", "id":3, "result":{"result":0,"success":true}}
is Paired

curl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Wifi.1.isPaired", "params":{}}'

{"jsonrpc":"2.0", "id":3, "result":{"result":0,"success":true}}
get Paired SSIDcurl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.Wifi.1.getPairedSSID""params":{}}'{"jsonrpc":"2.0", "id":3, "result":{"ssid": "123412341234","success":true}}}
get Paired SSID Info

curl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Wifi.1.getPairedSSIDInfo", "params":{}}'

{"jsonrpc":"2.0", "id":3, "result":{"ssid": "123412341234", "bssid": "ff:ff:ff:ff:ff:ff,"success":true}}not applicable for RPi as netsrvmgr has no 'lost & found' package
clear SSIDcurl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.Wifi.1.clearSSID""params":{}}'{"jsonrpc":"2.0", "id":3, "result":{"result":0,"success":true}}
set Signal Threshold change enabledcurl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.Wifi.1.setSignalThresholdChangeEnabled""params":{"enabled"true"interval"2000}}'{"jsonrpc":"2.0", "id":3, "result":{"success":true}}
is Signal Threshold change enabledcurl http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":"2.0""id":3"method":"org.rdk.Wifi.1.isSignalThresholdChangeEnabled""params":{}}'{"jsonrpc":"2.0", "id":3, "result":{"result":1,"success":true}}

Note: The functions are referred from the RDK Service's Wifi wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
enable curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.enable"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
disable curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.disable"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
get Device Name

curl --header "Content-Type: application/json" --request POST --data {"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.getName"}' http://127.0.0.1:9998/jsonrpc

{"jsonrpc":"2.0","id":3,"result":{"name":"Xfinity Bluetooth Audio","success":true}}
set Device Name

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.setName", "params":{"name": "RDK Bluetooth Device"}}' http://127.0.0.1:9998/jsonrpc

{"jsonrpc":"2.0","id":3,"result":{"success":true}}
is Discoverablecurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.isDiscoverable"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"discoverable":false,"success":true}}
set Discoverablecurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.setDiscoverable", "params":{"discoverable":true, "timeout":10}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
start Scancurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.startScan", "params": {"timeout": "5", "profile": "DEFAULT"}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"status":"AVAILABLE","success":true}}
stop scancurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.stopScan"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
get Discovered Devicescurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.getDiscoveredDevices"}' http://127.0.0.1:9998/jsonrpc

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "discoveredDevices": [
      {
        "deviceID": "61579454946360",
        "name": "[TV] UE32J5530",
        "deviceType": "TV",
        "connected": false,
        "paired": false
      }
    ],
    "success": true
  }
}


paircurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.pair", "params": {"deviceID": "256168644324480"}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
get Paired Devicescurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.getPairedDevices"}' http://127.0.0.1:9998/jsonrpc

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "pairedDevices": [
      {
        "deviceID": "256168644324480",
        "name": "Eleven",
        "deviceType": "SMARTPHONE",
        "connected": true
      },
      {
        "deviceID": "26499258260618",
        "name": "Little Big",
        "deviceType": "SMARTPHONE",
        "connected": false
      }
    ],
    "success": true
  }
}


connectcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.connect", "params": {"deviceID": "256168644324480", "deviceType": "SMARTPHONE", "profile": "SMARTPHONE"}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
get Connected Devicescurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.getConnectedDevices"}' http://127.0.0.1:9998/jsonrpc

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "connectedDevices": [
      {
        "deviceID": "256168644324480",
        "name": "Eleven",
        "deviceType": "SMARTPHONE",
        "activeState": "0"
      }
    ],
    "success": true
  }
}


unpair

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.unpair", "params": {"deviceID": "256168644324480"}}http://127.0.0.1:9998/jsonrpc

{"jsonrpc":"2.0","id":3,"result":{"success":true}}
disconnect

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.disconnect", "params": {"deviceID": "256168644324480"}}' http://127.0.0.1:9998/jsonrpc

{"jsonrpc":"2.0","id":3,"result":{"success":true}}
set Audio Stream

curl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.setAudioStream", "params": {"deviceID": "256168644324480", "audioStreamName": "PRIMARY"}}'

{"jsonrpc":"2.0","id":3,"result":{"success":true}}
get Device Infocurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0""id":"3""method":"org.rdk.Bluetooth.1.getDeviceInfo""params":{"deviceID":"256168644324480"}}'

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "deviceInfo": {
      "deviceID": "256168644324480",
      "name": "Eleven",
      "deviceType": "SMARTPHONE",
      "manufacturer": "640",
      "MAC": "E8:FB:E9:0C:2C:80",
      "signalStrength": "0",
      "rssi": "0",
      "supportedProfile": "Not Identified;Not Identified;..."
    },
    "success": true
  }
}


get Audio Infocurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":"3", "method":"org.rdk.Bluetooth.1.getAudioInfo", "params": {"deviceID": "256168644324480"}}'

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "trackInfo": {
      "album": "Spacebound Apes",
      "genre": "Jazz",
      "title": "Grace",
      "artist": "Neil Cowley Trio",
      "ui32Duration": "217292",
      "ui32TrackNumber": "1",
      "ui32NumberOfTracks": "73"
    },
    "success": true
  }
}


send Audio Playback Commandcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0""id":"3""method":"org.rdk.Bluetooth.1.sendAudioPlaybackCommand""params": {"deviceID""256168644324480""command""PLAY"}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
respond To Eventcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id""3""method":"org.rdk.Bluetooth.1.respondToEvent""params": {"deviceID""256168644324480""eventType""onPairingRequest""responseValue""ACCEPTED"}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}

Note: The functions are referred from the RDK Service's Bluetooth wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks

getConnectedVideoDisplays

curl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getConnectedVideoDisplays"}'{"jsonrpc":"2.0","id":3,"result":{"connectedVideoDisplays":["HDMI0"],"success":true}}
getConnectedAudioPortscurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getConnectedAudioPorts"}'{"jsonrpc":"2.0","id":3,"result":{"connectedAudioPorts":["HDMI0"],"success":true}}
getSupportedResolutionscurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getSupportedResolutions", "params":{"videoDisplay":"HDMI0"}}'{"jsonrpc":"2.0","id":3,"result":{"supportedResolutions":["720p","1080i","1080p60"],"success":true}}
getSupportedVideoDisplayscurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getSupportedVideoDisplays"}'{"jsonrpc":"2.0","id":3,"result":{"supportedVideoDisplays":["HDMI0"],"success":true}}
getSupportedTvResolutionscurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getSupportedTvResolutions", "params":{"videoDisplay":"HDMI0"}}'{"jsonrpc":"2.0","id":3,"result":{"supportedTvResolutions":["480i","480p","576i","576p","720p","1080i","1080p"],"success":true}}
getSupportedSettopResolutionscurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getSupportedSettopResolutions"}'

{"jsonrpc":"2.0","id":3,"result":{"supportedSettopResolutions":["480p","576p50","720p","720p50","1080i","1080p","1080i50",

"1080p50","1080p24","1080p25","1080p30"],"success":true}}


getSupportedAudioPortscurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getSupportedAudioPorts"}'{"jsonrpc":"2.0","id":3,"result":{"supportedAudioPorts":["HDMI0"],"success":true}}
getSupportedAudioModescurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getSupportedAudioModes", "params":{"audioPort":"HDMI0"}}'{"jsonrpc":"2.0","id":3,"result":{"supportedAudioModes":["STEREO","AUTO (Stereo)"],"success":true}}
getZoomSettingcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data ' {"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getZoomSetting"}'{"jsonrpc":"2.0","id":3,"result":{"zoomSetting":"FULL","success":true}}
setZoomSettingcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data ' {"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setZoomSetting", "params":{"zoomSetting":"FULL"}}'{"jsonrpc":"2.0", "id":3, "result":{"success":true}}
getCurrentResolutioncurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getCurrentResolution", "params":{"videoDisplay":"HDMI0"}}'{"jsonrpc":"2.0","id":3,"result":{"resolution":"720p","success":true}}
setCurrentResolutioncurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setCurrentResolution", "params":{"videoDisplay":"HDMI0", "resolution":"720p", "persist":true}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getSoundModecurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getSoundMode", "params":{"audioPort":"HDMI0"}}'{"jsonrpc":"2.0","id":3,"result":{"soundMode":"STEREO","success":true}}
setSoundModecurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data ' {"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setSoundMode", "params":{"audioPort":"HDMI0", "soundMode":"stereo", "persist":true}}' {"jsonrpc":"2.0","id":3,"result":{"success":true}}
readEDIDcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.readEDID"}' {"jsonrpc":"2.0","id":3,"result":{"EDID":"AP///////wAQrMLQVEJTMQUdAQOA...","success":true}}
readHostEDIDcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.readHostEDID"}'{"jsonrpc":"2.0","id":3,"result":{"EDID":"AP///////wAIbSV0Z0UjARgYAQOAgEh...","success":true}}
getActiveInputcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getActiveInput", "params":{"videoDisplay":"HDMI0"}}'{"jsonrpc":"2.0","id":3,"result":{"activeInput":false,"success":true}}
getTvHDRSupportcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getTvHDRSupport"}'{"jsonrpc":"2.0","id":3,"result":{"supportsHDR":false,"standards":["none"],"success":true}}
getSettopHDRSupportcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getSupportedSettopResolutions"}'{"jsonrpc":"2.0","id":3,"result":{"supportedSettopResolutions":["720p","1080i","1080p60","2160p30","2160p60"],"success":true}}
setVideoPortStatusInStandbycurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setVideoPortStatusInStandby", "params":{"portName":"HDMI0", "enabled":true}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getVideoPortStatusInStandbycurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getVideoPortStatusInStandby", "params":{"portName":"HDMI0"}}'{"jsonrpc":"2.0","id":3,"result":{"videoPortStatusInStandby":false,"success":true}}
getCurrentOutputSettingscurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getCurrentOutputSettings"}'{"jsonrpc":"2.0","id":3,"result":{"colorSpace":5,"colorDepth":0,"matrixCoefficients":0,"videoEOTF":0,"success":true}}
setVolumeLevellercurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setVolumeLeveller", "params":{"audioPort":"SPEAKER0","level":"9"}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getVolumeLevellercurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getVolumeLeveller", "params":{"audioPort":"SPEAKER0"}'{"jsonrpc":"2.0","id":3,"result":{"enable":true,"level":9,"success":true}}
setBassEnhancercurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setBassEnhancer", "params":{"audioPort":"SPEAKER0","bassEnhancerEnable":true}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getBassEnhancercurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getBassEnhancer", "params":{"audioPort":"SPEAKER0"}'{"jsonrpc":"2.0","id":3,"result":{"bassEnhancerEnable":true,"success":true}}
setSurroundVirtualizercurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setSurroundVirtualizer", "params":{"audioPort":"SPEAKER0","boost":"90"}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getSurroundVirtualizercurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getSurroundVirtualizer", "params":{"audioPort":"SPEAKER0"}'{"jsonrpc":"2.0","id":3,"result":{"enable":true,"boost":90,"success":true}}
enableSurroundDecodercurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.enableSurroundDecoder", "params":{"audioPort":"SPEAKER0","surroundDecoderEnable":true}}' {"jsonrpc":"2.0","id":3,"result":{"success":true}}
isSurroundDecoderEnabledcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.isSurroundDecoderEnabled", "params":{"audioPort":"SPEAKER0"}'{"jsonrpc":"2.0","id":3,"result":{"surroundDecoderEnable":true,"success":true}}
setDRCModecurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setDRCMode", "params":{"audioPort":"SPEAKER0","DRCMode":"1"}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getDRCModecurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getDRCMode", "params":{"audioPort":"SPEAKER0"}'{"jsonrpc":"2.0","id":3,"result":{"DRCMode":"line","success":true}}
setVolumeLevelcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setVolumeLevel", "params":{"audioPort":"HDMI0","volumeLevel":"20"}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getVolumeLevelcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getVolumeLevel", "params":{"audioPort":"SPEAKER0"}'{"jsonrpc":"2.0","id":3,"result":{"enable":true,"volumeLevel":50,"success":true}}
setMutedcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setMuted", "params":{"audioPort":"SPEAKER0","muted":true}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getMutedcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getMuted", "params":{"audioPort":"SPEAKER0"}'{"jsonrpc":"2.0","id":3,"result":{"muted":true,"success":true}}
getAudioDelaycurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getAudioDelay", "params":{"audioPort":"HDMI0"}}'{"jsonrpc":"2.0","id":3,"result":{"audioDelay":"0","success":true}}
setAudioDelaycurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setAudioDelay", "params":{"audioDelay":"50", "audioPort":"HDMI0"}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getAudioDelayOffsetcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getAudioDelayOffset", "params":{"audioPort":"HDMI0"}}'{"jsonrpc":"2.0","id":3,"result":{"audioDelayOffset":"0","success":true}}
setAudioDelayOffsetcurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setAudioDelayOffset", "params":{"audioDelayOffset":"50", "audioPort":"HDMI0"}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getSinkAtmosCapabilitycurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getSinkAtmosCapability"}'{"jsonrpc":"2.0","id":3,"result":{"atmos_capability":2,"success":true}}
setAudioAtmosOutputModecurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setAudioAtmosOutputMode", "params":{"enable":true}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getTVHDRCapabilitiescurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getTVHDRCapabilities"}'{"jsonrpc":"2.0","id":3,"result":{"capabilities":3,"success":true}}
getDefaultResolutioncurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.getDefaultResolution"}'{"jsonrpc":"2.0","id":3,"result":{"defaultResolution":"720p","success":true}}
setScartParametercurl http://127.0.0.1:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.DisplaySettings.1.setScartParameter", "params":{"scartParameter":"aspect_ratio", "scartParameterData":"4x3"}}'{"jsonrpc":"2.0","id":3,"result":{"success":false}}

Note: The functions are referred from the RDK Service's Display Settings wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
cacheContainscurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.cacheContains","params":{"key":"sampleKey"}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
clearLastDeepSleepReasoncurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.clearLastDeepSleepReason","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
getAvailableStandbyModescurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getAvailableStandbyModes","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"supportedStandbyModes":["LIGHT_SLEEP", "DEEP_SLEEP"],"success":true}}
getCachedValuecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getCachedValue","params":{"key":"sampleKey"}}'{"jsonrpc":"2.0","id":3,"result":{"sampleKey":"4343.3434","success":true}}
getCoreTemperaturecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getCoreTemperature","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"temperature":48.000000,"success":true}}
getDeviceInfocurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getDeviceInfo","params":{"params":["estb_mac"]}}'{"jsonrpc":"2.0","id":3,"result":{"ecm_mac/estb_mac":"AA:BB:CC:DD:EE:FF:GG","success":true}}
getDownloadedFirmwareInfocurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getDownloadedFirmwareInfo","params":{}}'

{"jsonrpc":"2.0","id"3,"result" {"currentFWVersion":"AX061AEI_VBN_1911_sprint_20200109040424sdy",

"downloadedFWVersion":"AX061AEI_VBN_1911_sprint_20200510040450sdy",

"downloadedFWLocation":"","isRebootDeferred":false,"success":true}}


getFirmwareDownloadPercentcurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getFirmwareDownloadPercent","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"downloadPercent":25,"success":true}}
getFirmwareUpdateInfocurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getFirmwareUpdateInfo","params":{"param":{"GUID":"1234abcd"}}}'{"jsonrpc":"2.0","id":3,"result":{"asyncResponse":true}}
getFirmwareUpdateStatecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getFirmwareUpdateState","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"firmwareUpdateState":"Download Complete","success":true}}
getLastDeepSleepReasoncurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getLastDeepSleepReason","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"lastDeepSleepReason":"thermal_deepsleep_critical_threshold","success":true}}
getMacAddressescurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getMacAddresses","params":{"GUID":"61734787891723481"}}'{"jsonrpc":"2.0","id":3,"result":{"asyncResponse":true,"success":true}}
getMilestonescurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method": "org.rdk.System.1.getMilestones","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"milestones":["RDK_STARTED:8893","SEND_DHCP_REQUEST:9530","RECV_DHCP_RESPONSE:9602","UPNP_START_DISCOVERY:12863","UPNP_START_DISCOVERY:13618","IP_ACQUISTION_COMPLETED:15716","IP_ACQUISTION_COMPLETED:16470","2020 Sep 24 20:32:49.688454 raspberrypi-rdk-mc systemd[1]: Starting Log RDK Started Service...","-- Subject: Unit log-rdk-start.service has begun start-up","-- Defined-By: systemd","-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel","-- ","-- Unit log-rdk-start.service has begun starting up.","2020 Sep 24 20:32:50.088253 raspberrypi-rdk-mc systemd[1]: Started Log RDK Started Service.","-- Subject: Unit log-rdk-start.service has finished start-up","-- Defined-By: systemd","-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel","-- ","-- Unit log-rdk-start.service has finished starting up.","-- ","-- The start-up result is done."],"success":true}}
getModecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getMode","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"modeInfo":{"mode":"NORMAL","duration":0},"success":true}}
getPowerStatecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getPowerState","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"powerState":"ON", "success":true}}
getPreferredStandbyModecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getPreferredStandbyMode","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"preferredStandbyMode":"DEEP_SLEEP","success":true}}
getPreviousRebootInfocurl http://localhost:9998/jsonrpc  --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getPreviousRebootInfo","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"timeStamp":"20200128083540","reason":"Triggered from System Plugin API Validation","success":true}}
getPreviousRebootInfo2curl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getPreviousRebootInfo2","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"rebootInfo":{"timestamp":"Tue Jan 28 08:35:40 UTC 2020","source":"SystemPlugin","reason":"FIRMWARE_FAILURE","customReason":"API Validation","lastHardPowerReset":"Tue Jan 28 08:22:22 UTC 2020"},"success":true}}
getPreviousRebootReasoncurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getPreviousRebootReason","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"RFCConfig":{"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AccountInfo.AccountID":"1181405614235499371","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.UPnP.Enabled":"Empty response received","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AllowOpenPorts.Enabled":"Empty response received","Device.DeviceInfo.MemoryStatus.Total":"1144560","Device.DeviceInfo.MemoryStatus.Free":"732144"},"success":true}}
getRFCConfigcurl http://localhost:9998/jsonrpc  --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getRFCConfig","params":{"rfcList":["Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AccountInfo.AccountID","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.UPnP.Enabled","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AllowOpenPorts.Enabled","Device.DeviceInfo.MemoryStatus.Total","Device.DeviceInfo.MemoryStatus.Free"]}}'{"jsonrpc":"2.0","id":3,"result":{"RFCConfig":{"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AccountInfo.AccountID":"1181405614235499371","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.UPnP.Enabled":"Empty response received","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AllowOpenPorts.Enabled":"Empty response received","Device.DeviceInfo.MemoryStatus.Total":"1144560","Device.DeviceInfo.MemoryStatus.Free":"732144"},"success":true}}
getSerialNumbercurl http://localhost:9998/jsonrpc  --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getSerialNumber","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"serialNumber":"M11806TK0024","success":true}}
getStateInfocurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getStateInfo","params":{"param":"com.comcast.channel_map"}}' {"jsonrpc":"2.0","id":3,"result":{"com.comcast.channel_map”:2, “success”:true}}
getSystemVersionscurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getSystemVersions","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"stbVersion":"AX061AEI_VBN_1911_sprint_20200109040424sdy","receiverVersion":"3.14.0.0","stbTimestamp":"Thu 09 Jan 2020 04:04:24 AP UTC","success":true}}
getTemperatureThresholdscurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getTemperatureThresholds","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"temperatureThresholds":{"WARN":"100.000000","MAX":"110.000000","temperature":"48.000000"},"success":true}}
getTimeZoneDSTcurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getTimeZoneDST","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"timeZone":"America/New_York","success":true}}
getXconfParamscurl http://localhost:9998/jsonrpc  --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.getXconfParams","params":{}}' {"jsonrpc":"2.0","id":3,"result":{"xconfParams":{"env":"vbn","eStbMac":"20:F1:9E:EE:62:08","model":"AX061AEI","firmwareVersion":"AX061AEI_VBN_1911_sprint_20200109040424sdy"},"success":true}}
hasRebootBeenRequestedcurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.hasRebootBeenRequested","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"rebootRequested":false,"success":true}}
isGzEnabledcurl http://localhost:9998/jsonrpc  --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.isGzEnabled","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"enabled":false,"success":true}}
queryMocaStatuscurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method": "org.rdk.System.1.queryMocaStatus","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"mocaEnabled":true,"success":true}}
rebootcurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.reboot","params":{"rebootReason":"API Validation"}}'{"jsonrpc":"2.0","id":3,"result":{"IARM_Bus_Call_STATUS":1,"success":true}}
removeCacheKeycurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.removeCacheKey","params":{key:"sampleKey"}}' {"jsonrpc":"2.0","id":3,"result":{"success":true}}
requestSystemUptimecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.requestSystemUptime","params":{}}'{"jsonrpc":"2.0","id":3,"result":{"systemUptime":"1666.92","success":true}}
setCachedValuecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.setCachedValue","params":{"key":"sampleKey","value":4343.3434}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
setDeepSleepTimercurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.setDeepSleepTimer","params":{"seconds":3}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
setGzEnabledcurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.setGzEnabled","params":{"enabled":true}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
set STB modecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.setGzEnabled","params":{"modeInfo":{"mode":"NORMAL","duration":20}}}' {"jsonrpc":"2.0","id":3,"result":{"success":true}}
setGzEnabledcurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.setPowerState","params":{"powerState":"STANDBY", "standbyReason":"APIUnitTest"}}' {"jsonrpc":"2.0","id":3,"result":{"success":true}}
setPreferredStandbyModecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.setPreferredStandbyMode","params":{"standbyMode":"DEEP_SLEEP"}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
setTemperatureThresholdscurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.setTemperatureThresholds","params":{"thresholds":{"WARN":"50.000000","MAX":"80.000000"}}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
setTimeZoneDSTcurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.setTimeZoneDST","params":{"timeZone":"UTC-5"}}'{"jsonrpc":"2.0","id":3,"result":{"success":true}}
updateFirmwarecurl http://localhost:9998/jsonrpc --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.updateFirmware","params":{}}' {"jsonrpc":"2.0","id":3,"result":{"success":true}}

Note: The functions are referred from the RDK Service's System wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
upgradecurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.FirmwareControl.1.upgrade", "params":{"name": "firmware_v.0", "location": "http://my.site.com/images", "type": "RCDL", "progressinterval": 10, "hmac": "2834e6d07fa4c7778ef7a4e394f38a5c321afbed51d54ad512bd3fffbc7aa5debc"}}' http://127.0.0.1:9998/jsonrpc

{ "jsonrpc": "2.0", "id": 1234567890, "result": null }


resume

curl --header "Content-Type: application/json" --request POST --data '

{ "jsonrpc": "2.0", "id": 1234567890, "method": "FirmwareControl.1.resume", "params": { "name": "firmware_v.0", "location": "http://my.site.com/images" } }

http://127.0.0.1:9998/jsonrpc

{ "jsonrpc": "2.0", "id": 1234567890, "result": null }



Note: The functions are referred from the Thunder Nano Service's GitHub link



FunctionRequestResponseRemarks
set FPS log frequencycurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","params": {"frequencyInMs":1000},"method": "FrameRate.1.setCollectionFrequency"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
set default FPS log frequencycurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method": "FrameRate.1.setCollectionFrequency"}' http://127.0.0.1:9998/jsonrpc
start FPS Collectioncurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method": "FrameRate.1.startFpsCollection"}http://127.0.0.1:9998/jsonrpc
stop FPS Collectioncurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method": "FrameRate.1.stopFpsCollection"}' http://127.0.0.1:9998/jsonrpc

Note: The functions are referred from the RDK Service's Frame Rate wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
get HDCP statuscurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.HdcpProfile.1.getHDCPStatus"}' http://127.0.0.1:9998/jsonrpc

{"jsonrpc":"2.0","id":3,"result":{"HDCPStatus":{"isConnected":false,"isHDCPCompliant":false,"isHDCPEnabled":false,

"supportedHDCPVersion":"2.2","receiverHDCPVersion":"1.4","currentHDCPVersion":"1.4"},

"success":true}}

RPI doesn't have any input device for basic testing
get set Top HDCP Supportcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.HdcpProfile.1.getSettopHDCPSupport"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"supportedHDCPVersion":"2.2","isHDCPSupported":true,"success":true}}

Note: The functions mentioned above are referred from the RDK Service's HDCPProfile wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
get HDMI Input Devicescurl --header "Content-Type: application/json" --request POST --data  '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.HdmiInput.1.getHDMIInputDevices"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"devices":[{"id":0,"locator":"hdmiin://localhost/deviceid/0","connected":"false"}],"success":true}}
start HDMI Inputcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.HdmiInput.1.startHdmiInput", "params": {"portId":"1"}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
stop HDMI Inputcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.HdmiInput.1.stopHdmiInput"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
write EDIDcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.HdmiInput.1.writeEDID", "params": {"deviceId": 0, "message": "EDID"}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"name":"HdmiInputEDIDStub","success":true}}
read EDIDcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.HdmiInput.1.readEDID"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"name":"HdmiInputEDIDStub","success":true}}

Note: The functions mentioned above are referred from the RDK Service's HDMI Input wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
is Key Stroke Mask Enabledcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.LoggingPreferences.1.isKeystrokeMaskEnabled"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"keystrokeMaskEnabled":true,"success":true}}RPI doesn't have any input device for basic testing
set Key Stroke Mask Enabledcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.LoggingPreferences.1.setKeystrokeMaskEnabled", "params":{"keystrokeMaskEnabled":true}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}

Note: The functions mentioned above are referred from the RDK Service's Logging Preferences wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
get Number of Input devicescurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method": "org.rdk.AVInput.1.numberOfInputs"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"numberOfInputs":0,"message":"Success","success":false}}RPI doesn't have any input device for basic testing
current Video modecurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method": "org.rdk.AVInput.1.currentVideoMode"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"currentVideoMode":"unknownp","success":true}}
is Content Protectedcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method": "org.rdk.AVInput.1.contentProtected"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"isContentProtected":true,"success":true}}}

Note: The functions mentioned above are referred from the RDK Service's AV Input wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
enable Monitoring curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.ActivityMonitor.1.enableMonitoring", "params":{"config":[{"appPid":"6860", "memoryThresholdMB":"1", "cpuThresholdPercent":"1", "cpuThresholdSeconds":"1"}], "memoryIntervalSeconds":"0.02", "cpuIntervalSeconds":"0.02"}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0", "id":3, "result": {"success":true}}

correct pid to be given

disable Monitoringcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.ActivityMonitor.1.disableMonitoring", "params":{}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0", "id":3, "result": {"success":true}}
get Application Memory Usagecurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.ActivityMonitor.1.getApplicationMemoryUsage", "params":{"pid":6860}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0", "id":3, "result": {"applicationMemory":{"appPid":6860,"appName":"WPEProcess","memoryMB":6},"success":true}}correct Pid to be given
get All Apps Memory Usagecurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.ActivityMonitor.1.getAllMemoryUsage", "params":{}}'  http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0", "id":3, "result": {"freeMemoryMB":795,"applicationMemory":[{"appPid":7897,"appName":"WPENetworkProce","memoryMB":5},{"appPid":7899,"appName":"WPEWebProcess","memoryMB":19}],"success":true}}

Note: The functions are referred from the RDK Service's ActivityMonitor wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
upload capture screencurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"com.comcast.ScreenCapture.1.uploadScreenCapture", "params": {"url": "http://server/cgi-bin/upload.cgi"}}http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}

Note: The functions are referred from the RDK Service's Screen Capture wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
start Timercurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Timer.1.startTimer", "params":{"interval":1.2, "mode":"WAKE", "repeatInterval":1.4, "remindBefore":0.2}}http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"timerId":0,"success":true}}
cancelcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Timer.1.cancel", "params":{"timerId":0}}http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
suspendcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Timer.1.suspend", "params":{"timerId":0}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
resumecurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Timer.1.resume", "params":{"timerId":0}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
get Timer Statuscurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Timer.1.getTimerStatus", "params":{"timerId":0}}http://127.0.0.1:9998/jsonrpc{
    "jsonrpc": "2.0",    "id": 3,
    "result": {
        "state": "RUNNING",
        "mode": "WAKE",
        "timeRemaining": "1894.646",
        "repeatInterval": "2000.000",
        "remindBefore": "1000.000",
        "success": true
    }
}

get All Timerscurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Timer.1.getTimers"}' http://127.0.0.1:9998/jsonrpc{   "jsonrpc": "2.0",    "id": 3,
    "result": {
        "timers": [
            {
                "timerId": 0,
                "state": "RUNNING",
                "mode": "WAKE",
                "timeRemaining": "1984.411",
                "repeatInterval": "2000.000",
                "remindBefore": "1000.000"
            }
        ],
        "success": true
    }
}

Note: The functions are referred from the RDK Service's Sleep/Wake Timer wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
get UI Languagecurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.UserPreferences.1.getUILanguage"}http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"ui_language":"US_en","success":true}}
set UI Languagecurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.UserPreferences.1.setUILanguage", "params": {"ui_language": "US_en"}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}

Note: The functions are referred from the RDK Service's User Preferences wiki page


Prerequisite: This service has to be enabled from the controller UI to proceed with the execution of the below APIs

FunctionRequestResponseRemarks
resetDevicecurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Warehouse.1.resetDevice", "params":{"suppressReboot":true}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"PARAM_SUCCESS":true,"success":true}}
getDeviceInfocurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Warehouse.1.getDeviceInfo"}' http://127.0.0.1:9998/jsonrpc

{"jsonrpc":"2.0","id":3,"result":{"bluetooth_mac":"00:00:00:00:00:00","boxIP":"192.168.0.145","build_type":"PI",

"estb_mac":"B8:27:EB:C5:97:AF","eth_mac":"","imageVersion":"","version":"","software_version":"",

"model_number":"pi","rf4ce_mac":"","wifi_mac":"","success":true}}


internalResetcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Warehouse.1.internalReset", "params":{"passPhrase":"FOR TEST PURPOSES ONLY2"}}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":false,"error":"incorrect pass phrase"}}
lightResetcurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Warehouse.1.lightReset"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true}}
isCleancurl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.Warehouse.1.isClean"}' http://127.0.0.1:9998/jsonrpc{"jsonrpc":"2.0","id":3,"result":{"success":true,"files":[],"clean":true}}

Note: The functions are referred from the RDK Service's Warehouse wiki page