> For the complete documentation index, see [llms.txt](https://docs.kemperconnect.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kemperconnect.de/monitoring-and-compliance/air-quality/report.md).

# Report

## Air Quality Reports

The Report tab generates a print-ready PDF that summarises air quality across all licensed AirWatch devices on a site. Reports are designed for compliance documentation, stakeholder communication, and internal reviews. Every PDF is fully self-explanatory — even when read out of context — thanks to a built-in methodology section, a table of contents, and an executive summary on the cover page.

### Accessing the Report

1. Open the site you want to report on (sidebar item **Sites** → select a site).
2. In the site sidebar, click **Air Quality**.
3. Open the **Report** tab in the tab bar (next to *Overview*, *Historical*, and *Devices*).

URL pattern: `/sites/[id]/air-quality` → tab "Report".

The Report tab shows a configuration card on the left/top and, after the first preview, a live preview of the generated PDF below it.

<figure><img src="/files/fOCXOkITbIEFdh5S4nfc" alt=""><figcaption></figcaption></figure>

### Report Configuration

All settings are applied when you click **Generate Preview**. Changing a setting after generating does not auto-refresh the preview — re-click **Generate Preview** to apply.

<figure><img src="/files/9ITFoHifxMNAiEC9qU2o" alt=""><figcaption></figcaption></figure>

#### Configuration overview

| Setting                      | Type                     | Default | Effect                                         |
| ---------------------------- | ------------------------ | ------- | ---------------------------------------------- |
| Time Period                  | Day / Week toggle        | Day     | Reporting window and chart resolution          |
| Period navigation            | Prev / Next arrows       | Current | Step through past periods                      |
| Chart Size                   | Compact / Normal / Large | Normal  | Pixel height of the Historical chart           |
| Customer / Company           | Free text                | empty   | Printed on the cover page                      |
| Project / Location           | Free text                | empty   | Printed on the cover page                      |
| Additional Notes             | Free text                | empty   | Printed on the cover page                      |
| Compare with Previous Period | Toggle                   | off     | Adds previous-period overlays and trend deltas |
| Working Hours Filter         | Toggle (+ sub-settings)  | off     | Restricts statistics to working hours only     |
| All Devices Table            | Toggle                   | off     | Adds a table of every licensed device          |
| Per-Device Pages             | Toggle                   | off     | Adds one detail page per licensed device       |

#### Time Period

Select the reporting window with the **Day / Week** toggle, then use the prev/next arrows to step through history. The "next" arrow is disabled on the current period.

| Time Period | Window                     | Chart resolution  | Comparison range (when enabled) |
| ----------- | -------------------------- | ----------------- | ------------------------------- |
| Day         | Calendar day (00:00–24:00) | 15-minute buckets | Previous calendar day           |
| Week        | Calendar week (Mon–Sun)    | 1-hour buckets    | Previous calendar week          |

The current period label (e.g. *"May 5, 2026"* or *"Apr 28 – May 4, 2026"*) is shown between the navigation arrows.

#### Chart Size

Controls the pixel height of the **Historical Air Quality** chart on its dedicated page. The chart now lives on its own A4 landscape page, so all three options use the page generously.

| Option  | Chart height | When to use                                          |
| ------- | -----------: | ---------------------------------------------------- |
| Compact |       420 px | Leaves more whitespace below the chart               |
| Normal  |       520 px | Default, balanced                                    |
| Large   |       600 px | Maximum vertical detail; fills nearly the whole page |

This setting only affects the site-wide Historical chart. Per-device pages use a fixed compact chart height because they share the page with a header row and KPI cards.

#### Report Information (custom metadata)

Three optional free-text fields printed on the cover page:

* **Customer / Company** — e.g. `Acme Corporation`
* **Project / Location** — e.g. `Production Hall B`
* **Additional Notes** — e.g. `Monthly air quality review`

All three are optional. Empty fields are simply omitted from the cover page.

#### Report Options

**Compare with Previous Period**

When enabled:

* Fetches the previous period's data (yesterday for *Day*, last calendar week for *Week*).
* Overlays a dashed previous-period line on the Historical chart for both PM2.5 and PM10.
* Adds a **Period Comparison** block to the General Overview page (current vs previous, with trend arrows).
* Adds a compact trend summary to each per-device page (when *Per-Device Pages* is also enabled).
* Adds a *Period Comparison* line to the Statistics section.

Trend classification uses a 5% deadband: changes smaller than ±5% are reported as *Stable*.

**Working Hours Filter**

When enabled, all statistics, time distributions, exceedance counts, and trends are computed using only data points that fall within the configured working hours. The Historical chart shows vertical boundary markers at the start/end times so the filtered window is visible.

Sub-settings appear when the toggle is on:

| Sub-setting      | Default | Effect                            |
| ---------------- | ------- | --------------------------------- |
| Start Time       | 06:00   | Beginning of the working window   |
| End Time         | 16:00   | End of the working window         |
| Exclude weekends | on      | Skip Saturday and Sunday entirely |

The current Working Hours configuration is also printed on the cover page so the reader knows the reporting scope.

**All Devices Table**

<figure><img src="/files/Ideva3Fe2Fyn2lkDnR1C" alt=""><figcaption></figcaption></figure>

Adds a sortable, full-width table listing every licensed AirWatch device on the site, sorted by current PM10 (worst first). Each row shows:

* Device name and serial number (claim serial preferred, falls back to device serial)
* Online / Offline status pill
* Current PM2.5 and PM10 (with quality-level badges)
* 4-hour rolling averages for PM2.5 and PM10

Useful as a quick "leader board" for identifying the dustiest devices.

**Per-Device Pages**

Adds one strict A4 landscape page per licensed device, sorted alphabetically by device name. A title divider page is inserted before the device pages, listing all devices that follow as a contents-style index.

Each per-device page contains:

* **Header strip** — device name, serial number, online/offline status, location (if known), last-heard timestamp.
* **4 compact KPI cards** — Current PM2.5, Current PM10, 4-hour Avg PM2.5, 4-hour Avg PM10.
* **Historical chart** — the device's individual time series with the device name in the chart title (`Historical Air Quality — {device}`). When *Compare with Previous Period* is enabled, the previous period is overlaid as dashed lines.
* **Inline trend summary** (only when comparison is enabled) — compact one-row PM2.5 / PM10 deltas with arrows.
* **No-data fallback** — if a device has no data for the period, a "No data available for this period" placeholder replaces the chart. Header and KPI cards still render.

The page is hard-clipped to A4 landscape height in print, so each device gets exactly one page regardless of dataset size.

> **Performance note:** Per-Device Pages share the network fetches with the site-wide aggregate — enabling the toggle adds **no extra API calls**. Generation time is unchanged.

### Generating the Report

<figure><img src="/files/S8XCkUWY9y2mvuSndcIw" alt=""><figcaption></figcaption></figure>

#### Workflow

1. Pick the **Time Period** and navigate to the desired window.
2. Optionally fill in **Customer**, **Project**, and **Notes**.
3. Toggle the **Report Options** you need.
4. Click **Generate Preview** — data is fetched and the live preview renders below the configuration card.
5. Click **Print / Save PDF** — opens the browser print dialog.
6. In the print dialog, choose **Save as PDF** as the destination (or print directly).

#### Print dialog tips

The PDF is hardcoded to **A4 landscape** with 10 mm margins. For best results in the print dialog:

* Enable **Background graphics** so coloured KPI badges, status pills, and chart zones print correctly.
* Set margins to **Default** or **None** (margins are already controlled by the report's CSS).
* If a section gets clipped, lower the **Chart Size** to *Compact* and re-generate.

#### Re-generating

Configuration changes do not auto-refresh the preview. After changing any setting, click **Generate Preview** again. This is intentional — re-fetching can take several seconds when *Per-Device Pages* is enabled with many devices.

### Report Structure

The PDF has a deterministic page layout. Pages 1, 2, 3, the Historical page, the Statistics & Distribution page, and the Methodology page are always present. The remaining pages depend on toggles.

#### Page-by-page overview

| Page | Section                                                     |   Always present  |
| ---- | ----------------------------------------------------------- | :---------------: |
| 1    | Header + Executive Summary                                  |        yes        |
| 2    | Table of Contents                                           |        yes        |
| 3    | General Overview (Site Status + optional Comparison + KPIs) |        yes        |
| 4    | Historical Air Quality                                      |        yes        |
| 5    | Statistics & Distribution                                   |        yes        |
| 6    | All Devices Table                                           | only if toggle on |
| 7    | Per-Device section divider                                  | only if toggle on |
| 8…N  | Per-Device pages (one per device, alphabetical)             | only if toggle on |
| Last | Methodology                                                 |        yes        |

#### Page 1 — Header + Executive Summary

The cover page contains:

* Report title (`Air Quality Report`) and site name
* Reporting period and generation timestamp
* **Customer**, **Project**, and **Notes** (if filled in)
* Working Hours configuration (if filter is enabled)
* Comparison range (if comparison is enabled)
* Total / online device counts
* An **Executive Summary** block — narrative top-line trends, highlights, and percentage of time spent in healthy ranges

#### Page 2 — Table of Contents

A dynamically-built index of the sections that follow, with page numbers. Entries are added or removed depending on which toggles are active. Page numbers are calculated deterministically from the active sections.

Example with all toggles enabled and 8 devices:

```
01. General Overview          …  p.  3
02. Historical Air Quality    …  p.  4
03. Statistics & Distribution …  p.  5
04. All Devices Table         …  p.  6
05. Per-Device Details        …  p.  7   (divider page; devices on pp. 8–15)
06. Methodology               …  p. 16
```

#### Page 3 — General Overview

A consolidated summary page combining:

* **Site Air Quality Status** — overall status indicator, current PM2.5 / PM10 averages with quality labels, and 4-hour rolling averages.
* **Period Comparison** *(only when comparison is enabled)* — current vs previous averages and min / max / median for both PM2.5 and PM10, with trend arrows.
* **Key Performance Indicators** — 4×2 grid: Avg PM2.5, Avg PM10, 4h Avg PM2.5, 4h Avg PM10, Peak PM2.5, Peak PM10, Best PM10, Devices Online.

#### Page 4 — Historical Air Quality

A full-page time-series chart of the **site-wide aggregated** average per timestamp. Title and subtitle make the aggregation explicit, e.g. *"Aggregated average across 8 licensed AirWatch devices (7 online) — values represent the workspace mean per timestamp."*

Chart features:

* Background bands tinted by PM10 quality range (green → purple)
* PM2.5 (orange) and PM10 (blue) lines
* Dashed reference lines at the period averages
* Optional dashed previous-period overlay (when comparison is enabled)
* Working-hours boundary markers (when the filter is enabled)
* A range legend at the bottom explaining the coloured bands

#### Page 5 — Statistics & Distribution

Combines four detailed analytical blocks:

1. **Period Statistics** — average, min, max, median for PM2.5 and PM10. With comparison enabled, previous-period values and trend deltas are shown alongside.
2. **Time Distribution** — percentage of time spent in each air-quality range (Very good / Elevated / High / Very high / Extreme), separately for PM2.5 and PM10.
3. **Exceedance Summary** — minutes and number of events above each elevated range threshold.
4. **Peak Events** — the five highest PM2.5 and PM10 readings of the period (deduplicated within 30 minutes of each other) with their timestamps.

All four blocks use the working-hours-filtered dataset when the filter is on.

#### Page 6 — All Devices Table *(optional)*

See the configuration section above. Devices are ranked by current PM10, worst first.

#### Page 7 — Per-Device Section Divider *(optional)*

A title page that introduces the per-device pages. Contains:

* A bordered headline (`Per-Device Details`)
* A description with the device count
* A 3-column device index listing all devices that follow, alphabetically numbered (`01.`, `02.`, …)

#### Pages 8…N — Per-Device Pages *(optional)*

One strict A4 landscape page per device, sorted alphabetically by device name. See the *Per-Device Pages* configuration section for the per-page layout.

#### Last Page — Methodology

A short, always-included summary describing:

* How averages are calculated (arithmetic mean across licensed devices)
* The difference between Average and Peak / Best values
* How 4-hour rolling averages are derived
* How the filtered time bucket affects every statistic

This makes the report self-explanatory when shared outside the application context — auditors and external stakeholders can interpret the values without prior knowledge of the platform.

### Print Format

| Property               | Value                                             |
| ---------------------- | ------------------------------------------------- |
| Page size              | A4 landscape (297 × 210 mm)                       |
| Margins                | 10 mm on all sides (set via `@page`)              |
| Effective content area | 277 × 190 mm                                      |
| Page-break behaviour   | Every major section starts on a fresh page        |
| Per-device pages       | Strict 190 mm height, content overflow is clipped |

The page-break behaviour is enforced via CSS, so the PDF page count is deterministic and the table of contents page numbers always match the actual layout.

### Use Cases

#### Compliance documentation

* Regulatory reporting on workplace air quality
* Audit evidence for HSE inspections
* Periodic documentation for internal compliance teams

#### Stakeholder communication

* Management reports with executive summary on the cover
* Safety-committee updates with trend visualisation
* Customer-facing documentation with custom branding fields

#### Internal analysis

* Per-device performance reviews using the Per-Device Pages
* Period-over-period comparisons for shift / process changes
* Working-hours-only analysis for occupational exposure context

### Report Disclaimer

Reports are based on **ambient air monitoring** data from KEMPER AirWatch sensors. They are intended for facility-level monitoring and trend analysis. They are **not**:

* A substitute for personal exposure measurement
* A regulatory compliance determination
* A replacement for Occupational Exposure Limit (OEL) measurements

The PM range labels (Very good, Elevated, High, Very high, Extreme) are health-oriented references derived from WHO 24-hour guideline values, not statutory limits.

### Related Documentation

* Overview — Live monitoring dashboard
* Historical — Trend analysis tab
* Devices — Per-device breakdown tab
* Air Quality Levels — PM range definitions and WHO reference values


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kemperconnect.de/monitoring-and-compliance/air-quality/report.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
