From 895c0be82c5109b02a8fbfacc2adc2c49c96ce5e Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Sun, 30 Apr 2023 02:19:41 +0200 Subject: [PATCH] Fix call deflection update in Fritz!Tools (#92267) fix --- homeassistant/components/fritz/common.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/fritz/common.py b/homeassistant/components/fritz/common.py index fa35b240d98..821b53f7e12 100644 --- a/homeassistant/components/fritz/common.py +++ b/homeassistant/components/fritz/common.py @@ -385,11 +385,12 @@ class FritzBoxTools( if not raw_data: return {} - items = xmltodict.parse(raw_data["NewDeflectionList"])["List"]["Item"] - if not isinstance(items, list): - items = [items] - - return {int(item["DeflectionId"]): item for item in items} + xml_data = xmltodict.parse(raw_data["NewDeflectionList"]) + if xml_data.get("List") and (items := xml_data["List"].get("Item")) is not None: + if not isinstance(items, list): + items = [items] + return {int(item["DeflectionId"]): item for item in items} + return {} async def _async_get_wan_access(self, ip_address: str) -> bool | None: """Get WAN access rule for given IP address."""