Hallo allseits,
an sich läuft alles recht gut. Die Visualierung klappt auch (noch primitivversion zum Testen).
Allerdings scheitere ich beim Versuch mit Zwang aus dem Netz die Batterie zu laden.
Falls wer fragt warum ich das will: Meine pv ist klein 5kwp und ist nicht in der lage immer aufzuladen. Gleichzeitig habe ich einen Awattar Stromtarif der manchmal billig manchmal extrem teuer ist. Da bietet es sich an in billigen Zeiten den akku zu laden.
Statt die Batterie aus dem Netz zu laden, blokiert es die Ladung von der PV
Wenn ich Zwangsladen abschalte ist alles normal
![]()
Was mache ich falsch ![]()
danke Walter
ps das skript:
<?php
// === IDs anpassen (deine!) ===
$ID_AC = 59837; // Laden von AC erlaubt ?
$ID_FORCE = 53034; // Forcible charge/discharge
$ID_POWER = 25684; // ForcedPower2 (W)
$ID_MODE = 44577; // Arbeitsmodus
$ID_MAXCHG = 17399; // max Aufladeleistung (W)
$ID_PERIOD = 54147; // ForcedPeriod (min)
$PAUSE = 1500; // ms
function setx($id, $val, $pause) {
for ($i=0; $i<4; $i++) {
@RequestAction($id, $val);
IPS_Sleep($pause);
if (@GetValue($id) == $val) return true;
IPS_Sleep($pause);
}
IPS_LogMessage('MODBUS', "SET FAIL id=$id val=$val");
return false;
}
$on = (bool)($_IPS[‚VALUE‘] ?? false);
SetValueBoolean($_IPS[‚VARIABLE‘], $on);
if ($on) {
setx($ID_MODE, 1, $PAUSE); // Fixed charge/discharge
setx($ID_AC, 1, $PAUSE); // AC-Laden erlauben
setx($ID_PERIOD, 120, $PAUSE);
setx($ID_MAXCHG, 2000, $PAUSE);
setx($ID_FORCE, 1, $PAUSE); // 1 = Charge
setx($ID_POWER, 2000, $PAUSE); // Ladeleistung (W)
} else {
setx($ID_POWER, 0, $PAUSE);
setx($ID_FORCE, 0, $PAUSE);
setx($ID_AC, 0, $PAUSE); // Netzladen verbieten
setx($ID_MODE, 2, $PAUSE); // Eigenverbrauch
}
















