-- Historické průměry bazální spotřeby (DOW + hodina) pro solver a forecast.

CREATE TABLE ems.consumption_baseline_stats (
    id              SERIAL PRIMARY KEY,
    site_id         INT NOT NULL REFERENCES ems.site(id),
    day_of_week     INT NOT NULL,   -- 0=neděle, 1=pondělí... 6=sobota
    hour_of_day     INT NOT NULL,   -- 0-23
    avg_power_w     NUMERIC(10,2) NOT NULL,
    stddev_power_w  NUMERIC(10,2),
    sample_count    INT NOT NULL DEFAULT 0,
    last_updated    TIMESTAMPTZ NOT NULL DEFAULT now(),
    UNIQUE (site_id, day_of_week, hour_of_day)
);

COMMENT ON TABLE ems.consumption_baseline_stats IS
'Historické průměry bazální spotřeby per den v týdnu a hodinu.
Plní se automaticky z telemetrie přes fn_update_baseline_stats().
Bazální = load_power_w - ev - tc (bez řízených zátěží).
Používá se jako vstup do solveru pro predikci spotřeby.';

COMMENT ON COLUMN ems.consumption_baseline_stats.avg_power_w IS
'Průměrný výkon bazální spotřeby W pro daný DOW+hodinu.
Exponenciální klouzavý průměr – nová data mají větší váhu.';

COMMENT ON COLUMN ems.consumption_baseline_stats.stddev_power_w IS
'Směrodatná odchylka W – míra variability spotřeby.
Lze použít pro konzervativní odhad: avg + 0.5*stddev.';
