Add SG-Ready startup grace period and daily PV yield tracking
SG-Ready startup grace period (sg_ready_startup_min: 10): Heat pump compressor takes ~9 minutes to start after receiving the SG-Ready signal. Previously, idle detection fired after only 3×2min=6min, turning off SG-Ready before the compressor had time to respond. The grace period suppresses idle detection for the configured duration after activation. 0 = disabled (tests and unconfigured deployments are unaffected). Daily PV yield (photovoltaic_production_cumulated_currentDay): Reads actual kWh produced today from Prometheus (Wh → kWh, ÷1000). Logged as pv_today_kwh each cycle. Shown on status page in two places: - PV card sub-line: "Heute: 31.9 kWh" - Forecast card alongside forecast: "Ist: 31.9 kWh" Immediately makes forecast vs reality visible (today: forecast 15.9, actual 31.9 kWh — explains why SOC bypass triggered). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -135,9 +135,10 @@ type PowerThresholds struct {
|
||||
|
||||
// ConsumersConfig holds per-consumer behavior thresholds.
|
||||
type ConsumersConfig struct {
|
||||
CompressorIdleW int `yaml:"compressor_idle_w"` // below this = heat pump compressor idle (W)
|
||||
WallboxMinChargeW int `yaml:"wallbox_min_charge_w"` // below this = car not charging (W)
|
||||
IdleCycles int `yaml:"idle_cycles"` // consecutive idle cycles before early release
|
||||
CompressorIdleW int `yaml:"compressor_idle_w"` // below this = heat pump compressor idle (W)
|
||||
WallboxMinChargeW int `yaml:"wallbox_min_charge_w"` // below this = car not charging (W)
|
||||
IdleCycles int `yaml:"idle_cycles"` // consecutive idle cycles before early release
|
||||
SGReadyStartupMin int `yaml:"sg_ready_startup_min"` // grace period after SG-Ready activation before idle detection starts (min, 0 = disabled)
|
||||
WallboxAAcceptedImportW float64 `yaml:"wallbox_a_accepted_import_w"` // tolerate this much grid import while WallboxA is running (0 = disabled)
|
||||
WallboxBAcceptedImportW float64 `yaml:"wallbox_b_accepted_import_w"` // tolerate this much grid import while WallboxB is running (0 = disabled)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user