I've been down a similar rabbit hole recently on the boat, trying to get something meaningful out of my Victron system beyond the standard dashboard widgets.
The idea of creating a virtual battery purely to surface cell voltage difference as a readable metric is rather clever — it essentially tricks the display into showing you something it wasn't designed to show. My Fogstar Drift cells have been behaving themselves, but I'd very much like a persistent visual alarm if one cell starts drifting from the pack mean, rather than hunting through raw BMS data after the fact.
What I've cobbled together so far is a Node-RED flow that pulls cell voltages from the BMS over MQTT, calculates the spread in millivolts, and writes the value back to the CCGX via dbus-mqtt as a virtual device. It works, but I wouldn't call it elegant — the virtual device sometimes disappears after a VRM portal sync, which is mildly infuriating.
Has anyone managed to make this sort of virtual battery persist reliably across Cerbo GX firmware updates? I'm on v3.40 and the dbus path I'm using feels a bit fragile.
Also curious whether anyone has taken this further — triggering a relay or a push notification once the spread exceeds, say, 50mV. That seems like the genuinely useful endpoint rather than just a pretty widget, particularly for those of us where a cell going rogue at 2am whilst cruising isn't immediately obvious.
Would be good to compare notes on the flow structure if others have gone down this road.