docs / data / sensors
JSON Sensor Data
Every minute, each apartment produces one JSON file containing readings from 6 sensor categories. ~245,000 files total across 2 apartments over 10 weeks.
real JSON example — one file, one minute
This is an actual file from Jimmy's apartment (01.06.2023 00:01). Each section is explained below.
{ "user": "JimmyLoup", "datetime": "01.06.2023 00:01", // Smart plugs — keyed by room "plugs": { "Office": { power: 17.62, total: 81983, temperature: 30.71 }, "Livingroom": { power: 1.87, total: 95777, temperature: 33.94 } }, // Door & window sensors — array per room "doorsWindows": { "Office": [ { type: "Window", switch: "on", battery: 100 }, { type: "Door", switch: "on", battery: 100 } ], "Bhroom": [ { type: "Door", switch: "on", battery: 100 }, { type: "Window", switch: "off", battery: 100 } ] }, // Motion sensors "motions": { "Livingroom": { motion: false, light: 0, temperature: 24.31 }, "Office": { motion: true, light: 144, temperature: 20.06 } }, // Environmental stations — nested under meteos.meteo "meteos": { "meteo": { "Livingroom": { Temperature: 25.9, CO2: 980, Humidity: 45, Noise: 31, Pressure: 1016.6 }, "Outdoor": { Temperature: 19.6, Humidity: 44, battery_percent: 93 }, "Office": { Temperature: 25.6, CO2: 1256, Humidity: 49, battery_percent: 90 }, "Bdroom": { Temperature: 24.3, CO2: 839, Humidity: 46, battery_percent: 93 } } }, // Humidity sensors "humidities": { "Bhroom": { temperature: 25.3, humidity: 59.9, devicePower: 100 } }, // Whole-house energy meter (3-phase) "consumptions": { "House": { total_power: 60.7, power1: 32.69, power2: 28.01, power3: 0.0, current1: 0.27, current2: 0.26, current3: 0.15, voltage1: 233.58, voltage2: 233.7, voltage3: 234.2 } } }
reading this example
plugs
Office plug draws 17.62W, has consumed 81,983 Wh total. Livingroom plug draws 1.87W. Both plugs are on, no overtemperature.
doorsWindows
Office: window open, door open. Bathroom: door open, window closed. Bedroom: window closed, door open. All batteries at 100%.
motions
No motion in Livingroom (dark, 0 lux). Motion detected in Office (144 lux). Temperatures differ: 24.3°C vs 20.1°C.
meteos
Livingroom: 25.9°C, 980 ppm CO2, 45% humidity, 31 dB noise, 1016.6 hPa. Office has high CO2 (1256 ppm). Outdoor: 19.6°C. Note: nested under meteos.meteo.
humidities
Bathroom only: 25.3°C, 59.9% humidity. Separate from meteo sensors.
consumptions
Whole-house: 60.7W total across 3 phases. Phase 1: 32.69W, Phase 2: 28.01W, Phase 3: 0W. Voltage ~234V.
file overview
| Filename format | DD.MM.YYYY HHMM_ApartmentName_received.json |
| Frequency | 1 file per apartment per minute |
| Source | SMB network share (Z:\) |
| Apartments | 2 (JimmyLoup, JeremieVianin) |
| Total files | ~245,000 (Aug–Oct 2023) |
| File size | ~3–5 KB each |
| Bronze path | bronze/{apartment}/YYYY/MM/DD/HH/ |
apartments
| filename identifier | mapped name | bronze path |
|---|---|---|
| JimmyLoup | Jimmy | bronze/jimmy/YYYY/MM/DD/HH/ |
| JeremieVianin | Jérémie | bronze/jeremie/YYYY/MM/DD/HH/ |
Both apartments share the same JSON structure. Room names and sensor coverage differ.
JSON top-level fields
| field | type | description |
|---|---|---|
| user | string | Apartment owner identifier (JimmyLoup or JeremieVianin) |
| api_token | string | Auth token — stripped/masked in Silver (not stored) |
| datetime | string | Collection timestamp — format DD.MM.YYYY HH:MM |
| plugs | object | Smart plug readings, keyed by room name |
| doorsWindows | object | Door/window sensor readings, keyed by room name |
| motions | object | Motion sensor readings, keyed by room name |
| meteos | object | Environmental sensors, nested under meteo key |
| humidities | object | Humidity sensor readings, keyed by room name |
| consumptions | object | Whole-house energy consumption, keyed by House |
sensor categories (6 types)
Each top-level object contains sensor readings keyed by room name. Click to expand field details.
plugs↓
Rooms: Office, Livingroom
| field | type | description |
|---|---|---|
| timePlug | int | Unix timestamp of the reading |
| power | float | Current power draw (W) |
| overpower | float | Overpower value (W) |
| is_valid | bool | Whether reading is valid |
| counter1/2/3 | float | Per-phase power counters (W) |
| total | int | Total cumulative energy (Wh) |
| temperature | float | Plug internal temperature (°C) |
| overtemperature | bool | Overtemperature flag |
| switch | bool | Plug on/off state |
doorsWindows↓
Rooms: Jérémie: Kitchen, Laundry, Bhroom, Office, Bdroom · Jimmy: Office, Bhroom, Bdroom
| field | type | description |
|---|---|---|
| type | string | Door or Window |
| switch | string | "on" = open · "off" = closed |
| battery | int | Battery level (%) |
| defense | int | Defense mode flag |
motions↓
Rooms: Jérémie: Kitchen, Office · Jimmy: Livingroom, Office
| field | type | description |
|---|---|---|
| motion | bool | Motion detected |
| light | int | Light level (lux) |
| temperature | float | Room temperature at sensor (°C) |
meteos↓
Rooms: Livingroom, Outdoor, Office, Bdroom (both apartments)
| field | type | description |
|---|---|---|
| Temperature | float | °C |
| CO2 | int | ppm |
| Humidity | int | % |
| Noise | int | dB — Livingroom only |
| Pressure | float | hPa — Livingroom only |
| AbsolutePressure | float | hPa — Livingroom only |
| battery_percent | int | Battery level (%) — indoor stations |
humidities↓
Rooms: Jérémie: Laundry, Bhroom · Jimmy: Bhroom
| field | type | description |
|---|---|---|
| temperature | float | °C |
| humidity | float | % |
| devicePower | int | Battery level (%) |
consumptions↓
Rooms: House (whole apartment)
| field | type | description |
|---|---|---|
| timeConsumption | int | Unix timestamp |
| power1/2/3 | float | Per-phase power (W) |
| pf1/2/3 | float | Power factor per phase |
| current1/2/3 | float | Current per phase (A) |
| voltage1/2/3 | float | Voltage per phase (V) |
| is_valid1/2/3 | bool | Validity flag per phase |
| switch | bool | Main switch state |
| total_power | float | Total house power draw (W) |
room name normalization
Raw JSON room names are abbreviated. The ETL normalizes them during Bronze → Silver flattening. Room coverage differs between apartments — not all rooms have all sensor types.
| raw JSON key | normalized name |
|---|---|
| Bhroom | Bathroom |
| Bdroom | Bedroom |
| Livingroom | Living Room |
| Office | Office |
| Kitchen | Kitchen |
| Laundry | Laundry |
| Outdoor | Outdoor |
| House | House |