I am working on an Imp-based device that has a bank of I/O. A schedule for the outputs will be configured by a dedicated iPhone app that will communicate with the Imp. Once the Imp has the schedule, it will run on its own, without the iPhone app and without any of my own server support. The Imp may at times vary the schedule based on various factors (weather, stock price, local inputs, or whatever).
I would like the customer to be able to add a second device, which will operate seamlessly with the first device to add another bank of outputs. I would like the second device to act as a slave to the first–just like the light switch example. Because they all run under a unified schedule, which may be dynamically varied, it would be difficult to distribute the scheduling between the first and second devices–I want the first device to do the scheduling.
There may be more than two devices. Each new device will receive commands from the most recently added device.
To do this, noodles need to be added between the two devices–whenever a particular customer provisions a device, it will need noodles from the most recently commissioned device.
All devices can run the same program–the first device sends a command to the second (through a noodle) to tell it that it is a slave.
So the only thing I’m not sure of is how I will be able to dynamically create the noodles. Will I be able to create them with the iPhone app when it notices it is provisioning a second device? Will there be a server-side tool that will automatically create them? Can an Imp be programmed to create its own noodles to another Imp? Will there be a virtual planner or Imp “space” in which multiple Imps of a single “installation” reside?
I understand that not all of this may be worked out yet–basically just looking for reassurance that it will be possible in some way.