Need testers for updated Enphase Envoy sensor

it possible for you to post this on french forum ?

Hi @mathep34
Bonjour!

Does this method of Energy Independence require the HA instance to have been running from midnight to get the historical Imported Power reading from 00:00? I note on the Enphase Enlighten App that they have a “Imported” energy figure. Do you know if it is possible to extract that from the Ehphase Envoy-S directly as with the other available data in HA using any addition to this:

# EnPhase Data
sensor:
  - platform: enphase_envoy
    name: Hauxton
    ip_address: 192.168.xx.xx
    username: envoy
    monitored_conditions:
      - production
      - daily_production
      - seven_days_production
      - seven_days_consumption
      - lifetime_production
      - lifetime_consumption
      - consumption
      - daily_consumption
      - inverters

Then the Energy Independence would match the Enlighten App exactly?

Hello @angusc ,
I did it like this because I don’t know how they calculate it .
I have same config

And, Energy Independence is not exactly same…
Pierre

1 Like

Ok thank you, according to enlighten app they calculate like this:

But they don’t subtract the solar that we export to grid so their percentage is on the favorable side to us, but I guess helping mother earth with our green solar.

Hopefully someone will add support to read Envoy data on Enpower and Encharge batteries as well. I see that http://envoy.local/home.json returns some data on both, for those Envoy’s which have the latest firmware.

I’m working on retrieving battery data from production.json page of the Envoy.

Though I have some questions as I don’t have an Envoy with ACB or Encharge or the Encharge Smart Switch device.

I can pull the Battery data and display this in Home Assistant:

For most users without Batteries installed the production.json web page returns this at the end of the page:

...
"storage":[{"type":"acb","activeCount":0,"readingTime":0,"wNow":0,"whNow":0,"state":"idle"}]}

Though the one (and only one that I’ve seen) where batteries were installed the production.json returned this at the end:

...
"storage": [{"type": "acb","activeCount": 4,"readingTime": 1595203104,"wNow": -178,"whNow": 285,"state": "charging","percentFull": 6}

The difference between the two is the percentFull attribute.

I’m thinking rather than display the above data in Home Assistant for everyone, only display the battery data if the percentFull attribute is present, which would result in something like this in Home Assistant:

The questions I have for everyone is:

  • Is percentFull always only shown for systems that have batteries installed?
  • For @ryans suggestion to display the status of the Encharge Smart Switch, would it make sense to display it as a separate entity in Home Assistant as this device can be installed without Batteries?
1 Like

Hello,

I am struggling to get off the ground here. New to HA. Have SSH setup, have edited my configuration.yaml with the following at the end of the file - so it looks like this in its entirety:

# Configure a default setup of Home Assistant (frontend, api, etc) default_config:

Text to speech

tts:

  • platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

ENPHASE ENVOY (SOLAR) SENSOR

  • platform: enphase_envoy
    name: envoy
    ip_address: 192.168.0.242
    monitored_conditions:
    • consumption
    • production
    • daily_consumption
    • daily_production
    • seven_days_consumption
    • seven_days_production
    • lifetime_consumption
    • lifetime_production
    • inverters

I have done nothing with any python scripts etc… not sure if this matters, but am running HA on Pi. I do not seem to have a homassistant or a components directory so unsure where to start.

Can anyone offer some baby steps for me to get going please?

thanks

Mark

apologies about the formatting of the contents of the configurations.yaml

Are you looking for suggestions on how to display the Envoy data? Or are you having problems even seeing the Envoy data?

I just updated my Home Assistant Core, and now the Enphase Envoy self-discovers as an Integration, with a message that I can remove it from my config.yaml.

That’s great! However, how can I now configure settings, such as the frequency of fetching, and exactly which elements I want to retrieve from the system?

Hi there,

Im faced with the same issue tht I updated to the latest core 2021.5.1 and then all my Enphase entities stopped working and like you now I see the Enphase has been discovered as an Integration. I got two integrations for some reasons. One was for the Inverters and the other for the other data.

But when I try to Configure the following prompt just rapidly flashes and does not connect to the envoy. I know this is the correct IP addres:

image

Does anyone know how to set up the new Enphase Envoy integration since moving to the laters HA Core?

What makes matters worse is that even I try to go back to an earlier FULL snapshot my system remains broken and no longer does the Enphase integrations work!

Thanx in Advance for any assistance.

EDIT: After commenting out the config.yaml for the original Enphase controller I now only have one Enphase Integration but still unable to connect to it:
image

First, I should say that the new Integration seems much more reliable. For me, the previous version used to stop collecting metrics after 1-2 days and I had to restart HA to get it working.

The Password is the last 6 digits of your Serial Number. You can view the Serial number by going to the IP address of the Envoy system – it will display an information screen with the data.

I updated my Lovelace elements to use the new Envoy names and it seems to be working quite well. I also found that I could edit the Integration and disable the Inverter metrics (which I don’t need). So, all-up it seems to be working well now.

2 Likes

Hi Fermax,

Thanx for the tip about the last 6 digits of the serial number as the password I had forgotten that from the original set up, but I still cant connect… is the username as per the default and “envoy”?

@gregtd

OK figured out something, not sure if it is a bug in the new integration. My Envoy was connected via WIFI (192.168.100.40) and the integration just refused to connect. Then I plugged in the LAN cable and restarted HA. Then the new integration was available but with different IP address for the LAN connection (still in the same IP range 192.168.100.125). So now it connected almost immediately, now going through all my automations and .yaml files as previously I had called my Enphase integration “hauxtonenvoy” and now the entities are all called “sensor.envoy_1220190xxxxxx_blah_blah” So now using the Envoy serial number within the entity naming… Hopefully there wont be any more chnges to how this integration defines entities in the future!

Great!

FYI, depending on your router, the Pi can be accessed using envoy.local as a DNS Name, which the router should resolve to the correct IP address.

I actually didn’t make this change, but thanks for the heads up. Things like this should not be changing, unless there’s a good reason. I was MIA for a while due to COVID and family issues, and the change from yaml to config UI was done at that time. It was something I was planning on doing but never had the time.

I know though for config UI (config-flow) to a unique ID has to be setup for each device.

So before I hit the Reply button, I actually looked into the Release Notes for HA 2021.5 and it appears to be noted in the Breaking Changes section.

Screen Shot 2021-05-12 at 2.31.47 PM

I know it only mentions the Inverters, is the change also giving a unique ID to other entities as well, thus changing your automations?

Hi @gregtd

Sorry to hear that, I hope that everything worked out ok for you and your family.

I guess they have kind of double dipped on the “unique id” but as every entity for Enphase already had the serial number of the entity, for the inverters. So now we get the entity name as a long string including the EnvoyS controller id and also the inverters id…makes reading the entities difficult as the on screen portion that can be read is always the same for all inverters as it is the EnvoyS id.

Example: sensor.envoy_12201902xxxx_inverter_12194202xxxx

Other entities that previously did not have any id are now like:
sensor.envoy_12201902xxxx_current_energy_consumption which isn’t to bad.

As previously in the .yaml config, I had set my name as ‘qwerty’ then all my other config files used ‘sensor.qwertyenvoy…’ so arguable had a unique entity id.

But long story short, all good for me now, once I realised the changes required. But usual story…the release break changes only tell you it will break and never the solution. As I had set the original integration several months ago, I had forgotten about the last 6 digits of the serial had to be used as the password.

Regards Chris

1 Like

I’m looking into the code and seeing about only letting the user initially enter in the IP address/hostname, and let the API test if the default username and password works. If so then no more info needed and the integration will be setup. If the default credentials fails a dialog will appear asking for a username and password. And if the user still does not have the credentials continue with the setup but will not gather inverter details.

Some users on the older Envoys don’t have access to the inverter data without going through an Android app to decrypt retrieve the installer password from the serial number.

I think this might be a better solution, as most users will only need an IP address to have the underlying API get all of the Envoy data including Inverter data.

I have most of the code done, I just need to clean it up and submit a PR but here are the screenshots for the change during setup:
Screen Shot 2021-05-13 at 12.05.43 PM
Screen Shot 2021-05-13 at 12.07.41 PM

2 Likes

Updated Hass to 2021.5.x, Envoy integration got autodiscovered. Now have sensors for all microinverters, whether I wanted them or not :wink:

However the new integration is still marked as “Discovered” with a highlighted configure button.

I have a separate new “Envoy” card under integrations. It shows 27 entities, one for each microinverter, but doesn’t show any of the main entities such as production today.

So I haven’t explicitly enabled the new integration but yet it seems to be enabled.

It is great to see all of the progress that has been made on this, but I’ve got some questions:

It does look like I’ve got new consumption sensors that I never had before. (I don’t have consumption CTs so this is incorrect data that I don’t need to store.)

If one wants to disable the new integration, or some of the entities like consumption, how does that happen? Configuration via YAML is now marked as deprecated.

What’s the default scan interval for the inverter data and the other data?

If the envoy gets overloaded, how do I disable the inverter data collection? See the above comment about the current state of the integration cards. There is an Envoy card that covers the inverters, but nothing else. It’s not clear, if I disable that does it affect just the inverters, or all envoy sensors?

If I want to raise issues, I don’t think these are envoy_reader issues, so do they need to be raised against Home Assistant to be tied to the integration?


Note: I have the old manually configured envoy sensor. I don’t know how this changed the UX for the autodiscovery of the new/updated integration.

sensor envoy:
  - platform: enphase_envoy
    ip_address: envoy
    scan_interval: 150
    monitored_conditions:
      - production
      - daily_production

Hi @rct

You can disable entites through HA Configuration. From the Integrations page click on the like for the Enphase Envoy entities. This will filter the Entity list to only Enphase entities. Click on the entities you want to disable. In the screenshot I have the production entitiy but this is just an example of what the dialog looks like. Click on the Enable Entity slider to move it to the left and click on the Update buton. The entity will not become unavailable. Though the entity is unavailable, data is still retrieved via the API.

The SCAN_INTERVAL in the code is set to 60 seconds.

At this point there is no way to disable inverter data gathering. A workaround if you don’t want to collect or even retrieve the inverter data is to remove the Enphase Envoy integration from the Configuration page, and re-discover the Envoy. Though when prompted for the username and password put in some credential that will fail. The code then should not retrieve the inverter data.

There is someone working on code to only retrieve inverter data at a greater interval than 60 seconds to avoid over loading the Envoy. But that is still a work in progress.

An issue can be raised in Github against Home Assistant and specifying the Enphase Envoy integration. But if its a change in current behavior you can start here and maybe an issue would need to be opened against the envoy_reader API instead.