question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Enphase envoy integration still not working with HA 2021.12.0 Non Beta

See original GitHub issue

The problem

I am getting “failed to connect” from home assistant when trying to login with envoy and the last 6 digits of my serial number.

image This is what the login page looks like now from the envoy itself browsing the local IP which also redirects to HTTPS which is a new feature as well. Logging in with my enphase account works here but not through HA. The envoy firmware is Software Version D7.0.66 (ddd0d7). Please let me know if there is any details I can provide.

What version of Home Assistant Core has the issue?

core-2021.12.0

What was the last working version of Home Assistant Core?

NA

What type of installation are you running?

Home Assistant Supervised

Integration causing the issue

Enphase Envoy

Link to integration documentation on our website

https://www.home-assistant.io/integrations/enphase_envoy/

Example YAML snippet

No response

Anything in the logs that might be useful for us?

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1129)
2021-12-11 20:32:17 ERROR (MainThread) [homeassistant.components.enphase_envoy.config_flow] Unexpected exception
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/enphase_envoy/config_flow.py", line 168, in async_step_user
    envoy_reader = await validate_input(self.hass, user_input)
  File "/usr/src/homeassistant/homeassistant/components/enphase_envoy/config_flow.py", line 46, in validate_input
    await envoy_reader.getData()
  File "/usr/local/lib/python3.9/site-packages/envoy_reader/envoy_reader.py", line 136, in getData
    await self.detect_model()
  File "/usr/local/lib/python3.9/site-packages/envoy_reader/envoy_reader.py", line 166, in detect_model
    await self.get_serial_number()
  File "/usr/local/lib/python3.9/site-packages/envoy_reader/envoy_reader.py", line 218, in get_serial_number
    full_serial = await self.get_full_serial_number()
  File "/usr/local/lib/python3.9/site-packages/envoy_reader/envoy_reader.py", line 228, in get_full_serial_number
    response = await self._async_fetch_with_retry(
  File "/usr/local/lib/python3.9/site-packages/envoy_reader/envoy_reader.py", line 128, in _async_fetch_with_retry
    return await client.get(url, timeout=30, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 1736, in get
    return await self.request(
  File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 1513, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 1600, in send
    response = await self._send_handling_auth(
  File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 1628, in _send_handling_auth
    response = await self._send_handling_redirects(
  File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 1665, in _send_handling_redirects
    response = await self._send_single_request(request)
  File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 1702, in _send_single_request
    response = await transport.handle_async_request(request)
  File "/usr/local/lib/python3.9/site-packages/httpx/_transports/default.py", line 291, in handle_async_request
    resp = await self._pool.handle_async_request(req)
  File "/usr/local/lib/python3.9/site-packages/httpcore/_async/connection_pool.py", line 248, in handle_async_request
    raise exc
  File "/usr/local/lib/python3.9/site-packages/httpcore/_async/connection_pool.py", line 232, in handle_async_request
    response = await connection.handle_async_request(request)
  File "/usr/local/lib/python3.9/site-packages/httpcore/_async/connection.py", line 90, in handle_async_request
    raise exc
  File "/usr/local/lib/python3.9/site-packages/httpcore/_async/connection.py", line 67, in handle_async_request
    stream = await self._connect(request)
  File "/usr/local/lib/python3.9/site-packages/httpcore/_async/connection.py", line 146, in _connect
    stream = await stream.start_tls(**kwargs)
  File "/usr/local/lib/python3.9/site-packages/httpcore/backends/asyncio.py", line 62, in start_tls
    ssl_stream = await anyio.streams.tls.TLSStream.wrap(
  File "/usr/local/lib/python3.9/site-packages/anyio/streams/tls.py", line 94, in wrap
    await wrapper._call_sslobject_method(ssl_object.do_handshake)
  File "/usr/local/lib/python3.9/site-packages/anyio/streams/tls.py", line 102, in _call_sslobject_method
    result = func(*args)
  File "/usr/local/lib/python3.9/ssl.py", line 944, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1129)

Additional information

No response

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:70 (7 by maintainers)

github_iconTop GitHub Comments

2reactions
gtdiehlcommented, Jan 19, 2022

Just as an update please see this comment for Issue #78 on the envoy_reader repo. I have some code that supports the new firmware.

1reaction
gtdiehlcommented, Dec 28, 2021

The underlying envoy_reader API would need to be updated to include support for this new login method on Envoys running firmware D7.x. At this point, the only change that could be changed on the Home Assistant side would be to implement some dialog saying the Envoy is not supported.

I don’t have access to an Envoy running this new firmware and mine cannot be upgraded as it’s an older oval model running 3.x firmware. I’ve tried looking for an Envoy that is exposed to the Internet but still no luck. But I think even if I found one exposed to the Internet I don’t know if I can use my access token from Enphase on another’s Envoy device. On the Enphase site, it has two options to create a token; commissioned or uncommissioned envoys.

The Issue #78 is tracked on the API side

Read more comments on GitHub >

github_iconTop Results From Across the Web

Enphase Envoy - Current state of things - Third party integrations
So, it looks like there are still issues with the integration getting the data from the IQ Envoy. The same problem does not...
Read more >
Enphase Envoy Login - Website Login
Enphase Envoy Login, Meet the brains behind smart home energy. ... Enphase envoy integration still not working with HA 2021.12.0 Non Beta.
Read more >
Running firmware 7.x, unable to connect to Home Assistant ...
Running firmware 7.x, unable to connect to Home Assistant using built-in integration. It does not take 'envoy' and any password combo I can ......
Read more >
Add Enphase Envoy : r/homeassistant - Reddit
Documentation is not very specific and I tried all the options provided with no luck: Enphase Integration. Thanks!
Read more >
What is pentair scg integration - Weebly
Thank you for contributing, and thank you for reporting an issue. ... The protocol is no longer compatible/usable with this integration.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found