# Features

# Light and Dark Mode

DSM ships both a light and a dark theme. The top bar stays dark in both, so the difference shows in
the page below it.

![The device list in light mode](https://wiki.kuori.com/uploads/images/gallery/2026-09/theme-light.png)

![The same device list in dark mode](https://wiki.kuori.com/uploads/images/gallery/2026-09/theme-dark.png)

## Switching

Open the account menu at the top right and use the **Dark mode** switch. The change applies at once
and DSM remembers it in that browser.

## Following the operating system

Until you touch the switch, DSM follows your operating system. Set your machine to dark and DSM
opens dark. DSM also reacts while it is open, so a machine that switches to dark at sunset takes
DSM with it.

Once you have set the switch yourself, that choice is what DSM opens with.

## Where the setting lives

The theme is stored in the browser, not on your account. A different browser or a different machine
starts from the operating-system setting again, and clearing site data resets it.

The chart and status colours carry the same meaning in both themes. Green is healthy, red is a
problem, grey is unknown.

# Dashboard

The Dashboard answers one question. Is anything wrong with this customer's fleet right now?

![The DSM dashboard, with device counters, the alerts card and the events card](https://wiki.kuori.com/uploads/images/gallery/2026-09/dashboard.png)

## The three counters

![Number of devices, Devices connected and Devices disconnected](https://wiki.kuori.com/uploads/images/gallery/2026-09/dashboard-counters.png)

**Number of devices** counts every device on the selected customer. **Devices connected** counts
the ones holding a live connection. **Devices disconnected** is the difference.

All three are links. Clicking Devices disconnected opens the device list already filtered to the
offline devices, and the list shows which filter it applied so you can clear it.

Retired devices are not counted.

## The map

If any device has a location set, the Dashboard draws them on a map above the alerts, with nearby
devices clustered together. Click a pin to see that device and jump to its page.

Use **Hide map** to collapse it. DSM remembers that choice per browser, so a fleet spread over one
building can hide the map for good.

Devices with no location set never appear on the map. Set a location on the device's Settings tab.

## Device alerts

The alerts card lists everything currently wrong, newest first, with the device, what kind of alert
it is, and when it started. The card header counts them.

An alert is listed only once it has lasted longer than the customer's threshold, which is 30
minutes by default and set per customer by an administrator. A device that drops for two minutes
and comes back never reaches the card. This is deliberate. Without it, a fleet on flaky mobile
connections would show constant noise.

Each row has two controls. **View** opens the device. The cross ignores the alert, which removes it
from the card without changing anything on the device. **Ignore all** clears the whole list at
once. Both ask for confirmation, and both are for admins.

Ignoring is the right move when you already know about a problem and do not want it hiding the next
one. It is the wrong move as a way of tidying up, because the alert does not come back.

## Device events

Events are things that happened rather than things that are wrong. Doors opened and closed, a host
reset by its watchdog, an SMB restart, a firmware update that succeeded or failed. The card lists
them newest first with the device, a plain-language description, and the time.

**View** opens the device that reported the event.

Events never clear themselves, because there is nothing to clear. They are a log.

## Scope

Everything on this page follows the customer selected in the top bar, and shows only devices your
account can reach. Switching customer redraws the whole page.

# Devices

The Devices page is the full table of every device on the selected customer, and the place you
start from when you know which device you care about.

![The Devices page, showing the device table](https://wiki.kuori.com/uploads/images/gallery/2026-09/devices-list.png)

## Reading a row

The table opens with eight columns.

**Serial number** is the device's Android serial, the identifier DSM uses everywhere. **Name** is
whatever you called it, and naming devices after their physical location is what makes the rest of
DSM readable. **Service version** is the client software running on the device.

**Display 1 status** and **Display 2 status** are coloured dots. Green means the backlight is on,
red means it is off, grey means the device has not reported a value. Hover a dot to see the
brightness reading behind it. Single-display units always show grey for Display 2.

**Online** and **SMB connected** are the same green and red. Online is the device's connection to
DSM. SMB connected is the client's connection to the control board inside the unit. A device can be
online with its SMB disconnected, and that combination means the client is running but cannot reach
the hardware.

**Last check-in** is when the device last reported. Read it together with Online. A device marked
online whose last check-in was an hour ago is worth a look.

## Filtering and sorting

Every column header sorts. Text columns have a search box under the header, and status columns have
an All dropdown that narrows to one value.

Filters combine. Setting Online to No and typing a site name into Name gives you the offline
devices at that site.

![The device table filtered to one site by name](https://wiki.kuori.com/uploads/images/gallery/2026-09/devices-filtered.png)

The row counter above the table shows how many rows match. **Clear filters** appears once a filter
is active.

Arriving from a Dashboard counter applies a filter for you, and DSM shows which one so you can drop
it.

## Choosing columns

The eight default columns are a fraction of what DSM stores. **Columns** opens the full list.

![The Columns menu, listing every available column](https://wiki.kuori.com/uploads/images/gallery/2026-09/devices-column-selector.png)

Kuori serial, hardware, panel, timezone, location, gateway address, first seen, Android ID, and
more are all available. Turn on what you need. **Show All** turns on everything, which is useful
before an export and unreadable on screen.

Column choices last for the page visit and reset when you leave.

## Exporting

**Export** downloads the table as it currently stands, with your filters and column choices applied,
named after the customer. Turn on the columns you need before exporting rather than exporting
everything and cutting it down afterwards.

## Row actions

Each row ends with up to three buttons.

**View** opens the device detail page.

**Edit** opens a dialog for the device's name and its main settings without leaving the table.

**Manage** opens the reset commands. Manage is greyed out for offline devices, because a reset has
nowhere to go. See the [Device Reset Guide](https://wiki.kuori.com/books/troubleshooting/page/device-reset-guide).

# Groups

A group is a named set of devices. Groups exist so you can look at part of a fleet on its own, and
so reports can be scoped to something narrower than the whole customer.

Group by whatever you actually reason about. One group per shopping centre, one per city, one per
contract, one for the outdoor units you watch in winter. A device can belong to as many groups as
you like, so you do not have to pick a single scheme.

![The Groups page, listing each group and its device count](https://wiki.kuori.com/uploads/images/gallery/2026-09/groups-list.png)

## The group list

The list shows each group's name and how many devices are in it. **View** opens the group.

**Create group** adds one. A group needs a name, and a description is worth writing, because a name
alone rarely survives a year of staff turnover.

## The group dashboard

Opening a group lands you on its dashboard, which is the main Dashboard narrowed to that group's
devices.

![A group dashboard, with counters, alerts and events for the group's devices](https://wiki.kuori.com/uploads/images/gallery/2026-09/group-dashboard.png)

The header shows the group's name and description with **Edit group** and **Remove group** beside
them. Below that are the same three counters, the same map, and the same alerts and events cards as
the main Dashboard, counting only this group.

Removing a group deletes the grouping, not the devices. They stay in DSM and in any other group
they belong to.

## The devices view

The **Devices** tab switches to the group's membership.

![The group's device list, with Add devices and Remove devices](https://wiki.kuori.com/uploads/images/gallery/2026-09/group-devices.png)

This is the standard device table with checkboxes down the left. Tick the devices you want, then use
**Remove devices** to take them out of the group.

**Add devices** opens the customer's other devices in the same kind of table. Tick and confirm to
add them.

Both actions change membership only. Nothing is sent to the device and nothing is deleted.

## Where groups show up elsewhere

The Reports page has a **Group** selector, and picking one limits the report to that group's
devices. This is the main reason to keep groups tidy. A downtime report per shopping centre is a
group selection away.

A device's own page has a **Groups** tab listing every group it belongs to.

# Reports

Reports turn DSM's connection history into downtime numbers you can hand to someone else. Pick what
to measure, which devices, and over what period. The table refreshes as you change any of the three.

![The Reports page, showing an Offline report for the current week](https://wiki.kuori.com/uploads/images/gallery/2026-09/reports.png)

## Report types

**Offline** measures how long each device was disconnected from DSM. This is the report to reach for
when someone asks about availability.

**Backlight 1 Off** and **Backlight 2 Off** measure how long each display's backlight was off, one
report per display. These include every power-off, including the ones your own power-off schedules
caused, so a site that switches its screens off overnight shows large numbers here that are not
faults. The page carries the same warning next to the report title.

## Group

**All** covers every device on the customer. Picking a group narrows the report to that group's
devices. If a group has no devices, the table says so rather than showing an empty result you have
to interpret.

Retired devices and devices set to ignore alerts are left out of every report.

## Time range

The dropdown holds Today, Yesterday, This Week, Last Week, This Month, and Last Month. Weeks start
on Monday. Ranges that include today stop at the current moment rather than running to midnight.

The calendar button next to it sets an exact start and end. Doing so switches the range to Custom.

You can go back two months. The date picker will not accept anything earlier.

## Summary and per day

The switch above the table changes the shape of the result.

**Summary** gives one row per device with its total downtime in minutes, worst first.

**Per day** adds a column per day in the range, so you can see whether 1580 minutes was one long
outage or a bad half-hour every morning.

![The same report in per-day view, with one column per day](https://wiki.kuori.com/uploads/images/gallery/2026-09/reports-per-day.png)

## Reading and exporting

Serial number and name link to the device, so you can go from a bad row straight to that device's
history.

**Export** downloads the table as it stands, named after the report type and the range.

**Clear selection** returns every control to its default, which is an Offline report for the whole
customer over this week.

## Two things worth knowing

Downtime is measured in the timezone of the browser you are using, not the device's. A report run
from a different country will slice days differently.

The Offline report and the Dashboard alert card measure different things. The report counts every
disconnection, however brief. The alert card only shows outages that lasted past the customer's
threshold. A report showing downtime that never raised an alert is normal.

# User Configuration

This page controls the emails DSM sends you. Nothing here changes any device or affects anyone
else's account.

Reach it from the account menu at the top right.

![The User configuration page, with alert, event and daily summary settings](https://wiki.kuori.com/uploads/images/gallery/2026-09/user-configuration.png)

Emails go to your account address, shown at the top of the page. You cannot redirect them to
another address here.

## Alert emails

Turn on **Subscribe to alerts**, then tick the alert types you want. Subscribing without picking a
type is refused when you save, because it would mean nothing.

The types are the same ones the Dashboard raises. Device offline, Screen 1 or Screen 2 turned off,
LCD driver turned off, temperature sensor issues, sensor failures, SMB disconnected, and error
cooldown.

**Alert Time Limit (minutes)** is how long a problem must last before DSM emails you about it. The
default is 30. Raising it cuts noise from brief outages, and lowering it means you hear about
everything.

DSM processes notifications every 10 minutes and includes whatever happened since the last one, so
an email is a batch rather than one message per alert.

## Event emails

**Subscribe to events** works the same way and covers things that happened rather than things that
are wrong. Doors opening and closing, screen impacts, watchdog resets, SMB restarts, firmware
updates.

Events are noisier than alerts. Door sensors on a busy site report all day. Subscribe to a specific
type you are watching rather than to everything.

## Daily summary email

The summary is a once-a-day count instead of a running stream. Turn on **Include alerts**, **Include
events**, or both, and pick the types to count.

**Summary email time** and **Timezone** decide when it arrives. The timezone defaults to your
browser's, and it is worth setting deliberately if you manage sites in another country. The summary
covers the 24 hours before it is sent.

You can subscribe to summaries alone. A daily digest with no live alert emails is a reasonable
setup for someone who is not on call.

## Saving

Nothing takes effect until you click **Save Configuration**. DSM confirms the save and tells you
what is wrong if it refuses.

## One configuration per customer

Your settings belong to the customer selected in the top bar. Switch customer and you are editing a
separate set. This is intentional. You can watch one customer closely and leave another quiet.

# Device Detail

Everything DSM knows about one device lives on its detail page. Reach it with **View** from the
device list, from a group's device list, from an alert or event row, or from search.

## The header

The Device info card sits above the tabs and stays there whichever tab you are on.

![The Device info card, showing name, serials and status badges](https://wiki.kuori.com/uploads/images/gallery/2026-09/device-info-card.png)

It gives the device's name, its Android serial, its Kuori serial, and two status badges. Green
badges read Device online and SMB connected. Red badges read Device offline and SMB disconnected.
Check these first. Half the tabs below show stale data when the device is offline, and the badges
are what tells you.

## Moving between tabs

The tab strip runs under the header and wraps onto a second row on narrow screens. The tab you are
on is part of the page address, so you can bookmark a device's Management tab or paste a link to
exactly the view you mean.

The **Backlight** tab only appears if you are an administrator on this customer.

## Overview

The landing tab, and a summary of the device's recent health.

![The Overview tab, with downtime cards, alerts and recent events](https://wiki.kuori.com/uploads/images/gallery/2026-09/device-overview.png)

Two cards give downtime over the last 24 hours and the last 30 days, in minutes. Below them are
this device's active alerts and its events from the last 24 hours.

## Information

Every field DSM holds about the device, as a table.

![The Information tab, listing every stored field for the device](https://wiki.kuori.com/uploads/images/gallery/2026-09/device-tab-info.png)

Hardware model, panel, board model, build time, software versions, SMB UUID, Android ID, network
gateway, and when it was first seen. Nothing here is editable, and **Edit** at the bottom takes you
to the fields that are.

This is the tab to open when someone asks what is actually installed at a site.

## Settings

The editable side of the same information.

![The Settings tab, with basic settings and timezone](https://wiki.kuori.com/uploads/images/gallery/2026-09/device-tab-settings.png)

**Device Name** is the one field worth caring about. Name devices after where they are.

**Ignore alerts from this device** stops it raising alerts, and also drops it out of reports. Use it
for a unit that is knowingly out of service. It hides real problems, so it is not a way to quiet a
device you still depend on.

**Retire device** takes the device out of the fleet. Retired devices leave the counters, the lists,
and the reports.

**Timezone** matters more than it looks. Scheduled commands run on the device's local time, so a
wrong timezone runs your overnight reset in the middle of the afternoon. Changing it here sends the
new timezone to the device.

Below those is **Device Location**, which is what puts the device on the Dashboard map. Search for
an address, drag the pin, or type coordinates. **Remove Location** clears it and takes the device
off the map.

Nothing saves until you click **Save Settings**.

## Sensors and Controllers

**Sensors** is a live table of what the device measures, temperature and humidity among them, with
a history drill-down on each reading and a CSV export.

**Controllers** is the same for the controlled outputs: fans, backlight, modem, host, media player.
Live state, with history. This is where you confirm whether a display was actually powered when
someone says the screen was dark.

## Report history

The raw check-ins. Pick a date range and the sensors and controllers you care about, and DSM builds
a report from the reports the device actually sent, with a CSV export. Useful when you need to
prove exactly what a device said and when.

## Events and Alerts

**Events** is this device's full event log, filterable by date, exportable as CSV.

**Alerts** is its full alert history, including alerts somebody has already ignored, which the
Dashboard hides. Also exportable. An alert with no end time is still open.

If you are chasing a recurring fault, this pair is where the pattern shows up.

## Notes

Free text tied to the device, with who wrote it and when. Add, edit, and remove them freely. Notes
are for the things DSM cannot know. Which door the key is behind, that the site closes for July,
that the panel was replaced in March.

## Groups

Every group this device belongs to. You can add it to an existing group or a new one from here, and
remove it from any of them.

## Management

Reset commands, scheduled resets, and modem tools.

More about resets can be found from [here](https://wiki.kuori.com/books/troubleshooting/page/device-reset-guide)

![The Management tab, with reset buttons and scheduled commands](https://wiki.kuori.com/uploads/images/gallery/2026-09/device-tab-management.png)

This is the tab that acts on hardware. The
[Device Reset Guide](https://wiki.kuori.com/books/troubleshooting/page/device-reset-guide) covers it in full.

## Display health

On-time percentage, the screen-off events behind it, and a timeline bar showing when they happened.
Use it to spot a screen that keeps failing rather than one that failed once.

## Backlight

For administrators. Minimum and maximum brightness limits, and schedules for switching the displays
on and off per day and per time. A screen that is off on schedule still counts as downtime in the
backlight reports, which is why those reports carry a warning.

## When the device is offline

Anything that sends a command to the device is disabled, and DSM says why rather than failing
silently.

![The Management tab of an offline device, with commands disabled](https://wiki.kuori.com/uploads/images/gallery/2026-09/device-offline-management.png)

Reading tabs still work. History does not need the device to be reachable. Scheduled commands can
still be saved, and they start running once the device reconnects.