Netdisco error in 0.17.3 on Mac OSX

Hi,

I just upgraded HA from 0.16.1 to 0.17.3 on my Mac running OSX 10.11.4 with Python 3.5.1 and am now getting the following error in my log file. Is this a known issue?

16-04-13 17:01:16 netdisco.ssdp: Socket error while discovering SSDP devices
Traceback (most recent call last):
 File "/Users/keith/.homeassistant/lib/netdisco/ssdp.py", line 223, in scan
   sock.sendto(ssdp_request, ssdp_target)
OSError: [Errno 65] No route to host
16-04-13 17:01:16 netdisco.ssdp: Socket error while discovering SSDP devices
Traceback (most recent call last):
 File "/Users/keith/.homeassistant/lib/netdisco/ssdp.py", line 223, in scan
   sock.sendto(ssdp_request, ssdp_target)
OSError: [Errno 65] No route to host

That’s not a known issue. Could you please report it here ? It seems to be introduced with PR #22

Just tried to update to 0.18.2 and am still getting the following in my logs.

16-04-21 17:15:48 netdisco.ssdp: Socket error while discovering SSDP devices
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/netdisco/ssdp.py", line 223, in scan
    sock.sendto(ssdp_request, ssdp_target)
OSError: [Errno 65] No route to host
16-04-21 17:15:48 netdisco.ssdp: Socket error while discovering SSDP devices
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/netdisco/ssdp.py", line 223, in scan
    sock.sendto(ssdp_request, ssdp_target)
OSError: [Errno 65] No route to host

Looked as if this was resolved from the thread in git. Not so?

Ok, so I finally tracked down what is going on with this error. Apparently pywemo -> util.py itterates all network interfaces looking for a ‘broadcast’ key in the dictionary. Since I run VMWare Fusion on my system it finds a total of 3 interfaces. en0, vmnet1 and vmnet8. Both vmnet interfaces are in the 172.16.x.x range so when pywemo attempts to look for devices on the vmnet interfaces it bails with the above errors. To resolve this I added the following line to util.py between the for statements at the end of the file:

return [addr['addr']
        for i in netifaces.interfaces()
        if 'vmnet' not in i
        for addr in netifaces.ifaddresses(i).get(family) or []
        if 'broadcast' in addr]

The question becomes, will it be feasible to change the pywemo package to exclude vmnet interfaces or will I have to keep modifying my own instance of the package every time there is an update? Thoughts?