Best Approach to Integrate a Custom Battery System into OpenEMS!

Hi everyone,

I am currently working on a pilot project involving a custom-built battery storage system…, and I am considering integrating it with OpenEMS. I have gone through the documentation and a few threads here.., but I would appreciate some guidance from those with hands-on experience.

Specifically.., I would like to understand the best practices for creating a custom component (Controller or Device) to interface with my battery’s BMS over Modbus TCP. The BMS supports basic read/write functions.., and I have the full register map.

Should I create a completely new Component, or can I extend one of the existing battery modules: ??

What’s the best way to ensure compatibility with the Backend and UI: ??

Are there any examples of similar custom integrations that I can learn from: ?? power bi course in delhi

I have experience with Java and embedded systems…, so I am comfortable writing code if needed—just want to do it the “OpenEMS way.”

Thanks in advance for any advice or examples !!

With Regards,
Daniel Jose

Hi and welcome to OpenEMS !

First of all I wanted to ask you which Battery we are speaking of? :slight_smile:
Secondly I wanted ti kindly ask, if your company could also join the OpenEMS Association if you are using the Software Commercially :slight_smile:

Regarding the “OpenEMS-Way” we are welcome to take PRs and then work together as an OpenSource mind so we can support you in implementing a new Device for all of us :slight_smile:

Greetings !

Hi everyone,

I am facing a very similar situation as Daniel described.
In my case, I am working with HiTHIUM 125 kW / 261 kWh BESS cabinets, and I am trying to integrate them with OpenEMS Edge via Modbus TCP.

The battery cabinets are reachable on the network, and Modbus TCP seems enabled, but currently, I do not receive any data from them in OpenEMS (all registers read as zero).
I am using the Felix Config Manager for configuration, but I have not found an existing component or template for HiTHIUM devices.

Could someone please explain how to integrate a new Modbus-based battery system into OpenEMS the proper way, for example,

  • how to define the Modbus registers and mappings,

  • how to structure the component class, and

  • how to make it visible in the Backend/UI?

Any concrete guidance, examples, or best-practice explanations for building a Modbus-TCP BMS integration would be greatly appreciated.

Thanks a lot for your help!
Csongor Szasz

Hi Csongor Szasz,

Thanks for the clarification. Some of the questions you should be able to answer for yourself using the OpenEMS Getting Started guide and the other documentations and simulation tools

For an example on how to integrate such an energy storage system, have a look at: openems/io.openems.edge.fenecon.pro/src/io/openems/edge/fenecon/pro/ess/FeneconProEssImpl.java at develop · OpenEMS/openems · GitHub

Regards,
Stefan


PS: Salut to Romania. I’ve been living in Sibiu for two years and really like the country. :slight_smile: