mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 04:37:06 +00:00
Allow user to configure server id to perform speed test against (#3008)
* Allow user to configure server id to perform speed test against * Don't overwrite list * Type-o * Convert to string * Append lists * str(None) => 'None' did not realize that.
This commit is contained in:
parent
821b3d7fac
commit
b6ad0bfbea
@ -29,6 +29,7 @@ CONF_SECOND = 'second'
|
||||
CONF_MINUTE = 'minute'
|
||||
CONF_HOUR = 'hour'
|
||||
CONF_DAY = 'day'
|
||||
CONF_SERVER_ID = 'server_id'
|
||||
SENSOR_TYPES = {
|
||||
'ping': ['Ping', 'ms'],
|
||||
'download': ['Download', 'Mbit/s'],
|
||||
@ -38,6 +39,7 @@ SENSOR_TYPES = {
|
||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||
vol.Required(CONF_MONITORED_CONDITIONS):
|
||||
vol.All(cv.ensure_list, [vol.In(list(SENSOR_TYPES.keys()))]),
|
||||
vol.Optional(CONF_SERVER_ID): cv.positive_int,
|
||||
vol.Optional(CONF_SECOND, default=[0]):
|
||||
vol.All(cv.ensure_list, [vol.All(vol.Coerce(int), vol.Range(0, 59))]),
|
||||
vol.Optional(CONF_MINUTE, default=[0]):
|
||||
@ -131,6 +133,7 @@ class SpeedtestData(object):
|
||||
def __init__(self, hass, config):
|
||||
"""Initialize the data object."""
|
||||
self.data = None
|
||||
self._server_id = config.get(CONF_SERVER_ID)
|
||||
track_time_change(hass, self.update,
|
||||
second=config.get(CONF_SECOND),
|
||||
minute=config.get(CONF_MINUTE),
|
||||
@ -143,9 +146,12 @@ class SpeedtestData(object):
|
||||
|
||||
_LOGGER.info('Executing speedtest')
|
||||
try:
|
||||
args = [sys.executable, speedtest_cli.__file__, '--simple']
|
||||
if self._server_id:
|
||||
args = args + ['--server', str(self._server_id)]
|
||||
|
||||
re_output = _SPEEDTEST_REGEX.split(
|
||||
check_output([sys.executable, speedtest_cli.__file__,
|
||||
'--simple']).decode("utf-8"))
|
||||
check_output(args).decode("utf-8"))
|
||||
except CalledProcessError as process_error:
|
||||
_LOGGER.error('Error executing speedtest: %s', process_error)
|
||||
return
|
||||
|
Loading…
x
Reference in New Issue
Block a user