Server room
Temperature, humidity, leak — for SMB IT closets
The server-room vertical targets small IT operations: dental practices, solicitors, accountants, schools, MSP customers. Not a Tier-III data centre — those have full BMS and do not buy this. The deliverable is a combination of uptime evidence for insurance claims and early warning before equipment cooks itself.
What we monitor
Three channel kinds per rack or per closet:
| Channel | Default operating range | Why |
|---|---|---|
| Intake air (front) | +18 °C to +27 °C | ASHRAE TC 9.9 "recommended" envelope for Class A1/A2 IT |
| Exhaust air (rear) | (no upper limit, info) | Used to compute delta-T over the rack |
| Relative humidity | 20 % to 80 % RH | ASHRAE "allowable" envelope; sustained outside damages disks |
| Water leak (binary) | dry / wet | Under the rack, near the AC condensate line |
Two derived channels:
delta_t = exhaust − intake— if > 20 °C, airflow is choked (blocked filter, dead fan).dewpoint(temperature, humidity)— if the wall behind the rack is cooler than the dewpoint, you have condensation on cold metal. Add the wall temperature manually for that derivation to fire.
ASHRAE envelope, briefly
ASHRAE Technical Committee 9.9 publishes the de-facto thermal envelopes that data centres design to. For commodity IT (Class A1/A2 — most servers, most NAS, most switches):
OpenSense ships these as defaults; insurance underwriters in the EU we have spoken to accept ASHRAE TC 9.9 as the reference.
Hardware
For a single rack:
- 1 × Shelly H&T (intake) — Velcro to the front rail at mid-height.
- 1 × Shelly H&T (exhaust) — Velcro to the rear rail at mid-height.
- 1 × Shelly Flood (under the rack) — costs €18, battery, WiFi.
For a row of racks add one set per rack. The intake-air pair is the load-bearing measurement; everything else is auxiliary.
For a building closet without a rack:
- 1 × Shelly H&T in the room.
- 1 × Shelly Flood next to the AC unit's condensate line.
- 1 × Shelly door sensor on the closet door (so "alarm out-of-hours + door open" can fire as "intrusion suspected, escalate").
Door / motion (optional)
A common SMB pattern is "anyone in the server room after 19:00 is
suspicious". OpenSense supports a door channel kind with an out-of- hours window. The rule is binary: door open during the window for
5 minutes → ALARM, push to Telegram with the camera snapshot if a camera is integrated.
The uptime PDF
POST /v1/reports with template = server_room_uptime returns a PDF
for any period showing:
- Per-channel uptime (% of time the value was reported and in range).
- Excursions table with start/end and acknowledger.
- Aggregate "site uptime" = fraction of time every channel was in range.
- Optional: insurance claim cover sheet with the customer's policy number and the building's address (free-text fields configured per site).
This is the document MSPs hand to insurers after an equipment-cooked- itself event to either prove they were within spec (and the equipment failed independently) or to scope the AC failure window.
What we deliberately do not monitor
- UPS state. A separate concern (NUT, SNMP, PRTG). OpenSense can ingest "load %" and "battery %" via the generic HTTP ingest if the UPS exposes them, but we do not write the SNMP adapter.
- PDU per-outlet power. Same reason — there are good dedicated tools (Raritan PX, APC PDU NMC). We can ingest aggregate kWh per rack via a clamp meter (see energy).
- Network reachability. Not a sensor. Use UptimeRobot, Healthchecks or Better Stack.
The minimum honest scope for OpenSense in a server room is physical conditions: temperature, humidity, water, door.