LG Ess Enervu Powerrouter/Battery binding: Looking for testers


I have developed a binding for the LG Ess Enervu powerrouter/battery bundle (https://enervu.lg-ess.com/) and I am looking for brave testers :slight_smile:
For me it works quite stable but I’d like to have feedback from other owners.

The binding supports retrieving data directly from the device via local network as well as retrieving data from the lg cloud.
It currently supports most of the data which can be retrieved from the system as well as some
calculations on how much money someone spend on buying power from the grid etc.

Source can be found here:

Binary can be found here (works for OH 3.0 and 3.1):

Looking forward to your feedback :slight_smile:


1 Like

Hi Martin,
thank you for your posting and work - you have done exactly what I was planning to do! I am thinking about that since we installed the LG ESS last year, but only did find time today to install openHAB on a Raspberry Pi. I would very much like to test your binding, but have to get acquainted with openHAB yet. For example, how would I “install” your binding, as it is not yet in the official list in the GUI …
I intend to use the data from the ESS for charging our EVs with PV surplus …
Thanks again,

Hi Martin,
it was easier than I thought to set everything up - now my first questions:

  • all of the power items have as unit of measure energy units (kWh instead of kW) and are labeled as “Number:Energy” instead of “Number:Power” (example currentPowerFromPV - Number:Energy - Current power produced by PV)
  • currentPowerFromPV seems to only include the DC power from string 1 of the inverter (PCS) - it seems that it is coming from “ess/common/PV/pv1_power” (an additional indicator is the unit of measure W, like it is displayed in the LG ESS app as “DC Power” for example “350W/400W/300W”)
  • if this is the case it would be great to have also the two other strings (as the PCS supports 3 strings) as channels available (pv2_power and pv3_power)

Thanks again a lot for your efforts, it is very much appreciated!

I’ve observed additionally that after around 24h values stop being received yet connection status is still “online” in the “Things” section (“Refresh Interval” is set to 10s, connection via LAN API). A disabling/enabling cycle restores the transfer of the values. Did you also observe such behavior? May it be connected with the refresh interval - I will try different values and report back …


Hi Franz,

thank you for testing the binding :slight_smile:
I fixed the wrong units to Number:Power and current values from kWh to kW.
Additionally I added the missing string from the pcb.

Regarding your “values are zero” issue i try to reproduce it and will fix it as soon as i found out what the root cause is


Ps.: I updated the source and binary on github with your suggestions

Hi Martin, Franz,
is this binding still working for you? I am asking because you both seem to be the only ones active here and I wanted to give a try and install it for a friend who is running a LG Ess. Thanks for a quick confirmation that its not discontinued for whatever reason, Erik

Hi Erik,

yes, still working. Great work by Martin!


Great, thanks for the quick response. We will give it a try and let you know how it goes,

Martin, Franz, we installed it yesterday, and in no time we had it up and running with the cloud connection, Thank you very much, great work, should become an official binding ;). I have not yet tried to use the direct connection as I am not sure how to get the JSON response with the password from the device. Can you give some hints how this can be done? Is it with curl from the raspi?

Hi Martin and Franz, I give it one more try to ask for help on how to find out the login credentials for a direct connection to the LG Ess. Can you give me a short hint on how to get the JSON response? Many thanks in advance Erik

Hi Erik,

you need to connect with your device (e.g. notebook) directly to the wlan of the ess.
Then perform a json rest request to the device to the following url

with the payload body

{"key": "lgepmsuser!@#"}

This can be done with your browser (firefox, chrome etc. via the dev console) or a tool like postman.
I am not sure but there might also be apps for rest requests from a mobile.
The important thing is that you use an app where you can disable the certificate validation because the ess has only a self signed certificate


1 Like

Thanks, I will give it a try!

pushed an update to git fixing a bug with current_power showing the same value for buying/selling it at the same time which doesn’t make sense.

Thank you Franz for discovering it :slight_smile:

Hi. I am also planning to implement my LG Home ESS 10 unit into my smart openhab and wonder if charging the battery over night on low tariff is supported to cover peaks during daytime in the dark winter season?

Hi, I have tried to implement the the binding by simply copying the org.openhab.binding.lgessenervu-3.1.0-SNAPSHOT.jar file to the /usr/share/openhab/addons directory of my 3.4.1 openhabian on a raspberry Pi3
unfortunately, the binding is not recognized - it is not possible to create a correspponding thing using this binding (using the white plus in the blue bullet in the things view of OH 3.4.1, the binding cannot be chosen)

I restarted my installation several times, I cleaned the OH cache, I extended the file authorizations - all without any success

any advice? is the 3.1.0 binding snapshot version really not working in a 3.4.1 environment?

Hi Andreas,

I was using the 3.1.0-snapshot.jar file successfully with all the latest updates until yesterday. But with the latest update to openHAB 4.0.1 nothing is working any more, it seems because of Java 17?! Has anyone an idea what I can do except a completely new installation? And hope that then the LG ESS binding will work?

Thanks to all for any advice also from me!

No, it’s because it is an openHAB 3.1 binding and not adopted and compiled for openHAB 4.0.
There have been structural changes for all bindings which are not Java version related.
Until OP makes the needed changes, it will not work.

Hey all,

I uploaded a first version for openhab 4.0.1 (https://github.com/mksway/openhab-lgessenervu-dist/releases/download/4.0.x-beta/org.openhab.binding.lgessenervu-4.0.1.jar). It should hopefully work.

Somehow the 3.4.3-snapshot version worked for me with 4.0.1 aswell


Hi Martin,

thank you very much for your fine work. I´m using a LG ESS Home 5 and habe troube with both possibilities of accessing my LGESS.

The method with the cloud api leads to the error message:


Access denied. Check credentials!

Password and Username works fine with https://enervu.lg-ess.com/

Per LAN Api I get the same error message. The IP of the ESS I got from my FritzBox.

Maybe it´s a problem with the password. I used the written upon the device. As I understood your hint, there ist a additional password in the device. Do you have a more detailed decription how to extract the passwort via dev consone or postman? I have no experience with this tools.

Thanks in advance for your efforts,


Hi Manfred,

in order to get the local password for your device you need to be in the network the lg ess home 5 spawns like when you first setup the official mobile app. It is not the password you assigned for the official website.

  1. Tell your lg ess to start the local wifi (at my device it’s holding the wlan button for a few seconds until it starts flashing blue (I think one had to do the same steps when initially setting up the offical mobile app)
  2. Connect a computer / notebook to the spawned wifi of the lg ess device
  3. Once you are connected (e.g. with your pc/notebook) you need to issue a rest request to the device to obtain the password.
  4. curl for example
curl -v --insecure -H 'Charset: UTF-8' -H "Content-type: application/json" -d '{"key": "lgepmsuser!@#"},' ''

Alternatives to curl:

esscli --action get_password

I will take a look at the “cloud” mode and investigate why it’s not working anymore - maybe they changed something in their process to the new portal. Thanks for the hint :slight_smile:


1 Like