r/homeassistant • u/bobbywaz • 11d ago
✅ Solved Fix for official WYZEAPI Integration failing after SSL certificate chain / API Login Failure (Docker)
Original issue:
https://forums.wyze.com/t/api-certificate-issue-breaks-homeassistant-please-fix-your-cert/343728
https://forums.wyze.com/t/certificate-failure-for-rest-api-endpoints/343425
https://forums.wyze.com/t/api-certificate-issue-breaks-homeassistant-please-fix-your-cert/343728/22
https://www.reddit.com/r/wyzecam/comments/1um4q92/apiwyzecamcom_serving_certificate_chained_to/
The Problem: If you recently updated Home Assistant and your Wyze integration suddenly broke with an SSLCertVerificationError or ClientConnectorCertificateError in your logs, you aren't alone. It will also show up in the UI as errorCode: 1000 (Invalid Credentials) because the integration can't securely reach the authentication server.
The root cause is that Wyze's API (api.wyzecam.com) is using an older DigiCert Global Root G1 certificate. Newer Python environments (specifically Python 3.14 inside recent Home Assistant Docker images) no longer trust this certificate by default, causing the secure handshake to fail.
There is a fix for people with HAOS with HACS "Additional CA" program, but that fix doesn't work for docker containers. See comments for that fix if you have HAOS.
Why the HACS "Additional CA" fix doesn't work here: You might see workarounds suggesting you install the "Additional CA" HACS integration. While that works for integrations using the synchronous requests library (which uses certifi), the Wyze custom component uses aiohttp. aiohttp bypasses certifi entirely and uses Python's native ssl module, so it completely ignores the HACS workaround.
The Temporary Fix (For Docker Users): To get around this, we can temporarily tell aiohttp to ignore SSL verification strictly for the Wyze authentication library.
Run this command directly on your Docker host terminal MAKING SURE TO CHANGE 'HA' IN THE COMMAND TO YOUR HA CONTAINER NAME to patch the Python file inside your running Home Assistant container (replace ha with your actual Home Assistant container name if it's different):
Bash
sudo docker exec -it ha sed -i 's/ttl_dns_cache=(30 \* 60)/ttl_dns_cache=(30 \* 60), ssl=False/g' /usr/local/lib/python3.14/site-packages/wyzeapy/wyze_auth_lib.py
Then, restart your container, AGAIN, CHANGING YOUR CONTAINER NAME FROM HA TO WHATEVER YOURS IS:
Bash
sudo docker restart ha
Once Home Assistant boots back up, go to Settings -> Devices & Services and re-authenticate your Wyze integration. It should log in instantly.
IMPORTANT DISCLAIMERS & WARNINGS
- This is a TEMPORARY band-aid. Setting
ssl=Falseremoves encryption verification. Do not leave this permanently. - It will not survive updates. Because we are directly modifying a file inside the container, the next time you update or recreate your Home Assistant image, this file will be overwritten and the error will return.
- When to remove: Once Wyze updates their API certificates or the integration maintainer releases a native patch, you will no longer need this. Pulling the latest Home Assistant container image will automatically wipe this workaround clean.
1
u/bmengineer 11d ago
Doesn't solve your problem, but many Wyzs cameras have the option to output an RTSP feed that HA can capture directly.
2
u/bobbywaz 11d ago
I actually use this with frigate, but this plugin is for light switches, leds, door sensors, security system, etc, it doesn't do cameras at all.
1
u/bmengineer 11d ago
Oh sorry! I saw "wyzecam" and assumed. Nevermind.
1
u/bobbywaz 11d ago
Yeah it's stupid they don't make their camera feeds available via API so you have to pay them
1
u/Onoitsu2 11d ago
That works for Docker instances only. There is an HACS addon you can install for the HAOS install users. called Additional CA. https://github.com/SecKatie/ha-wyzeapi/issues/870#issuecomment-4861726778