A method of operating one or more controllable devices in dependence upon commands received from a mobile device by a system controller, the method comprising:
- receiving at the system controller a command sent from the mobile device;
- determining whether the mobile device is authorized to operate a target controllable device to which the command pertains;
- generating a command identifier for identifying the command, and sending an instruction corresponding to the command and including the command identifier from the system controller to the target controllable device when the mobile device is authorized to operate the target controllable device;
- and
- replying to a pending command identified by a particular command identifier with a response indicating transaction complete when the system controller receives a message from one of the controllable devices acknowledging the particular command identifier.