From 26cb67dec26b1b277a09d044d0abfd3181db9bbd Mon Sep 17 00:00:00 2001 From: Eugenio Panadero Date: Sun, 15 Oct 2017 00:46:06 +0200 Subject: [PATCH] minimal fixes in the owntracks mqtt device tracker (#9866) * fix UnboundLocalError when unable to parse payload, and show bad topics that cannot be parsed ok * Update owntracks.py --- homeassistant/components/device_tracker/owntracks.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/device_tracker/owntracks.py b/homeassistant/components/device_tracker/owntracks.py index 60335e2059a..ace6a251747 100644 --- a/homeassistant/components/device_tracker/owntracks.py +++ b/homeassistant/components/device_tracker/owntracks.py @@ -75,6 +75,7 @@ def async_setup_scanner(hass, config, async_see, discovery_info=None): except ValueError: # If invalid JSON _LOGGER.error("Unable to parse payload as JSON: %s", payload) + return message['topic'] = topic @@ -91,7 +92,11 @@ def _parse_topic(topic): Async friendly. """ - _, user, device, *_ = topic.split('/', 3) + try: + _, user, device, *_ = topic.split('/', 3) + except ValueError: + _LOGGER.error("Can't parse topic: '%s'", topic) + raise return user, device