Real Working System, there are problems with the magnitudes of internal values

This is NOT a simulation, this is the real thing.

System Configuration.
SDM630 meter
Sinexcel 30kW inverter which is talking CAN bus directly to the BMS. The inverter uses the new V120 protocol, I have modified the existing 'Sinexcel Battery Inverter 'component to speak the new protocol.

Using ‘ESS Generic Managed Symmetric’ for the ESS.

Using ‘Control ESS Fix Active Power’ set to -6000W to charge the battery.
There is an additional 2kW load.

To satisfy the ESS need for a battery, we are using a ‘Simulator Battery’ component.
That is, the Storage System is a ‘Simulator Battery’ component.

Below are some displays from our working system.

The grid value is correct at 8 kW, it is read from an SDM630 meter.

The Storage System value is wrong, it should be 6kW, not 0.6kW and it should be Charge power (not discharge).

Load of 8.6 kW value has been calculated (I assume) from 8 + 0.6 but it should read 8 - 6 = 2 kW. (there is a 2kW load)

ISSUES summary
The Storage system values needs the sign reversed and multiplied by 10.

Please point me in the right direction to fix this.

Here is debug output from Edge.

2023-10-16T22:13:07,179 [_cycle ] INFO [ebuglog.ControllerDebugLogImpl] [ctrlDebugLog0] _sum[State:Ok Ess SoC:80 %|L:600 W Grid:8032 W Consumption:8632 W] batteryInverter0[Running|Grid:On-Grid] ess0[Started|SoC:80 %|L:600 W|Allowed:-30000;8313] meter0[L:8032 W]
2023-10-16T22:13:08,182 [_cycle ] INFO [ebuglog.ControllerDebugLogImpl] [ctrlDebugLog0] _sum[State:Ok Ess SoC:80 %|L:600 W Grid:8031 W Consumption:8631 W] batteryInverter0[Running|Grid:On-Grid] ess0[Started|SoC:80 %|L:600 W|Allowed:-30000;8313] meter0[L:8031 W]
2023-10-16T22:13:09,182 [_cycle ] INFO [ebuglog.ControllerDebugLogImpl] [ctrlDebugLog0] _sum[State:Ok Ess SoC:80 %|L:590 W Grid:8034 W Consumption:8624 W] batteryInverter0[Running|Grid:On-Grid] ess0[Started|SoC:80 %|L:590 W|Allowed:-30000;8313] meter0[L:8034 W]
2023-10-16T22:13:10,210 [_cycle ] INFO [ebuglog.ControllerDebugLogImpl] [ctrlDebugLog0] _sum[State:Ok Ess SoC:80 %|L:600 W Grid:8028 W Consumption:8628 W] batteryInverter0[Running|Grid:On-Grid] ess0[Started|SoC:80 %|L:600 W|Allowed:-30000;8313] meter0[L:8028 W]
2023-10-16T22:13:11,193 [_cycle ] INFO [ebuglog.ControllerDebugLogImpl] [ctrlDebugLog0] _sum[State:Ok Ess SoC:80 %|L:590 W Grid:8029 W Consumption:8619 W] batteryInverter0[Running|Grid:On-Grid] ess0[Started|SoC:80 %|L:590 W|Allowed:-30000;8313] meter0[L:8029 W]

Solved. Problem cause by errors in battery inverter interface and appallingly lacking Sinexcel protocol documentation.

1 Like

Hello Jimstercoder,

How did you setup an Sinexcell ess?
This seems to have been deleted in the latest version of openems.

With kind regards,


The configuration is described in detail above. What is your issue?

Components used:
-Bridge Modbus TCP (OEMS comms to Inverter)
-Battery Inverter Sinexcel
-Simulator Battery (because out battery talks directly to the Inverter via CAN bus, this has been modified to get the SOC directly from the BMS software)
-ESS Generic Managed Symmetric
-Controller Fix Active Power

I am using a fork of OpenEMS modified for our purposes. (updated Sinexcel protocol)

Here is a screen shot of the working system.

Dear JimsterCoder,

i found your fork on Github and i got control over the sinexcel now with somekind of working dashboard. Thank you alot for this share! Battery BMS data is not shown yet, and the KW data is not right. I send a 2KW fixed discharge into openEMS, openems dashboard says it is discharging 2.7 and sinexcel says 3KW. When charging: i give a 2kw fix charge command, dashboard says 1.2 and actual charging in sinexcel is 1KW. Do you have some advise on the problem data problems i see now?

Again, I don’t quite follow your description but I can tell you that, in your screen shot, the left shot is of DC power, in the inverter. The right shot is of AC power, on OEMS. The inverter has losses. When charging the DC power will always be less than AC and when discharging DC power will always be more than AC.
In your shot DC power is 3kW, losses are 300w and AC power is 2.7kW. The power you set in OEMS is always AC power.

Sorry for being not completely right with the discription… i am quite new to this and having some troubles understanding all the programming behind this. I guess you are completely right on the AC/DC power difference. My battery percentage does not show correctly yet (-1%) is this something depending on the battery information given to the sinexcel differently than your battery? or is my setup with the simulator battery not right? i am using your fork of OEMS. how did you connect the SDM meter to your OEMS server? i am trying to get a Janitza meter working but while the modbus registers of the 96RM are the same as a 301RMU the meter data is not coming true. Considering ordering a 630sdm to, just to get something working.

Hi @JimsterCoder

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 ( 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 →

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.