Files
comparison-data/README.md
T
grabowski c7d480bfcf Switch lamps to internal IDs; EAN becomes optional metadata
Directories rename from bare EANs to L0001..L0010 (measurement order).
metrics.json gains an ean field, and a rated block with advertised
values (flux, CCT, power, lifetime) where already documented, so the
site can show advertised-vs-measured deltas. One EAN can now cover
several lamp versions (variant field) and unbranded lamps need no
barcode.
2026-07-09 12:03:05 +07:00

2.3 KiB

comparison-data

Raw measurement data behind buildfor.life/comparisons.

This repo is consumed by buildfor_life_web as a git submodule at apps/web/comparison-data. At build time the site copies it to /data/comparisons/, where every file is both chart input and a raw download. Directory names are the keys the site's device pages reference in their csv: front matter, so renaming a directory here requires updating the matching page in the web repo.

Layout

lamps/<ID>/spd.csv          SPD 380-1050 nm: wavelength_nm,value
lamps/<ID>/tm30.csv         ANSI/IES TM-30-18 per-hue-bin data (16 bins): Rcs, Rhs, Rf_h, ...
lamps/<ID>/metrics.json     Summary: TM-30 Rf/Rg, CRI Ra + R1-R15, CCT, flux, instrument metadata
solar-charge-controllers/<device>.csv   Efficiency sweep: set/measured Vin, Iin, Pin, Vout,
                                        Iout, Pout, eff_pct, heatsink and board temperature

Every lamp has an internal ID (L0001, L0002, ...) as its primary key, assigned in measurement order by lamp_station.py. The EAN barcode is optional metadata in metrics.json (ean): one barcode can cover several versions of a lamp (daylight and warm white sharing box art get distinct IDs and a variant field), unbranded lamps have no barcode at all, and EANs starting with 2 are retailer-internal codes that cannot be resolved publicly. metrics.json may also carry a rated block with the advertised values from the packaging (Phi_lm, CCT_K, Power_W, Ra, lifetime_h, W_equiv), keyed like their measured counterparts so consumers can render advertised-vs-measured comparisons.

Provenance

  • Lamps: HPCS-6500 integrating sphere, 230 V / 50 Hz, five consecutive readings averaged after stabilization. Instrument driver and TM-30 tooling: HPCS6500-py. Procedure: lamp test procedure.
  • Solar charge controllers: automated MPPT testbench sweeps. Procedure: see the linked test procedure on the comparison page.

Data is published as measured; files are never edited after the fact. Corrections happen by re-measuring and replacing the whole device directory in one commit.