Monitoring Dashboard
Overview
This tab allows OEMs to define the visual dashboard shown on the End Customer portal.
The dashboard is built of multiple "Sections". Each section can be static or conditionally shown based on device capabilities (e.g. only show "Noise Cancellation Widgets" if that feature is enabled on the device).
Sections
To add a section, click on the "Add section" button on the top right.
- Section name - General section name.
- Condition type - Controls when this section is shown to End Customers. See Condition types below.
Condition types
Each section can either always be shown, or be gated on a value somewhere on the device. When gated, the section is shown only when the value at the configured Data source path is truthy (i.e. true, a non-empty string, a non-zero number, or a non-null object); any other value — including false, null, 0, an empty string, or the path not being found — hides the section.
All devices
The section is always shown. No path or value lookup is performed.
Configuration or Details
The section is gated on a value resolved from a path you specify in the Data source path field. The path always starts with one of three roots, and the dot-notation after the root is interpreted differently depending on the root.
| Path prefix | Reads from | How dots after the prefix are interpreted |
|---|---|---|
config.<...> | The device's Configuration JSON | Nested keys — the path is traversed object by object. |
details.<...> | The device's Details JSON (see Data Types) | Nested keys — same traversal as config. |
state.<key> | The device's reported State (latest Telemetry) | Treated as a single literal key on the State object. State is a flat map — telemetry key names may themselves contain dots, and there is no nested traversal. |
config.<path> — traverse the device's Configuration JSON
config.<path> — traverse the device's Configuration JSONThe path is followed key by key into the device's Configuration JSON. The section shows when the final value is truthy.
For example, the path config.settings.surroundSound.enabled matches a Configuration JSON of:
{
"settings": {
"surroundSound": {
"enabled": true
}
}
}If any intermediate key is missing, or the final value is falsy, the section is hidden.
details.<path> — traverse the device's Details JSON
details.<path> — traverse the device's Details JSONIdentical semantics to config.<path>, but reading from the device's Details JSON instead. Useful when the gating value is supplied by an integration rather than by the device's own configuration.
Example: details.capabilities.has_remote_control matches { "capabilities": { "has_remote_control": true } } in the device's Details.
state.<key> — read a flat telemetry key
state.<key> — read a flat telemetry keyWhatever follows state. is taken as a single literal key on the device's State object. Telemetry keys are flat — they are not nested under each other even when they contain dots.
| Path | Matches a State of | Does not match |
|---|---|---|
state.input_active | { "input_active": true } | { "input": { "active": true } } |
state.audio.muted | { "audio.muted": true } (one flat key with a dot in its name) | { "audio": { "muted": true } } |
If the device has not yet reported the key, or it has reported it as a falsy value, the section is hidden.
state.*conditionals read the device's live State, which is only populated while the device is online. For values that should keep gating the section while the device is offline, mirror the flag into the device's Configuration or Details and gate onconfig.*/details.*instead.
Widgets
Each Section may contain multiple Widgets of different types.
To add a Widget, click on the "Add widget" button.
The Widgets are separated into a number of families:
- Monitoring - Widgets that display information only.
- Commands - Widgets that tie into "Supported Commands".
- UI - UI only Widgets, for structuring.
Clicking any Widget will open its configuration parameters. Each Widget has their own properties but (almost) all rely on a few basic concepts:
- Title - Title and other text to be displayed.
- Telemetry - The key of the Telemetry send by a device to use for the value of the widget.
