{
  "ok": true,
  "site": "skaly-kovarna",
  "generated_at": "2026-09-24T16:51:20.101Z",
  "window": "last 7 days",
  "timezone": "Europe/Prague",
  "requestedWindow": "7d",
  "requestedHours": 168,
  "actualCoverageHours": 169,
  "coveragePct": 100,
  "dataComplete": true,
  "firstDataAt": "2026-09-17T16:51:47.681Z",
  "totals_7d": {
    "consumption_wh": 325948.62,
    "production_wh": 328302.8,
    "grid_import_wh": 79668.66,
    "grid_export_wh": 82022.84,
    "self_consumption_pct": 75.02
  },
  "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": 47,
    "night_hours_observed": 56,
    "avg_night_battery_output_wh": 963.58
  },
  "peak_consumption_hours": [
    {
      "hour_local": 17,
      "avg_consumption_wh": 4481.8,
      "avg_production_wh": 3080.81
    },
    {
      "hour_local": 16,
      "avg_consumption_wh": 3933.37,
      "avg_production_wh": 4659.33
    },
    {
      "hour_local": 15,
      "avg_consumption_wh": 3866.56,
      "avg_production_wh": 5501.77
    }
  ],
  "base_load_hours": [
    {
      "hour_local": 21,
      "avg_consumption_wh": 635.68,
      "avg_production_wh": 549.53
    },
    {
      "hour_local": 7,
      "avg_consumption_wh": 852.44,
      "avg_production_wh": 561.27
    },
    {
      "hour_local": 22,
      "avg_consumption_wh": 859.54,
      "avg_production_wh": 768.23
    }
  ],
  "solar_peak_hours": [
    {
      "hour_local": 15,
      "avg_consumption_wh": 3866.56,
      "avg_production_wh": 5501.77
    },
    {
      "hour_local": 14,
      "avg_consumption_wh": 3806.61,
      "avg_production_wh": 5174.54
    },
    {
      "hour_local": 16,
      "avg_consumption_wh": 3933.37,
      "avg_production_wh": 4659.33
    }
  ],
  "hourly_profile": [
    {
      "hour_local": 0,
      "avg_consumption_wh": 1540.94,
      "avg_production_wh": 1448.51
    },
    {
      "hour_local": 1,
      "avg_consumption_wh": 905.77,
      "avg_production_wh": 811.19
    },
    {
      "hour_local": 2,
      "avg_consumption_wh": 909.39,
      "avg_production_wh": 800.96
    },
    {
      "hour_local": 3,
      "avg_consumption_wh": 1004.4,
      "avg_production_wh": 587.49
    },
    {
      "hour_local": 4,
      "avg_consumption_wh": 1101.34,
      "avg_production_wh": 635.67
    },
    {
      "hour_local": 5,
      "avg_consumption_wh": 900.87,
      "avg_production_wh": 471.94
    },
    {
      "hour_local": 6,
      "avg_consumption_wh": 981.96,
      "avg_production_wh": 592.27
    },
    {
      "hour_local": 7,
      "avg_consumption_wh": 852.44,
      "avg_production_wh": 561.27
    },
    {
      "hour_local": 8,
      "avg_consumption_wh": 1012.19,
      "avg_production_wh": 916.31
    },
    {
      "hour_local": 9,
      "avg_consumption_wh": 1409.31,
      "avg_production_wh": 1397.03
    },
    {
      "hour_local": 10,
      "avg_consumption_wh": 1953.97,
      "avg_production_wh": 1958.74
    },
    {
      "hour_local": 11,
      "avg_consumption_wh": 2466.97,
      "avg_production_wh": 2748.54
    },
    {
      "hour_local": 12,
      "avg_consumption_wh": 2749.23,
      "avg_production_wh": 3469.9
    },
    {
      "hour_local": 13,
      "avg_consumption_wh": 3276.51,
      "avg_production_wh": 4346.41
    },
    {
      "hour_local": 14,
      "avg_consumption_wh": 3806.61,
      "avg_production_wh": 5174.54
    },
    {
      "hour_local": 15,
      "avg_consumption_wh": 3866.56,
      "avg_production_wh": 5501.77
    },
    {
      "hour_local": 16,
      "avg_consumption_wh": 3933.37,
      "avg_production_wh": 4659.33
    },
    {
      "hour_local": 17,
      "avg_consumption_wh": 4481.8,
      "avg_production_wh": 3080.81
    },
    {
      "hour_local": 18,
      "avg_consumption_wh": 3042.37,
      "avg_production_wh": 1942.36
    },
    {
      "hour_local": 19,
      "avg_consumption_wh": 1881.78,
      "avg_production_wh": 1798.46
    },
    {
      "hour_local": 20,
      "avg_consumption_wh": 1371.76,
      "avg_production_wh": 1276.44
    },
    {
      "hour_local": 21,
      "avg_consumption_wh": 635.68,
      "avg_production_wh": 549.53
    },
    {
      "hour_local": 22,
      "avg_consumption_wh": 859.54,
      "avg_production_wh": 768.23
    },
    {
      "hour_local": 23,
      "avg_consumption_wh": 961.86,
      "avg_production_wh": 869.06
    }
  ],
  "nullHoursCount": 0,
  "recommendations": [
    "Base load is around 636 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."
}