diff --git a/homeassistant/util/__init__.py b/homeassistant/util/__init__.py index 16650fe549d..7a396b44d3b 100644 --- a/homeassistant/util/__init__.py +++ b/homeassistant/util/__init__.py @@ -57,7 +57,7 @@ def convert(value, to_type, default=None): """ Converts value to to_type, returns default if fails. """ try: return default if value is None else to_type(value) - except ValueError: + except (ValueError, TypeError): # If value could not be converted return default diff --git a/tests/util/test_init.py b/tests/util/test_init.py index bd546d4e5e1..1a80d74b065 100644 --- a/tests/util/test_init.py +++ b/tests/util/test_init.py @@ -53,6 +53,7 @@ class TestUtil(unittest.TestCase): self.assertEqual(True, util.convert("True", bool)) self.assertEqual(1, util.convert("NOT A NUMBER", int, 1)) self.assertEqual(1, util.convert(None, int, 1)) + self.assertEqual(1, util.convert(object, int, 1)) def test_ensure_unique_string(self): """ Test ensure_unique_string. """