You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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

  • RDK Shell
  • WPE's Thunder Framework
  • RDK Services (Thunder Nano services developed by Comcast)
  • WPE Framework's UI (for Controller UI)
  • WebKit Browser Plugin (A Thunder Nano service for WPE WebKit Browser)
  • RDK Reference App

Yocto build

The links are given here provide the instruction to generate RDK Image for Media Client and Media Gateway through a Yocto 2.2 (Morty) based build framework and also contain the instruction to flash the images to a micro SD card. These instructions are made for the execution of the RDK media stack on 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 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

SwitcherApp Home screen

Metrological's App Functionality

Live stream playback through AAMPVimeo Home ScreenVimeo VOD Playback

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

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 has 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.

  • On target - Use box's IP or the local host's IP
  • On Remote - Use only the box's IP

org.rdk.RDKShell

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.

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.launchApplication""params":{"client""appName""uri":"testapp""mimeType":"application/native"}}'{"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.suspendApplication""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.resumeApplication""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": {} }

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

org.rdk.Network

Prerequisite: This service has to be enabled from the controller UI to proceed for the checking of its functions

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

org.rdk.Wifi

Prerequisite: This service has to be enabled from the controller UI to proceed for the checking of its functions

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




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}


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

org.rdk.Bluetooth

Prerequisite: This service has to be enabled from the controller UI to proceed for the checking of its functions

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

org.rdk.System

Prerequisite: This service has to be enabled from the controller UI to proceed for the checking of its functions

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 System wiki page

org.rdk.AVInput

Prerequisite: This service has to be enabled from the controller UI to proceed for the checking of its functions

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

org.rdk.ActivityMonitor

Prerequisite: This service has to be enabled from the controller UI to proceed for the checking of its functions

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

  • No labels