diff --git a/homeassistant/components/fritzbox_callmonitor/config_flow.py b/homeassistant/components/fritzbox_callmonitor/config_flow.py index 60888b83096..5df1e7fc215 100644 --- a/homeassistant/components/fritzbox_callmonitor/config_flow.py +++ b/homeassistant/components/fritzbox_callmonitor/config_flow.py @@ -141,12 +141,6 @@ class FritzBoxCallMonitorConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): """Get the options flow for this handler.""" return FritzBoxCallMonitorOptionsFlowHandler(config_entry) - async def async_step_import( - self, user_input: dict[str, Any] | None = None - ) -> FlowResult: - """Handle configuration by yaml file.""" - return await self.async_step_user(user_input) - async def async_step_user( self, user_input: dict[str, Any] | None = None ) -> FlowResult: diff --git a/homeassistant/components/fritzbox_callmonitor/sensor.py b/homeassistant/components/fritzbox_callmonitor/sensor.py index 12b3ed2849f..ed2be40f30f 100644 --- a/homeassistant/components/fritzbox_callmonitor/sensor.py +++ b/homeassistant/components/fritzbox_callmonitor/sensor.py @@ -10,35 +10,20 @@ from time import sleep from typing import Any, cast from fritzconnection.core.fritzmonitor import FritzMonitor -import voluptuous as vol from homeassistant.backports.enum import StrEnum -from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity -from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry -from homeassistant.const import ( - CONF_HOST, - CONF_NAME, - CONF_PASSWORD, - CONF_PORT, - CONF_USERNAME, - EVENT_HOMEASSISTANT_STOP, -) +from homeassistant.components.sensor import SensorEntity +from homeassistant.config_entries import ConfigEntry +from homeassistant.const import CONF_HOST, CONF_PORT, EVENT_HOMEASSISTANT_STOP from homeassistant.core import Event, HomeAssistant -import homeassistant.helpers.config_validation as cv from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.entity_platform import AddEntitiesCallback -from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from .base import FritzBoxPhonebook from .const import ( ATTR_PREFIXES, CONF_PHONEBOOK, CONF_PREFIXES, - DEFAULT_HOST, - DEFAULT_NAME, - DEFAULT_PHONEBOOK, - DEFAULT_PORT, - DEFAULT_USERNAME, DOMAIN, FRITZBOX_PHONEBOOK, ICON_PHONE, @@ -61,40 +46,6 @@ class CallState(StrEnum): IDLE = "idle" -# Deprecated in Home Assistant 2022.3 -PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( - { - vol.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - vol.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, - vol.Optional(CONF_USERNAME, default=DEFAULT_USERNAME): cv.string, - vol.Optional(CONF_PASSWORD): cv.string, - vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - vol.Optional(CONF_PHONEBOOK, default=DEFAULT_PHONEBOOK): cv.positive_int, - vol.Optional(CONF_PREFIXES): vol.All(cv.ensure_list, [cv.string]), - } -) - - -async def async_setup_platform( - hass: HomeAssistant, - config: ConfigType, - async_add_entities: AddEntitiesCallback, - discovery_info: DiscoveryInfoType | None = None, -) -> None: - """Import the platform into a config entry.""" - _LOGGER.warning( - "Configuration of the AVM FRITZ!Box Call Monitor sensor platform in YAML " - "is deprecated and will be removed in Home Assistant 2022.5; " - "Your existing configuration has been imported into the UI automatically " - "and can be safely removed from your configuration.yaml file" - ) - hass.async_create_task( - hass.config_entries.flow.async_init( - DOMAIN, context={"source": SOURCE_IMPORT}, data=config - ) - ) - - async def async_setup_entry( hass: HomeAssistant, config_entry: ConfigEntry, diff --git a/tests/components/fritzbox_callmonitor/test_config_flow.py b/tests/components/fritzbox_callmonitor/test_config_flow.py index 05b2eba440e..51884abe96f 100644 --- a/tests/components/fritzbox_callmonitor/test_config_flow.py +++ b/tests/components/fritzbox_callmonitor/test_config_flow.py @@ -13,7 +13,7 @@ from homeassistant.components.fritzbox_callmonitor.const import ( FRITZ_ATTR_SERIAL_NUMBER, SERIAL_NUMBER, ) -from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_USER +from homeassistant.config_entries import SOURCE_USER from homeassistant.const import ( CONF_HOST, CONF_NAME, @@ -68,44 +68,6 @@ MOCK_PHONEBOOK_INFO_2 = {FRITZ_ATTR_NAME: MOCK_PHONEBOOK_NAME_2} MOCK_UNIQUE_ID = f"{MOCK_SERIAL_NUMBER}-{MOCK_PHONEBOOK_ID}" -async def test_yaml_import(hass: HomeAssistant) -> None: - """Test configuration.yaml import.""" - - with patch( - "homeassistant.components.fritzbox_callmonitor.base.FritzPhonebook.__init__", - return_value=None, - ), patch( - "homeassistant.components.fritzbox_callmonitor.base.FritzPhonebook.phonebook_ids", - new_callable=PropertyMock, - return_value=[0], - ), patch( - "homeassistant.components.fritzbox_callmonitor.base.FritzPhonebook.phonebook_info", - return_value=MOCK_PHONEBOOK_INFO_1, - ), patch( - "homeassistant.components.fritzbox_callmonitor.base.FritzPhonebook.modelname", - return_value=MOCK_PHONEBOOK_NAME_1, - ), patch( - "homeassistant.components.fritzbox_callmonitor.config_flow.FritzConnection.__init__", - return_value=None, - ), patch( - "homeassistant.components.fritzbox_callmonitor.config_flow.FritzConnection.call_action", - return_value=MOCK_DEVICE_INFO, - ), patch( - "homeassistant.components.fritzbox_callmonitor.async_setup_entry", - return_value=True, - ) as mock_setup_entry: - result = await hass.config_entries.flow.async_init( - DOMAIN, - context={"source": SOURCE_IMPORT}, - data=MOCK_YAML_CONFIG, - ) - - assert result["type"] == RESULT_TYPE_CREATE_ENTRY - assert result["title"] == MOCK_NAME - assert result["data"] == MOCK_CONFIG_ENTRY - assert len(mock_setup_entry.mock_calls) == 1 - - async def test_setup_one_phonebook(hass: HomeAssistant) -> None: """Test setting up manually.""" result = await hass.config_entries.flow.async_init(