Building setups
In order to implement the configuration part of remoteX4's architecture a separate system is in place that allows installers to define a particular setup through a forms based interface. The necessary runtime files are created automatically from such definitions.
A setup consists of the following:
The set of all keys/commands. These include standard keys (common to all setups, like Volume Up) plus setup custom keys (such as the list of all TV or FM Radio channels). These keys (and their corresponding label and/or image/icon) can then be reused in any activity.
One or more "Devices" (these include target and control devices). Target devices also include PC programs that we wish to include in the Setup.
For each target Device its set of commands (IR codes, or serial commands or Eventghost messages)
Macros, i.e. sequence of commands to one or more Devices; delays can be included at any step
Activities: they tie together one or more Devices (e.g. the TV, AV Receiver and cable box for watching cable TV)
Zones and Zone Activities
UI definition for each Activity (for each of the interfaces: mobile narrow, mobile wide, wide)
UI definition for each Zone (for each of the interfaces).
Users can copy keys, devices, activities and macros from one setup to another (e.g. from a reference setup containing all known devices to a customer specific setup). They can also clone a device and activity; this is useful when in a setup the same device, e.g. a TV set from LG, appears more than once, e.g. in the kitchen and bedroom.
The setup interface allows the automatic creation of the necessary runtime files. These are "static" PHP files and thus no database is needed in the control server.
Please note that, at this time, defining a setup requires an installer (person trained to do this work) and simple users/consumers of remoteX4 are not meant to define the setups themselves.