Skip to main content

config

The config command reads, writes, and deletes configuration settings for the server, the application, users, and individual devices. Some options apply only to the server; others apply app-wide with per-device or per-user overrides.

Command TypeDisplayNet
Minimum Version2.x.x

Usage

config get <scope_identifier> <config_name>
config set <scope_identifier> <config_name> <config_value>
config delete <scope_identifier> <config_name>

Subcommands

SubcommandDescription
getRetrieves one or more settings. Wildcards (*) are allowed for the scope and/or the config name
setSets the value of a setting in the given scope
deleteRemoves a setting. If the setting has a default value it returns to that default; otherwise the value becomes null (signaled via notification), indicating the client can delete it

Scopes

Every configuration item has a scope, a configuration name, and a value. The scope is the area of the application the setting affects:

ScopeScope nameScope identifierNotes
DomainDisplayNet.DomainappApplication-level behavior of API commands, for example dev.DefaultDisplayMode sets the default display mode used by connect
DeviceDisplayNet.Device<mac address> or <devicename>Per-device overrides of Domain settings
UserDisplayNet.UseruserPer-user behavior, regardless of session. Custom keys can be stored here for client-defined behavior
ServerDisplayNet.ServerserverServer configuration. Some items are read-only; writable items require an Administrator
Scope hierarchy

When a setting exists at multiple scopes, resolution is: Domain overrides default behavior, Device overrides Domain (where applicable), and User overrides both. The Server scope holds server-only settings and sits outside this hierarchy. Some commands (such as connect) can also override a configured default directly, regardless of scope.

Configuration names

A full list of configuration names is available in the Configuration Name Reference. By convention:

  • Names affecting application functionality begin with app. (e.g. app.LoggingLevel).
  • Names affecting application behavior for a device begin with dev. (e.g. dev.DefaultResolution).

Not all settings strictly follow the convention. Refer to the reference for specifics.

Examples

Read one application setting
config get app app.LoggingLevel
Read every setting on a device
config get 6cdafc00487f *
Find a setting across all scopes
config get * dev.DefaultResolution
Set a per-device default display mode
config set 6cdafc00487f dev.DefaultDisplayMode Genlock
Remove a device description
config delete 6cdafc00487f dev.Description

Return value

config get app app.LoggingLevel
{
"status": "SUCCESS",
"request_id": null,
"result": {
"configurations": [
{
"scope": "DisplayNet.Domain",
"configkey": "app",
"keyname": "app.LoggingLevel",
"value": "error"
}
]
},
"error": null
}

A setting with no stored value returns an empty array, not a row carrying the default:

config get TESTRX dev.Locked, on a device that is not locked
{
"status": "SUCCESS",
"request_id": null,
"result": {
"configurations": []
},
"error": null
}

A wildcard returns one row per scope that has a value:

config get * dev.DefaultDisplayMode
{
"status": "SUCCESS",
"request_id": null,
"result": {
"configurations": [
{
"scope": "DisplayNet.Domain",
"configkey": "app",
"keyname": "dev.DefaultDisplayMode",
"value": "fastswitch"
},
{
"scope": "DisplayNet.Device",
"configkey": "6cdffb01f5ba",
"keyname": "dev.DefaultDisplayMode",
"value": "fastswitch"
}
]
},
"error": null
}

State and side effects

  • The value is persisted. This is the difference from an SDVoE set, which changes a device's running state but stores nothing. The SDVoE value is lost on a factory reset or a device swap, while a DisplayNet configuration value is reapplied.
  • A write is not confined to the device you named. Values resolve through the scope hierarchy above, so a write at Domain scope becomes the default for every device that has no value of its own.
  • Configuration outlives the device it describes. replace migrates configs from a failed unit onto its replacement, so a setting written today can reappear on hardware that is not in the system yet.

Notifications

In async mode, configuration changes are pushed to all applicable clients:

config set app app.LoggingLevel Information
{
"status": "DN_NOTIFICATION",
"request_id": null,
"result": {
"configurations": [
{
"scope": "DisplayNet.Domain",
"configkey": "app",
"keyname": "app.LoggingLevel",
"value": "Information"
}
]
},
"error": null
}

REST API

Endpoint typeDisplayNet API command
AddressPOST /api/displaynet/<operation>, or name the operation in the body of a POST /api/displaynet. See Sending commands.
RoleUser
SubcommandOperationParameters
deleteconfig_deletetarget key
getconfig_gettarget key
setconfig_settarget key value*

A parameter marked * takes the remainder of the command line as one string. Pass the text exactly as you would type it on the TCI interface.

See also