Our system is going to get extended with some Victron components that connect a second PV installation:
Fronius PV Inverter (on AC-IN) -> this is already installed and connected
EM24 grid meter
MultiPlus II (everything is on AC-IN, except during outages I can manually switch critical loads to AC-OUT)
MPPT charger
10kwh Lifepo4 battery (CAN-Bus)
Cerbo-S GX
There is a water heater that is wattage limited which can be controlled using either a 0-10v signal or using a 4-20mA current sink signal - currently this is connected to a VoltoPlus excess regulator that includes its own grid meter and if it detects a surplus it gradually powers on the water heater.
I would like integrate this control to make use of the data that the Victron system has so that I can use the surplus PV power most efficiently. The current setup with the VoltoPlus has some issues:
- The VoltoPlus can't detect if the battery is full or not - I would prefer to heat the water only once the battery is mostly full
- The VoltoPlus is quite slow in its reaction time and thus I'd like to replace it.
The main question is, what would be the recommended / most reliable way? I'm a software engineer, so doing things in software is easy for me, but hardware wise it's more challenging - things I have considered:
* Using a Raspberry PI that runs e.g. NodeRED (or a custom PID controller written in python?) and a shield that can output the required control signal (0-10v or 4-20mA) -> I fear that the solution is slow because it will need to query the Cerbo-S GX via the network for the current grid meter power.
* Using a Venus OS large and run NodeRED (or can I run a custom script again?) directly on the Cerbo-S GX - but I would still need to find a way to actually output the control signal (maybe a USB dongle could be found, or maybe an Arduino could be connected via USB / Serial interface).
Unfortunately, I haven't yet come across a cheap enough shield / USB dongle that can output the required signal, so a custom design might be required (e.g. using a PWM signal with RC filter to get the 0-10v signal, but so far I'm missing something that would boost the voltage from the 0-3.3v of the µC to the 0-10v range, but I will probably be able to figure that part out).
What would be the recommended Victron way to interface with the ESS part of the system so that I can:
- Start heating the water once the battery is full
- Use the excess PV power from both the Fronius Inverter and the MPPT
- Be fast enough in response time, so that if loads change / PV power drops, the battery is not drained because the water heater is still running
- Be able to view the status of the system in the VRM (e.g. if power is diverted to the water heater)
Thanks for your input!