From bce4be88dc7324b4e793376169566fbf3d6109d3 Mon Sep 17 00:00:00 2001 From: Nolan Gilley Date: Thu, 28 Jul 2016 12:25:31 -0400 Subject: [PATCH] check for error while running speedtest (#2643) --- homeassistant/components/sensor/speedtest.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/sensor/speedtest.py b/homeassistant/components/sensor/speedtest.py index ddb14f6af81..7fdc335a493 100644 --- a/homeassistant/components/sensor/speedtest.py +++ b/homeassistant/components/sensor/speedtest.py @@ -7,7 +7,7 @@ https://home-assistant.io/components/sensor.speedtest/ import logging import re import sys -from subprocess import check_output +from subprocess import check_output, CalledProcessError import homeassistant.util.dt as dt_util from homeassistant.components.sensor import DOMAIN @@ -112,9 +112,13 @@ class SpeedtestData(object): import speedtest_cli _LOGGER.info('Executing speedtest') - re_output = _SPEEDTEST_REGEX.split( - check_output([sys.executable, speedtest_cli.__file__, - '--simple']).decode("utf-8")) + try: + re_output = _SPEEDTEST_REGEX.split( + check_output([sys.executable, speedtest_cli.__file__, + '--simple']).decode("utf-8")) + except CalledProcessError as process_error: + _LOGGER.error('Error executing speedtest: %s', process_error) + return self.data = {'ping': round(float(re_output[1]), 2), 'download': round(float(re_output[2]), 2), 'upload': round(float(re_output[3]), 2)}