Device Health
Device Health is the operational view of how reliably your gear stays connected. For any window you choose it shows, per device, the uptime percentage, whether it is online right now, how many times it dropped, how long it was down in total, and a timeline of every transition. It is the first page to open when someone says "the system keeps losing the amp" or when you need connectivity evidence at handover.
Open Device Health
Choosing the window
The page opens on the last 30 days and loads immediately — unless you arrived from a link that carried a window and filters with it, in which case the page opens on those instead. The offline and device-alert pills on the Dashboard and Open Operational View on a saved report both arrive that way, so the rows on screen are already the ones the pill or the report was counting.
- Start Date / End Date — pick a custom window, then click Load Data.
- 7D, 30D, 90D — one-click windows. These reload straight away; the button matching the window that produced the numbers on screen stays highlighted.
- Refresh (top right) — re-runs the current window without changing it.
- Create Report (top right) — carries the window and filters into a saved report. See Turning a view into a report.
Only devices set to Enabled in Devices are analyzed. A disabled device never appears, even if you pick it in the Device filter — you get an empty table instead.
The page returns at most 500 devices. On sites larger than that, use the Device filter to look at one device at a time, or build a saved report with a status or maximum-uptime filter to narrow the set.
Summary tiles
Four tiles sit above the date controls:
| Tile | What it counts |
|---|---|
| Devices Connected (nD) | How many enabled devices were analyzed. The nD matches the loaded window — 7D, 30D, 90D, or the day count of a custom range. |
| Average Uptime | Mean uptime across every device that has a measurable uptime. Devices showing — are left out of the average rather than counted as zero. Tinted green at 95% or above, amber from 80%, red below 80%. |
| Currently Offline | Devices whose most recent connection sample is disconnected. |
| Currently Online | Devices whose most recent connection sample is connected. |
Two things about these tiles surprise people:
- They ignore the Status, Max Uptime and Sort filters. The tiles always describe every device in the loaded window. Filtering the list to "Offline Only" narrows the table but leaves the tiles alone. The Device filter is the exception — it reloads the window for that one device, so the tiles follow it.
- Devices with an Unknown status are in neither online nor offline. A device that has never recorded a connection state is counted in Devices Connected but in neither of the two status tiles, so those two will not always add up to the first.
Device list
Filters
Four controls sit in the Device List header:
- Device —
All Devices, or one device. Changing this reloads the window from the server, so the tiles and the coverage notice update with it. - Status —
All Devices,Online Only,Offline Only,Unknown Only. Filters the rows already loaded, instantly. - Max Uptime — show only devices at or below a percentage. Type
95to see everything that missed 95%. Devices whose uptime is—are hidden while this box has a value, because they have nothing to compare. - Sort —
Uptime (Worst First)(the default),Uptime (Best First),Name,Last Seen.
Status, Max Uptime and Sort all work on the loaded rows, so they respond with no delay and no re-query.
Under Uptime (Worst First), devices showing — sort to the very top — an unmeasurable device is ordered as if it were 0%. That is usually what you want (they are the ones needing attention), but do not read them as devices that were down all month. Check the Current Status column to tell a never-commissioned device from a genuinely failing one.
Columns
| Column | Meaning |
|---|---|
| Device | The device label. Click it to open the device in an overlay on top of the report — the table, window and filters are still there when you close it. If the device can no longer be resolved, the link falls back to the Devices page filtered to that name. |
| Current Status | Online, Offline, or Unknown. This is the device's state right now, taken from its newest recorded sample — it is not scoped to the window, so a device can read Online in a window during which it was down the whole time. |
| Uptime % | Availability over the measured window (see How uptime is calculated). Green at 95% or above, amber from 80%, red below 80%. — means no connection state was ever recorded for this device. |
| Last Seen | The last time the device was recorded connected, as a full local date and time. Like Current Status this searches all retained history, so it can fall before the window you selected. Never means it has no connected sample at all. |
| Total Disconnects | Observed drops inside the window. |
| Total Downtime | Total time disconnected over the measured window, as 2d 3h 14m / 4h 5m 12s / 36m 10s, or None. This is the total, not a per-outage average. |
| Actions | Connection History and Unified Activity. |
A device measured over less than the full window carries a partial badge next to its uptime. Hovering it shows the exact point measurement began and what share of the window that covered.
Connection History
Connection History on a device row opens the Device Connection History window, which shows:
- Device, Uptime, Total Disconnects, and Total Downtime for the selected window.
- A step-line chart of the
connectedstate over time —Onlineat the top,Offlineat the bottom, with a step at each transition, so the exact moment of every drop and recovery is readable off the x-axis. The chart toolbar lets you zoom into a cluster of drops.
The chart plots the raw transitions, up to 50,000 of them in the window. A device that flaps constantly will draw a dense band rather than distinct steps — narrow the window to read it.
Unified Activity
Unified Activity on a device row opens Unified Activity in Reports, pre-scoped to that device and carrying the same start and end dates. Use it when the uptime number tells you when something happened and you need to know what else happened at that moment — commands, alarms, automation and access events on one timeline.
How uptime is calculated
Uptime % = (time connected ÷ measured time) × 100
A 30-day window is 720 hours. A device disconnected for 2 of them reports (718 ÷ 720) × 100 = 99.72%.
GEM records a connection sample every time a device's connected state changes. This happens automatically for every device — you do not need to turn on history for the connected attribute in the Attribute editor for this page to work.
A disconnect is only counted when GEM actually observed the device go from connected to disconnected. If the first sample in the window is already "disconnected", the drop itself happened outside what was recorded, so it is not added to Total Disconnects.
Measured time, and why it can be shorter than the window
A device's state is only knowable from its first recorded sample onward. If there is no sample at or before the start of your window, nothing can be said about the time before the first one — the device may not have been commissioned yet, may have been disabled, or its history may have aged out of retention.
That unmeasurable time is excluded from the calculation rather than counted as downtime. Each device is measured from the later of the window start or its own first sample.
A device commissioned six days before the end of a 30-day window that never dropped reports 100% uptime over 20% of the window, not 20% uptime. Counting the other 24 days as downtime would turn uptime into a measure of how long the device had been recorded rather than how reliable it was.
Two consequences follow:
- Total Downtime is measured over the same covered window, so it never reports downtime for time the device was not observed.
- Uptime % and Total Downtime are not comparable between a full-window device and a partial one. Compare the percentages, not the hours.
Rows measured over a partial window are marked partial, and a notice appears above the list when any device is partial or when the window reaches back further than any retained connection history.
Retention is the usual limit
Attribute history retention defaults to 7 days. On a site that has not raised it, a 30D or 90D window can only be measured over the last 7 days — every device will be flagged partial and the notice above the list will say how far back history actually reaches.
If uptime or coverage looks wrong across a long window, check the notice first. To report meaningfully over a month or a quarter, raise Attribute history retention on the Data Retention page before you need the data — retention cannot recover history that has already been pruned. Weigh it against database growth: connection samples share the attribute history store with every other historised attribute on the site.
Devices with no recorded connection state at all show — rather than 0%, and are left out of the average.
Turning a view into a report
Create Report hands the current window, Device, Status, Max Uptime and Sort to Reports as a new Device Health report. From there you can:
- Add the two columns the page only shows on hover — Measured From and Window Covered. They are not in the default column set, so a saved report keeps its existing columns until you add them.
- Export CSV, or attach the report to an email schedule for recurring delivery.
- Click Open Operational View to come straight back to this page with the report's filters and range applied.
The report shares this page's calculation exactly, so a scheduled monthly uptime report and a spot check here will never disagree.
Working the page
Finding the problem devices
- Load a window long enough to be representative — a week at minimum.
- Leave the sort on
Uptime (Worst First). - Set Max Uptime to
99to cut the list down to anything that missed a day's worth of reliability. - Read the pattern from Total Disconnects against Total Downtime:
- Many disconnects, little downtime — flapping. Suspect the network path: wireless coverage, a duplicate IP, a switch port renegotiating, or a device rebooting on a watchdog. GEM raises a Device Connection Flapping alarm for this on its own.
- Few disconnects, lots of downtime — the device was genuinely off. Suspect power, an unplugged run, or the device being taken out of service.
- One long drop — check whether it lines up with a site event: a power cut, an upgrade, an ISP outage.
- Open Connection History to see whether the drops cluster at a time of day, and Unified Activity to see what else was happening then.
Distinguishing a site-wide event from a device fault
If many devices went down together, the fault is upstream of all of them. Sort by Last Seen and look at whether the timestamps agree — a shared minute points at the switch, the PoE budget, the UPS or the internet feed, not at the devices. A single device drifting alone points at that device or its run.
Uptime targets
Uptime targets are easier to hold to when you convert them into a downtime budget for the window on screen. Over a 30-day window:
| Target | Downtime allowed in 30 days |
|---|---|
| 99.9% | about 43 minutes |
| 99% | about 7 hours 15 minutes |
| 95% | 36 hours |
Set Max Uptime to the target and anything that appears has missed it. Read Total Downtime against the budget above to see by how much — and check for a partial badge before treating any of it as a breach, since a partial row is measured over a shorter window than the budget assumes.
Related Documentation
- Devices — device configuration and the Enabled flag that decides what appears here
- Data Retention — how far back connection history reaches
- Alarms — Device Offline and Device Connection Flapping raise automatically; this page is the history behind them
- Monitoring — active reachability checks, as opposed to the connection state GEM's drivers report
- Reports — saved Device Health reports, CSV export, and email schedules
- Unified Activity — what else happened around a drop
- Dashboard — system overview