Remove scan interval option from Synology DSM (#138490)

remove scan interval option
This commit is contained in:
Michael 2025-02-13 22:51:14 +01:00 committed by GitHub
parent d6b7762dd6
commit 621bcccef7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 9 additions and 26 deletions

View File

@ -10,7 +10,7 @@ from synology_dsm.api.surveillance_station.camera import SynoCamera
from synology_dsm.exceptions import SynologyDSMNotLoggedInException
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.exceptions import ConfigEntryNotReady
from homeassistant.helpers import device_registry as dr
@ -68,6 +68,10 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
entry,
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
api = SynoApi(hass, entry)

View File

@ -33,14 +33,12 @@ from homeassistant.const import (
CONF_NAME,
CONF_PASSWORD,
CONF_PORT,
CONF_SCAN_INTERVAL,
CONF_SSL,
CONF_USERNAME,
CONF_VERIFY_SSL,
)
from homeassistant.core import callback
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.selector import (
SelectOptionDict,
@ -67,7 +65,6 @@ from .const import (
DEFAULT_BACKUP_PATH,
DEFAULT_PORT,
DEFAULT_PORT_SSL,
DEFAULT_SCAN_INTERVAL,
DEFAULT_SNAPSHOT_QUALITY,
DEFAULT_TIMEOUT,
DEFAULT_USE_SSL,
@ -458,12 +455,6 @@ class SynologyDSMOptionsFlowHandler(OptionsFlow):
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(
CONF_SNAPSHOT_QUALITY,
default=self.config_entry.options.get(

View File

@ -48,7 +48,6 @@ DEFAULT_VERIFY_SSL = False
DEFAULT_PORT = 5000
DEFAULT_PORT_SSL = 5001
# Options
DEFAULT_SCAN_INTERVAL = 15 # min
DEFAULT_TIMEOUT = ClientTimeout(total=60, connect=15)
DEFAULT_SNAPSHOT_QUALITY = SNAPSHOT_PROFILE_BALANCED
DEFAULT_BACKUP_PATH = "ha_backup"

View File

@ -14,14 +14,12 @@ from synology_dsm.exceptions import (
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_SCAN_INTERVAL
from homeassistant.core import HomeAssistant
from homeassistant.helpers.dispatcher import async_dispatcher_send
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .common import SynoApi, raise_config_entry_auth_error
from .const import (
DEFAULT_SCAN_INTERVAL,
SIGNAL_CAMERA_SOURCE_CHANGED,
SYNOLOGY_AUTH_FAILED_EXCEPTIONS,
SYNOLOGY_CONNECTION_EXCEPTIONS,
@ -122,14 +120,7 @@ class SynologyDSMCentralUpdateCoordinator(SynologyDSMUpdateCoordinator[None]):
api: SynoApi,
) -> None:
"""Initialize DataUpdateCoordinator for central device."""
super().__init__(
hass,
entry,
api,
timedelta(
minutes=entry.options.get(CONF_SCAN_INTERVAL, DEFAULT_SCAN_INTERVAL)
),
)
super().__init__(hass, entry, api, timedelta(minutes=15))
@async_re_login_on_expired
async def _async_update_data(self) -> None:

View File

@ -68,8 +68,6 @@
"step": {
"init": {
"data": {
"scan_interval": "Minutes between scans",
"timeout": "Timeout (seconds)",
"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_path": "[%key:component::synology_dsm::config::step::backup_share::data::backup_path%]"

View File

@ -27,7 +27,6 @@ from homeassistant.const import (
CONF_MAC,
CONF_PASSWORD,
CONF_PORT,
CONF_SCAN_INTERVAL,
CONF_SSL,
CONF_USERNAME,
CONF_VERIFY_SSL,
@ -681,14 +680,12 @@ async def test_options_flow(
result = await hass.config_entries.options.async_configure(
result["flow_id"],
user_input={
CONF_SCAN_INTERVAL: 2,
CONF_SNAPSHOT_QUALITY: 0,
CONF_BACKUP_PATH: "my_nackup_path",
CONF_BACKUP_SHARE: "/ha_backup",
},
)
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_BACKUP_PATH] == "my_nackup_path"
assert config_entry.options[CONF_BACKUP_SHARE] == "/ha_backup"

View File

@ -16,6 +16,7 @@ from homeassistant.const import (
CONF_MAC,
CONF_PASSWORD,
CONF_PORT,
CONF_SCAN_INTERVAL,
CONF_SSL,
CONF_USERNAME,
CONF_VERIFY_SSL,
@ -108,6 +109,7 @@ async def test_config_entry_migrations(
CONF_PASSWORD: PASSWORD,
CONF_MAC: MACS[0],
},
options={CONF_SCAN_INTERVAL: 30},
)
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 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_PATH] is None