[New Binding] Enphase Envoy Solar System gateway

I’ve created a pull request for the openHAB 3 enphase binding. You can find it on openhab-addons pr 9883 Including installation instructions for as long it’s not merged yet.

1 Like

Here is the output from my Envoy-S Metered, Production and Consumption CT (Stromwandler/CurrentTransformer) are installed. The type eim is the data from CT.

I extract all the data from my device using http binding and JSON transformation.
It will be nice if U extend the Thing channels with all the available data.

P.S. - Data refresh (production.json) can be set to 1sec or les without any problem.


I had looked at this before. But on my system I get mostly 0 values on this call. So this means I have to adapt the binding to handle both situations when it contains useful information and when not. So at this moment I have no plans to support this because it would make it more complex. I’ve also limited information on what all these field mean, and what the unit is. That doesn’t make it easier either.

You get always response 0 because probably U don’t have Envoy-S Metered with installed Current Transformer for production and consumption data.
I think U need to add edditinal Thing type eim to the binding and corespondent channels.

All what U see in this JSON response is:
type inverters - production summary from inverters
type eim - production CT (summary and separate phase L1, L2, L3)
type eim - total-consumption CT (summary and separate phase L1, L2, L3)
type eim - net-consumption CT (summary and separate phase L1, L2, L3)
type acb - battery

wNow - Power (Watt)
whToday - Watt Hour Today (Wh)
whLastSevenDays - Watt Hour Last 7 days (Wh)
whLifetime - Wat Hour Lifetime (Wh)
varhLeadLifetime - Capacitive Reactant Energy Lifetime (varh)
varhLagLifetime - Inductive Reactant Energy Lifetime (varh)
vahLifetime - Apparent Energy Volt Amper Hour Lifetime (VAh)
rmsCurrent - Current (A)
rmsVoltage - Voltage (V)
reactPwr - Reactant Power (var)
apprntPwr - Apparent Power (VA)
pwrFactor - Power Factor (cos fi)
vahToday - Apparent Energy Today (VAh)
varhLeadToday - Capacitive Reactant Energy Today (varh)
varhLagToday - Inductive Reactant Energy Today (varh)

May be U find time to extend the functionality of the binging.

Hi Hibrand,
I installed the Enphase binding version last night
[binding Enphase 2.5.x (19-01-2020)] (Release Enphase 2.5.x binding (19-01-2020) · Hilbrand/openhab-addons · GitHub)
it seems to me that it works well, I can read the Envoy values
but i get this error;
2021-02-16 13:45:04.413 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing ‘openhab-binding-enphase’[

I’m using openHAB 2.5.10 Release Build.
I congratulate you,
thanks for your help.


The error suggest it could not install the binding. But that doesn’t make sense if you can read values. So I’m not sure what happens. What did you do to install the binding?

i installed the file
org.openhab.binding.enphase-2.5.12-SNAPSHOT in the addons folder
before installing the binding I did a cache cleanup with the command;
sudo openhab-cli clean-cache
as recommended

Yesterday, my installer finally got my new Enphase battery system installed, provisioned and working. It’s awesome.

However, they had to upgrade all the firmware including the firmware for the com modules which changed the authentication protocol. That, paired with the fact that this binding doesn’t support storage makes me want to go in and fix it. Is anyone still maintaining this binding? Anyone using it?

I am going to mess with the binding for my local use, but would like to publish changes that all can use so I need feedback so I can make good design choices.

I maintain the binding, but not actively working on it currently. So go for it.

Just got my solar system installed - Enphase gateway, inverters, and 10kWh battery. Hoping I can get this working once the utility company issues Permission to Operate post final inspections. Thanks for this binding!

Is anyone else experiencing weird negative values on a system without consumption metering? My Envoy regularly reports a negative value for the latest power, sometimes well in excess (negatively) of my system’s production capability (screenshot attached). I also get similarly weird negative numbers from my inverters. Is this a number conversion/scaling issue or something else (like signed integer vs. unsigned integer)? Is there a way to expose the actual value being read from the Envoy pre-conversion/-scaling? (edit: I managed to decrypt my installer password and the Envoy webpage itself is reporting negative values for some of the inverters. It sems the Envoy can’t do it correctly!)

Any luck in getting the authentication to work? I only have production and consumption data every 15 minutes. I would like to get shorter time windows (eg 15 sec, or 1 min…) and I would like all my inverters to show up like they did in the past.

Sorry…I was travelling the last few days.

Yes, I got it to work. However, I haven’t messed with in several months. I will try to dig it up later today and get the code in my github updated, then will give you access.


Alright, I have resurrected the code and have the code working to get the JWT retrieved. Turns out, I still need to incorporate the switching between versions function.

@kumootje are you still interested in this? I can work on it over the next few days, but I will deprioritize if it’s not that big of deal to you

I’m certainly still interested. However, I won’t have the time in the next 2 weeks anyway to experiment. So do it on your own pace.
Just curious to know what’s the highest frequency of updates on the production and consumption numbers (like “Latest Power” & “Produced Today”). Now I’m only getting 15 minutes values…
And if the individual inverters are also accessible.

Very good. I think I have some time today, but then it gets bad again for the next few weeks on my side as well.

5 minutes is as fast as you can update. Yes, the individual inverters are available.

However, you need to make you have an account with Enphase to get a JWT. You can do this manually by going to your Envoy webpage (i.ie put ip into your browser). It should come up with a webpage asking you to enter a token. Goto https://entrez .enphaseenergy.com to get your token and then put it in. If that doesn’t work, the binding won’t work.

Hi @kumootje and @dfad1469, I just got an Envoy too and am interested to get it to run with openHAB 3.3. What’s the current state of the Enphase Binding and where can I get the newest one? I’m a developer too and can contribute to it if needed.

I have it working with the new token. I just need to clean up my code and I will check it in.

Should be sometime this weekend.


Great, thank you @dfad1469. I got your enphase branch and got it to run with a hard coded token.
I’ve seen that you started to implement the /production.json endpoint. I’m unsure what the /api/v1/production exactly is but it seams not to make much sense in my setup. I’ll switch to /production.json as soon as possible.
Are you working on that one too or shall I look into it?

Cheers, Pete

Super! I am still learning to configure OpenHab and this is one of the next challenges. Will your code/add-on be synchronized with the main add-on repository of Openhab?