diff --git a/homeassistant/components/synologydsm/manifest.json b/homeassistant/components/synologydsm/manifest.json index d9405b3ee68..586fe75c697 100644 --- a/homeassistant/components/synologydsm/manifest.json +++ b/homeassistant/components/synologydsm/manifest.json @@ -2,7 +2,7 @@ "domain": "synologydsm", "name": "SynologyDSM", "documentation": "https://www.home-assistant.io/integrations/synologydsm", - "requirements": ["python-synology==0.3.0"], + "requirements": ["python-synology==0.4.0"], "dependencies": [], "codeowners": [] } diff --git a/homeassistant/components/synologydsm/sensor.py b/homeassistant/components/synologydsm/sensor.py index 3f459af9887..3f823331433 100644 --- a/homeassistant/components/synologydsm/sensor.py +++ b/homeassistant/components/synologydsm/sensor.py @@ -8,6 +8,7 @@ import voluptuous as vol from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.const import ( ATTR_ATTRIBUTION, + CONF_API_VERSION, CONF_DISKS, CONF_HOST, CONF_MONITORED_CONDITIONS, @@ -82,6 +83,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( vol.Required(CONF_HOST): cv.string, vol.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, vol.Optional(CONF_SSL, default=True): cv.boolean, + vol.Optional(CONF_API_VERSION): cv.positive_int, vol.Required(CONF_USERNAME): cv.string, vol.Required(CONF_PASSWORD): cv.string, vol.Optional(CONF_MONITORED_CONDITIONS): vol.All( @@ -110,8 +112,9 @@ def setup_platform(hass, config, add_entities, discovery_info=None): use_ssl = config.get(CONF_SSL) unit = hass.config.units.temperature_unit monitored_conditions = config.get(CONF_MONITORED_CONDITIONS) + api_version = config.get(CONF_API_VERSION) - api = SynoApi(host, port, username, password, unit, use_ssl) + api = SynoApi(host, port, username, password, unit, use_ssl, api_version) sensors = [ SynoNasUtilSensor(api, name, variable, _UTILISATION_MON_COND[variable]) @@ -150,13 +153,21 @@ def setup_platform(hass, config, add_entities, discovery_info=None): class SynoApi: """Class to interface with Synology DSM API.""" - def __init__(self, host, port, username, password, temp_unit, use_ssl): + def __init__(self, host, port, username, password, temp_unit, use_ssl, api_version): """Initialize the API wrapper class.""" self.temp_unit = temp_unit try: - self._api = SynologyDSM(host, port, username, password, use_https=use_ssl) + self._api = SynologyDSM( + host, + port, + username, + password, + use_https=use_ssl, + debugmode=False, + dsm_version=api_version, + ) except: # noqa: E722 pylint: disable=bare-except _LOGGER.error("Error setting up Synology DSM") diff --git a/requirements_all.txt b/requirements_all.txt index a53825d083d..047585515b7 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1617,7 +1617,7 @@ python-sochain-api==0.0.2 python-songpal==0.11.2 # homeassistant.components.synologydsm -python-synology==0.3.0 +python-synology==0.4.0 # homeassistant.components.tado python-tado==0.2.9