Chris,
I understand what you will like the SBMS0 data for and that you want the data over USB (more reliable that wireless).
Not sure why you think cell voltages are more useful that SOC for automating Load's and or charge sources ?
If setup correctly SOC on the SBMS will be accurate withing 1 or 2% while cell voltage will depend significantly on the current in or out of the battery so it has no value other than for BMS to be able to protect the battery from overcharge and over discharge.
So cell voltage can be say 3.3V if SOC is 50% or if it is 95% thus cell voltage will not be able to provide any info for automating Loads. That is even ignoring the cell voltage measurement fluctuation during cell balancing.
It is true that SBMS0 only has 4 available EXT IOx and if you use one for solar and one for Load ON/OFF control then there are only two available for automation.
If as you mentioned need a fail safe in case something goes wrong then another EXT IOx set as type 5 will be used to trip a circuit breaker or relay that will isolate the battery from both Loads and Charge sources.
Thus at most you are left with one EXT IOx that can be used to control some Load or Loads based on SOC level.
But there are not many loads that can be arbitrarily turn ON or off mostly what you mentioned a water heating thank that can be considered a thermal battery.
The new DEXT that will soon be available (I have the PCB's just need to wait for some components to assemble the first batch) will allow for multiple EXT IOx (still only 4 types) and have the circuit to be able to directly trip a circuit breaker or if set that way to control a large relay (dual contacts) or two relays to be able to isolate battery from Load and charge sources in case of equipment fault.
Of course there is no way to add an alarm for when this will happen as we discussed before unless you are OK with a 5 or 10 second delay. The solution for that is having two separate batteries for redundancy then you can have an alarm to inform you when one of the two separate systems is down. Same idea as on computer servers where there are two power supplies each capable of powering the computer and you get an alarm when one of the two fails.
Building an adapter that converts SBMS0 USB data in to standard Victron VE-direct can be done I'm just not interested in spending the time to Learn the Victron protocol and build such a converter for maybe no more than 10 or 20 people that will want to use this. It will just not be an economical use of my time.
What will be needed is a small micro controller with a USB interface on one end to read the SBMS0 data convert that data to whatever Victron needs and then send that over VE-direct interface. Likely the only useful data from all of that will be the SOC to do the sort of automation you mentioned (turning ON some large loads like water heaters to prevent/delay the battery form fully charging).
The same can be done with one of the for EXT IOx.
Say hot water is a luxury and you only need that when you can afford (excess solar energy). Then you can use the already used EXT IOx that controls charging to know when battery is fully charged and then have a timer to allow the water heater to turn ON for say two hours.
If say water heater is set at 60C water and is 100 liters assuming cold starting temperature is 20C then 40C delta * 100 liters * 1.16 = 4.64kWh. Say your battery is 15kWh capacity then if worst case after battery is fully charged there is no more solar available the water tank will take about 30% of your battery to heat the water to 60C thus battery will be at 70% by the end of this.
If heating element is say 1500W then it means it will require 3h to heat to fully heat the water so you take the signal from battery fully charged (EXT IO4 that is already used to control your solar charger) and provide that to a 3h timer from that starting point will ensure that water heater will not use more than 30% of your battery capacity and will only restart the timer when battery is again at full charge. This way you do not need a fee EXT IOx but you need a timer.