{
  "ok": true,
  "site": "household",
  "generated_at": "2026-10-10T22:39:42.555Z",
  "window": "last 7 days",
  "timezone": "Europe/Prague",
  "requestedWindow": "7d",
  "requestedHours": 168,
  "actualCoverageHours": 169,
  "coveragePct": 100,
  "dataComplete": true,
  "firstDataAt": "2026-10-03T22:40:03.960Z",
  "totals_7d": {
    "consumption_wh": 366963.09,
    "production_wh": 332181.4,
    "grid_import_wh": 128716.04,
    "grid_export_wh": 93934.35,
    "self_consumption_pct": 71.72
  },
  "battery": {
    "has_battery": true,
    "battery_note": "FVE meter includes battery discharge. Night-time production indicates battery output, not solar.",
    "measurement_note": "A single meter measures the hybrid inverter output (solar + battery combined) — solar-only vs battery-only flows cannot be separated in the Shelly meter data. Use /api/v1/energy/inverter (independent SolarEdge inverter cloud data) to see solar-only production, battery power and state of charge separately.",
    "night_discharge_detected": true,
    "night_hours_with_production": 48,
    "night_hours_observed": 57,
    "avg_night_battery_output_wh": 702.68
  },
  "peak_consumption_hours": [
    {
      "hour_local": 13,
      "avg_consumption_wh": 7038.46,
      "avg_production_wh": 6623.79
    },
    {
      "hour_local": 14,
      "avg_consumption_wh": 6610.04,
      "avg_production_wh": 6532.79
    },
    {
      "hour_local": 12,
      "avg_consumption_wh": 4720.04,
      "avg_production_wh": 5613.37
    }
  ],
  "base_load_hours": [
    {
      "hour_local": 20,
      "avg_consumption_wh": 536.79,
      "avg_production_wh": 410.14
    },
    {
      "hour_local": 4,
      "avg_consumption_wh": 618.31,
      "avg_production_wh": 451.11
    },
    {
      "hour_local": 2,
      "avg_consumption_wh": 620.97,
      "avg_production_wh": 438.91
    }
  ],
  "solar_peak_hours": [
    {
      "hour_local": 13,
      "avg_consumption_wh": 7038.46,
      "avg_production_wh": 6623.79
    },
    {
      "hour_local": 14,
      "avg_consumption_wh": 6610.04,
      "avg_production_wh": 6532.79
    },
    {
      "hour_local": 12,
      "avg_consumption_wh": 4720.04,
      "avg_production_wh": 5613.37
    }
  ],
  "hourly_profile": [
    {
      "hour_local": 0,
      "avg_consumption_wh": 1091.56,
      "avg_production_wh": 1033.88
    },
    {
      "hour_local": 1,
      "avg_consumption_wh": 680.41,
      "avg_production_wh": 567.27
    },
    {
      "hour_local": 2,
      "avg_consumption_wh": 620.97,
      "avg_production_wh": 438.91
    },
    {
      "hour_local": 3,
      "avg_consumption_wh": 711.28,
      "avg_production_wh": 532.87
    },
    {
      "hour_local": 4,
      "avg_consumption_wh": 618.31,
      "avg_production_wh": 451.11
    },
    {
      "hour_local": 5,
      "avg_consumption_wh": 793.48,
      "avg_production_wh": 589.83
    },
    {
      "hour_local": 6,
      "avg_consumption_wh": 787.27,
      "avg_production_wh": 500.29
    },
    {
      "hour_local": 7,
      "avg_consumption_wh": 973.57,
      "avg_production_wh": 480.73
    },
    {
      "hour_local": 8,
      "avg_consumption_wh": 817.45,
      "avg_production_wh": 559.5
    },
    {
      "hour_local": 9,
      "avg_consumption_wh": 1332.07,
      "avg_production_wh": 1473.66
    },
    {
      "hour_local": 10,
      "avg_consumption_wh": 3703.11,
      "avg_production_wh": 2702.73
    },
    {
      "hour_local": 11,
      "avg_consumption_wh": 4524.62,
      "avg_production_wh": 3041.34
    },
    {
      "hour_local": 12,
      "avg_consumption_wh": 4720.04,
      "avg_production_wh": 5613.37
    },
    {
      "hour_local": 13,
      "avg_consumption_wh": 7038.46,
      "avg_production_wh": 6623.79
    },
    {
      "hour_local": 14,
      "avg_consumption_wh": 6610.04,
      "avg_production_wh": 6532.79
    },
    {
      "hour_local": 15,
      "avg_consumption_wh": 3580.54,
      "avg_production_wh": 5179.64
    },
    {
      "hour_local": 16,
      "avg_consumption_wh": 3202.53,
      "avg_production_wh": 3826.91
    },
    {
      "hour_local": 17,
      "avg_consumption_wh": 2761.43,
      "avg_production_wh": 2467.87
    },
    {
      "hour_local": 18,
      "avg_consumption_wh": 936.74,
      "avg_production_wh": 742.44
    },
    {
      "hour_local": 19,
      "avg_consumption_wh": 703.48,
      "avg_production_wh": 552.21
    },
    {
      "hour_local": 20,
      "avg_consumption_wh": 536.79,
      "avg_production_wh": 410.14
    },
    {
      "hour_local": 21,
      "avg_consumption_wh": 1342.48,
      "avg_production_wh": 362.23
    },
    {
      "hour_local": 22,
      "avg_consumption_wh": 1164.24,
      "avg_production_wh": 556.97
    },
    {
      "hour_local": 23,
      "avg_consumption_wh": 1540.09,
      "avg_production_wh": 727.44
    }
  ],
  "nullHoursCount": 0,
  "recommendations": [
    "Base load is around 537 Wh/hour even at night — worth auditing always-on devices."
  ],
  "how_to_read": "hourly_profile averages Wh per hour-of-day over the last 7 days (hours with no data yet are null — see nullHoursCount and coveragePct). The FVE meter includes battery discharge, so night-time production = battery, not solar. Use /api/v1/energy/history for raw series; try the prediction challenge at /api/v1/energy/challenge."
}