1. A method of establishing rules for device interaction in an environment having a plurality of devices where each device performs one or more unique functions within the environment with the one or more functions of each device being associated with various states, the method comprising: observing at one or more devices change of state activity among the plurality of devices through receiving a change of state message that is transmitted to the one or more devices; learning a set of rules at the one or more devices based upon observing the change of state activity; and applying the learned set of rules at the one or more devices to automatically control changes of state of devices within the plurality of devices.