no message
This commit is contained in:
@@ -292,6 +292,51 @@ class Bat_EV_SDL_V3_Beta extends IPSModule
|
||||
$maxSDL_dis = $sdlDisKW_ges * 1000.0;
|
||||
$pSdlSollW = max(-$maxSDL_dis, min($maxSDL_ch, $pSdlSollW));
|
||||
|
||||
|
||||
// Soll auf erlaubte SDL-Leistung clampen (aus Summen kW->W)// Soll auf = $sdlChKW_ges * 1000.0;
|
||||
$maxSDL_dis = $sdlDisKW_ges * 1000.0;
|
||||
$pSdlSollW = max(-$maxSDL_dis, min($maxSDL_ch, $pSdlSollW));
|
||||
|
||||
/* ============================================================
|
||||
* RESYNC: Wenn sich Cache/SDL-Leistung geändert hat,
|
||||
* dann SDL-Integrator auf physikalischen Wert setzen,
|
||||
* damit SDL_Pos nicht plötzlich auf ~0% springt.
|
||||
* ============================================================ */
|
||||
$cacheHash = (string)$this->GetBufferSafe("BatCacheHash"); // wird in BuildBatteryCache() gesetzt
|
||||
$intHash = (string)$this->GetBufferSafe("Int_CFG_HASH"); // unser gespeicherter Hash
|
||||
|
||||
// Erstinitialisierung
|
||||
if ($intHash === "") {
|
||||
$this->SetBuffer("Int_CFG_HASH", $cacheHash);
|
||||
$intHash = $cacheHash;
|
||||
}
|
||||
|
||||
// Wenn Hash gewechselt hat => Definition von SDL-Fenster hat sich geändert
|
||||
if ($cacheHash !== "" && $cacheHash !== $intHash) {
|
||||
|
||||
// Physikalisches Resync: passt sofort zu den aktuellen SoCs / neuem SDL-Fenster
|
||||
$Esdl_kWh = $real_kWh_sdl_ges;
|
||||
|
||||
// Optional: Zeitstempel neu setzen, damit dt nicht "nachläuft"
|
||||
$lastTs = $now;
|
||||
$this->SetBuffer("Int_LastTs", (string)$now);
|
||||
|
||||
// Hash aktualisieren
|
||||
$this->SetBuffer("Int_CFG_HASH", $cacheHash);
|
||||
|
||||
// Optional: Init-Flag setzen (damit klar ist: Konto ist gültig)
|
||||
$this->SetBuffer("Int_Init_SDL", "1");
|
||||
|
||||
$this->SendDebug("SDL", "Resync wegen CacheHash-Change: Esdl_kWh=" . round($Esdl_kWh, 3), 0);
|
||||
}
|
||||
|
||||
// Init SDL-Konto einmalig auf physikalische Referenz (nur beim ersten Lauf)
|
||||
if ($this->GetBufferSafe("Int_Init_SDL") !== "1") {
|
||||
$Esdl_kWh = $real_kWh_sdl_ges;
|
||||
$this->SetBuffer("Int_Init_SDL", "1");
|
||||
}
|
||||
|
||||
|
||||
// Init SDL-Konto einmalig auf physikalische Referenz (nur beim ersten Lauf)
|
||||
if ($this->GetBufferSafe("Int_Init_SDL") !== "1") {
|
||||
$Esdl_kWh = $real_kWh_sdl_ges;
|
||||
|
||||
Reference in New Issue
Block a user