Enphase integration fails config with self signed SSL cert error

When I try to configure the en phase envoy it auto discovers but on configure errors with self signed SSL cert error. How to resolve?
Logger: homeassistant.components.enphase_envoy.config_flow
Source: components/enphase_envoy/config_flow.py:42
Integration: Enphase Envoy (documentation, issues)
First occurred: 22:22:47 (11 occurrences)
Last logged: 22:38:15

Unexpected exception
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/enphase_envoy/config_flow.py”, line 150, 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 42, in validate_input
await envoy_reader.getData()
File “/usr/local/lib/python3.10/site-packages/envoy_reader/envoy_reader.py”, line 136, in getData
await self.detect_model()
File “/usr/local/lib/python3.10/site-packages/envoy_reader/envoy_reader.py”, line 166, in detect_model
await self.get_serial_number()
File “/usr/local/lib/python3.10/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.10/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.10/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.10/site-packages/httpx/_client.py”, line 1757, in get
return await self.request(
File “/usr/local/lib/python3.10/site-packages/httpx/_client.py”, line 1533, in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
File “/usr/local/lib/python3.10/site-packages/httpx/_client.py”, line 1620, in send
response = await self._send_handling_auth(
File “/usr/local/lib/python3.10/site-packages/httpx/_client.py”, line 1648, in _send_handling_auth
response = await self._send_handling_redirects(
File “/usr/local/lib/python3.10/site-packages/httpx/_client.py”, line 1685, in _send_handling_redirects
response = await self._send_single_request(request)
File “/usr/local/lib/python3.10/site-packages/httpx/_client.py”, line 1722, in _send_single_request
response = await transport.handle_async_request(request)
File “/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py”, line 353, in handle_async_request
resp = await self._pool.handle_async_request(req)
File “/usr/local/lib/python3.10/site-packages/httpcore/_async/connection_pool.py”, line 253, in handle_async_request
raise exc
File “/usr/local/lib/python3.10/site-packages/httpcore/_async/connection_pool.py”, line 237, in handle_async_request
response = await connection.handle_async_request(request)
File “/usr/local/lib/python3.10/site-packages/httpcore/_async/connection.py”, line 86, in handle_async_request
raise exc
File “/usr/local/lib/python3.10/site-packages/httpcore/_async/connection.py”, line 63, in handle_async_request
stream = await self._connect(request)
File “/usr/local/lib/python3.10/site-packages/httpcore/_async/connection.py”, line 150, in _connect
stream = await stream.start_tls(**kwargs)
File “/usr/local/lib/python3.10/site-packages/httpcore/backends/asyncio.py”, line 78, in start_tls
raise exc
File “/usr/local/lib/python3.10/site-packages/httpcore/backends/asyncio.py”, line 69, in start_tls
ssl_stream = await anyio.streams.tls.TLSStream.wrap(
File “/usr/local/lib/python3.10/site-packages/anyio/streams/tls.py”, line 122, in wrap
await wrapper._call_sslobject_method(ssl_object.do_handshake)
File “/usr/local/lib/python3.10/site-packages/anyio/streams/tls.py”, line 130, in _call_sslobject_method
result = func(*args)
File “/usr/local/lib/python3.10/ssl.py”, line 975, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:997)

I have the same problem. If I go to the IP adres of the discoverd Enphase device via a browser I also get a warning that the SSL certificate is not valid. I assume that is the problem the intergration is facing.

Good to know, I was assuming it was the certificate of HA, but that sounds opposite.I wonder if it possible to get HA to “accept all certs”?

From what I can gather on GitHub is that the new firmware is using a new undocumented authentication method which causes this problem:

Some people are having success with custom integrations mentioned in the second link. I’m still hoping the official one will be patched one day. For now it just seems broken.

Yes, look like we have to wait for the integration to be updated. Here is the documentation of that change. I was able to get the token for my system, but the API requests in the integration need to be updated. :frowning:
https://store-d9.enphase.com/download/iq-gateway-access-using-token-tech-brief

how did you get the token ? my list is empty
image

Enter the name of your system from the app, then the drop-down is populated.

indeed thanks !

Here to follow a bit to see if there are updates. For others who are struggling with “the name of your system” like me: It was my own name. Start typing slowly and the system will show you.

Following, I also get a certificate error.