From b0b4134dedf46db502aa8192f58a24b92f2bff4e Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 29 Apr 2023 14:33:25 -0500 Subject: [PATCH] Handle onvif errors when detail is returned as bytes (#92259) --- homeassistant/components/onvif/util.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/onvif/util.py b/homeassistant/components/onvif/util.py index 6f03af3629b..978473caa24 100644 --- a/homeassistant/components/onvif/util.py +++ b/homeassistant/components/onvif/util.py @@ -18,7 +18,12 @@ def stringify_onvif_error(error: Exception) -> str: if isinstance(error, Fault): message = error.message if error.detail: - message += ": " + error.detail + # Detail may be a bytes object, so we need to convert it to string + if isinstance(error.detail, bytes): + detail = error.detail.decode("utf-8", "replace") + else: + detail = str(error.detail) + message += ": " + detail if error.code: message += f" (code:{error.code})" if error.subcodes: