[New Binding] Enphase Envoy Solar System gateway

Hi Thomas,

For my unit - password only seem to be required to enter the administration tab. (username: admin)
Other tabs on the local web. Events, Production and Inventory does not require a user login / password.

Hope this helps.

Kind regards,
Torben Madsen

This worked like a charm! 20 inverters added as things.

Now if I can just figure out getting them into a site map.

Thanks for this, I’m in the middle of setting up a small array to test if its worth getting more. My envoy is on the slow boat from california so I should be able to test this out next week. sweet!

BTW, some rather helpful individual has figured out how to get the “installer” password and has made an android app for it. I don’t know if this would be helpful for this binding or not, if more information could be gathered, but I thought I’d mention it.

the apk download is toward the bottom. I’ve installed it and tested the generated password and it works.

Thanks for this binding, got my envoy yesterday and it seems to be working just fine.

Expecting my enphase setup to be installed next week. (yay) Would it be possible to add this binding in the Marketplace and/or do you plan to make a pull request to the oh2 addons repo?
I ordered an Envoy s with IQ7 inverters. Is it any different then the M250 inverters (api wise)?

Hi Thomas,

I have an older Enphase Envoy-R. I can access the inverters page now that I got the password using the Android app that generates the password based on the serial number.

Looking through the code it looks like the username is hardcoded to “envoy”. Is it possible to parameterize the username? On my Envoy the username for the inverters page is “installer”

I just don’t know if that is the only change that would be needed to talk to the Envoy-R, as I couldn’t set up a development environment to make a private build.
https://community.openhab.org/t/eclipse-installer-failed/50917/3

Here is the output from http://ip/api/v1/production/inverters

[
  {
    "serialNumber": "12345",
    "lastReportDate": 1539394263,
    "lastReportWatts": 1,
    "maxReportWatts": 148
  },
  {
    "serialNumber": "123456",
    "lastReportDate": 1539394265,
    "lastReportWatts": 1,
    "maxReportWatts": 152
  },
  {
    "serialNumber": "123457",
    "lastReportDate": 1539394255,
    "lastReportWatts": 1,
    "maxReportWatts": 175
  },
  {
    "serialNumber": "123458",
    "lastReportDate": 1539394260,
    "lastReportWatts": 1,
    "maxReportWatts": 158
  },
  {
    "serialNumber": "123459",
    "lastReportDate": 1539394267,
    "lastReportWatts": 2,
    "maxReportWatts": 174
  },
  {
    "serialNumber": "123450",
    "lastReportDate": 1539394256,
    "lastReportWatts": 1,
    "maxReportWatts": 175
  },
  {
    "serialNumber": "12341",
    "lastReportDate": 1539394261,
    "lastReportWatts": 2,
    "maxReportWatts": 196
  },
  {
    "serialNumber": "123412",
    "lastReportDate": 1539394253,
    "lastReportWatts": 2,
    "maxReportWatts": 171
  },
  {
    "serialNumber": "123413",
    "lastReportDate": 1539394257,
    "lastReportWatts": 2,
    "maxReportWatts": 200
  },
  {
    "serialNumber": "123414",
    "lastReportDate": 1539394262,
    "lastReportWatts": 2,
    "maxReportWatts": 196
  },
  {
    "serialNumber": "123415",
    "lastReportDate": 1539394264,
    "lastReportWatts": 1,
    "maxReportWatts": 170
  },
  {
    "serialNumber": "123416",
    "lastReportDate": 1539394254,
    "lastReportWatts": 1,
    "maxReportWatts": 171
  },
  {
    "serialNumber": "123417",
    "lastReportDate": 1539394259,
    "lastReportWatts": 1,
    "maxReportWatts": 152
  },
  {
    "serialNumber": "123418",
    "lastReportDate": 1539394264,
    "lastReportWatts": 1,
    "maxReportWatts": 199
  }
]

You think the binding would work with only changing the username?

Is it possible to add the thing in textfile instead of inbox? And if so, what would the syntax ? I couldn’t find anything related in the documenation of this binding.
Binding looks good, hope it is not abandoned before it is added to the openhab2 addons repo. @captndelta Are you planning a pull request?

Hi folks, I haven’t gotten around too much OHAB stuff lately over the summer, but I think (hope) this will change in the next few weeks and I get around to making some of the bug fixes and improvements mentioned here.

Just so nothing gets forgotten, could you folks please file “issues” (bug reports or feature requests) on github here: https://github.com/HentschelT/openhab2-addons/issues
This way there is less chance that something gets forgotten once I get around to it. Thanks!

@gregd: Yea, the user name should be easy to make a config item, I was wondering if that was hardcoded for all the envoys.

@lsiepel: I was planning on getting it into the marketplace once feature requests and bugs stabilize a bit. So, maybe after this round I’ll upload it there.

Cheers,
-Th

Looks like an interesting binding, will try it for sure.
I’m just wondering why this isn’t in the binding repository of OpenHAB ?

Does this binding use the Units of Measurement? I tried to get it to convert from Watts to MW via the item, but was unsuccessful. It might just be me, so I will look at it further - just wondering if it should work?

Second comment is that I am also getting the issue that another person reported. Everything appears to work fine, but my log file is filling with these messages:

2018-10-15 23:30:18.479 [WARN ] [okhttp3.OkHttpClient                ] - previous digest authentication with same nonce failed, returning null

Hi Thomas,

Some issue’s are filed at that repo. I really hope that you can find some time to move them forward. If i can help in any way, please let me know.

Regards, Leo

@captndelta I have been using the binding for a while now and i hope it will be available on next versions of OH. So if possible could it be merged into OH master? Or do you mind if someone else takes your code and make a PR against OH?

Is this Binding still supported and work with the latest version of OH? I’m not having any luck with the Binding discovering my Envoy-s unit. I CAN view the inverter info via the v1 API call that uses the default password. I don’t know what logs to review for any issues.

@captndelta seems to have gone quiet. I’ve switched over to using a Jython script, but you can easily use the http binding. See this post for info on the http solution, and this post for info on the Jython solution.

Since development seem to have very much stalled. I’ve picked up and reworked the Enphase binding to get it to work with my system. I’ll hope to get this in the openHAB distribution at some point. You can find a kar file you can drop in the addons directory and a link to the documentation here: https://github.com/Hilbrand/openhab-addons/releases/tag/enphase

Since I changed the interface of the things and if you have an earlier version of this binding you need to recreate your things. You only need to configure it with the serialnumber if you have all other as default. See the documentation at the link above. If you have additional feature request/bug reports please add them as new issue to my GitHub repository for now.

I just tried to install this and my system didn’t seem to recognise it - should the extension be jar rather than kar?

Which openHAB version do you have, because you need to have 2.5.x

Nightly openHAB 2.5.7 Build #160

I’ve just reread this thread, would you like me to open an issue on Github?

If you have additional feature request/bug reports please add them as new issue to my GitHub repository for now.

Due to vacation period I had no time to react earlier.

Do you mean you didn’t see the binding or the binding didn’t see you enphase? If you didn’t see the binding, did you put it in the right directory? I’ve updated the kar file (although I don’t expect it make a difference here) can you try this updated version.

In short, kar files are jar files with additional functionality that it installs any features required by the binding. But this only works for individual bindings since openHAB 2.5.0. For older versions of openHAB you would need a jar file and manually install any dependencies (if needed)

If you get it running and find any issues. yes please open an issue. That makes it easier and faster for me to track and separate different issues.