# Compatibility of SolarEdge NX20K and Nexis Battery with OpenEMS SolarEdge ESS

**URL:** <https://community.openems.io/t/compatibility-of-solaredge-nx20k-and-nexis-battery-with-openems-solaredge-ess/10959>\
**Category:** English Forum\
**Created:** [August 31, 2026, 12:38pm UTC](https://community.openems.io/t/compatibility-of-solaredge-nx20k-and-nexis-battery-with-openems-solaredge-ess/10959 "2026-08-31T12:38:37Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![marcokammer](https://community.openems.io/user_avatar/community.openems.io/marcokammer/32/2690_2.png) [@marcokammer](https://community.openems.io/u/marcokammer)\
**Post date:** [August 31, 2026, 12:38pm UTC](https://community.openems.io/t/compatibility-of-solaredge-nx20k-and-nexis-battery-with-openems-solaredge-ess/10959/1 "2026-08-31T12:38:37Z")

</div>

Title: Experience with SolarEdge NX20K and Nexis Battery?

Hello everyone

I am currently testing OpenEMS on a Raspberry Pi 5 and trying to understand whether it could later manage our planned PV and battery system.

The planned SolarEdge installation consists of:

- SolarEdge NX20K hybrid inverter

- SolarEdge Nexis Battery Stack 20

- 19.6 kWh gross / 18.6 kWh usable capacity

- 14 kW battery power

- SolarEdge Modbus meter connected via RS485

- Three 100 A current transformers

I have already installed OpenEMS Edge and UI and successfully tested the simulator, RRD4J and Open-Meteo weather integration.

I also found the SolarEdge ESS component with the control modes INTERNAL, SMART and REMOTE. Our goal would be more than monitoring. Ideally, OpenEMS should optimise charging and discharging based on PV forecasts, electricity tariffs and flexible consumers connected through Home Assistant.

Since the NX20K and Nexis Battery appear to be relatively new products, I am unsure whether they are already compatible with the current SolarEdge implementation in OpenEMS.

Has anyone already gained experience with this inverter or the Nexis platform?

I would be particularly interested to know whether:

- inverter, battery and meter values can be read locally via Modbus TCP

- battery charging and discharging can be controlled using REMOTE mode

- the grid export limit can be set by OpenEMS

- SolarEdge ONE and OpenEMS can be used together

- any specific firmware version or SolarEdge configuration is required

I would also be grateful for experience with similar recent SolarEdge hybrid systems, even if nobody has tested this exact combination yet.

Thank you very much for your help and for sharing your experience.

Best regards  
Marco

---

<div class="post-metadata">

**Author:** ![stefan.feilmeier](https://community.openems.io/user_avatar/community.openems.io/stefan.feilmeier/32/2585_2.png) [@stefan.feilmeier](https://community.openems.io/u/stefan.feilmeier)\
**Post date:** [August 31, 2026, 1:40pm UTC](https://community.openems.io/t/compatibility-of-solaredge-nx20k-and-nexis-battery-with-openems-solaredge-ess/10959/2 "2026-08-31T13:40:10Z")

</div>

I am pinging @MrT here, as he has worked on that implementation in the past

> <https://github.com/OpenEMS/openems/pull/3571>
>
> Adds compatibility for SolarEdge ESS PV hybrid inverters (single-phase and three…-phase models).
> E.g. SolarEdge SE4000 with SESTI interface or SolarEdge SE10K-RWS.

---

<div class="post-metadata">

**Author:** ![marcokammer](https://community.openems.io/user_avatar/community.openems.io/marcokammer/32/2690_2.png) [@marcokammer](https://community.openems.io/u/marcokammer)\
**Post date:** [August 31, 2026, 2:39pm UTC](https://community.openems.io/t/compatibility-of-solaredge-nx20k-and-nexis-battery-with-openems-solaredge-ess/10959/3 "2026-08-31T14:39:37Z")

</div>

Great! Thank you so much!

---

<div class="post-metadata">

**Author:** ![MrT](https://community.openems.io/user_avatar/community.openems.io/mrt/32/1617_2.png) [@MrT](https://community.openems.io/u/MrT)\
**Post date:** [September 2, 2026, 7:41pm UTC](https://community.openems.io/t/compatibility-of-solaredge-nx20k-and-nexis-battery-with-openems-solaredge-ess/10959/4 "2026-09-02T19:41:15Z")

</div>

I have not tested the NX20K / Nexis combination myself yet, but as long as SolarEdge continues to support the same battery control protocol/registers on the NX series as on the previous generations, the existing SolarEdge ESS implementation should work.

The storage control protocol has been used since the first generation of SolarEdge storage systems, e.g. the single-phase inverters with SESTI interface and HV battery, and is also used by the newer generation of three-phase hybrid inverters with 48 V batteries. So unless SolarEdge changed this for the NX platform, I would expect the ESS functionality, including REMOTE control, to be compatible.

Regarding the SolarEdge meter: in my own installation I currently do not read the SolarEdge meter with OpenEMS. However, there is already a `Meter SolarEdge` implementation in OpenEMS, so this should generally be possible as well.

One important point regarding SolarEdge ONE: I would not recommend having two different energy management systems actively control the battery at the same time, e.g. OpenEMS and SolarEdge ONE. Otherwise both controllers could work against each other.

Additionally, SolarEdge Modbus TCP has historically supported only one simultaneous connection/session. So this also needs to be considered if SolarEdge ONE itself uses the same Modbus TCP interface.

The grid export limit can be set by writing the channel

`ACTIVE_EXPORT_POWER_LIMIT`

This sets the inverter’s export site limit and is intended for Power Manager installations with a connected smart meter.

One additional consideration is that OpenEMS is currently not fully optimized for DC-coupled storage systems. In a system with only one inverter, however, I would not expect this to make a relevant practical difference. This becomes more important when coordinating multiple ESS, because PV generation is DC-coupled to the individual ESS and should be taken into account when distributing charge/discharge power.

@stefan.feilmeier Since this topic is somewhat related: could you perhaps also have another look at my `PreferDcPowerOptimizer` implementation when you get a chance?

> <https://github.com/OpenEMS/openems/pull/3661>
>
> \## Summary
> 
> As discussed in the OpenEMS community thread:
> https://community.o…penems.io/t/neuer-optimizer-logik-fur-mehrere-hybrid-esses/10138
> 
> This PR introduces the \`PreferDcPowerOptimizer\` to improve behavior for systems with multiple hybrid ESS by prioritizing DC (PV) power and coordinating ESS usage.
> 
> \## Motivation
> 
> In multi-ESS hybrid systems, current behavior can lead to inefficient operation:
> 
> \* Battery discharge despite available PV power
> \* Uncoordinated usage of multiple ESS
> \* Missing prioritization of DC-coupled generation
> 
> \## Core Concept
> 
> The optimizer follows a strict prioritization strategy for active and reactive power distribution.
> 
> \---
> 
> \## Active Power Distribution
> 
> Priority order:
> 
> 1. \*\*Fulfill constraints on each ESS first\*\*
> 2. \*\*Distribute available PV production\*\*
> 3. \*\*Distribute remaining power using currently active ESS\*\*
> 
> \* ESS already discharging (due to PV or constraints)
> 4. \*\*Distribute remaining power across all ESS if required\*\*
> 
> \### Distribution Order
> 
> When distributing power:
> 
> \* \*\*Discharge:\*\* prefer ESS with higher SoC
> \* \*\*Charge:\*\* prefer ESS with lower SoC
> 
> \---
> 
> \## Reactive Power Distribution
> 
> \### Step 1: Weighted Distribution (by priority)
> 
> Reactive power is distributed using calculated weights based on the following strategies (in priority order):
> 
> \#### USE\_DISCHARGING\_ESS
> 
> Distribute reactive power proportional to the active power of all currently discharging ESS.
> Only discharging ESS are used if they are sufficient.
> 
> \*(weight = activePowerOfThisEss / activePowerOfAllDischargingEss)\*
> 
> \#### USE\_IDLE\_ESS
> 
> If discharging ESS are not sufficient:
> Distribute reactive power proportional to the available reactive power capacity of all idle ESS.
> 
> \*(weight = maxQofThisEss / maxQTotalOfAllIdleEss)\*
> 
> \#### USE\_ALL\_ESS
> 
> If still not sufficient:
> Distribute reactive power proportional to the available reactive power capacity across all ESS.
> 
> \*(weight = maxQofThisEss / maxQTotalOfAllEss)\*
> 
> Constraints on ESS are respected in all cases.
> 
> \---
> 
> \### Step 2: Fallback Distribution
> 
> If all weight strategies are exhausted and reactive power is still not fully distributed:
> 
> 1. Distribute remaining reactive power using discharging ESS (ordered)
> 2. Then using idle ESS (ordered)
> 3. Finally using all ESS (ordered)
> 
> \### Distribution Order
> 
> \* \*\*Discharge:\*\* prefer ESS with higher SoC
> \* \*\*Charge:\*\* prefer ESS with lower SoC
> 
> \---
> 
> \## Changes
> 
> \### Optimizer
> 
> \* Added \`PreferDcPowerOptimizer\`
> 
> \### ESS Extensions
> 
> \* Introduced \`getPvProduction()\` in \`HybridEss\`
> \* Implemented in:
> 
> \* GoodWeEssImpl
> \* KacoBlueplanetHybrid10EssImpl
> \* SamsungEssImpl
> \* EssFeneconCommercial40Impl
> 
> \---
> 
> \## Impact
> 
> \* Improved efficiency in multi-ESS hybrid systems
> \* Reduced unnecessary battery cycling
> \* Better utilization of PV production
> \* Deterministic and transparent prioritization logic

It addresses exactly this improved coordination of DC-coupled PV in multi-ESS systems.
