Plugin will crash homebridge if HS100 changes IP
Try the following

1. Setup HS100 to run.
2. renew the HS100 IP to something else (DHCP sometime do that)
3. Have your IOS device access homekit

you will stuck in the update status until it got not responding.

The following is the homebridge debug log:

Dec 30 21:20:11 raspberrypi homebridge[13017]: HS100 Plug TCP error
Dec 30 21:20:11 raspberrypi homebridge[13017]: Trace: { Error: connect EHOSTUNREACH 192.168.1.119:9999
Dec 30 21:20:11 raspberrypi homebridge[13017]: at Object.exports._errnoException (util.js:1022:11)
Dec 30 21:20:11 raspberrypi homebridge[13017]: at exports._exceptionWithHostPort (util.js:1045:20)
Dec 30 21:20:11 raspberrypi homebridge[13017]: at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
Dec 30 21:20:11 raspberrypi homebridge[13017]: code: 'EHOSTUNREACH',
Dec 30 21:20:11 raspberrypi homebridge[13017]: errno: 'EHOSTUNREACH',
Dec 30 21:20:11 raspberrypi homebridge[13017]: syscall: 'connect',
Dec 30 21:20:11 raspberrypi homebridge[13017]: address: '192.168.1.119',
Dec 30 21:20:11 raspberrypi homebridge[13017]: port: 9999 }
Dec 30 21:20:11 raspberrypi homebridge[13017]: at Socket.socket.on.on.on (/usr/local/lib/node_modules/homebridge-hs100/node_modules/hs100-api/lib/plug.js:61:17)
Dec 30 21:20:11 raspberrypi homebridge[13017]: at emitOne (events.js:96:13)
Dec 30 21:20:11 raspberrypi homebridge[13017]: at Socket.emit (events.js:188:7)
Dec 30 21:20:11 raspberrypi homebridge[13017]: at emitErrorNT (net.js:1281:8)
Dec 30 21:20:11 raspberrypi homebridge[13017]: at _combinedTickCallback (internal/process/next_tick.js:74:11)
Dec 30 21:20:11 raspberrypi homebridge[13017]: at process._tickCallback (internal/process/next_tick.js:98:9)
Dec 30 21:20:11 raspberrypi homebridge[13017]: [12/30/2016, 9:20:11 PM] { Error: connect EHOSTUNREACH 192.168.1.119:9999
Dec 30 21:20:11 raspberrypi homebridge[13017]: at Object.exports._errnoException (util.js:1022:11)
Dec 30 21:20:11 raspberrypi homebridge[13017]: at exports._exceptionWithHostPort (util.js:1045:20)
Dec 30 21:20:11 raspberrypi homebridge[13017]: at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
Dec 30 21:20:11 raspberrypi homebridge[13017]: code: 'EHOSTUNREACH',
Dec 30 21:20:11 raspberrypi homebridge[13017]: errno: 'EHOSTUNREACH',
Dec 30 21:20:11 raspberrypi homebridge[13017]: syscall: 'connect',
Dec 30 21:20:11 raspberrypi homebridge[13017]: address: '192.168.1.119',
Dec 30 21:20:11 raspberrypi homebridge[13017]: port: 9999 }

In this case, my HS100 IP changes from 192.168.1.119 to something else.

To resolve this issue, I had to stop homebridge, remove the accessories directory and start home bridge again

I think the issue here is that Homebridge don't know how to handle error and the plugin don't know how to handle cases where device is gone. I suspect you will run into the same issue when you disconnect the device while you try to access homekit
