Closed bkr1969 closed 1 month ago
Hey there @bdraco, @cgarwood, @dgomes, @joostlek, @catsmanac, mind taking a look at this issue as it has been labeled with an integration (enphase_envoy
) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)
enphase_envoy documentation enphase_envoy source (message by IssueLinks)
Hi @bkr1969, looking at your data this seems to have started on July 3, shortly after noon. Then on July 7 around 4 PM a single update was fetched and no more change since then.
The error httpx.ReadTimeout means that HA could connect to the Envoy and issue it's data request. But no data came back in 45 seconds. After that it will try 1 more time and when same result, this error is issued.
So, there hasn't been anything happen that I can relate to this. I assume I'm using the standard data collection as I've never edited anything. The odd thing is that the actual value seems to be correct (i.e. current production says 302 W) but the graph is stuck at 3100. This also show up in my cards. If I use the mini graph card, it graphs the same way (stuck at 3100) but a custom bar card displays correctly (302). This is very odd. Nothing in the app itself is off either, everything is displaying as normal bars growing through the day then shrinking toward evening. I have enabled debugging and will monitor. Thanks for the quick response.
Here's an example of the discrepancy between the value and the graph:
2756 W is the correct current production, so why does it graph (also in the enphase integration as well) as 3110, and that number every hour? This is what I find so odd.
I will also modify my previous answer about what could've happened on July 3 and July 7. Both of those were HA Core updates...2024.7.0 on the 3rd and 2024.7.1 on the 7th.
The diagnostic report does not reveal any surprises. Envoy metered with 1 Current Transformer to measure PV production, no consumption measurements.
Based on your latest information this sounds as if the problem has started with the installation of 2024.7. And the value updated once when you upgraded to 2024.7.1. I wouldn't be surprised if you are experiencing the recorder purge issue. You may want to check the community pages on this: https://community.home-assistant.io/t/psa-2024-7-recorder-problems/746428/61.
That Envoy time-out is unrelated to the recorder problem, might still be an underlying issue. But the observations you describe have much similarity to the recorder problem. I would need a debug log file to determine if there's an Envoy issue or not. So if you feel that analysis is needed upload one here once you have it.
I uploaded a log 3 posts back. Hope that helps. In the meantime, I have updated the core to 2024.7.2 (no change) and modified the .py file according to the info you posted. That edit seems to have fixed the issue (won't know for an hour or two, but the values did change on the mini bar graph). Thanks again for your help.
That upload was the diagnostic file, not the debug log. But never mind, seems like your out of the woods now.
Yes, except it was related to the iCloud3 integration which no longer works at all after 2024.7.2. Odd how integrations affect each other like that. I appreciate you time and help!
@home-assistant close
The problem
I'm not even sure how to describe this. It just is not displaying the data correctly in the integration itself. This image shows what I mean.
What version of Home Assistant Core has the issue?
2024.7.1
What was the last working version of Home Assistant Core?
2024.6.xx
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Enphase Envoy
Link to integration documentation on our website
https://www.home-assistant.io/integrations/enphase_envoy/
Diagnostics information
Unexpected error fetching Envoy 121847041313 data Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 69, in map_httpcore_exceptions yield File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 373, in handle_async_request resp = await self._pool.handle_async_request(req) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 216, in handle_async_request raise exc from None File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 196, in handle_async_request response = await connection.handle_async_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection.py", line 101, in handle_async_request return await self._connection.handle_async_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpcore/_async/http11.py", line 143, in handle_async_request raise exc File "/usr/local/lib/python3.12/site-packages/httpcore/_async/http11.py", line 113, in handle_async_request ) = await self._receive_response_headers(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpcore/_async/http11.py", line 186, in _receive_response_headers event = await self._receive_event(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpcore/_async/http11.py", line 224, in _receive_event data = await self._network_stream.read( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpcore/_backends/anyio.py", line 32, in read with map_exceptions(exc_map): File "/usr/local/lib/python3.12/contextlib.py", line 158, in exit self.gen.throw(value) File "/usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions raise to_exc(exc) from exc httpcore.ReadTimeout
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 312, in _async_refresh self.data = await self._async_update_data() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/enphase_envoy/coordinator.py", line 147, in _async_update_data envoy_data = await envoy.update() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyenphase/envoy.py", line 417, in update await updater.update(data) File "/usr/local/lib/python3.12/site-packages/pyenphase/updaters/production.py", line 127, in update production_data = await self._json_request(self.end_point) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyenphase/updaters/base.py", line 34, in _json_request response = await self._request(end_point) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyenphase/envoy.py", line 376, in _make_cached_request response = await request_func(endpoint) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/tenacity/asyncio/init.py", line 189, in async_wrapped return await copy(fn, *args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/tenacity/asyncio/init.py", line 111, in call do = await self.iter(retry_state=retry_state) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/tenacity/asyncio/init.py", line 153, in iter result = await action(retry_state) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/tenacity/_utils.py", line 99, in inner return call(*args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/tenacity/init.py", line 418, in exc_check raise retry_exc.reraise() ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/tenacity/init.py", line 185, in reraise raise self.last_attempt.result() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 449, in result return self.get_result() ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 401, in get_result raise self._exception File "/usr/local/lib/python3.12/site-packages/tenacity/asyncio/init.py", line 114, in call result = await fn(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyenphase/envoy.py", line 212, in request return await self._request(endpoint, data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyenphase/envoy.py", line 245, in _request response = await self._client.get( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1801, in get return await self.request( ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1574, in request return await self.send(request, auth=auth, follow_redirects=follow_redirects) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1661, in send response = await self._send_handling_auth( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1689, in _send_handling_auth response = await self._send_handling_redirects( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1726, in _send_handling_redirects response = await self._send_single_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1763, in _send_single_request response = await transport.handle_async_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 372, in handle_async_request with map_httpcore_exceptions(): File "/usr/local/lib/python3.12/contextlib.py", line 158, in exit self.gen.throw(value) File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 86, in map_httpcore_exceptions raise mapped_exc(message) from exc httpx.ReadTimeout
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response