Can OpenEMS BESS Container Send Battery End-of-Life (EOL) Signal?

I am working on integrating a battery energy storage system (BESS) with the OpenEMS framework and would like clarification regarding system monitoring and diagnostics. Specifically, is it possible for a BESS container, when managed via OpenEMS, to transmit or expose an End-of-Life (EOL) signal for one of its battery packs?

  • Is there native channel or custom device/component support in OpenEMS for such EOL signaling?

  • Can this EOL status (e.g., based on SOH thresholds, BMU/BMS alarms) be passed from the hardware (e.g., BMU/BMS) through OpenEMS channels to higher-level applications?

  • If not available by default, are there recommended approaches (custom channel, external API, Modbus mapping, etc.) for implementing this functionality?

Any guidance, examples, or pointers to relevant documentation would be greatly appreciated!

Thank you.

If I understand your use-case correctly, you are able to read a modbus register with a fault state for a short period of time, before you loose communication - right?

In such a case the default behaviour in OpenEMS Edge Modbus implementations would be to

  1. Read the error to an error channel
  2. As soon as communication is lost, all channels are set to UNDEFINED and only a Slave-Communication-Failed Warning is set

In your case you would have to create a separate mapping from your Fault-Channel to another Channel that survives a communication loss.

See LOW_MIN_VOLTAGE_FAULT_BATTERY_STOPPED in FENECON Home implementation for an example: openems/io.openems.edge.battery.fenecon.home/src/io/openems/edge/battery/fenecon/home/BatteryFeneconHome.java at develop · OpenEMS/openems · GitHub