Adafruit CLUE environmental history / home office

Hot, dry, and intermittently awake.

A year-ish local sensor trace shows a room that spent much of its measured life above normal comfort temperatures, with dry-air episodes, distinct light/sound daily rhythms, and a few sensor anomalies large enough to deserve their own quarantine.

56.5%
of readings at or above 85°F
Rows analyzed
425,650220 adequately covered local days
Median temperature
85.5°FMax 99.3°F
Median humidity
29.1%2.3% of readings below 20%
Median light
168.0Raw units; p99 9670.0
Median sound
9.0Raw units; p95 129.0
Device history
21monotonic counter resets

1. Heat Was The Default State

Aggregation logic: convert UTC to America/Chicago, keep days with at least 100 readings, then chart daily median, daily 95th percentile, and daily maximum temperature in °F. Headline shares use all valid temperature readings.

Daily medianDaily p95Daily max
93.5°F

Highest adequately covered daily median, on 2025-06-02; that same day reached 95.9°F. The coolest covered day still had a median of 72.9°F.

The striking pattern is not a rare heat spike; it is the baseline. More than half the valid readings sit above the common comfort range, and the upper tail keeps pushing past 90°F.

2. The Room Has A Daily Signature

Aggregation logic: group readings by local hour of day. For each hour compute median light, 90th percentile light, median sound, and the share of readings with sound at or above the global 95th percentile.

Median lightp90 lightMedian sound
13:00

Brightest typical local hour by median light. The quietest median sound hour is 00:00, while the largest share of sound spikes occurs around 18:00.

Light and sound do not move as one simple occupancy proxy: light has broad daylight/desk-light structure, while sound is mostly quiet with narrow bursts.

3. Dryness Is A Regime, Not A Moment

Aggregation logic: use daily median and daily minimum relative humidity on adequately covered local days; monthly bands summarize the seasonal drift. Dry readings are valid humidity values below 20% RH.

Daily median RHDaily minimum RH
16.8%

Driest adequately covered daily median RH, on 2025-12-15; the minimum reading that day was 14.2% RH.

The lowest-humidity period is sustained enough to show up in medians, not just isolated minima. That makes it plausibly lived-room dryness rather than a single bad sample.

5. The Extremes Tell A Different Story

Aggregation logic: rank valid rows by raw light, raw sound, temperature, and humidity extremes. Pressure value 72.0 hPa was excluded as impossible before pressure summaries, but retained in provenance as a known-bad range issue.

Largest light readings
Largest sound readings
Hottest readings

The largest light value is far beyond the rest of the distribution and should be read as sensor saturation or a glitch, while sound spikes are brief event markers rather than a stable noise level.

7. Pressure Moves Are Visible, But Not Causal

Aggregation logic: drop impossible pressure, compute daily median pressure/temperature/humidity on adequately covered days, then compare same-day daily medians and day-to-day median changes. Correlations are descriptive only.

Pressure vs humidityPressure vs temperature
-0.26

Correlation between daily median pressure and daily median humidity. Temperature correlation is -0.41; without outdoor weather or HVAC state, this is association only.

Pressure contains a real weather signal, but the indoor response is modest and entangled with season, heat, and collection gaps. It is useful context, not an explanation by itself.

8. Overnight Is Calmer, Workday Is Hotter

Aggregation logic: bucket local hours into overnight 00-05, transition 06-08, workday 09-17, and evening 18-23. Compare median temperature, interquartile range, median humidity, and median raw sound.

Median tempMedian RHMedian sound
0.1°F

Workday median temperature minus overnight median temperature. Workday median raw sound is 1.0 units higher than overnight.

The office does settle overnight, but not into a cool profile; the day-night difference is smaller than the overall high baseline.