EVCS - offgrid - permit EVCS to take more energy from batteries

My EVCS is working fine in my off-grid installation that I visit for a few hours each day during daylight hours.

I have the EVCS set in Auto mode and the EVCS varies the Amps to the car such that, where possible the Victron MP2 batteries maintain their SoC. So far so good.

But because I’m only plugged in for a few hours, I’d like the car to pull more Amps, to get the maximum charge into the car in the time available, and allow the Victron MP2 batteries to drain . They can recover their SoC after I have unplugged the car and gone home.

At the moment, I achieve this “overcharging” by increasing the “minimum charging current” above 6A to maybe 16A. This works OK, but it leaves my MP2 5000 inverter likely to overload if I switch on another load - like a 2kW kettle.

I’m wondering if it is possible to leave the “minimum charging current” at 6A and then adjust another setting giving the EVCS permission to drain the MP2 battery up to some preset maximum additional Amps? If this were possible, when other loads were switched on I’d expect the EVCS to reduce its charging rate towards 6A .

So instead of the default Auto Mode behaviour of maintaining SoC, I’d have set the system to discharge the MP2 batteries at up to, say 10Amps over and above the minimum.

Thanks for any hints on how I can achieve this without risking overloading the MP2.

Via Modbus you can set the “‘Battery powered’. BKPB balance power” which is what charging power is maintained for the MP2 Battery (default 500W). Sadly though, this is a unsigned number. If you could put it on -1000W for example you would always supplement this much power from the MP2 Battery. If an extra load comes on and it goes to -1500W it would reduce the EV charge current to match it back to -1000W.

If you can convince @Lpopescu to make the change in the FW this can work.
(Although it could also be more complicated because there is also a “Discharging detect timeout” setting which might suggest that the firmware is doing more checks than just trying to keep the MP2 Battery charge power at the configured level.)

FWIW I think this would be a great feature to have even in on-grid setups. Sometimes I want to charge faster and if there is enough in the MP2 battery there is no need to pull from the grid. Possibly also needs a “Minimum BKPB SOC %” for this feature so it doesn’t empty the MP2 Battery.

1 Like

Hi both,

we can do lots of things but I’m always aftaid to add lots of settings and parameters. That’s because for not technical users, all those settings will just make the product way too complex. Most of the users just want a product that works. That’s why , there are extra settings hidden behind the modbus paramters and not exposed for normal users. My advice is to either use modbus, or create custom software setup with Node-Red. I think there are some examples here on the community for similare requests.
Also, keep in mind that all that Auto mode is planned to me moved into the GX. And then, it will be way smarter.

1 Like

True, this can be implemented in node-red fairly easily (if you have the experience). I’ll have to find the time for that.

In node red I calculate a dynamic charge current when my gridmeter is below max gridmeter.
This can be adjusted to battery watts.

// Functie om dynamische laadstroom te berekenen
function calculateDynamicCharge() {
let new_charge_current;

if (GRID_METER_BUY_STOP_THRESHOLD > grid_meter) { // Drempel hoger dan grid_meter (laadstroom kan omhoog)
    new_charge_current = charge_current + Math.floor((GRID_METER_BUY_STOP_THRESHOLD - grid_meter) / 1035);
}
if (grid_meter > GRID_METER_BUY_STOP_THRESHOLD) { // Grid_meter hoger dan drempel (laadstroom moet omlaag)
    new_charge_current = charge_current - Math.ceil((grid_meter - GRID_METER_BUY_STOP_THRESHOLD) / 690);
}

// Zorg ervoor dat de nieuwe laadstroom binnen het bereik van 6-16A blijft
new_charge_current = Math.max(MIN_CHARGE_CURRENT, Math.min(MAX_CHARGE_CURRENT, new_charge_current));

if (new_charge_current !== charge_current) {
    if (dynamic_current_flag === false) {
        flow.set('dynamic_current_flag', true); 
        let dynamicCurrentFlagMsg = { payload: true, topic: "dynamic_current_flag" };
        node.send(dynamicCurrentFlagMsg);
    }

    let chargeCurrentMsg = { payload: new_charge_current, topic: "dynamic_current" };
    node.send(chargeCurrentMsg);
}

Community friends are already helping :slight_smile:
If you speed few hours with node-red, I pretty sure that you will be able do do that and much more. It is an amazing tool. We are using it alot during development to test different scenarios.

Yes, node red and ChatGPT :+1:

Thanks for the suggestions, but I’m afraid much of what you say is a new book for me.

After searching I found an introduction to nodeRED on the CerboGX at https://www.youtube.com/watch?v=0mWU0Ss9usc and started working through the tutorial on how to enable nodeRED and their example of controlling a cerbo relay using my http://venus.local:1881 (I can’t access https://venus.local:1881 ). But I came unstuck at about 09’45” because my nodeRED says “Unable to access the service endpoint:/victron/services/output-relay”

So, even if with some more help I get to be able to switch a relay, I think there’s a whole load of more experience required to deduce from scratch how to set up some EVCS “overcharging” that I identified as my wish in post#1.

I take your point, but there is probably a middle way. I’m quite competent enough to follow instructions on how to install some prepared code in the cerbo. But there’s quite a lot to worry about if you encourage me to do my 1st nodeRED programming calculating and controlling kilowatts of flow between devices. There are a lot of potential consequences!

Can you add a bit more please Ton to start the ball rolling and that might enable me to complete? You might be assuming too much capability in me :+1:

Thanks all very much, David.

It would be useful to add independent minimum and maximum charge parameters in automatic and manual modes.
Also, a parameter indicating that if there is not a minimum solar output, the vehicle charger will not start.