Victron Cronjobs

I think it fits best here, as it has to do with making things work on small device like a Venus, to do as we want it to.

Cronjobs for the newer users:
I used to run the Cronjob below. Worked nicely on lead-acid batteries bar the increasing of the SOC.
When I guessed the SOC and time wrong, it interferes with the ESS “logic” and Eskom gets called up at times.

An example of what one could do with a Cronjob:

Let your imagination go on the above. :grinning:

If anyone wants to know how I can post all the steps here.

Cool idea to use cron from this. I’m playing with the idea to create a LoadShedding driver for the GX. Something that will change the min. SOC depending on if loadshedding is happening or not.
It’s easy to do, but I want to add a GUI option for people to change settings, and I have to figure out how to do that in the remote menu.

AFAIK, if you set the Min SOC to say 80% (example) on ESS, and/or also limit the inverter to i.e. 500w, when LS hits, those values are ignored. No need to do anything.

Once LS is over, the values are again noted.

correct, it will be ignored. But that is not the idea.

What I want to do is to say that if it is a normal day without loadshedding then you can use the battery down to 30%. However if loadshedding is scheduled for today then that min should be sy 50%, so when loadshedding does hit my area for the 2.5h I will have 20% more capacity at least. My house can do loadshedding for 2h on 20% of the battery.

Gotcha … once you figured that one out, it would be excellent to share!

An idea I once pondered on, using these Eskom loadsheddings apps, if one can pick up from them ones LS schedules, and alter the SOC in advance, based on that ones area time slots.

The easiest might be to just use an external application and Modbus-TCP. Or MQTT and NodeRed.

See the ESS mode 2/3 documentation. The examples shows what is possible.

I agree with Plonk. Much easier to do this external. I am running a java script that monitors my Solar input and then shifts the max inverter power to 15% of the solar output. (That is if the batteries are discharging). This ensures that the batts do not get discharged during daytime and I am still using the maximum power from the Panels. Running this now for almost three years and so far so good.
Using Modbus TCp to change the setting but MQTT with the r/+ commandand also works.

I already have most of the code for my serial battery driver that I can reuse for a driver. The idea was to add this to my driver, but then I though if I made it a stand alone driver/module then you can add this to any battery. And it would be so need to have a little slider in the GX console the switch this On/Off or set your min SOC for load shedding. All in one place for a user…

Subliminal Typo? :smirk:

1 Like


Sorry to resurrect this.

Does the Max Inverter Power you mention here (ModbusTCP register 2704?) only apply to battery discharge, or the inverter as a whole (in other words, what can be supplied by the panels during sunlight hours)?

I am confused because the Excel spreadsheet of ModbusTCP registers calls 2704 “ESS max discharge current”, which corresponds to dbus-obj-path “…/MaxDischargePower” and in the ESS Mode 2 guide it refers to “Maximum inverter power” :confused:

So it applies to the “Max Inverting” of dc power. Whether it is from the solar panels or batteries.
Example :

If set to 500w the inverter will only allow 500w to be inverted from dc the rest of the load will be supplied from the grid. At night your batteries will discharge by about 650w and day time the panels/batteries will provide up to the same amount

So how do you use it to get max benefit from the panels, but limit the discharge on the batteries?

Do you monitor the battery discharge rate the whole time and increase it if the batteries are discharging, but decrease it when the batteries are charging / idle?

1 Like

Short version is to monitor the batteries. If they are smaller than a set amount say -100w set the max discharge to the current panel output as the panels is delivering the max amount it can. You could even set it to panel output - 10% to ensure that the batteries stop discharging.
If the batteries is charging you set max discharge to panel output.
I shared the code on another post as well to have a look at. I simplified but it should give you the principle idea.

1 Like

Thanks Paul, I appreciate the explanation. I assume it is this one and it makes more sense after your explanation.