Hallo,
das ist das Javaskript das ich dazu habe:
var y=89, z=3.44, schedule1, schedule2, x;
schedule1 = schedule('{"time":{"start":"07:00","end":"21:30","mode":"minutes","interval":1},"valid":{"to":"31.10.2025"},"period":{"days":1,"dows":"[1,2,3,4,5,6]"}}', async () => {
y = 89;
z = 3.44;
});
schedule2 = schedule('{"time":{"start":"07:00","end":"20:00","mode":"minutes","interval":1},"valid":{"to":"31.10.2025"},"period":{"days":1,"dows":"[0]"}}', async () => {
y = 100;
z = 3.66;
});
schedule("*/5 * 8-19 * * *", async () => {
if ((getState('modbus.0.holdingRegisters.37007_BAT_battery-SoC').val >= y) && (getState('mqtt.0.Battery.BYD.BMS_1.MaxCellVolt').val >= z)) {
x = 0;
} else if (getState('modbus.0.holdingRegisters.37007_BAT_battery-SoC').val <= 68) {
x = 150;
} else if ((getState('modbus.0.holdingRegisters.35302_PV_ppv-total').val >= 300) && (getState('modbus.0.holdingRegisters.37007_BAT_battery-SoC').val >= 83)) {
x = 10;
} else if ((getState('modbus.0.holdingRegisters.35302_PV_ppv-total').val >= 600) && (getState('modbus.0.holdingRegisters.37007_BAT_battery-SoC').val >= 80)) {
x = 30;
} else if ((getState('modbus.0.holdingRegisters.35302_PV_ppv-total').val >= 800) && (getState('modbus.0.holdingRegisters.37007_BAT_battery-SoC').val >= 77)) {
x = 50;
} else if ((getState('modbus.0.holdingRegisters.35302_PV_ppv-total').val >= 1000) && (getState('modbus.0.holdingRegisters.37007_BAT_battery-SoC').val <= 71)) {
x = 100;
}
if (x != getState('modbus.0.holdingRegisters.45353_Ladelimit_WR').val) {
setState('modbus.0.holdingRegisters.45353_Ladelimit_WR' /* Ladelimit WR */, x);
}
Gruß Reiner