📘

Only HDL410 systems support this feature.

Returns layout information of the room where the connected Nureva® audio conferencing system is located. The information includes dimensions of the room and locations of the individual microphone and speaker bars making up the system.

Rooms are assumed to be rectangular, and each wall is identified by a cardinal direction: north, south, west and east for the top, bottom, left and right wall, respectively. When interpreting the bar location coordinates, the southwest corner of the room is taken as the origin (0, 0).

⚠️ The room layout’s origin differs from the one in the sound location data stream, which uses Bar 0’s location as the origin.

Bar 0 (i.e., the microphone and speaker bar plugged into Port 1 in the connect module) will always be situated on the south wall of the room layout. Therefore, to convert a sound location coordinate (x, y) to a room coordinate, use (x + x', y), where x' is the x value of Bar 0’s location in the response’s bars array. Each index in the bars array corresponds to that bar’s order in the system, so Bar 0 is the first element and Bar 1 is the second element.

Note that room dimensions are configurable by end users through Nureva Console software, whereas bar locations are detected through the calibration process during hardware installation. As a result, the bar locations are not guaranteed to align precisely with a wall.

Request

{
  "request": "v1/room/layout",
  "requestId": string,
  "clientId": string
}

Response

{
  "request": "v1/room/layout",
  "requestId": string,
  "clientId": string,
  "body": {
    "roomDimensions": {
      "x": number,
      "y": number
    },
    "bars": {
      "wall": "North" | "South" | "West" | "East",
      "location": {
        "x": number,
        "y": number
      }
    }[]
  }
}
roomDimensions The dimensions of the room in millimeters.
The x value represents the west-east dimension and the y value represents the north-south dimension.
bars An ordered array where each element is the location for a single bar in the system.
Each index corresponds to that bar’s order in the system (e.g., first element is Bar 0, second element is Bar 1).
wall The wall the bar is located on.
Not to be confused with the direction the bar is facing. For example, if it is located on the south wall, then it is facing north; if it is on the west wall, then it is facing east.
location The x, y coordinates of the bar’s location in millimeters.
The southwest corner of the room is taken as the origin (0, 0) of the coordinate system, where positive y values are in the north direction and positive x values are in the east direction.

Errors

Status codeDescription
10000 – Bad requestRequest does not conform to the specification. The message field will include detailed information about which part of the request is incorrect.
11000 – Unsupported deviceConnected hardware device does not support audio location streaming or does not support room layout capabilities.
11001 – Device not connectedNo audio device is connected.
11006 – Room info unavailableRoom info unavailable.
11007 – Bar locations unavailableBar locations unavailable.

Sample requests

1. Valid request/response

Request

{
  "request": "v1/room/layout",
  "requestId": "3abe203s-42b7-4b0b-9awaf-5c381793a192",
  "clientId": "test"
}

Response

{
  "request": "v1/room/layout",
  "requestId": "3abe203s-42b7-4b0b-9awaf-5c381793a192",
  "clientId": "test",
  "body": {
      "roomDimensions": {
          "x": 16764,
          "y": 10668
      },
      "bars": [
          {
              "wall": "South",
              "location": {
                  "x": 8382,
                  "y": 0
              }
          },
          {
              "wall": "North",
              "location": {
                  "x": 11382,
                  "y": 10002
              }
          }
      ]
}

2. Unsupported device

This is a valid request but returns an error because the device doesn't support room layout capabilities.

Request

{
  "request": "v1/room/layout",
  "requestId": "3abe203s-42b7-4b0b-9awaf-5c381793a192",
  "clientId": "test"
}

Response

{
  "request": "v1/room/layout",
  "requestId": "3abe203s-42b7-4b0b-9awaf-5c381793a192",
  "clientId": "test",
  "errors": [
    {
      "statusCode": 11000,
      "message": "Unsupported device"
    }
  ]
}