Due to a rather stupid impulse buy, I need to time shift about 10kWh of average excess production to the evenings…
This lead me to scouring web sites for the cheapest batteries, and this is the best I came up with:
at R3700/kWh. It seems to be a branded Vestwoods cell, and Vestwoods claims they are 1st life BYD cells, so they should be OK.
The batteries have bluetooth monitoring, but still need to add inter-pack balancing and inverter comms.
So the basic plan is to use an ESP32 board to poll the bluetooth status of the 4 batteries, produce aggregate data over CAN for the inverter, and drive something like this:
With some hefty resistors to control discharge of each battery for some crude balancing.
So I bought some batteries… And could not talk to them. I assumed they would use JBD or JK protocol, which seems to be near universal in these types of battery. But sadly not.
I contacted Vestwoods, and surprisingly, they responded almost immediately, but refused to provide a protocol document.
Fortunately, their mobile app is extremely well written, with the core logic in a JS file, with well named variables and function names. So reverse engineering the protocol was trivial, and I have basic comms up already. (I will publish the protocol when I have cleaned things up a bit.)
Next steps will be to get this running on an ESP32 board, and see how well it runs polling 4 batteries simultaneously. And build another *%&^$& battery rack (which always seems to be the most time-consuming part).
I will document the various bits and pieces here as I go, and document how well this sort of crude balancing and inverter comms works in production, in case anybody else wants to give it a bash (and/or give me a bash for anything stupid I end up doing).