update dovado version (#6081)

This commit is contained in:
Erik Eriksson 2017-02-18 08:15:32 +01:00 committed by Pascal Vizeli
parent b857f838df
commit 62fe9f955e
2 changed files with 13 additions and 12 deletions

View file

@ -16,12 +16,13 @@ from homeassistant.util import slugify
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.const import (CONF_USERNAME, CONF_PASSWORD, from homeassistant.const import (CONF_USERNAME, CONF_PASSWORD,
CONF_HOST, CONF_PORT, CONF_HOST, CONF_PORT,
CONF_SENSORS, STATE_UNKNOWN) CONF_SENSORS, STATE_UNKNOWN,
DEVICE_DEFAULT_NAME)
from homeassistant.components.sensor import (DOMAIN, PLATFORM_SCHEMA) from homeassistant.components.sensor import (DOMAIN, PLATFORM_SCHEMA)
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
REQUIREMENTS = ['dovado==0.1.15'] REQUIREMENTS = ['dovado==0.4.0']
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=30) MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=30)
@ -101,21 +102,20 @@ class Dovado:
@property @property
def name(self): def name(self):
"""Name of the router.""" """Name of the router."""
return self.state["product name"] return self.state.get("product name", DEVICE_DEFAULT_NAME)
@Throttle(MIN_TIME_BETWEEN_UPDATES) @Throttle(MIN_TIME_BETWEEN_UPDATES)
def update(self): def update(self):
"""Update device state.""" """Update device state."""
_LOGGER.info("Updating") _LOGGER.info("Updating")
try: try:
self.state = self._dovado.query_state() self.state.update(self._dovado.state or {})
self.state.update( self.state.update(
connected=self.state["modem status"] == "CONNECTED") connected=self.state.get("modem status") == "CONNECTED")
_LOGGER.debug("Received: %s", self.state) _LOGGER.debug("Received: %s", self.state)
return True return True
except OSError as error: except OSError as error:
_LOGGER.error("Could not contact the router: %s", error) _LOGGER.warning("Could not contact the router: %s", error)
return False
class DovadoSensor(Entity): class DovadoSensor(Entity):
@ -140,8 +140,10 @@ class DovadoSensor(Entity):
def state(self): def state(self):
"""Return the sensor state.""" """Return the sensor state."""
key = SENSORS[self._sensor][0] key = SENSORS[self._sensor][0]
result = self._dovado.state[key] result = self._dovado.state.get(key)
if self._sensor == SENSOR_NETWORK: if not result:
return STATE_UNKNOWN
elif self._sensor == SENSOR_NETWORK:
match = re.search(r"\((.+)\)", result) match = re.search(r"\((.+)\)", result)
return match.group(1) if match else STATE_UNKNOWN return match.group(1) if match else STATE_UNKNOWN
elif self._sensor == SENSOR_SIGNAL: elif self._sensor == SENSOR_SIGNAL:
@ -152,8 +154,7 @@ class DovadoSensor(Entity):
elif self._sensor == SENSOR_SMS_UNREAD: elif self._sensor == SENSOR_SMS_UNREAD:
return int(result) return int(result)
elif self._sensor in [SENSOR_UPLOAD, SENSOR_DOWNLOAD]: elif self._sensor in [SENSOR_UPLOAD, SENSOR_DOWNLOAD]:
gib = pow(2, 30) return round(float(result) / 1e6, 1)
return round(int(result) / gib, 1)
else: else:
return result return result

View file

@ -112,7 +112,7 @@ dlipower==0.7.165
dnspython3==1.15.0 dnspython3==1.15.0
# homeassistant.components.sensor.dovado # homeassistant.components.sensor.dovado
dovado==0.1.15 dovado==0.4.0
# homeassistant.components.sensor.dsmr # homeassistant.components.sensor.dsmr
dsmr_parser==0.6 dsmr_parser==0.6