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
| Color | State | Meaning |
|---|---|---|
green | solid | Connected to a network and has an IP address |
green | pulsing | Checking the network configuration. Applies if the previous state was green or none. |
yellow | solid | Successful direct Ethernet connection. No gateway or DHCP IP address is assigned to the connection. |
yellow | pulsing | Checking the network configuration. Applies if the previous state was yellow or red. |
red | solid | Connected to a network but failed to obtain an IP address. |
red | blinking | Unknown system error and device power cycle is required. |
none | off | No physical network connection or state unknown. |
Nureva® Console status
| Color | State | Meaning |
|---|---|---|
green | solid | Communicating with the Nureva Console server and internet services connection. |
green | pulsing | Checking the Nureva Console server and internet services connection. Applies if the previous state was green or none. |
yellow | solid | Communicating with internet services but not Nureva Console. |
yellow | pulsing | Checking the Nureva Console server and internet services connection. Applies if the previous state was yellow or red. |
red | solid | Not communicating with Nureva Console or the internet services connection. |
none | off | Not internet connected or state unknown. |
USB status
| Status | Meaning |
|---|---|
connected | Successful USB connection and recognized as a USB device. |
disconnected | No USB connection or is not recognized by the operating system. |
Device status
| Status | Meaning |
|---|---|
connected | All components are connected. |
disconnected | One or more components are disconnected. |
unknown | No components associated with this system. |
LED Types
| Type | Meaning |
|---|---|
networkA | The primary network port for the HDX, or the network port for all other devices |
networkB | The secondary network port for the HDX, or not applicable for all other devices |
console | The Nureva Console and internet services connection |
Minimum role required: general
generalThe 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
- Capture the current network, Console, USB and device value states with
GET /api/v1/statuson the device IP. - Stream Get events stream at
/api/v1/eventsto stay synced with any value changes and pull/api/v1/statusagain when you need details.
Instructions
Step 1 - Capture current value states
Snapshot all statuses via GET /api/v1/status.
- Set the path with the IP address of the Nureva device followed by
/api/v1/status. - Update the headers to include
Authorizationas key and the value beingNurevafollowed by theauthParametersreceived from the login endpoint. - Update the headers to include
Nureva-Client-Idas key andintegration_app_nameas the value. - Update the headers to include
Nureva-Client-Versionas key and0.0.1as the value. - 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'- 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.
- Set the path with the IP address of the Nureva device followed by
/api/v1/events. - Update the headers to include
Authorizationas key and the value beingNurevafollowed by theauthParametersreceived from the login endpoint. - Update the headers to include
Nureva-Client-Idas key andintegration_app_nameas the value. - Update the headers to include
Nureva-Client-Versionas key and0.0.1as the value. - 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'- 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/eventsif 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.
Updated 12 days ago