In case others hit this issue, found that WeMo components would error out on startup. It turned out to be an issue since upgrading my WeMo Link firmware to WeMo_WW_2.00.10937.PVT-OWRT-Link. The error seen in the home-assistant.log was:
17-02-11 19:23:16 ERROR (MainThread) [homeassistant.bootstrap] Error during setup of component wemo
Traceback (most recent call last):
File "/srv/hass/lib/python3.5/site-packages/homeassistant/bootstrap.py", line 151, in _async_setup_compone
nt
None, component.setup, hass, config)
File "/usr/lib/python3.5/asyncio/futures.py", line 361, in __iter__
yield self # This tells Task to wait for completion.
File "/usr/lib/python3.5/asyncio/tasks.py", line 296, in _wakeup
future.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 274, in result
raise self._exception
File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
result = self.fn(*self.args, **self.kwargs)
File "/srv/hass/lib/python3.5/site-packages/homeassistant/components/wemo.py", line 81, in setup
devices = [(device.host, device) for device in pywemo.discover_devices()]
File "/home/hass/.homeassistant/deps/pywemo/discovery.py", line 28, in discover_devices
device = device_from_description(entry.location, mac)
File "/home/hass/.homeassistant/deps/pywemo/discovery.py", line 40, in device_from_description
return device_from_uuid_and_location(uuid, mac, description_url)
File "/home/hass/.homeassistant/deps/pywemo/discovery.py", line 56, in device_from_uuid_and_location
return Bridge(location, mac)
File "/home/hass/.homeassistant/deps/pywemo/ouimeaux_device/bridge.py", line 39, in __init__
self.bridge_update()
File "/home/hass/.homeassistant/deps/pywemo/ouimeaux_device/bridge.py", line 63, in bridge_update
self.Groups[uniqueID] = Group(self, group)
File "/home/hass/.homeassistant/deps/pywemo/ouimeaux_device/bridge.py", line 269, in __init__
super(Group, self).__init__(bridge, info)
File "/home/hass/.homeassistant/deps/pywemo/ouimeaux_device/bridge.py", line 92, in __init__
self._update_state(info)
File "/home/hass/.homeassistant/deps/pywemo/ouimeaux_device/bridge.py", line 283, in _update_state
for c in capabilities.split(',')
AttributeError: 'NoneType' object has no attribute 'split'
Created a local fix which fixes the startup issue for me. Have created a PR in the pywemo project if others see this and want to apply a local fix - see https://github.com/pavoni/pywemo/pull/63/files