Remove platform YAML from Qnap (#103377)

This commit is contained in:
G Johansson 2023-11-04 17:59:12 +01:00 committed by GitHub
parent b9b986dc8d
commit d078a4396c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 2 additions and 111 deletions

View file

@ -11,7 +11,6 @@ import voluptuous as vol
from homeassistant import config_entries
from homeassistant.const import (
CONF_HOST,
CONF_MONITORED_CONDITIONS,
CONF_PASSWORD,
CONF_PORT,
CONF_SSL,
@ -22,9 +21,6 @@ from homeassistant.data_entry_flow import FlowResult
from homeassistant.helpers import config_validation as cv
from .const import (
CONF_DRIVES,
CONF_NICS,
CONF_VOLUMES,
DEFAULT_PORT,
DEFAULT_SSL,
DEFAULT_TIMEOUT,
@ -51,14 +47,6 @@ class QnapConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
VERSION = 1
async def async_step_import(self, import_info: dict[str, Any]) -> FlowResult:
"""Set the config entry up from yaml."""
import_info.pop(CONF_MONITORED_CONDITIONS, None)
import_info.pop(CONF_NICS, None)
import_info.pop(CONF_DRIVES, None)
import_info.pop(CONF_VOLUMES, None)
return await self.async_step_user(import_info)
async def async_step_user(
self,
user_input: dict[str, Any] | None = None,

View file

@ -1,13 +1,8 @@
"""Support for QNAP NAS Sensors."""
from __future__ import annotations
import logging
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.components.sensor import (
PLATFORM_SCHEMA,
SensorDeviceClass,
SensorEntity,
SensorEntityDescription,
@ -15,40 +10,20 @@ from homeassistant.components.sensor import (
)
from homeassistant.const import (
ATTR_NAME,
CONF_HOST,
CONF_MONITORED_CONDITIONS,
CONF_PASSWORD,
CONF_PORT,
CONF_SSL,
CONF_TIMEOUT,
CONF_USERNAME,
CONF_VERIFY_SSL,
PERCENTAGE,
UnitOfDataRate,
UnitOfInformation,
UnitOfTemperature,
)
from homeassistant.core import DOMAIN as HOMEASSISTANT_DOMAIN, HomeAssistant
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import PlatformNotReady
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .const import (
CONF_DRIVES,
CONF_NICS,
CONF_VOLUMES,
DEFAULT_PORT,
DEFAULT_TIMEOUT,
DOMAIN,
)
from .const import DOMAIN
from .coordinator import QnapCoordinator
_LOGGER = logging.getLogger(__name__)
ATTR_DRIVE = "Drive"
ATTR_IP = "IP Address"
ATTR_MAC = "MAC Address"
@ -221,54 +196,6 @@ SENSOR_KEYS: list[str] = [
)
]
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_HOST): cv.string,
vol.Optional(CONF_SSL, default=False): cv.boolean,
vol.Optional(CONF_VERIFY_SSL, default=True): cv.boolean,
vol.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port,
vol.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.positive_int,
vol.Required(CONF_USERNAME): cv.string,
vol.Required(CONF_PASSWORD): cv.string,
vol.Optional(CONF_MONITORED_CONDITIONS): vol.All(
cv.ensure_list, [vol.In(SENSOR_KEYS)]
),
vol.Optional(CONF_NICS): cv.ensure_list,
vol.Optional(CONF_DRIVES): cv.ensure_list,
vol.Optional(CONF_VOLUMES): cv.ensure_list,
}
)
async def async_setup_platform(
hass: HomeAssistant,
config: ConfigType,
async_add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the qnap sensor platform from yaml."""
async_create_issue(
hass,
HOMEASSISTANT_DOMAIN,
f"deprecated_yaml_{DOMAIN}",
breaks_in_ha_version="2023.12.0",
is_fixable=False,
issue_domain=DOMAIN,
severity=IssueSeverity.WARNING,
translation_key="deprecated_yaml",
translation_placeholders={
"domain": DOMAIN,
"integration_title": "QNAP",
},
)
hass.async_create_task(
hass.config_entries.flow.async_init(
DOMAIN, context={"source": config_entries.SOURCE_IMPORT}, data=config
)
)
async def async_setup_entry(
hass: HomeAssistant,

View file

@ -84,27 +84,3 @@ async def test_config_flow(hass: HomeAssistant, qnap_connect: MagicMock) -> None
CONF_VERIFY_SSL: const.DEFAULT_VERIFY_SSL,
CONF_PORT: const.DEFAULT_PORT,
}
async def test_config_flow_import(hass: HomeAssistant) -> None:
"""Test import of YAML config."""
data = STANDARD_CONFIG
data[CONF_SSL] = const.DEFAULT_SSL
data[CONF_VERIFY_SSL] = const.DEFAULT_VERIFY_SSL
data[CONF_PORT] = const.DEFAULT_PORT
result = await hass.config_entries.flow.async_init(
const.DOMAIN,
context={"source": config_entries.SOURCE_IMPORT},
data=data,
)
assert result["type"] is data_entry_flow.FlowResultType.CREATE_ENTRY
assert result["title"] == "Test NAS name"
assert result["data"] == {
CONF_HOST: "1.2.3.4",
CONF_USERNAME: "admin",
CONF_PASSWORD: "password",
CONF_SSL: const.DEFAULT_SSL,
CONF_VERIFY_SSL: const.DEFAULT_VERIFY_SSL,
CONF_PORT: const.DEFAULT_PORT,
}