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 !

1 Like

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

1 Like