Skip to main content

wall

The wall command creates, modifies, and routes video walls. It automates the many SDVoE API commands otherwise required to build and connect a wall.

Command TypeDisplayNet
Minimum Version2.x.x

Usage

wall create <wallname>
wall list
wall property <wallname> <property>:<value> [<property>:<value>]...
wall assign <wallname> <row>,<col>:<device_id>
wall connect <source> <wallname>
wall rename <oldname> <newname>
wall delete <wallname>

Subcommands

SubcommandDescription
createCreates a new wall configuration
listReturns the current list of wall configurations
propertyUpdates a wall with one or more property changes. See Properties
assignAssigns a receiver to a wall position. row is the Y position, col the X position
connect (alias join)Routes an HDMI source stream to a wall
renameRenames a wall configuration
deleteDeletes a wall configuration

Properties

PropertyValue
rows / colsNumber of vertical / horizontal wall panels
bezel_left, bezel_right, bezel_top, bezel_bottomPixels removed from the signal on each panel edge for bezel correction
panel_width / panel_heightPanel resolution, in pixels
modeHow source/wall aspect-ratio differences are handled. See below
ModeBehavior
fitFits the entire signal on the wall, letterboxing with black bars if necessary. No distortion
stretchStretches the signal to the wall aspect ratio. Distorts the signal, but preserves resolution for anamorphic sources
cropCrops the signal edges to the wall aspect ratio, leaving no black bars. No distortion, but cropped edges are not visible
Uniform panels assumed

DisplayNet walls assume matching display models, sizes, and resolutions. Walls with mixed panel sizes must be designed directly with the SDVoE API.

Examples

Build a 2x2 wall with bezel correction
wall create testwall
wall property testwall rows:2 cols:2 bezel_bottom:24 bezel_top:16 panel_width:1920 panel_height:1080
Assign a receiver to row 1, column 2
wall assign testwall 1,2:6cdffb00387f
Route a source to the wall
wall connect bluray_player testwall

Return value

wall list
{
"status": "SUCCESS",
"request_id": null,
"result": {
"walls": [
{
"WallId": 9,
"name": "MainWall",
"rows": 2,
"cols": 2,
"bezel_left": 22,
"bezel_right": 22,
"bezel_top": 24,
"bezel_bottom": 24,
"mode": "fit",
"panel_width": 1920,
"panel_height": 1200,
"assignments": [
{
"WallAssignmentId": 170,
"row": 1,
"col": 2,
"mac": "d88039a4c431"
},
{
"WallAssignmentId": 21,
"row": 1,
"col": 1,
"mac": "6cdffb0038ca"
}
],
"connectedDevice": ""
}
]
},
"error": null
}

State and side effects

  • Bezel offsets, panel positions and device assignments are stored by DisplayNet and exist nowhere else. They describe a physical installation and were measured on site. They cannot be regenerated from the hardware, so an overwritten or deleted wall generally means a site visit to re-measure.
  • The wall record is what a snapshot preset captures, so a preset taken after an unrecorded change restores the wrong geometry.

Notifications

A DN_NOTIFICATION is sent for every action that modifies wall configurations:

Result objectSent for
wall_updatecreate, property, assign, and connect
wall_renamerename
wall_deletedelete

wall connect also produces standard NOTIFICATION events with SETTINGS_CHANGED for all affected devices. See the device object reference.

wall assign testwall 1,1:6cdffb00387f
{
"status": "DN_NOTIFICATION",
"request_id": null,
"result": {
"wall_update": [
{
"WallId": 24,
"name": "testwall",
"rows": 2,
"cols": 2,
"bezel_left": 0,
"bezel_right": 0,
"bezel_top": 0,
"bezel_bottom": 0,
"mode": "stretch",
"panel_width": 1920,
"panel_height": 1080,
"assignments": [
{
"WallAssignmentId": 46,
"row": 1,
"col": 1,
"mac": "6cdffb00387f"
}
],
"connectedDevice": ""
}
]
},
"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
assignwall_assignwall [assignments]*
connectwall_connectsource wall
createwall_createname [values]*
deletewall_deletename
listwall_list
propertywall_propertywall [properties]*
renamewall_renamename new_name

A parameter in brackets is optional. 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

  • disconnect: disconnect wall <wallname> tears down a wall's routing
  • set video: the underlying wall display modes