{
  "ok": true,
  "site": "skaly-kovarna",
  "generated_at": "2026-08-12T03:46:25.470Z",
  "window": "last 7 days",
  "timezone": "Europe/Prague",
  "requestedWindow": "7d",
  "requestedHours": 168,
  "actualCoverageHours": 85,
  "coveragePct": 50.6,
  "dataComplete": false,
  "firstDataAt": "2026-08-08T15:40:06.676Z",
  "totals_7d": {
    "consumption_wh": 57905.18,
    "production_wh": 302345.4,
    "grid_import_wh": 13552.91,
    "grid_export_wh": 257993.13,
    "self_consumption_pct": 14.67
  },
  "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": 32,
    "night_hours_observed": 32,
    "avg_night_battery_output_wh": 813.14
  },
  "peak_consumption_hours": [
    {
      "hour_local": 15,
      "avg_consumption_wh": 1864.25,
      "avg_production_wh": 12236.4
    },
    {
      "hour_local": 14,
      "avg_consumption_wh": 1638.18,
      "avg_production_wh": 12441.83
    },
    {
      "hour_local": 13,
      "avg_consumption_wh": 1561.65,
      "avg_production_wh": 13067.97
    }
  ],
  "base_load_hours": [
    {
      "hour_local": 3,
      "avg_consumption_wh": 134.33,
      "avg_production_wh": 1170.03
    },
    {
      "hour_local": 6,
      "avg_consumption_wh": 135.97,
      "avg_production_wh": 147.13
    },
    {
      "hour_local": 7,
      "avg_consumption_wh": 148.69,
      "avg_production_wh": 224.73
    }
  ],
  "solar_peak_hours": [
    {
      "hour_local": 13,
      "avg_consumption_wh": 1561.65,
      "avg_production_wh": 13067.97
    },
    {
      "hour_local": 14,
      "avg_consumption_wh": 1638.18,
      "avg_production_wh": 12441.83
    },
    {
      "hour_local": 15,
      "avg_consumption_wh": 1864.25,
      "avg_production_wh": 12236.4
    }
  ],
  "hourly_profile": [
    {
      "hour_local": 0,
      "avg_consumption_wh": 621.47,
      "avg_production_wh": 611.23
    },
    {
      "hour_local": 1,
      "avg_consumption_wh": 478.88,
      "avg_production_wh": 543.45
    },
    {
      "hour_local": 2,
      "avg_consumption_wh": 250.1,
      "avg_production_wh": 1292.27
    },
    {
      "hour_local": 3,
      "avg_consumption_wh": 134.33,
      "avg_production_wh": 1170.03
    },
    {
      "hour_local": 4,
      "avg_consumption_wh": 163.48,
      "avg_production_wh": 599.55
    },
    {
      "hour_local": 5,
      "avg_consumption_wh": 149.41,
      "avg_production_wh": 147.65
    },
    {
      "hour_local": 6,
      "avg_consumption_wh": 135.97,
      "avg_production_wh": 147.13
    },
    {
      "hour_local": 7,
      "avg_consumption_wh": 148.69,
      "avg_production_wh": 224.73
    },
    {
      "hour_local": 8,
      "avg_consumption_wh": 161.59,
      "avg_production_wh": 341.5
    },
    {
      "hour_local": 9,
      "avg_consumption_wh": 286.6,
      "avg_production_wh": 2889.93
    },
    {
      "hour_local": 10,
      "avg_consumption_wh": 662.8,
      "avg_production_wh": 8114.07
    },
    {
      "hour_local": 11,
      "avg_consumption_wh": 671.46,
      "avg_production_wh": 9778.83
    },
    {
      "hour_local": 12,
      "avg_consumption_wh": 1171.76,
      "avg_production_wh": 9744.97
    },
    {
      "hour_local": 13,
      "avg_consumption_wh": 1561.65,
      "avg_production_wh": 13067.97
    },
    {
      "hour_local": 14,
      "avg_consumption_wh": 1638.18,
      "avg_production_wh": 12441.83
    },
    {
      "hour_local": 15,
      "avg_consumption_wh": 1864.25,
      "avg_production_wh": 12236.4
    },
    {
      "hour_local": 16,
      "avg_consumption_wh": 996.21,
      "avg_production_wh": 9180.53
    },
    {
      "hour_local": 17,
      "avg_consumption_wh": 682.97,
      "avg_production_wh": 4863.9
    },
    {
      "hour_local": 18,
      "avg_consumption_wh": 765.11,
      "avg_production_wh": 1920.53
    },
    {
      "hour_local": 19,
      "avg_consumption_wh": 942.09,
      "avg_production_wh": 912.2
    },
    {
      "hour_local": 20,
      "avg_consumption_wh": 981.63,
      "avg_production_wh": 954.75
    },
    {
      "hour_local": 21,
      "avg_consumption_wh": 1006.04,
      "avg_production_wh": 981.97
    },
    {
      "hour_local": 22,
      "avg_consumption_wh": 670.26,
      "avg_production_wh": 649.98
    },
    {
      "hour_local": 23,
      "avg_consumption_wh": 666.88,
      "avg_production_wh": 656.68
    }
  ],
  "nullHoursCount": 0,
  "recommendations": [
    "Self-consumption is only 14.67% — shifting flexible loads (water heating, laundry, EV charging) into the solar window would keep more free solar energy in the house."
  ],
  "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."
}