diff --git a/homeassistant/components/sensor/speedtest.py b/homeassistant/components/sensor/speedtest.py index 0558e67f5987214a23b8c92d9b3ec43f78bc4242..0e47aa381546a529b91b9349b5e70f0be8116e72 100644 --- a/homeassistant/components/sensor/speedtest.py +++ b/homeassistant/components/sensor/speedtest.py @@ -14,6 +14,8 @@ from subprocess import check_output from homeassistant.util import Throttle from homeassistant.helpers.entity import Entity from homeassistant.helpers.event import track_time_change +from homeassistant.components.sensor import DOMAIN +import homeassistant.util.dt as dt_util REQUIREMENTS = ['speedtest-cli==0.3.4'] _LOGGER = logging.getLogger(__name__) @@ -39,7 +41,6 @@ def setup_platform(hass, config, add_devices, discovery_info=None): """ Setup the Speedtest sensor. """ data = SpeedtestData(hass, config) - dev = [] for sensor in config[CONF_MONITORED_CONDITIONS]: if sensor not in SENSOR_TYPES: @@ -49,6 +50,14 @@ def setup_platform(hass, config, add_devices, discovery_info=None): add_devices(dev) + def update(call=None): + """ Update service for manual updates. """ + data.update(dt_util.now()) + for sensor in dev: + sensor.update() + + hass.services.register(DOMAIN, 'update_speedtest', update) + # pylint: disable=too-few-public-methods class SpeedtestSensor(Entity):