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;
|
$maxSDL_dis = $sdlDisKW_ges * 1000.0;
|
||||||
$pSdlSollW = max(-$maxSDL_dis, min($maxSDL_ch, $pSdlSollW));
|
$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)
|
// Init SDL-Konto einmalig auf physikalische Referenz (nur beim ersten Lauf)
|
||||||
if ($this->GetBufferSafe("Int_Init_SDL") !== "1") {
|
if ($this->GetBufferSafe("Int_Init_SDL") !== "1") {
|
||||||
$Esdl_kWh = $real_kWh_sdl_ges;
|
$Esdl_kWh = $real_kWh_sdl_ges;
|
||||||
|
|||||||
Reference in New Issue
Block a user