Insteon_Local - Error - will not load

So I asked in gitter and on reddit, this is the only place I didn’t ask, so hear goes.

Can someone please help me with this error? I am on the latest version of HA. (well I was until I rolled back to 0.44 to see if it resolved the issue. Insteon used to work perfect, now all I get is this error.

I have stripped the configuration.yaml to the defaults and just tried insteon alone, to no avail.

Please help.

2017-06-03 13:57:19 ERROR (MainThread) [homeassistant.components.switch] Error while setting up platform insteon_local
Traceback (most recent call last):
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 378, in get_cache_from_file
data = json.load(cachefile)
File “/usr/lib/python3.4/json/init.py”, line 268, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File “/usr/lib/python3.4/json/init.py”, line 318, in loads
return _default_decoder.decode(s)
File “/usr/lib/python3.4/json/decoder.py”, line 343, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File “/usr/lib/python3.4/json/decoder.py”, line 361, in raw_decode
raise ValueError(errmsg(“Expecting value”, s, err.value)) from None
ValueError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py”, line 155, in _async_setup_platform
entity_platform.schedule_add_entities, discovery_info
File “/usr/lib/python3.4/asyncio/futures.py”, line 386, in iter
yield self # This tells Task to wait for completion.
File “/usr/lib/python3.4/asyncio/tasks.py”, line 287, in _wakeup
value = future.result()
File “/usr/lib/python3.4/asyncio/futures.py”, line 275, in result
raise self._exception
File “/usr/lib/python3.4/concurrent/futures/thread.py”, line 54, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/switch/insteon_local.py”, line 40, in setup_platform
linked = insteonhub.get_linked()
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 157, in get_linked
dev_info = self.id_request(device_id)
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 280, in id_request
status = self.get_buffer_status(device_id)
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 1022, in get_buffer_status
self.set_command_response_from_cache(response_record, device_from, response_record[‘cmd1’], response_record[‘cmd2’])
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 455, in set_command_response_from_cache
command_cache = self.get_cache_from_file(device_id)
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 383, in get_cache_from_file
except json.JSONDecodeError:
AttributeError: ‘module’ object has no attribute ‘JSONDecodeError’
2017-06-03 13:57:20 ERROR (MainThread) [homeassistant.components.light] Error while setting up platform insteon_local
Traceback (most recent call last):
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 378, in get_cache_from_file
data = json.load(cachefile)
File “/usr/lib/python3.4/json/init.py”, line 268, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File “/usr/lib/python3.4/json/init.py”, line 318, in loads
return _default_decoder.decode(s)
File “/usr/lib/python3.4/json/decoder.py”, line 343, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File “/usr/lib/python3.4/json/decoder.py”, line 361, in raw_decode
raise ValueError(errmsg(“Expecting value”, s, err.value)) from None
ValueError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py”, line 155, in _async_setup_platform
entity_platform.schedule_add_entities, discovery_info
File “/usr/lib/python3.4/asyncio/futures.py”, line 386, in iter
yield self # This tells Task to wait for completion.
File “/usr/lib/python3.4/asyncio/tasks.py”, line 287, in _wakeup
value = future.result()
File “/usr/lib/python3.4/asyncio/futures.py”, line 275, in result
raise self._exception
File “/usr/lib/python3.4/concurrent/futures/thread.py”, line 54, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/light/insteon_local.py”, line 42, in setup_platform
linked = insteonhub.get_linked()
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 208, in get_linked
dev_info = self.id_request(device_id)
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 280, in id_request
status = self.get_buffer_status(device_id)
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 1022, in get_buffer_status
self.set_command_response_from_cache(response_record, device_from, response_record[‘cmd1’], response_record[‘cmd2’])
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 455, in set_command_response_from_cache
command_cache = self.get_cache_from_file(device_id)
File “/home/homesassist/.homeassistant/deps/insteonlocal/Hub.py”, line 383, in get_cache_from_file
except json.JSONDecodeError:
AttributeError: ‘module’ object has no attribute ‘JSONDecodeError’

this is my configuration.yaml section for the insteon portion.

insteon_local:
host: 192.168.2.200
username: user
password: pass
timeout: 10
port: 25105

light:

  • platform: insteon_local

switch:

  • platform: insteon_local

Just so eveyone is aware, a breaking change to both insteon_plm and insteonlocal. Please see this thread and give your input: