We are working on several marine applications using Victron systems with lithium batteries, Cerbo GX, Quattro/MultiPlus and MPPT solar chargers.
Previously, we did not need to implement any special software logic for battery SOC limits. However, with larger solar arrays on newer boats, we are now facing a different requirement.
When the boat is connected to shore power in the marina, the customer does not want the batteries to be charged to 100% continuously.
Can this type of SOC-based shore charging strategy be implemented directly using ESS or would it be better to implement this logic using Node-RED on the Cerbo GX?
Any practical experience or examples from similar marine installations would be highly appreciated
Yes, I have done this on a few installations using Node Red.
We have what is called an “Unattended at Dock” mode, this is a soft switch in the Victron Display. When this is selected the inverter/charger mode is controlled by Node Red: Mode is inverter only normally, and once a low SoC is reached or load goes high for a few seconds mode is changed to On. Once SoC reaches high SP or load goes low, mode reverts to inverter only.
Settings – System Setup – ESS – Maximum Inverter Power: 0
* Settings – System Setup – ESS –Scheduled charge level: up to 5 Schedule
In this mode
Without mains input – it will operate as a standard inverter without any limitations.
When grid power is available, it will operate in pass-through mode, maintaining the charge level between 55% and 60%. Since the inverter itself is powered by the DC bus, the battery charge will be consumed to power the inverter; when the level drops to 5% below the Minimum SOC, the inverter will recharge it to 60%.
If you configure the “Scheduled charge level,” you can specify the day, time, and SOC level up to which the battery is permitted to charge above the Minimum SOC.
Using NODE-RED
Presets:
Settings – System Setup – Charge Control – DVCC : Enable
Settings – System Setup – Charge Control - Limit Charge Current : Enable
Settings – System Setup – Charge Control - Maximum Charge Current : [value]
In this mode:
Node-RED receives updates on the battery SOC, the ESS Minimum SOC, and the Charge Control Maximum Charge Current; it then limits the Maximum Charge Current based on the SOC and the ESS Minimum SOC—essentially creating a Node-RED-based ESS.
thanks for your reply,
I think you clearly understand what I want to do.
I must check the Node red documents and applications.
I could try using smart contactors or relay, but I don’t think that would be a definitive solution for emergencies and other conditions. I believe a programmed system would be more practical.
all charge level limits are based on measurements of the current state, followed by the actual limiting of the charging current;
any limits are calculated based on the minimum value among the Inverter/ESS (Node-RED)/Battery—specifically, the lowest limit is applied. If you set the ESS limit of 35 amps but the Battery sets one of 5 amps, the limit will be 5 amps.
I can’t really say whether it’s worth it or not, since I don’t own a boat and use the MultiPlus in a home setting. There might be issues with input current limiting in ESS mode—in that case, it would be better to go with the Node-RED option.
One important detail for the Node-RED route on a boat: DVCC’s Limit Charge Current applies to every charge source, so gate it on the AC input status — otherwise you’ll also cap solar charging once the boat leaves the dock. Also build a few percent of hysteresis around the 60% target (stop at 62, restart at 58) so the charger doesn’t cycle on and off exactly at the threshold. And since these are temporary shore connections, lxonline’s point is worth heeding — ESS is really designed for permanently connected systems, so the simpler the control logic, the fewer surprises when the cable gets unplugged.