From c3316df31d60878e7778881a3e4f21d891eafa58 Mon Sep 17 00:00:00 2001 From: Florian Gareis Date: Thu, 26 Aug 2021 18:33:41 +0200 Subject: [PATCH] Don't create DSL sensor for devices that don't support DSL (#55269) --- homeassistant/components/fritz/sensor.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/fritz/sensor.py b/homeassistant/components/fritz/sensor.py index e3d366e83fd..7b6a6528eab 100644 --- a/homeassistant/components/fritz/sensor.py +++ b/homeassistant/components/fritz/sensor.py @@ -5,7 +5,12 @@ import datetime import logging from typing import Callable, TypedDict -from fritzconnection.core.exceptions import FritzConnectionException +from fritzconnection.core.exceptions import ( + FritzActionError, + FritzActionFailedError, + FritzConnectionException, + FritzServiceError, +) from fritzconnection.lib.fritzstatus import FritzStatus from homeassistant.components.sensor import ( @@ -260,12 +265,16 @@ async def async_setup_entry( return entities = [] - dslinterface = await hass.async_add_executor_job( - fritzbox_tools.connection.call_action, - "WANDSLInterfaceConfig:1", - "GetInfo", - ) - dsl: bool = dslinterface["NewEnable"] + dsl: bool = False + try: + dslinterface = await hass.async_add_executor_job( + fritzbox_tools.connection.call_action, + "WANDSLInterfaceConfig:1", + "GetInfo", + ) + dsl = dslinterface["NewEnable"] + except (FritzActionError, FritzActionFailedError, FritzServiceError): + pass for sensor_type, sensor_data in SENSOR_DATA.items(): if not dsl and sensor_data.get("connection_type") == DSL_CONNECTION: