Room status

This tutorial explains how to read and monitor the room status values exposed by the local control API. The values provide live updates on the connection status of the network, Console, USB and device components that make up the HDL200, HDL300, Dual HDL300, HDL310, HDL410 or HDX system. For more information about the room status values, see the following links: HDL200, HDL300 and Dual HDL300, HDL310, HDL410, HDX.

Supported devices

  • HDL200, HDL300, Dual HDL300, HDL310, HDL410 and HDX devices are fully supported.

What are room status values?

The local control API exposes four value fields that describe the connection status of the network, Console, USB and device components. Each status is available through GET /api/v1/status responses and /api/v1/events updates.

Network status

ColorStateMeaning
greensolidConnected to a network and has an IP address
greenpulsingChecking the network configuration. Applies if the previous state was green or none.
yellowsolidSuccessful direct Ethernet connection. No gateway or DHCP IP address is assigned to the connection.
yellowpulsingChecking the network configuration. Applies if the previous state was yellow or red.
redsolidConnected to a network but failed to obtain an IP address.
redblinkingUnknown system error and device power cycle is required.
noneoffNo physical network connection or state unknown.

Nureva® Console status

ColorStateMeaning
greensolidCommunicating with the Nureva Console server and internet services connection.
greenpulsingChecking the Nureva Console server and internet services connection. Applies if the previous state was green or none.
yellowsolidCommunicating with internet services but not Nureva Console.
yellowpulsingChecking the Nureva Console server and internet services connection. Applies if the previous state was yellow or red.
redsolidNot communicating with Nureva Console or the internet services connection.
noneoffNot internet connected or state unknown.

USB status

StatusMeaning
connectedSuccessful USB connection and recognized as a USB device.
disconnectedNo USB connection or is not recognized by the operating system.

Device status

StatusMeaning
connectedAll components are connected.
disconnectedOne or more components are disconnected.
unknownNo components associated with this system.

LED Types

TypeMeaning
networkAThe primary network port for the HDX, or the network port for all other devices
networkBThe secondary network port for the HDX, or not applicable for all other devices
consoleThe Nureva Console and internet services connection

Minimum role required: general

The GET /api/v1/status endpoint and the Get events stream endpoint can be accessed with the general role or any role of a higher level.

Overview

  1. Capture the current network, Console, USB and device value states with GET /api/v1/status on the device IP.
  2. Stream Get events stream at /api/v1/events to stay synced with any value changes and pull /api/v1/status again when you need details.

Instructions

Step 1 - Capture current value states

Snapshot all statuses via GET /api/v1/status.

  1. Set the path with the IP address of the Nureva device followed by /api/v1/status.
  2. Update the headers to include Authorization as key and the value being Nureva followed by the authParameters received from the login endpoint.
  3. Update the headers to include Nureva-Client-Id as key and integration_app_name as the value.
  4. Update the headers to include Nureva-Client-Version as key and 0.0.1 as the value.
  5. Send the GET request. Here is a code sample to connect to the SSE data endpoint for the device with the IP address 10.0.0.1.
curl --request GET \
   --url https://10.0.0.1/api/v1/status \
   --header 'Authorization: Nureva Z2VuZXJhbDo=' \
   --header 'Nureva-Client-Id: integration_app_name' \
   --header 'Nureva-Client-Version: 0.0.1'
  1. If successful, the call returns 200 OK with fields similar to below:
{
  "leds": {
    "console": {
      "colour": "green",
      "state": "solid"
    },
    "networkA": {
      "colour": "green",
      "state": "solid"
    }
  },
  "usb": {
    "status": "disconnected"
  },
  "deviceComponents": {
    "status": "connected"
  }
}

Step 2 - Stream real-time updates

Stay synced by listening to /api/v1/events SSE notifications.

  1. Set the path with the IP address of the Nureva device followed by /api/v1/events.
  2. Update the headers to include Authorization as key and the value being Nureva followed by the authParameters received from the login endpoint.
  3. Update the headers to include Nureva-Client-Id as key and integration_app_name as the value.
  4. Update the headers to include Nureva-Client-Version as key and 0.0.1 as the value.
  5. Send the GET request. Here is a code sample to connect to the SSE events endpoint for the device with the IP address 10.0.0.1.
curl --request GET \
   --url https://10.0.0.1/api/v1/events \
   --header 'Authorization: Nureva Z2VuZXJhbDo=' \
   --header 'Nureva-Client-Id: integration_app_name' \
   --header 'Nureva-Client-Version: 0.0.1'
  1. Listen for the following events that indicate status changes:
    • usbConnection — emitted whenever the USB value toggles or the host type changes.
    • ledStateUpdated — triggered when the device LED or colors change (covers all values).
    • deviceComponentsConnection — emitted whenever device status changes from connected, disconnected, or unknown
event: ledStateUpdated
data: {"colour":"yellow","state":"solid","ledType":"networkA"}
event: usbConnection
data: {"connected": true}
event: deviceComponentsConnection
data: {"overallStatus": "connected"}

Info: Keep the SSE session open to receive continuous updates, and reconnect to /api/v1/events if the stream drops.


Tutorial complete!

You can now monitor the status values through the local control API and react to network, Console, USB or device issues immediately.