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 Type | DisplayNet |
| Minimum Version | 2.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
| Subcommand | Description |
|---|---|
create | Creates a new wall configuration |
list | Returns the current list of wall configurations |
property | Updates a wall with one or more property changes. See Properties |
assign | Assigns 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 |
rename | Renames a wall configuration |
delete | Deletes a wall configuration |
Properties
| Property | Value |
|---|---|
rows / cols | Number of vertical / horizontal wall panels |
bezel_left, bezel_right, bezel_top, bezel_bottom | Pixels removed from the signal on each panel edge for bezel correction |
panel_width / panel_height | Panel resolution, in pixels |
mode | How source/wall aspect-ratio differences are handled. See below |
| Mode | Behavior |
|---|---|
fit | Fits the entire signal on the wall, letterboxing with black bars if necessary. No distortion |
stretch | Stretches the signal to the wall aspect ratio. Distorts the signal, but preserves resolution for anamorphic sources |
crop | Crops 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 correctionwall 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 2wall assign testwall 1,2:6cdffb00387f
Route a source to the wallwall connect bluray_player testwall
Return value
- wall list
- Other subcommands
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
}
wall create New_Wall_Config{
"status": "SUCCESS",
"request_id": null,
"result": null,
"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
presetcaptures, 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 object | Sent for |
|---|---|
wall_update | create, property, assign, and connect |
wall_rename | rename |
wall_delete | delete |
wall connect also produces standard NOTIFICATION events with SETTINGS_CHANGED for all affected devices. See the device object reference.
- wall_update
- wall_rename
- wall_delete
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
}
wall rename my_new_wall new_wall_name{
"status": "DN_NOTIFICATION",
"request_id": null,
"result": {
"wall_rename": [
{
"wallId": 25,
"oldname": "my_new_wall",
"newname": "new_wall_name"
}
]
},
"error": null
}
wall delete New_Wall_Config_test{
"status": "DN_NOTIFICATION",
"request_id": null,
"result": {
"wall_delete": [
{
"wallId": 25,
"name": "New_Wall_Config_test"
}
]
},
"error": null
}
REST API
| Endpoint type | DisplayNet API command |
|---|---|
| Address | POST /api/displaynet/<operation>, or name the operation in the body of a POST /api/displaynet. See Sending commands. |
| Role | User |
| Subcommand | Operation | Parameters |
|---|---|---|
assign | wall_assign | wall [assignments]* |
connect | wall_connect | source wall |
create | wall_create | name [values]* |
delete | wall_delete | name |
list | wall_list | — |
property | wall_property | wall [properties]* |
rename | wall_rename | name 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 routingset video: the underlying wall display modes