no message

This commit is contained in:
dh
2026-08-25 11:59:30 +02:00
parent c46bcd0488
commit 4491e244fb
2 changed files with 52 additions and 42 deletions
+26 -21
View File
@@ -278,7 +278,7 @@ class Ladestation extends IPSModule
// zurückgesetzt.
if (
$stationType === 3 &&
$this->GetBuffer("SmartMeFullDetectionVersion") !== "2"
$this->GetBuffer("SmartMeFullDetectionVersion") !== "3"
) {
$this->SetValue("Car_is_full", false);
$this->SetValue("Pending_Counter", 0);
@@ -287,7 +287,7 @@ class Ladestation extends IPSModule
(float)$this->ReadPropertyInteger("Max_Current_abs")
);
$this->SetBuffer("SmartMeChargingEnabled", "0");
$this->SetBuffer("SmartMeFullDetectionVersion", "2");
$this->SetBuffer("SmartMeFullDetectionVersion", "3");
}
$usesEaseeGateway = $this->UsesEaseeGateway($stationType);
@@ -1043,11 +1043,10 @@ class Ladestation extends IPSModule
abs((float)$chargingPowerWatts) >= 100;
$carIsFull = $carDetected && $wasFull && !$carIsCharging;
// Ein aus einer früheren Regelungsunterbrechung gelernter Wert unter
// dem Mindestladestrom darf die Station nicht dauerhaft blockieren.
// Ein korrekt bestätigtes Ladeende wird dagegen bis zum Abstecken oder
// bis zur erneuten Leistungsaufnahme gehalten.
if (!$carIsFull && (float)$this->GetValue("Max_Current") < 6) {
// Pico liefert die verfügbare Stations-/Gruppenobergrenze direkt über
// die API. Ein zuvor über den Soll-/Istvergleich gelernter Fahrzeugwert
// darf deshalb den möglichen Ladestrom nicht dauerhaft begrenzen.
if (!$carIsFull) {
$this->SetValue("Max_Current", $maxCurrent);
}
@@ -1597,21 +1596,27 @@ class Ladestation extends IPSModule
if ($counter >= $requiredCycles) {
$this->SetValue("Pending_Counter", 0);
if ($requestedMismatch) {
$this->Calc_Max_Current($this->GetValue("Is_1_ph"));
if ($stationType === 3) {
// Smart-Me liefert keinen eindeutigen Status "Auto
// voll". Der berechnete Fahrzeugwert dient hier nur
// zur Ladeende-Erkennung und wird nicht als neue
// dauerhafte Stationsobergrenze gespeichert.
$learnedMaxCurrent = 2.5 + (
$actualPower /
($this->GetValue("Is_1_ph") ? 230 : 1.71 * 400)
);
// Smart-Me liefert keinen eindeutigen Status "Auto
// voll". Erst wenn während einer echten Freigabe über
// 90 Sekunden praktisch kein Strom angenommen wird,
// bestätigt der gelernte Wert unter 6 A das Ladeende.
if (
$stationType === 3 &&
$this->GetBuffer("SmartMeChargingEnabled") === "1" &&
(float)$this->GetValue("Max_Current") > 0 &&
(float)$this->GetValue("Max_Current") < 6
) {
$this->SetValue("Car_is_full", true);
$this->ResetTimer();
$this->ResetNullTimer();
if (
$this->GetBuffer("SmartMeChargingEnabled") === "1" &&
$learnedMaxCurrent > 0 &&
$learnedMaxCurrent < 6
) {
$this->SetValue("Car_is_full", true);
$this->ResetTimer();
$this->ResetNullTimer();
}
} else {
$this->Calc_Max_Current($this->GetValue("Is_1_ph"));
}
}
}
+26 -21
View File
@@ -288,7 +288,7 @@ class Ladestation_v2 extends IPSModule
// zurückgesetzt.
if (
$stationType === 3 &&
$this->GetBuffer("SmartMeFullDetectionVersion") !== "2"
$this->GetBuffer("SmartMeFullDetectionVersion") !== "3"
) {
$this->SetValue("Car_is_full", false);
$this->SetValue("Pending_Counter", 0);
@@ -297,7 +297,7 @@ class Ladestation_v2 extends IPSModule
(float)$this->ReadPropertyInteger("Max_Current_abs")
);
$this->SetBuffer("SmartMeChargingEnabled", "0");
$this->SetBuffer("SmartMeFullDetectionVersion", "2");
$this->SetBuffer("SmartMeFullDetectionVersion", "3");
}
$usesEaseeGateway = $this->UsesEaseeGateway($stationType);
@@ -1063,11 +1063,10 @@ class Ladestation_v2 extends IPSModule
abs((float)$chargingPowerWatts) >= 100;
$carIsFull = $carDetected && $wasFull && !$carIsCharging;
// Ein aus einer früheren Regelungsunterbrechung gelernter Wert unter
// dem Mindestladestrom darf die Station nicht dauerhaft blockieren.
// Ein korrekt bestätigtes Ladeende wird dagegen bis zum Abstecken oder
// bis zur erneuten Leistungsaufnahme gehalten.
if (!$carIsFull && (float)$this->GetValue("Max_Current") < 6) {
// Pico liefert die verfügbare Stations-/Gruppenobergrenze direkt über
// die API. Ein zuvor über den Soll-/Istvergleich gelernter Fahrzeugwert
// darf deshalb den möglichen Ladestrom nicht dauerhaft begrenzen.
if (!$carIsFull) {
$this->SetValue("Max_Current", $maxCurrent);
}
@@ -1610,21 +1609,27 @@ class Ladestation_v2 extends IPSModule
if ($counter >= $requiredCycles) {
$this->SetValue("Pending_Counter", 0);
if ($requestedMismatch) {
$this->Calc_Max_Current($this->GetValue("Is_1_ph"));
if ($stationType === 3) {
// Smart-Me liefert keinen eindeutigen Status "Auto
// voll". Der berechnete Fahrzeugwert dient hier nur
// zur Ladeende-Erkennung und wird nicht als neue
// dauerhafte Stationsobergrenze gespeichert.
$learnedMaxCurrent = 2.5 + (
$actualPower /
($this->GetValue("Is_1_ph") ? 230 : 1.71 * 400)
);
// Smart-Me liefert keinen eindeutigen Status "Auto
// voll". Erst wenn während einer echten Freigabe über
// 90 Sekunden praktisch kein Strom angenommen wird,
// bestätigt der gelernte Wert unter 6 A das Ladeende.
if (
$stationType === 3 &&
$this->GetBuffer("SmartMeChargingEnabled") === "1" &&
(float)$this->GetValue("Max_Current") > 0 &&
(float)$this->GetValue("Max_Current") < 6
) {
$this->SetValue("Car_is_full", true);
$this->ResetTimer();
$this->ResetNullTimer();
if (
$this->GetBuffer("SmartMeChargingEnabled") === "1" &&
$learnedMaxCurrent > 0 &&
$learnedMaxCurrent < 6
) {
$this->SetValue("Car_is_full", true);
$this->ResetTimer();
$this->ResetNullTimer();
}
} else {
$this->Calc_Max_Current($this->GetValue("Is_1_ph"));
}
}
}