mirror of
https://github.com/home-assistant/core.git
synced 2025-07-26 22:57:17 +00:00
Remove platform YAML from Qnap (#103377)
This commit is contained in:
parent
b9b986dc8d
commit
d078a4396c
@ -11,7 +11,6 @@ import voluptuous as vol
|
|||||||
from homeassistant import config_entries
|
from homeassistant import config_entries
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_HOST,
|
CONF_HOST,
|
||||||
CONF_MONITORED_CONDITIONS,
|
|
||||||
CONF_PASSWORD,
|
CONF_PASSWORD,
|
||||||
CONF_PORT,
|
CONF_PORT,
|
||||||
CONF_SSL,
|
CONF_SSL,
|
||||||
@ -22,9 +21,6 @@ from homeassistant.data_entry_flow import FlowResult
|
|||||||
from homeassistant.helpers import config_validation as cv
|
from homeassistant.helpers import config_validation as cv
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
CONF_DRIVES,
|
|
||||||
CONF_NICS,
|
|
||||||
CONF_VOLUMES,
|
|
||||||
DEFAULT_PORT,
|
DEFAULT_PORT,
|
||||||
DEFAULT_SSL,
|
DEFAULT_SSL,
|
||||||
DEFAULT_TIMEOUT,
|
DEFAULT_TIMEOUT,
|
||||||
@ -51,14 +47,6 @@ class QnapConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
|
|
||||||
VERSION = 1
|
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(
|
async def async_step_user(
|
||||||
self,
|
self,
|
||||||
user_input: dict[str, Any] | None = None,
|
user_input: dict[str, Any] | None = None,
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
"""Support for QNAP NAS Sensors."""
|
"""Support for QNAP NAS Sensors."""
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import logging
|
|
||||||
|
|
||||||
import voluptuous as vol
|
|
||||||
|
|
||||||
from homeassistant import config_entries
|
from homeassistant import config_entries
|
||||||
from homeassistant.components.sensor import (
|
from homeassistant.components.sensor import (
|
||||||
PLATFORM_SCHEMA,
|
|
||||||
SensorDeviceClass,
|
SensorDeviceClass,
|
||||||
SensorEntity,
|
SensorEntity,
|
||||||
SensorEntityDescription,
|
SensorEntityDescription,
|
||||||
@ -15,40 +10,20 @@ from homeassistant.components.sensor import (
|
|||||||
)
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_NAME,
|
ATTR_NAME,
|
||||||
CONF_HOST,
|
|
||||||
CONF_MONITORED_CONDITIONS,
|
|
||||||
CONF_PASSWORD,
|
|
||||||
CONF_PORT,
|
|
||||||
CONF_SSL,
|
|
||||||
CONF_TIMEOUT,
|
|
||||||
CONF_USERNAME,
|
|
||||||
CONF_VERIFY_SSL,
|
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
UnitOfDataRate,
|
UnitOfDataRate,
|
||||||
UnitOfInformation,
|
UnitOfInformation,
|
||||||
UnitOfTemperature,
|
UnitOfTemperature,
|
||||||
)
|
)
|
||||||
from homeassistant.core import DOMAIN as HOMEASSISTANT_DOMAIN, HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.exceptions import PlatformNotReady
|
from homeassistant.exceptions import PlatformNotReady
|
||||||
import homeassistant.helpers.config_validation as cv
|
|
||||||
from homeassistant.helpers.device_registry import DeviceInfo
|
from homeassistant.helpers.device_registry import DeviceInfo
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
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 homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||||
|
|
||||||
from .const import (
|
from .const import DOMAIN
|
||||||
CONF_DRIVES,
|
|
||||||
CONF_NICS,
|
|
||||||
CONF_VOLUMES,
|
|
||||||
DEFAULT_PORT,
|
|
||||||
DEFAULT_TIMEOUT,
|
|
||||||
DOMAIN,
|
|
||||||
)
|
|
||||||
from .coordinator import QnapCoordinator
|
from .coordinator import QnapCoordinator
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
ATTR_DRIVE = "Drive"
|
ATTR_DRIVE = "Drive"
|
||||||
ATTR_IP = "IP Address"
|
ATTR_IP = "IP Address"
|
||||||
ATTR_MAC = "MAC 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(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
|
@ -84,27 +84,3 @@ async def test_config_flow(hass: HomeAssistant, qnap_connect: MagicMock) -> None
|
|||||||
CONF_VERIFY_SSL: const.DEFAULT_VERIFY_SSL,
|
CONF_VERIFY_SSL: const.DEFAULT_VERIFY_SSL,
|
||||||
CONF_PORT: const.DEFAULT_PORT,
|
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,
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user