What about multiple-gateway scenarios? Concretely, I'm looking at a plugin to drive Global Caché boxes. You can have any number of them, and each of them may have multiple devices (serial, IR emitter, sensor, ...) attached to them. So I need a configuration nexus for each box, for each device on each box, and potentially for whatever is plugged into those serial ports.
Essentially, your current design calls for plugins to be singletons, so I can't use (just) the plugin settings to configure all the GC boxes. (At least not with the UI as it exists today - I need trees.) Are you okay with creating Indigo "devices" that aren't really devices but rather interfaces, and exist as "devices" only so I an attach configuration data to them? Or how else do you suggest I do this?
Do you have any suggestion on how to model topology (connections between devices)? Specifically, there will be a device type for Audio/Video Receivers (AVRs). How do you suggest I express "this AVR device is plugged into that serial port of this GC box"? (Much of this cannot be auto-discovered; the user or installer has to set it.)
Cheers
-- perry