Skip to content

EZVIZ config flow crashes with UnicodeDecodeError when testing camera RTSP credentials #182988

Description

@soxfilippo

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions