Bump python-synology to 0.4.0 : Add support for DSM v5 + fix sensors unknown for 15 min (#31049)

* updating new api version

* Added new configuration option for updated API
This commit is contained in:
aaska 2020-01-27 22:38:00 +01:00 committed by Quentame
parent 1dbfc66669
commit 1f7ab9091b
3 changed files with 16 additions and 5 deletions

View File

@ -2,7 +2,7 @@
"domain": "synologydsm", "domain": "synologydsm",
"name": "SynologyDSM", "name": "SynologyDSM",
"documentation": "https://www.home-assistant.io/integrations/synologydsm", "documentation": "https://www.home-assistant.io/integrations/synologydsm",
"requirements": ["python-synology==0.3.0"], "requirements": ["python-synology==0.4.0"],
"dependencies": [], "dependencies": [],
"codeowners": [] "codeowners": []
} }

View File

@ -8,6 +8,7 @@ import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import ( from homeassistant.const import (
ATTR_ATTRIBUTION, ATTR_ATTRIBUTION,
CONF_API_VERSION,
CONF_DISKS, CONF_DISKS,
CONF_HOST, CONF_HOST,
CONF_MONITORED_CONDITIONS, CONF_MONITORED_CONDITIONS,
@ -82,6 +83,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
vol.Required(CONF_HOST): cv.string, vol.Required(CONF_HOST): cv.string,
vol.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, vol.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port,
vol.Optional(CONF_SSL, default=True): cv.boolean, 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_USERNAME): cv.string,
vol.Required(CONF_PASSWORD): cv.string, vol.Required(CONF_PASSWORD): cv.string,
vol.Optional(CONF_MONITORED_CONDITIONS): vol.All( 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) use_ssl = config.get(CONF_SSL)
unit = hass.config.units.temperature_unit unit = hass.config.units.temperature_unit
monitored_conditions = config.get(CONF_MONITORED_CONDITIONS) 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 = [ sensors = [
SynoNasUtilSensor(api, name, variable, _UTILISATION_MON_COND[variable]) 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 SynoApi:
"""Class to interface with Synology DSM API.""" """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.""" """Initialize the API wrapper class."""
self.temp_unit = temp_unit self.temp_unit = temp_unit
try: 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 except: # noqa: E722 pylint: disable=bare-except
_LOGGER.error("Error setting up Synology DSM") _LOGGER.error("Error setting up Synology DSM")

View File

@ -1617,7 +1617,7 @@ python-sochain-api==0.0.2
python-songpal==0.11.2 python-songpal==0.11.2
# homeassistant.components.synologydsm # homeassistant.components.synologydsm
python-synology==0.3.0 python-synology==0.4.0
# homeassistant.components.tado # homeassistant.components.tado
python-tado==0.2.9 python-tado==0.2.9