sorry if I am answering to an outdated question - I am only slowly working through old posts whenever I find time.
I answered a similar topic to @SvenAarts here:
We (FENECON) are using a Sinexcel battery inverter together with a separate Battery in our FENECON Commercial 30 product. So in that setup the values are correct, but it is possible, that Sinexcel changed their protocol. This (https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.batteryinverter.sinexcel/doc) should be the protocol we have been using… I have not personally touched this code since quite some time.
If protocols are still similar, maybe the actual protocol could be read at runtime. Either via SunSpec or after “identifying” the actual device. (We did something similar e.g. for the SOCOMEC meter → https://github.com/OpenEMS/openems/blob/develop/io.openems.edge.meter.socomec/src/io/openems/edge/meter/socomec/AbstractSocomecMeter.java#L137-L176)
I was not aware, that Sinexcel also talks directly to the Battery. In this case I suggest implementing a “Sinexcel ESS” - as described in the linked thread.
Regards,
Stefan