Shipped tools / hvac-export-cleaner

HVAC Export Cleaner

A smart-thermostat export is thousands of sparse telemetry pings, and almost none of them say anything a person asked about. Drop one here and get back either the moments someone changed the setpoint, or a clean month-by-month timeline of temperature, state, and target.

Runs entirely in your browser. Nothing is uploaded.
Drop one or more CSV exports here or click to choose files. Multiple exports get merged for the timeline view.
What the columns mean, and the rules this applies

The export has twelve columns: timestamp, cf, ch, cs, ct, ctt, fs, htt, internal_temp, tf, tm, tt. Most rows fill in one or two of them. The ones that matter here:

Quirks it handles: CRLF line endings (a stray \r makes the last column look filled on every row), tm written as 4.0, setpoint rows that don't carry a mode (filled from the nearest mode ping and shown in italics), duplicate rows where two monthly exports overlap, exports of the same device taken in different time zones (flagged, since merging them doubles every event), and columns in any order. Readings of exactly 32.0°F are usually a sensor dropout; they're counted and flagged but left in, because silently editing telemetry is worse than showing a glitch.