victronenergy / dynamic-ess

MIT License
76 stars 5 forks source link

[Feature]: Planned battery SOC at evening. #70

Open fofo444 opened 9 months ago

fofo444 commented 9 months ago

Contact Details

fofo444@gmail.com

Description

I would like to set the planned SOC battery will have in the evening. My safe SOC value is 60%. The system has no priority to achieve this in the evening. According to observation, the battery starts to charge during the lowest price. As long as it can charge, the SOC will be in the evening.

Suggested Solution

I suggest to start charging the battery in the morning. Priority to have SOC more than set in the evening. In the picture I marked in red.

navrh11

Alternatives

No response

Additional Context

No response

DennisBosmans commented 9 months ago

This disables the grid when the battery below 60% SOC and turns it back on when battery is lower then 5% SOC :

image

Function :

if(msg.payload >60 || msg.payload < 5){
       msg.payload = (3);
   }

else{
      msg.payload = (2);
   }
return msg;

(My system disconnects always from the grid when no feed-in or charging from grid is needed).

fofo444 commented 9 months ago

Thank you, very simple and inspiring. The problem is only in overload. Then the whole system crashes. I have a Multiplus II 5kW and sometimes it happens that I overload it. Any solution that would also work with the grid connected?

DennisBosmans commented 9 months ago

Yes, I will make a solution tomorrow.

So you mean that if your usage is above 5kW + PV production, the grid has to switch back on. (With a margin of approx. 10%)

fofo444 commented 9 months ago

Only my usage above 5kW. It is a overload of the inverter.

DennisBosmans commented 9 months ago

Add this if it's a one fase system : image

This function :

if(msg.payload >4900){
    global.set("state", (3));
}
else{
    global.set("state",(2));
}

Function from previous message :

var state = global.get("state");
if(msg.payload >60 || msg.payload < 5 || state == 3){
msg.payload = (3);
}

else{
msg.payload = (2);
}
return msg;
fofo444 commented 9 months ago

Thank you very much.