From a7325ebe1fa440f2f6dbde815f19417547de929f Mon Sep 17 00:00:00 2001
From: Fabian Affolter <mail@fabian-affolter.ch>
Date: Tue, 18 Sep 2018 07:55:13 +0200
Subject: [PATCH] Suppress traceback and log error (#16669)

---
 homeassistant/components/sensor/scrape.py | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/homeassistant/components/sensor/scrape.py b/homeassistant/components/sensor/scrape.py
index e702c52e06a..9a43c3ff295 100644
--- a/homeassistant/components/sensor/scrape.py
+++ b/homeassistant/components/sensor/scrape.py
@@ -114,11 +114,16 @@ class ScrapeSensor(Entity):
 
         raw_data = BeautifulSoup(self.rest.data, 'html.parser')
         _LOGGER.debug(raw_data)
-        if self._attr is not None:
-            value = raw_data.select(self._select)[0][self._attr]
-        else:
-            value = raw_data.select(self._select)[0].text
-        _LOGGER.debug(value)
+
+        try:
+            if self._attr is not None:
+                value = raw_data.select(self._select)[0][self._attr]
+            else:
+                value = raw_data.select(self._select)[0].text
+            _LOGGER.debug(value)
+        except IndexError:
+            _LOGGER.error("Unable to extract data from HTML")
+            return
 
         if self._value_template is not None:
             self._state = self._value_template.render_with_possible_json_value(
-- 
GitLab