Open asinla opened 1 year ago
So you are using an Envoy Model S Metered but the CT's are not connected? This raises some issues: First of all the integration is not really designed to support this type of setup at the moment. Even with support you could only get the Lifetime Energy Production data. There is currently no knowledge about a local endpoint that would provide the missing data in a configuration like yours.
Here you can see the output of the production endpoints in a similar configuration. https://github.com/briancmpbll/home_assistant_custom_envoy/issues/51#issuecomment-1507174875
Thanks for the reply.
Yes, the CT's are not able to be used in a SCE ( SoCal Edison ) panel. No-one but Edison has access and the in and out are connected to a busbar.
So I purchased and connected the Emporia Vue Utility Connect device which connects to the SCE meter via zigbee. Through their app I can see a graph that basically goes up and down with production and consumption and changes colour depending on which is greater. Graph turns green and starts from zero when production becomes more than consumption. There is a great HA integration that gets me that data in HA. My plan was to use the Enphase Envoy production data and the Emporia Vue data in HA to create the energy monitoring I would like to see which is basically recreate what the Enlighten app would show me if the CT's were connected. I am by no means a programmer so i do not 100% understand your reply.
Are you basically saying there is no way to do what I need to do?
Thanks again for your time!
Hey @asinla,
to get values for "Lifetime Energy Production" right now you could fork the repository and change lines 653/654 in envoy_reader.py.
from:
raw_json = self.endpoint_production_v1_results.json()
lifetime_production = raw_json["wattHoursLifetime"]
to:
raw_json = self.endpoint_production_json_results.json()
lifetime_production = raw_json["production"][0]["whLifetime"]
"Lifetime Energy Production" could to be used as an input for the home-assistant energy dashboard.
At the moment I am not aware of a local API endpoint that would provide the missing data for "Last Seven Days Energy Production" and "Today's Energy Production" in your type of configuration.
Maybe at some point in the future someone figures out a way to collect this data in a configuration like yours.
Hope I could help.
Think the key to detection if an envoy-s metered is using production meters is in the returned json.
A non-metered Envoy (mine) only returns 1 production element in production.json
{
"production": [
{
"type": "inverters",
"activeCount": 24,
"readingTime": 1681398307,
"wNow": 4829,
"whLifetime": 4404
}
],
"storage": [
{
"type": "acb",
"activeCount": 0,
"readingTime": 0,
"wNow": 0,
"whNow": 0,
"state": "idle"
}
]
}
An ENVOY Metered returns a second production segment (see 51)
"production": [
{
"type": "inverters",
"activeCount": 36,
"readingTime": 1681415788,
"wNow": 0,
"whLifetime": 2257824
},
{
"type": "eim",
"activeCount": 1,
"measurementType": "production",
"readingTime": 1681415832,
"wNow": 16.887,
"whLifetime": 2290568.952,
"varhLeadLifetime": 10.06,
"varhLagLifetime": 1574734.433,
"vahLifetime": 3509103.029,
"rmsCurrent": 2.525,
"rmsVoltage": 700.504,
"reactPwr": 566.519,
"apprntPwr": 589.95,
"pwrFactor": 0.03,
"whToday": 56433.952,
"whLastSevenDays": 315611.952,
"vahToday": 63388.029,
"varhLeadToday": 0.06,
"varhLagToday": 13068.433
}
],
An Envoy metered with no production CT connected will report activeCount 0 in the second production segment, see 51
{
"production": [
{
"type": "inverters",
"activeCount": 20,
"readingTime": 1681399316,
"wNow": 3762,
"whLifetime": 997588
},
{
"type": "eim",
"activeCount": 0,
"measurementType": "production",
"readingTime": 1681399542,
"wNow": -0.029,
"whLifetime": 0,
"varhLeadLifetime": 0,
"varhLagLifetime": 0,
"vahLifetime": 0,
"rmsCurrent": 0.256,
"rmsVoltage": 253.917,
"reactPwr": 0,
"apprntPwr": 17.449,
"pwrFactor": 0,
"whToday": 0,
"whLastSevenDays": 0,
"vahToday": 0,
"varhLeadToday": 0,
"varhLagToday": 0
}
],
So if there's a production[1] and activecount = 0 then use the production[0][whlifetime] instead of the [1] one. Provided that this number is the correct number as there seems to be some discussion on that. You should be able the validate that number against the enphase website numbers.
Thanks so much for your time catsmanac. I really appreciate it.
I was sure that if the Enlighten app was giving me production numbers and the Emporia Vue app was giving me consumption numbers then I would be able to use those 2 in HA in some way. I will have to take my time and see if I can figure out a way to use what you said above. I have a friend who codes so I'll ask him for help.
Thanks again, have a great week.
Hey @catsmanac, i am actually working on a fork that incorporates this kind of detection. It's still in an early state but it's currently working in my setup with an Envoy-S metered.
If you like you could give it a try.
Hey @catsmanac, i am actually working on a fork that incorporates this kind of detection. It's still in an early state but it's currently working in my setup with an Envoy-S metered.
If you like you could give it a try.
Trying it, feedback in your repo's issues
Hey @asinla,
to get values for "Lifetime Energy Production" right now you could fork the repository and change lines 653/654 in envoy_reader.py.
from:
raw_json = self.endpoint_production_v1_results.json() lifetime_production = raw_json["wattHoursLifetime"]
to:
raw_json = self.endpoint_production_json_results.json() lifetime_production = raw_json["production"][0]["whLifetime"]
"Lifetime Energy Production" could to be used as an input for the home-assistant energy dashboard.
At the moment I am not aware of a local API endpoint that would provide the missing data for "Last Seven Days Energy Production" and "Today's Energy Production" in your type of configuration.
Maybe at some point in the future someone figures out a way to collect this data in a configuration like yours.
Hope I could help.
Hi I can confirm this fix is working for me!! I changed the code on lines 657/658 (below ENVOY_MODEL_S and is not self.isMeteringEnabled) though...
Same issue here. No production values, only current production. I suppose above solution works for all production values? Thanks!
Same issue here, the HA integration stopped working for me, but this custom integration works .. except the today, week and lifetime stays at 0 Wh.
Envoy-S-Metered-EU SKU: ENV-S-WM-230 Firmware: D7.6.175
I have the same issue, today's and 7 day power counters are report 0.
With the 5.x firmware and default HA integration these values were reported. In the installer app they are also reported.
Update: It seems that with the latest firmware /api/v1/production returns 0 for the wattHoursToday and wattHoursSevenDays.
I have opened an issue in the Enphase installer app.
Firmware D7.6.175 (f79c8d) Envoy-s standard
Installer app:
My Envoy-s EU non metered now on 7.6.175 is still reporting all data as before in v1/production. Data in production.json was not correct before and now with the exceptions of wNow that matches wattsNow in v1/production. Seems metered ones are impacted (with and withouth meters connected/enabled)
Are all of you with this problem using ENVOY metered without CT's connected?
(With activeCount 0 for type eim in production.json
"type": "eim",
"activeCount": 0,
)
I have a non metered (Envoy-s standard).
In my Envoy-s the fields wattHoursToday and wattHoursSevenDays are both 0.
However the Enphase website shows them correctly. It looks something is fishy with my Envoy-s and current firmware. But Enphase is looking into it.
Keep us posted. I'm running Envoy-s standard EU with d7.6.175 as well and am getting v1/production correctly (fingers crossed I guess)
{
"wattHoursToday": 30937,
"wattHoursSevenDays": 342385,
"wattHoursLifetime": 5089571,
"wattsNow": 1068
}
@Imaginous can we close this one?
Does it actually already work without modification of the code for non metered? I haven’t updated since I changed the code in version 0.0.11
Mine still not working.
I just got PTO officially yesterday and the system had been turned off the week prior by my installer so I’m waiting for at least a week of fresh data to try again. But currently it’s the same as it was when I started this thread.
@Theetjuh I'm running ENVOY-S EU Standard (non-metered) with V0.0.17. Which is something different as ENVOY-S metered without CT configured/connected. Sometimes there's confusion about this detail. For real plain vanilla ENVOY-S non metered the only fundamental change is the cached token so a restart/reload is not dependent on the Enphase web-site performance. You may consider switching to new HA Core enphase envoy expected in one of September releases.
@asinla the metered envoy without CT configured/connected is known to not return daily and last seven day values. Furthermore it reportedly resets lifetime production to 0 when it reaches ~1.2Mhh, see note 2 in the readme. Since mid july release the code recognizes this situation and grabs the lifetime and current values from a different location in the same report so these are at least available.
Got it, thanks.
I’ll keep my eye open for the HA Sept release and see if there’s any movement.
HA release will have same issue as it's an Envoy firmware problem, we worked around the best we could and I think HA core one did too.
@Theetjuh I'm running ENVOY-S EU Standard (non-metered) with V0.0.17. Which is something different as ENVOY-S metered without CT configured/connected. Sometimes there's confusion about this detail. For real plain vanilla ENVOY-S non metered the only fundamental change is the cached token so a restart/reload is not dependent on the Enphase web-site performance. You may consider switching to new HA Core enphase envoy expected in one of September releases.
Well that didn't work, so I'm back :) The daily/week/lifetime sensors didn't update ... so the current implementation within HA is not working for me.
It's been reported at various locations that ENVOY-Metered without CT's installed/configured is not providing data in daily weekly entities.
Can you post the diagnostic report of the Envoy here just to confirm I'm not overlooking anything? (download it to your pc from the envoy device page in HA, Rename it to .txt and upload in a reply. Sensitive data like pw are hidden, but you may want to remove other entities if you like and/or replace the Envoy serial if you want to hide it as well)
I’ll try and create a seperate HA instance, cause constant switching between the implementations causes major corruption in my energy history.
Give me some time for that please, for now I can tell you that this DEV implementation gives lifetime sensor data and the one in HA doesn’t.
HA release will have same issue as it's an Envoy firmware problem, we worked around the best we could and I think HA core one did too.
I see quite some activities in the HA Core Envoy environment, so they are probably working out the startup issues.
HA 2023.9.1 seems to be working in my test environment, at least I see the same current power production and lifetime energy production as in my prod environment, so they probably changed something in the .1 release.
Will run it for a day or so and see if the energy dashboard is updated, then I'll update my prod environment. Will keep you posted.
It works, so I migrated to the HA implementation, thanks for all the info and help @catsmanac!
Install went fine, thanks so much for this.
However the Daily, Weekly and Lifetime production sensors show 0.0 after 4 days of me installing the integration. My Enlighten app and website show the data fine but for some reason in HA it's just 0.
I do not have CT's installed (cannot do that with SCE meter unfortunately) so consumption will definitely show as 0. I am setting up my Emporia View data to work with this Enphase data as soon as I can figure out this issue.
Thanks for your time!
I'll buy you a coffee today!