Plugging new modules in


Can I just plug modules in and out with the dock plugged in?

The reason I ask is that I plugged in the light module (with the weather module already plugged in), and ran into this: (shortened, but that’s the behaviour)


You’re calling c.available and that’s returning a list, but then you’re accessing c directly to try and access a member of that list. Try, for example:

l = c.available()['four']


I think even if I get the light module via c.first(flotilla.Light) I get the same behaviour. I’ll try again and report.

Thanks for the quick reply.


Ok, if I get the module via c.available['four'] it seems to work (hot plugging and unplugging), so it was me trying to wrongly get the module.

Having said that, it’s odd that the client would throw such a fit when you use it the wrong way, i.e. ?


So, I figured out why the client was complaining.

I have collectd running my python script every 1 minute. As I was investigating things, in a python repl, the script got run (by collectd) while I had a client in my repl. I can reproduce this behaviour, so I reckon that was it.