mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Remove scan interval option from Synology DSM (#138490)
remove scan interval option
This commit is contained in:
parent
d6b7762dd6
commit
621bcccef7
@ -10,7 +10,7 @@ from synology_dsm.api.surveillance_station.camera import SynoCamera
|
|||||||
from synology_dsm.exceptions import SynologyDSMNotLoggedInException
|
from synology_dsm.exceptions import SynologyDSMNotLoggedInException
|
||||||
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import CONF_MAC, CONF_VERIFY_SSL
|
from homeassistant.const import CONF_MAC, CONF_SCAN_INTERVAL, CONF_VERIFY_SSL
|
||||||
from homeassistant.core import HomeAssistant, callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.exceptions import ConfigEntryNotReady
|
from homeassistant.exceptions import ConfigEntryNotReady
|
||||||
from homeassistant.helpers import device_registry as dr
|
from homeassistant.helpers import device_registry as dr
|
||||||
@ -68,6 +68,10 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||||||
entry,
|
entry,
|
||||||
options={**entry.options, CONF_BACKUP_SHARE: None, CONF_BACKUP_PATH: None},
|
options={**entry.options, CONF_BACKUP_SHARE: None, CONF_BACKUP_PATH: None},
|
||||||
)
|
)
|
||||||
|
if CONF_SCAN_INTERVAL in entry.options:
|
||||||
|
current_options = {**entry.options}
|
||||||
|
current_options.pop(CONF_SCAN_INTERVAL)
|
||||||
|
hass.config_entries.async_update_entry(entry, options=current_options)
|
||||||
|
|
||||||
# Continue setup
|
# Continue setup
|
||||||
api = SynoApi(hass, entry)
|
api = SynoApi(hass, entry)
|
||||||
|
@ -33,14 +33,12 @@ from homeassistant.const import (
|
|||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
CONF_PASSWORD,
|
CONF_PASSWORD,
|
||||||
CONF_PORT,
|
CONF_PORT,
|
||||||
CONF_SCAN_INTERVAL,
|
|
||||||
CONF_SSL,
|
CONF_SSL,
|
||||||
CONF_USERNAME,
|
CONF_USERNAME,
|
||||||
CONF_VERIFY_SSL,
|
CONF_VERIFY_SSL,
|
||||||
)
|
)
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.exceptions import HomeAssistantError
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
from homeassistant.helpers import config_validation as cv
|
|
||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||||
from homeassistant.helpers.selector import (
|
from homeassistant.helpers.selector import (
|
||||||
SelectOptionDict,
|
SelectOptionDict,
|
||||||
@ -67,7 +65,6 @@ from .const import (
|
|||||||
DEFAULT_BACKUP_PATH,
|
DEFAULT_BACKUP_PATH,
|
||||||
DEFAULT_PORT,
|
DEFAULT_PORT,
|
||||||
DEFAULT_PORT_SSL,
|
DEFAULT_PORT_SSL,
|
||||||
DEFAULT_SCAN_INTERVAL,
|
|
||||||
DEFAULT_SNAPSHOT_QUALITY,
|
DEFAULT_SNAPSHOT_QUALITY,
|
||||||
DEFAULT_TIMEOUT,
|
DEFAULT_TIMEOUT,
|
||||||
DEFAULT_USE_SSL,
|
DEFAULT_USE_SSL,
|
||||||
@ -458,12 +455,6 @@ class SynologyDSMOptionsFlowHandler(OptionsFlow):
|
|||||||
|
|
||||||
data_schema = vol.Schema(
|
data_schema = vol.Schema(
|
||||||
{
|
{
|
||||||
vol.Required(
|
|
||||||
CONF_SCAN_INTERVAL,
|
|
||||||
default=self.config_entry.options.get(
|
|
||||||
CONF_SCAN_INTERVAL, DEFAULT_SCAN_INTERVAL
|
|
||||||
),
|
|
||||||
): cv.positive_int,
|
|
||||||
vol.Required(
|
vol.Required(
|
||||||
CONF_SNAPSHOT_QUALITY,
|
CONF_SNAPSHOT_QUALITY,
|
||||||
default=self.config_entry.options.get(
|
default=self.config_entry.options.get(
|
||||||
|
@ -48,7 +48,6 @@ DEFAULT_VERIFY_SSL = False
|
|||||||
DEFAULT_PORT = 5000
|
DEFAULT_PORT = 5000
|
||||||
DEFAULT_PORT_SSL = 5001
|
DEFAULT_PORT_SSL = 5001
|
||||||
# Options
|
# Options
|
||||||
DEFAULT_SCAN_INTERVAL = 15 # min
|
|
||||||
DEFAULT_TIMEOUT = ClientTimeout(total=60, connect=15)
|
DEFAULT_TIMEOUT = ClientTimeout(total=60, connect=15)
|
||||||
DEFAULT_SNAPSHOT_QUALITY = SNAPSHOT_PROFILE_BALANCED
|
DEFAULT_SNAPSHOT_QUALITY = SNAPSHOT_PROFILE_BALANCED
|
||||||
DEFAULT_BACKUP_PATH = "ha_backup"
|
DEFAULT_BACKUP_PATH = "ha_backup"
|
||||||
|
@ -14,14 +14,12 @@ from synology_dsm.exceptions import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import CONF_SCAN_INTERVAL
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
||||||
|
|
||||||
from .common import SynoApi, raise_config_entry_auth_error
|
from .common import SynoApi, raise_config_entry_auth_error
|
||||||
from .const import (
|
from .const import (
|
||||||
DEFAULT_SCAN_INTERVAL,
|
|
||||||
SIGNAL_CAMERA_SOURCE_CHANGED,
|
SIGNAL_CAMERA_SOURCE_CHANGED,
|
||||||
SYNOLOGY_AUTH_FAILED_EXCEPTIONS,
|
SYNOLOGY_AUTH_FAILED_EXCEPTIONS,
|
||||||
SYNOLOGY_CONNECTION_EXCEPTIONS,
|
SYNOLOGY_CONNECTION_EXCEPTIONS,
|
||||||
@ -122,14 +120,7 @@ class SynologyDSMCentralUpdateCoordinator(SynologyDSMUpdateCoordinator[None]):
|
|||||||
api: SynoApi,
|
api: SynoApi,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize DataUpdateCoordinator for central device."""
|
"""Initialize DataUpdateCoordinator for central device."""
|
||||||
super().__init__(
|
super().__init__(hass, entry, api, timedelta(minutes=15))
|
||||||
hass,
|
|
||||||
entry,
|
|
||||||
api,
|
|
||||||
timedelta(
|
|
||||||
minutes=entry.options.get(CONF_SCAN_INTERVAL, DEFAULT_SCAN_INTERVAL)
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
@async_re_login_on_expired
|
@async_re_login_on_expired
|
||||||
async def _async_update_data(self) -> None:
|
async def _async_update_data(self) -> None:
|
||||||
|
@ -68,8 +68,6 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"init": {
|
"init": {
|
||||||
"data": {
|
"data": {
|
||||||
"scan_interval": "Minutes between scans",
|
|
||||||
"timeout": "Timeout (seconds)",
|
|
||||||
"snap_profile_type": "Quality level of camera snapshots (0:high 1:medium 2:low)",
|
"snap_profile_type": "Quality level of camera snapshots (0:high 1:medium 2:low)",
|
||||||
"backup_share": "[%key:component::synology_dsm::config::step::backup_share::data::backup_share%]",
|
"backup_share": "[%key:component::synology_dsm::config::step::backup_share::data::backup_share%]",
|
||||||
"backup_path": "[%key:component::synology_dsm::config::step::backup_share::data::backup_path%]"
|
"backup_path": "[%key:component::synology_dsm::config::step::backup_share::data::backup_path%]"
|
||||||
|
@ -27,7 +27,6 @@ from homeassistant.const import (
|
|||||||
CONF_MAC,
|
CONF_MAC,
|
||||||
CONF_PASSWORD,
|
CONF_PASSWORD,
|
||||||
CONF_PORT,
|
CONF_PORT,
|
||||||
CONF_SCAN_INTERVAL,
|
|
||||||
CONF_SSL,
|
CONF_SSL,
|
||||||
CONF_USERNAME,
|
CONF_USERNAME,
|
||||||
CONF_VERIFY_SSL,
|
CONF_VERIFY_SSL,
|
||||||
@ -681,14 +680,12 @@ async def test_options_flow(
|
|||||||
result = await hass.config_entries.options.async_configure(
|
result = await hass.config_entries.options.async_configure(
|
||||||
result["flow_id"],
|
result["flow_id"],
|
||||||
user_input={
|
user_input={
|
||||||
CONF_SCAN_INTERVAL: 2,
|
|
||||||
CONF_SNAPSHOT_QUALITY: 0,
|
CONF_SNAPSHOT_QUALITY: 0,
|
||||||
CONF_BACKUP_PATH: "my_nackup_path",
|
CONF_BACKUP_PATH: "my_nackup_path",
|
||||||
CONF_BACKUP_SHARE: "/ha_backup",
|
CONF_BACKUP_SHARE: "/ha_backup",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
assert result["type"] is FlowResultType.CREATE_ENTRY
|
assert result["type"] is FlowResultType.CREATE_ENTRY
|
||||||
assert config_entry.options[CONF_SCAN_INTERVAL] == 2
|
|
||||||
assert config_entry.options[CONF_SNAPSHOT_QUALITY] == 0
|
assert config_entry.options[CONF_SNAPSHOT_QUALITY] == 0
|
||||||
assert config_entry.options[CONF_BACKUP_PATH] == "my_nackup_path"
|
assert config_entry.options[CONF_BACKUP_PATH] == "my_nackup_path"
|
||||||
assert config_entry.options[CONF_BACKUP_SHARE] == "/ha_backup"
|
assert config_entry.options[CONF_BACKUP_SHARE] == "/ha_backup"
|
||||||
|
@ -16,6 +16,7 @@ from homeassistant.const import (
|
|||||||
CONF_MAC,
|
CONF_MAC,
|
||||||
CONF_PASSWORD,
|
CONF_PASSWORD,
|
||||||
CONF_PORT,
|
CONF_PORT,
|
||||||
|
CONF_SCAN_INTERVAL,
|
||||||
CONF_SSL,
|
CONF_SSL,
|
||||||
CONF_USERNAME,
|
CONF_USERNAME,
|
||||||
CONF_VERIFY_SSL,
|
CONF_VERIFY_SSL,
|
||||||
@ -108,6 +109,7 @@ async def test_config_entry_migrations(
|
|||||||
CONF_PASSWORD: PASSWORD,
|
CONF_PASSWORD: PASSWORD,
|
||||||
CONF_MAC: MACS[0],
|
CONF_MAC: MACS[0],
|
||||||
},
|
},
|
||||||
|
options={CONF_SCAN_INTERVAL: 30},
|
||||||
)
|
)
|
||||||
entry.add_to_hass(hass)
|
entry.add_to_hass(hass)
|
||||||
|
|
||||||
@ -118,5 +120,6 @@ async def test_config_entry_migrations(
|
|||||||
assert await hass.config_entries.async_setup(entry.entry_id)
|
assert await hass.config_entries.async_setup(entry.entry_id)
|
||||||
|
|
||||||
assert entry.data[CONF_VERIFY_SSL] == DEFAULT_VERIFY_SSL
|
assert entry.data[CONF_VERIFY_SSL] == DEFAULT_VERIFY_SSL
|
||||||
|
assert CONF_SCAN_INTERVAL not in entry.options
|
||||||
assert entry.options[CONF_BACKUP_SHARE] is None
|
assert entry.options[CONF_BACKUP_SHARE] is None
|
||||||
assert entry.options[CONF_BACKUP_PATH] is None
|
assert entry.options[CONF_BACKUP_PATH] is None
|
||||||
|
Loading…
x
Reference in New Issue
Block a user