Files
ems/db/migration/V021__baseline_consumption.sql
Dusan Vojacek 9f4126946d second version
2026-04-03 14:23:16 +02:00

28 lines
1.3 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 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.';