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",
"name": "SynologyDSM",
"documentation": "https://www.home-assistant.io/integrations/synologydsm",
"requirements": ["python-synology==0.3.0"],
"requirements": ["python-synology==0.4.0"],
"dependencies": [],
"codeowners": []
}

View File

@ -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")

View File

@ -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