The problem
When (re)configuring an EZVIZ camera and entering the camera's RTSP
verification code, the config flow fails with a generic "Unexpected
error" instead of completing. The camera's RTSP stream itself works
correctly — confirmed directly via the official EZVIZ mobile app, both
in normal live view and in "LAN Live View" — so this appears to be a
bug in the RTSP credential test step itself, not an actual
connectivity/credentials problem.
What version of Home Assistant Core has the issue?
2026.9.3
What was the last working version of Home Assistant Core?
Unknown
What type of installation are you running?
Home Assistant OS
Integration causing the issue
EZVIZ
Link to integration documentation on our website
https://www.home-assistant.io/integrations/ezviz/
Diagnostics information
Camera model: EZVIZ C8C, firmware V5.3.9 build 260702
Example YAML snippet
N/A (configured via the UI config flow)
Anything in the logs that might be useful for us?
Logger: homeassistant.components.ezviz.config_flow
Source: components/ezviz/config_flow.py:296
Integration: EZVIZ
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/ezviz/config_flow.py", line 296, in async_step_confirm
return await self._validate_and_create_camera_rtsp(user_input)
File "/usr/src/homeassistant/homeassistant/components/ezviz/config_flow.py", line 133, in _validate_and_create_camera_rtsp
await self.hass.async_add_executor_job(_login_wake_and_test)
File "/usr/local/lib/python3.14/concurrent/futures/thread.py", line 86, in run
result = ctx.run(self.task)
File "/usr/local/lib/python3.14/concurrent/futures/thread.py", line 73, in run
return fn(*args, **kwargs)
File "/usr/src/homeassistant/homeassistant/components/ezviz/config_flow.py", line 131, in _login_wake_and_test
_test_camera_rtsp_creds(data)
File "/usr/src/homeassistant/homeassistant/components/ezviz/config_flow.py", line 86, in _test_camera_rtsp_creds
test_rtsp.main()
File "/usr/local/lib/python3.14/site-packages/pyezvizapi/test_cam_rtsp.py", line 106, in main
if msg1.decode().find("200 OK") > 1:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 436: invalid start byte
Additional information
The RTSP stream works correctly when tested outside Home Assistant
(EZVIZ app, LAN Live View), which suggests the camera's real RTSP
response contains bytes that pyezvizapi's test_cam_rtsp.py fails to
decode as UTF-8, causing the config flow to crash instead of
completing or showing a clear validation error.
The problem
When (re)configuring an EZVIZ camera and entering the camera's RTSP
verification code, the config flow fails with a generic "Unexpected
error" instead of completing. The camera's RTSP stream itself works
correctly — confirmed directly via the official EZVIZ mobile app, both
in normal live view and in "LAN Live View" — so this appears to be a
bug in the RTSP credential test step itself, not an actual
connectivity/credentials problem.
What version of Home Assistant Core has the issue?
2026.9.3
What was the last working version of Home Assistant Core?
Unknown
What type of installation are you running?
Home Assistant OS
Integration causing the issue
EZVIZ
Link to integration documentation on our website
https://www.home-assistant.io/integrations/ezviz/
Diagnostics information
Camera model: EZVIZ C8C, firmware V5.3.9 build 260702
Example YAML snippet
N/A (configured via the UI config flow)Anything in the logs that might be useful for us?
Logger: homeassistant.components.ezviz.config_flow Source: components/ezviz/config_flow.py:296 Integration: EZVIZ Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/ezviz/config_flow.py", line 296, in async_step_confirm return await self._validate_and_create_camera_rtsp(user_input) File "/usr/src/homeassistant/homeassistant/components/ezviz/config_flow.py", line 133, in _validate_and_create_camera_rtsp await self.hass.async_add_executor_job(_login_wake_and_test) File "/usr/local/lib/python3.14/concurrent/futures/thread.py", line 86, in run result = ctx.run(self.task) File "/usr/local/lib/python3.14/concurrent/futures/thread.py", line 73, in run return fn(*args, **kwargs) File "/usr/src/homeassistant/homeassistant/components/ezviz/config_flow.py", line 131, in _login_wake_and_test _test_camera_rtsp_creds(data) File "/usr/src/homeassistant/homeassistant/components/ezviz/config_flow.py", line 86, in _test_camera_rtsp_creds test_rtsp.main() File "/usr/local/lib/python3.14/site-packages/pyezvizapi/test_cam_rtsp.py", line 106, in main if msg1.decode().find("200 OK") > 1: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 436: invalid start byteAdditional information
The RTSP stream works correctly when tested outside Home Assistant
(EZVIZ app, LAN Live View), which suggests the camera's real RTSP
response contains bytes that pyezvizapi's test_cam_rtsp.py fails to
decode as UTF-8, causing the config flow to crash instead of
completing or showing a clear validation error.