Abstract:
A configurable wall mount light switch for use in controlling multiple light fixtures. In one embodiment, the switch includes a touch screen display, a transceiver and a programmable microcontroller. The microcontroller may be programmed to display a plurality of interface elements on the touch screen display for selection by a user to control one or more light fixtures. Typically, the switch is dimensioned to be received by a single gang electrical box.

Description:
RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Application Ser. No. 61/341,576 filed on Apr. 1, 2010, which is hereby incorporated herein by reference in its entirety. 
     
    
     TECHNICAL FIELD 
       [0002]    The present invention relates generally to the field of lighting control systems typically used in buildings. More particularly, the present invention relates to configurable light switches for controlling lighting within and/or around a building. 
       BACKGROUND 
       [0003]    Centralized lighting control systems have traditionally been controlled by a head-end controller. This controller is typically configured with a central processor that manages all of the devices on the communication signal lines. Because of this arrangement, a limited number of communication lines are able to be connected to the control system, thus limiting the number of input and output devices able to be controlled. Coordination and control of the entire system is accomplished in the head end controller. Additionally, modifications to the control scheme need to be downloaded from a separate desktop or laptop computer. This computer is connected to the head end controller either directly or through an interface module as, for example, depicted in  FIG. 4 . This computer is fitted with a software package that is able to modify the central controller&#39;s input/output scheme or control sequence (i.e., to program the system). To make these modifications, the user typically connects the computer to the head end controller with either a serial connection (e.g., RS-232) or an ethernet connection. The user then makes the appropriate modifications on the connected computer utilizing the software package residing on that computer. After the modifications are complete on the connected computer, they are downloaded to the head end controller. The computer is solely used for programming and/or monitoring the head end controller. 
         [0004]    The traditional head end based control systems have several limitations. For example, head end control based systems, due to their architecture, have a limited number of inputs (e.g., switches) and outputs (e.g., relays). Although large scale control systems exist that are capable of handling a large number of inputs and outputs, those systems are best suited for that purpose—large scale control. They are typically relatively expensive and practically useable only for large scale control systems/applications. The head end control based systems are also typically very expensive and, although capable of controlling a relatively small input/output count system, they are generally cost “ineffective” for both small and large scale applications. 
         [0005]    Head end control based systems do not effectively interface with the individual programming the system. Since the “programming” computer is not an integral part of the lighting control system, it requires the user (programmer) to develop the program and download it to the head-end controller. At first glance, this may appear to be a benefit since the computer is not “required” for the system to function. But after further analysis it quickly becomes evident that it is not a benefit, but rather a hindrance. With the traditional head end based system, a computer is still required for download of the program; it is simply not used for direct interaction or control of the system. The user can program, monitor and even manipulate the system, but this is done through downloads and uploads from the head end controller that controls the system.  FIG. 5  depicts the flow of communication for typical head end based systems. 
         [0006]    Head end based systems exist that do not require a computer for programming. In this type of setup all of the information is typically stored and programmed directly on a keypad on the head end controller. These types of systems are worse yet, as they do not have the means to store the program on a separate device (i.e., computer&#39;s hard drive). If the head end controller fails, the program is lost and must be “rebuilt” in a new head end controller, which is a costly and time consuming process. 
         [0007]    As depicted in  FIG. 3 , traditional head-end based systems use a method of addressing devices on the network with physical dip switches or selector switches. This requires all of the devices connected to the system to be addressed prior to its installation. All devices need to be coordinated such that no two devices on a communication link share the same address. This may not seem like a monumental item at first, but after further examination this can be a daunting task. First of all, devices have to be mapped and coordinated prior to the installation. Devices on different communication links can share the same address with a device on another communication link. If a device is accidentally installed on the wrong communication link, duplication of addresses can exist. Secondly, good records of the system and how it is connected must be maintained with this type of system. If the system is initially set up and at a later date modifications to the system are made, the records from the first installation must be coordinated with the modification to assure that no duplication of addressing is done on a communication link. However, as a practical matter, records can be lost or inaccurate leading to difficulties when making future modifications. 
         [0008]    In head end control based systems, a paper directory card must be maintained and amended at the relay or dimming panels as the controlling loads are added and/or changed. This directory is used to describe what area or lighting circuit is controlled by a given relay or dimmer. Many times this paper card is lost, not maintained and/or contains incorrect entries. When an addition or modification is required, the installer must, therefore, trace out all of the unknown circuits and map out the wiring prior to the modification or addition. Additionally, when a relay or dimmer has failed or is not operating as intended, it can be difficult to rectify the problem without an accurate record of the circuitry. As a consequence, modifications and troubleshooting can be relatively time consuming and costly. 
         [0009]    To conserve energy, modern facilities lighting control systems have incorporated occupancy sensors and ambient light level sensors. Occupancy sensors are used to detect motion in a given area. When motion is detected, a digital “on” signal is sent back to the head end controller to turn on a relay or dimmer. The occupancy sensor also starts an internal timer and, when the time cycle is completed, sends a digital “off” signal back to the same head end controller. The timer is continually reset by the motion sensor, thus maintaining the lights on as long as motion is detected. The deficiency with this type of control system is that all of the control settings are at the sensor. Should a different delay/cycle time be desired, it must physically be set at the sensing device/sensor. These devices are typically mounted to the ceiling of the controlled area and, in larger systems, there can be hundreds or thousands of them throughout the facility. Making a change to the delay/cycle time (a task frequently required to “calibrate” the system) can, therefore, take a substantial amount of time and be fairly costly. 
         [0010]    The other component used in energy conservation of a lighting control system, the ambient light sensor, is typically a separate device with manual control of the set points. The user “picks” an event to occur (on or off of a lighting relay or level of a dimmer) based on the light level in the area. This can be cumbersome as the sensors are not self calibrating to the area of control and require the installer to manually set, and often reset them, until the desired set point is attained. Like the occupancy sensor, all levels of control and setpoints are at the device. Any adjustments and/or setting of the time delay, sensitivity to light, and set points in connection with both time and light must be made manually at the device. Similarly, adjusting, maintaining and repairing these devices can be relatively time consuming and costly. 
       SUMMARY 
       [0011]    According to one aspect, the present invention provides a configurable wall mount switch for use in controlling multiple light fixtures. The switch typically includes a touch screen display, a transceiver, and a programmable microcontroller. The microcontroller generates a user interface on the touch screen display with a plurality of interface elements associated with one or more lighting fixtures. When a user selects an interface element, the microcontroller sends a message via the transceiver for controlling at least one lighting fixture associated with the selected interface element. The particular arrangement of interface elements displayed by the microcontroller is based on one or more messages received via the transceiver. These components are housed in a mounting box that is dimensioned to be received by a single gang electrical box. 
         [0012]    In some exemplary embodiments, the microcontroller may be programmed via the transceiver to reconfigure the user interface. For example, the microcontroller may be programmed to change a textual component associated with an interface element in response to one or more messages received via the transceiver. By way of another example, the microcontroller could be programmed to increase or decrease a number of interface elements on the user interface in response to one or more messages received via the transceiver. 
         [0013]    Embodiments are contemplated in which the interface elements may be buttons that are associated with one or more light fixtures. It will often be desirable to reconfigure the arrangement of buttons on the touch screen display and with which the light fixtures are associated. For example, the microcontroller could be programmed to increase or decrease the number of buttons. In some embodiments, it may also be possible for the microcontroller to be programmed to change one or more descriptions associated with the one or more buttons responsive to one or more messages received via the transceiver. 
         [0014]    According to some embodiments, the switch may include a wall cover plate that is connectable with the mounting box. For example, the wall cover plate may include an opening through which a user accesses the touch screen display. Embodiments are contemplated in which the touch screen display extends into the opening in the wall cover plate. Typically, the wall cover plate is dimensioned for a single gang electrical box. 
         [0015]    In some embodiments, the switch may include a voltage monitor electrically connected with the microcontroller. For example, the microcontroller may be configured to send a message with the amount of voltage sensed by the voltage monitor via the transceiver. In some cases, the microcontroller may send the voltage data responsive to a request message received via the transceiver. Alternatively, the microcontroller could display the voltage data on the touch screen display responsive to selection of an interface element. 
         [0016]    In some embodiments, the microcontroller includes memory to store address data responsive to a message including address data received via the transceiver. In some cases, the microcontroller could display the address data on the touch screen display responsive to selection of an interface element. 
         [0017]    According to a further aspect, the present invention provides a configurable wall mount light switch with a touch screen display, memory, a transceiver, and a microcontroller. The microcontroller can generate a user interface on the touch screen display with a plurality of interface elements associated with one or more lighting fixtures. The microcontroller may be programmed with machine-readable instructions that cause the microcontroller to perform certain steps. For example, the microcontroller may display instructions on the touch screen display directing a user to select a portion of the touch screen display to initiate setup. In response to the user selecting the touch screen display, the microcontroller could transmit a message requesting an address assignment via the transceiver. In response to receiving a message with an address assignment via the transceiver, the microcontroller could be programmed to store the address assignment on the memory. In some exemplary embodiments, the microcontroller may display the address assignment on the touch screen display responsive to selection of an interface element. Embodiments are also contemplated in which the light switch could be dimensioned to be received by a single gang electrical box. 
         [0018]    Still further aspects of the present invention are provided by a method of assigning an address to a light switch having a touch screen display. One step of the method involves displaying instructions on the touch screen display directing a user to select a portion of the touch screen display to initiate setup. If the user selects the touch screen display, communication is initiated with a remote server by sending a message requesting an address. Upon receipt of a message from the remote server that includes an address assignment, the address assignment is stored in memory. 
         [0019]    Additional features and advantages of the invention will become apparent to those skilled in the art upon consideration of the following detailed description of the illustrated embodiment exemplifying the best mode of carrying out the invention as presently perceived. It is intended that all such additional features and advantages be included within this description and be within the scope of the invention. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0020]    The above mentioned and other features of this invention, and the manner of attaining them, will become more apparent and the invention itself will be better understood by reference to the following description of embodiments of the invention taken in conjunction with the accompanying drawings, wherein: 
           [0021]      FIG. 1  is a schematic view of a prior art centralized building lighting control system with a head-end central control panel; 
           [0022]      FIG. 2  is a schematic view of another prior art centralized building lighting control system with a head-end central control panel; 
           [0023]      FIG. 3  is an addressing dip switch bank of prior art lighting control systems; 
           [0024]      FIG. 4  is a schematic diagram of prior art downloading/uploading communications between the head end controller and a computer; 
           [0025]      FIG. 5  is a flow diagram of prior art head end lighting control systems; 
           [0026]      FIG. 6  is a schematic diagram of a lighting control system constructed in accordance with an embodiment of the present invention; 
           [0027]      FIG. 7  is an exploded view showing an example wall mount smart switch according to an embodiment of the present invention; 
           [0028]      FIG. 8  are front elevation views of the example smart switch shown in  FIG. 7  depicting example reconfigurable interface element arrangements; 
           [0029]      FIG. 9  is a block diagram of a smart switch constructed and connected to a lighting control system in accordance with an embodiment of the present invention; 
           [0030]      FIG. 10  is a block diagram of an ambient light/occupancy sensor device constructed and connected to a lighting control system in accordance with an embodiment of the present invention; 
           [0031]      FIG. 11 a    is a schematic diagram of a control system according to an embodiment of the present invention; 
           [0032]      FIG. 11 b    are flow diagrams corresponding to the schematic diagram of  FIG. 11 a    and illustrating communications between an ambient light/occupancy sensor device and the server according to an embodiment of the present invention; 
           [0033]      FIG. 12  is a block diagram of an example input interface constructed and connected to a lighting control system in accordance with an embodiment of the present invention; 
           [0034]      FIG. 13  is a block diagram of an example output interface connected to relay/dimmer devices in accordance with an embodiment of the present invention; 
           [0035]      FIG. 14  is a block diagram of an example output interface constructed and connected to a lighting control system in accordance with an embodiment of the present invention; 
           [0036]      FIG. 15  is a block diagram of a master interface constructed and connected to a lighting control system in accordance with an embodiment of the present invention; 
           [0037]      FIG. 16  is a schematic diagram of an example master interface communication connection to the input and output interfaces according to an embodiment of the present invention; 
           [0038]      FIG. 17  is a flow diagram illustrating internal communications of the master interface according to an embodiment of the present invention; 
           [0039]      FIG. 18  is an example wiring diagram of the primary and secondary communication links according to an embodiment of the present invention; 
           [0040]      FIG. 19  is an example flow diagram illustrating the input interface communications according to the embodiment of the present invention; 
           [0041]      FIG. 20  is an example flow diagram illustrating the output interface communications according to an embodiment of the present invention; 
           [0042]      FIG. 21  is a schematic diagram of an example firmware upgrade hierarchy according to an embodiment of the present invention; 
           [0043]      FIG. 22  is a flow diagram illustrating an example addressing protocol according to an embodiment of the present invention; 
           [0044]      FIG. 23  is a schematic diagram of a prior art ambient light sensor control method; 
           [0045]      FIG. 24  is a schematic diagram illustrating the voltage drop phenomenon used in the present invention for creating a graphical representation; 
           [0046]      FIG. 25  is a flow chart showing an example process for profiling light in a room or area in accordance with an embodiment of the invention; and 
           [0047]      FIG. 26  is a flow chart showing an example process for controlling light based on a profile according to an embodiment of the present invention. 
       
    
    
       [0048]    Corresponding reference characters indicate corresponding parts throughout the several views. Although the exemplification set out herein illustrates embodiments of the invention, in several forms, the embodiments disclosed below are not intended to be exhaustive or to be construed as limiting the scope of the invention to the precise forms disclosed. 
       DETAILED DESCRIPTION OF THE DRAWINGS 
       [0049]    While the concepts of the present disclosure are susceptible to various modifications and alternative forms, specific exemplary embodiments thereof have been shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the concepts of the present disclosure to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the disclosure. 
         [0050]    A centralized building lighting control system constructed in accordance with an embodiment of the present invention is shown and generally depicted in the drawings with the numeral  10 . One embodiment of the lighting control system  10  is generally shown and depicted in  FIG. 6 . In this example embodiment, the lighting control system  10  includes six basic components: Lighting Control Server  12  which preferably includes both a primary control server computer  24  and a secondary/backup control server computer  26 ; Master Interface(s)  14 ; Input Occupancy/Ambient Light Interface(s)  16 ; Output Relay/Dimmer Interface(s)  18 ; Input Devices including Smart Switch Devices  20  and Ambient Light/Occupancy Sensor Devices  21 ; and, Output Relay/Dimmer Devices  22 . In this embodiment, these basic components contain a processor that controls its functions. Typically, only information that is required to be known by another component in the control system is forwarded over a communication network, such as via multi-drop and/or ethernet communication connections. 
         [0051]    As more fully discussed herein below, the lighting control server  12  is responsible for various user interface functions including but not limited to inputting set points and delay settings, tying input requests to output commands, inputting switch button labels and relay descriptions, and setting up time-clock functions. In this regard, the primary server  12  and the secondary server  26  may include keyboards  25  and monitors  27  as diagrammatically depicted in  FIG. 6 . Additionally, the server  12  coordinates the control system  10  as a whole, through database lookups and transmission to the master interfaces  14 , the resultant of those database lookups. The lighting control system  10  is very modular in nature, can accommodate both small and large input/output count facilities/applications and, thus, can become very complex in structure. As more fully described herein below, to eliminate the complexity and make the control system  10  more user friendly, a self addressing function, also referred to herein as the auto-addressing function, is provided whereby the basic components can automatically be identified and an accurate directory/database thereof can be maintained. Each of these components and the operation thereof, along with the overall control system  10  and its operation, are hereinafter described. 
       Input Devices—Smart Switches 
       [0052]    The lighting control system input devices  20 ,  21  are devices that directly monitor the environment of a zone. The input devices may include smart switches  20  and occupancy/ambient light sensors  21 . In the embodiment shown in  FIGS. 7-9 , the smart switches  20  include a touch screen LCD display  28 . In some implementations, the touch screen LCD display  28  may be used as a user interface to facilitate user access to functionality of the smart switch  20 . For example, the user interface may include interface elements, such as buttons, that the user may touch to control the operation of the switch  20 . The function of the switches  20  as well as the appearance and operation of the graphical user interface shown on the display  28  are programmable via a program residing on the server  12 . For example, an initialization menu/program at the lighting control server  12  allows the user to program the function of the switch  20 , such as the number and/or configuration of interface elements (e.g., number of buttons  30 ) that the switch  20  is to have. Typically, the buttons  30  are “soft” keys that are displayed on the LCD display  28 . Embodiments are contemplated in which buttons  30  may be further programmable to display the description of the function of that button. For example, that function description could be automatically uploaded from the lighting control server computer  12  after the system is “setup” and “linked” by the user. The “setup” and “linking” process will be described in greater detail herein below. 
         [0053]    As best seen in the embodiment shown in  FIG. 9 , the switch  20  may include a local microcontroller  32  coupled via connectors  34  to the switch LCD display driver  36  and touch screen controller  38 . Microcontroller  32  may be coupled to a voltage monitor  40 . Microcontroller  32  is also coupled via a communication device, such as a RS-485 transceiver  44 , and a connector  34  to the RS-485 multi-drop primary communication link  42  leading to its controlling master interface  14 . 
         [0054]    In the example shown, switches  20  are mounted in a backbox  52  with a mounting yoke  48  and spacer  50 , and can be installed in common rough in boxes, such as a single gang box, (not shown) in a building wall and using a wall cover plate  46  as shown in  FIG. 7 . 
         [0055]    The switches  20  have several unique functions. After programming by the server  12 , microcontroller  32  is responsible for maintaining the button configuration  30  and button descriptions for the switch  20 ; and monitoring of “button presses” by a user; and, finally, for communicating any changes in status (e.g., button pressing) to its controlling master interface  14 . It is important to note, that since the smart switches  20  each have their own microcontroller  32  and touch screen LCD display  28 , they are able to communicate with a master interface  14  and display pertinent information relating to its operation to the user. As described in greater detail herein below, the smart switches  20 , as well as all other components in the control system  10 , are capable of monitoring and reporting their current state and/or voltage level at that component for thereby mapping/determining the component&#39;s connection order and where a booster power supply may be needed. The component&#39;s current state is reported to the user both locally on the LCD display  28  and at the lighting control server  12 . 
       Input Devices—Occupancy/Ambient Light Devices 
       [0056]    The occupancy/ambient light sensor input devices  21  monitor the environment in a particular zone within or around a building for light level and motion. As best seen in the embodiment shown in  FIG. 10 , occupancy/ambient light sensor  21  may include a local microcontroller  54  coupled to an occupancy/motion sensor  56  and to an ambient light sensor  58 . Similar to the smart switch  20 , microcontroller  54  may be coupled to a voltage monitor  40 . Microcontroller  54  may also be coupled to a communication device, such as via a RS-485 transceiver  44 , and a connector  34  to the RS-485 multi-drop secondary communication link  60  leading to its controlling input occupancy/ambient light interface  16 . 
         [0057]    The occupancy sensor  56  monitors motion in a given zone/area. The ambient light sensor  58  monitors the ambient light level in the zone/area. In one embodiment, the ambient light sensor  58  has three levels of sensitivity. Depending on the level of light in the monitored area, the sensor  58  will automatically adjust its sensitivity to best represent the light level. By way of example, if the light sensor  58  is placed in an area with a high level of natural ambient light (i.e., the area has a lot of windows and sky lights), it will automatically reduce its sensitivity setting to maximize the full scale of light level for that area. As more fully discussed herein below, light sensor  58  is calibrated via a self calibration procedure such that, as the level of artificial lighting changes in the monitored area (i.e., as the control system  10  changes the light level from low to medium by turning on additional relays/lights in a given area) so will the sensor  58  modify its representation of the ambient light in that area. 
         [0058]    Each occupancy/ambient light sensor microcontroller  54  is responsible for monitoring the light sensor  58  and accurately determining the ambient light level for the zone whereat it is located, and for monitoring the occupancy sensor  56  and determining whether motion has been sensed in that same area. Additionally, the microcontroller  54  forwards this status information to its controlling input occupancy/ambient light interface  16 . 
         [0059]    Because the occupancy/ambient light sensor input devices  21  control their own functions yet communicate with the lighting control server  12 , the “on-time,” also known as the “time delay,” after motion is recognized is easily adjustable. More specifically, device  21  starts a timer after motion is sensed in the area. After a specified amount of time has passed (e.g., 30 minutes) and after not receiving any other motion indications within that specified amount of time, device  21 , in combination with the input interface  16  and master interface  14 , sends a command to the control server  12  to turn the lights off in the controlled area. Additionally, the “on-time” or “time delay” can be sent to the device  21  microcontroller  54  via the communication network, namely, through secondary link  60 , input interface  16 , primary link  42 , master interface  14  and ethernet link  62 , and then stored by microcontroller  54 . As can be appreciated, the user can thereby easily set and change, as may be needed or desired, the “on-time” or “delay time” of the input device  21  directly from the central lighting control server  12 . 
         [0060]      FIGS. 11 a -11 b    illustrate a flow diagram of an example communication between the occupancy/ambient light device  21  and server  12  whereby the “delay time” can be reprogrammed/changed. At step A 1 , the user enters a new “delay time” at the lighting control server  12  or any other computer (not shown) that can remote link into the server  12 . The database of these settings which resides on the server  12  is updated (step A 2 ). In step A 3 , the new “delay time” is sent through the ethernet link  62  to the appropriate master interface  14 . The master interface  14  receives and then forwards the requested change through the primary link  42  to the appropriate input interface  16  (step A 4 ). In step A 5 , the input interface  16  then forwards the change through the secondary link  60  to all of the appropriate input devices  21  under its control. Each affected device  21  then updates and stores the new “delay time” and confirms the change was made back to its controlling input interface  16  (step A 6 ). It is noted in step A 7  that, if any of the affected devices  21  do not respond with a confirming message, an error message is sent to and logged on the input interface LCD  64  and the error message is also sent back through the master interface  14  to the server  12  for logging. It is noted that the communications between the control system components is more specifically described herein below. 
         [0061]    Like the smart switches  20 , the occupancy/ambient light device  21  is capable of communicating its current state, and the voltage level at that component, back to the lighting control server  12  and to its controlling input occupancy/ambient light interface  16 . The device&#39;s  21  current state and voltage level is reported to the user both at the input interface LCD  64  of the input interface  16  which is typically located generally nearby the device  21 , as well as at the lighting control server  12 . 
         [0062]    It is noted that in the embodiment shown the occupancy/ambient light devices  21  do not typically each have their own touch screen LCD display as this would greatly increase their cost and physical size. Additionally, the occupancy/ambient light devices  21 , are typically located and mounted up high on a wall or on the ceiling and, therefore, a touch screen and/or a LCD display mounted directly thereon would not be practically useable and would unnecessarily add to the cost. Instead, occupancy/ambient light devices  21  are connected via a multi-drop secondary communication link  60  to a controlling input interface  16  having a LCD  64  and whereat relevant information in connection with the devices  21  is displayed. In this example embodiment, a total of sixteen devices  21  are allowed to be connected to each interface  16  and all information in connection with all sixteen devices  21  is displayed on the controlling interface  16 . In this manner, the user/installer is provided with a manner of getting local/nearby setup and status information of each device  21  while the system cost is minimized. 
         [0063]    It is noted also that because the occupancy/ambient light devices  21  contain an ambient light sensor  58  that is, as described herein above, capable of self adjusting its sensitivity setting, it is possible to fairly easily identify the device  21  and the input interface  16  and, thus, on the control system  10 . That is, pointing a flashlight or otherwise providing another light source at the device sensor  58  will cause a spike in the light intensity reading of the device sensor  58 . As further described herein below, using this phenomenon/procedure, the spike can be observed at the controlling input interface  16  LCD  64  for setting up and identifying the input device  21  on the multi-drop secondary link  60 . 
       Input Occupancy/Ambient Light Interfaces 
       [0064]    The input occupancy/ambient light interface  16  are used to collect, display locally, and pass on to the controlling master interface  14  the status of the occupancy/ambient light devices  21  in one or several zones. A block diagram of a typical input occupancy/ambient light interface  16  is shown in  FIG. 12 . Each input interface  16  typically contains a local microcontroller  66  coupled to a LCD display and controller  64  and a touch screen controller  68 . Microcontroller  66  is coupled to a voltage monitor  40 . Microcontroller  66  is coupled via a RS-485 transceiver  44  and a connector  34  to the RS-485 multi-drop primary communication link  42  leading to its controlling master interface  14 . Microcontroller  66  is also coupled via a communication device, such as a RS-485 transceiver  44 , and a connector  34  to the RS-485 multi-drop secondary communication link  60  leading to up to sixteen occupancy/ambient light devices  21  in this embodiment. 
         [0065]    Typically, an input interface  16  will be installed and reside locally/nearby the area where the occupancy/ambient light devices  21  it interfaces with, are installed. The physical geographic location of the interface  16  is not a requirement due to electrical constraints (i.e. cable length or data transmission rate) but, rather, it is a practical issue when setting up the connected sensors/devices  21  which it controls. The occupancy/ambient light devices  21 , as noted above, are typically “daisy-chained” from device to device with a maximum of sixteen sensors/devices  21  per input interface  16  in the example shown. Each device  21  is “assigned” a unique address from the server  12  via the controlling master interface  14  and input interface  16 . If a particular zone or area requires several sensors/devices  21  to adequately cover the square footage or shape thereof, that grouping information is passed on to and “grouped” at the lighting control server  12 . This allows the sensors/devices  21  in a large or oddly shaped room to act and/or be treated as one common sensor/device  21 . 
         [0066]    The sensors/devices  21 , with the help of their controlling input interface  16 , individually or collectively control a zone or area within or outside the controlled facility. A zone may be an office, a hallway, a conference room, a lobby, a parking lot or any other area that would be considered an area within or outside a building. Each zone may contain multiple levels of lighting, but should typically operate as a unit. For example, a conference room may contain separate control levels for each of a can light circuit, a chandelier circuit, and a general fluorescent lighting circuit, but the general ambient light level for the entire conference room and or motion within the conference room should typically be represented as one area/zone. Any motion within that room or zone will trigger an event that is taken care of pursuant to the desired programmed response at the server  12 . That is, the motion within the room or zone is not broken up into the back part or front part of the room/zone. The sensors/devices  21 , input interfaces  16 , master interfaces  14  and lighting control server  12  all work together to control the lighting in a given area/zone. If a sensor/device  21  recognizes movement in a given area, that sensor/device  21  will forward that event to its controlling input interface  16 . The input interface then forwards that event on to the lighting control server  12  through the applicable master interface  14 . The lighting control server  12  then looks up in its database what to do when that event is triggered. It also checks all other sensors/devices  21  that are “grouped” with this sensor/device  21  to check their status. In some embodiments, the following actions and results are performed based on the quantity of sensors/devices  21  in a given area or zone: 
         [0067]    If a zone contains just one occupancy/ambient light devices  21 , then that sensor/device  21  has total control of the area when active. The light level is, therefore, controlled based on the light level as determined by that sole sensor/device  21 . Additionally, any motion in the room will initiate an “on” command back to the lighting control server  12 . After the prescribed “delay time” without any motion, the sensor/device will initiate an “off” command which is sent back to the lighting control server  12 . 
         [0068]    If a zone contains several occupancy/ambient light devices  21  that are grouped together, then the control scheme/process implemented by the control system  10  is as follows. The ambient light level in the particular area/zone all of the “grouped” sensors are polled and averaged. The continuous polling is done by the input interface  16  and sent to the server  12 . The averaging is done by the lighting control server  12 . The server  12  maintains a list of devices that are “grouped” together. Before a change to the light level (based on a change to the ambient light level) is initiated by the lighting control server, the server  12  first averages the light level from all grouped devices  21  in the applicable area/zone and then, based on the averaged ambient light level and pre-programmed desired result, proceeds to change the light in the area/zone to the desired level. Likewise, when a motion event is encountered by one of the sensors/devices  21 , that information is passed on to the input interface  16 . The input interface  16  then forwards that information through its master interface  14  to the lighting control server  14 , and starts an internal timer on the input interface  16 . If that same sensor/device  21  does not receive any additional motion events before the timer times out then an “off” event is passed on to the lighting control server. However, before the “off” event is passed on from the lighting control server  12  to the appropriate output relay/dimmer interface  18  and associated relays or dimmers, the lighting control server  12  first verifies that no other sensors/devices  21  of the same group are recognizing motion. If any of the other sensors/devices  21  are recognizing motion than the “off” command is delayed until all grouped sensors/devices  21  do not see motion in their field of view. More simply stated an ON event is triggered by an OR condition of any sensor/device  21  that is part of the zone&#39;s group. An OFF event is triggered by an AND condition of all sensors/devices  21  in that same group. The following formulas are used in one embodiment to represent the lighting control scheme for a zone/area with multiple sensors/devices which are grouped together. 
         [0000]    
       
         
               
               
               
             
               
               
             
               
             
               
               
             
               
               
               
             
               
             
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 LIGHT LEVEL = 
                 (SENSOR A light level) + (SENSOR B light 
               
             
          
           
               
                   
                 level) 
               
             
          
           
               
                 + . . . 
               
             
          
           
               
                   
                 (SENSOR N light level)/ 
               
               
                   
                 (Total Number of Sensors in the zone&#39;s group) 
               
               
                   
                 ON EVENT = (SENSOR A has motion) OR (SENSOR B has 
               
               
                   
                 motion) OR . . . (SENSOR N has motion) 
               
             
          
           
               
                   
                 OFF EVENT = 
                 (SENSOR A has no motion) AND (SENSOR B 
               
             
          
           
               
                 has no 
               
             
          
           
               
                   
                 motion) AND . . . (SENSOR N has no motion) 
               
               
                   
                   
               
             
          
         
       
     
         [0069]    It is further noted that, because the “grouping” and conditioning control of the sensors/devices  21  is performed at the central lighting control server  12 , sensors/devices  21  which are controlled by multiple input interfaces  16  can also be “grouped” together. Accordingly, the installer need not know or otherwise keep track of how the system is going to be setup (or grouped) when installing/wiring the system. Additionally, the lighting control server  12  has the ability to “verify” the status of a given zone/area before it triggers an event. For example, if the lighting control server  12  were to miss an OFF event from one of the occupancy/ambient light devices  21 , then the “state” of that zone would be incorrectly represented at the server  12 . Advantageously, however, since the lighting control server  12  can communicate with each input interface  16 , the server  12  can verify the state of each of the grouped sensors/devices  21  prior to initiating an ON or OFF command. 
         [0070]    Also, since the input interfaces  16  include a local LCD display  64 , the “status” of each sensor/device  21  can be identified and viewed locally/nearby, as the sensors/devices  21  see it, of the applicable room/zone. Additionally, the input interfaces  16  simplify the wiring/installation of the up to sixteen sensors/devices  21  within a room or across several rooms since the devices  21  can be wired in any order without regard to location or cable drop point. 
       Output Relay/Dimmer Devices 
       [0071]    Where the input devices  20 ,  21  monitor the environment of a zone; the output devices  22  control the environment of a zone.  FIG. 13  shows a block diagram of typical output relay/dimmer devices  22  and how they connect with the output relay/dimmer interfaces  18 . Output devices  22  can include, but are not limited to, lighting control relays (single pole and two-pole) and dimmers (incandescent/LED/fluorescent). Each such output device  22  typically includes a local microcontroller  70  which is coupled to and controls the ON and OFF status of the relay/dimmer and utilizes a combination of a mechanical relay and electronic control to turn on and off the circuit to the load. In this example, microcontroller  70  is also coupled via a RS-485 transceiver  44  and a RS-485 multi-drop secondary communication link  60  directly to the output interface  18 . Microcontroller  70  is capable of determining the location/address whereat the device  22  is plugged into the output interface  18 , and to communicate this and other information such as the device  22  characteristics (e.g., a single or double pole relay) to the output interface  18 . 
         [0072]    Devices  22  which function as lighting control relays, like other devices  22 , each contain a local microcontroller and is connected directly to an output interface  18 . Like other devices  22 , it communicates directly with the output interfaces  18  via a communication link  60  which may be imprinted directly onto the output interface  18  circuit board. Additionally, the devices/relays  22  are able to determine the location whereat they are plugged into the output interface  18 . The devices/relays  22  are able to use this information and communicate it to the server through the output interface  18  and master interface  14  (i.e. whether it is a single or double pole relay and where it is located in the control system/communication network). The devices/relays  22  are capable of being configured as either a single pole device (for 120V and 277V loads) or a double pole device for (208V or 480V loads). For example, a double pole configuration is provided by plugging in a second relay module into the first. The microcontroller  70  of the controlling module/device  22  acknowledges the additional pole (module/device) and automatically forwards this information onto the output interface  18  whereby this information is then passed on through the master interface  14  to the lighting control server  12 . The microcontroller  70  controls the ON and OFF status of the device/relay  22 . In this regard, the device/relay  22  utilizes a combination of a mechanical relay and an electronic control to turn on and off the circuit to the load. Essentially, the device/relay  22  is a microcontroller based controller wherein the microcontroller determines and communicates its associated relay&#39;s location, the type of relay it is to the server  12 , and wherein it efficiently controls the connected load. The microcontroller  70  thereof may also be capable of detecting and communication error information back to the server  12  through it controlling output interface  18  and master interface  14 . 
         [0073]    Devices  22  which function as incandescent lighting dimmers, like the on/off relays discussed herein above, each have a local microcontroller  70 . In the embodiment shown, the devices/dimmers  22  have the same physical dimension as the lighting control devices/relays  22 . Additionally, in this embodiment, they have the same pin connections for connecting and communicating via a RS-485 multi-drop secondary communication link  60  to the output interface  18 . Thus, they are interchangeable with the devices/relays  22  and are able to communicate the same/similar information back and forth with the relay interfaces  18 . The devices/dimmers  22 , however, are capable of reducing the power output to the load (light). They do this by first receiving a command of “light level” from the output interface  18  in lieu of an on/off command. They then use the “light level” information to adjust the power output to the load via a dimming circuit. Like the lighting control device/relay  22 , the incandescent lighting devices/dimmers  22  communicate the same or similar information back and forth to the server  12  through the output interface  18  and master interface  14  (e.g., location, type and status, etc.). 
         [0074]    Devices  22  which function as LED/fluorescent lighting dimmers are also similar to the 2-pole lighting control devices/relays  22  described herein above. They use the same second module as the 2nd pole of the 2-pole lighting control device/relay  22 . However, the second pole is used to turn on/off the required switched circuit to the dimming ballast. The dimmed output from the dimmer module is used to provide the dimmed circuit to the dimming ballast of the LED or fluorescent light fixture. When the second pole module is plugged into the dimmer it automatically recognizes this configuration and now represents itself as an LED/fluorescent lighting dimmer in lieu of an incandescent lighting dimmer to the relay interface. All other functions of this dimmer are the same or similar as the incandescent lighting device/dimmer  22  described herein above. 
       Output Relay/Dimmer Interfaces 
       [0075]    Output relay/dimmer interfaces  18  are generally the output equivalent to the input interfaces  16 . The output interfaces  18  are used to control the above described devices  22  (e.g., relays and dimmers). Like the input interfaces  16 , the output interfaces  18  communicate with the master interfaces  14 . The output interfaces  18  control (turn on, off or dim as appropriate) the output devices  12  which are connected to them. The output interfaces  18  receive commands via a primary communication link  42  from the master interface  14  as to what devices  22  (e.g., relays or dimmers) are to be controlled and to what level (i.e., on, off or dimmer level). Additionally, the output interfaces  18  forward information from each of the connected devices  22  (e.g., relays and/or dimmers) back to the master interface  14 . This information can include the characteristics of the devices  22  connected at each of its ports/connections, and the current status of each such device  22  (i.e., if it is on, off or to what level it is dimmed at). 
         [0076]    A block diagram of a typical output relay/dimmer interface  18  is shown in  FIG. 14 . Similar to the input interfaces  16 , the output interfaces  18  are provided with a local LCD  72  and touch screen  74  for indication and local control of the aforementioned status information. This allows the user and/or installer to view locally and directly such information and status thereof. The output interfaces  18  may also contain a local microcontroller  76  which is coupled to the LCD display and controller  72  and the touch screen controller  74 . In the example shown, microcontroller  76  is coupled to a voltage monitor  40 . This embodiment shows the microcontroller  76  coupled via a RS-485 transceiver  44  and a connector  34  to the RS-485 multi-drop primary communication link  42  leading to its controlling master interface  14 . In the embodiment shown, microcontroller  76  is also coupled via a RS-485 transceiver  44  and to the RS-485 multi-drop secondary communication link  60  to the pin sockets/connectors  78  whereby up to eight devices  22  (relays and/or dimmers) in this example can be connected as depicted in  FIG. 13 . 
         [0077]    It is noted that the LCD  72  may also serve as a local circuit directory for the user during installation and/or for maintenance purposes. This directory could include a cross reference between the connected devices/relays  22  and a description of the controlled load (e.g., “Conference Room Can Lights”). This directory can be of significant assistance and can significantly decrease time and costs when troubleshooting malfunctions and making future modifications. Since all of this information is collected at the lighting control server  12  in this embodiment, it can easily be forwarded on to the local LCD display  72  of the output interface  18 . All additions and/or changes of the devices  12  are handled automatically at the server  12  and each of the descriptions of the loads for which a connected device  12  (relay or dimmer) is connected is then displayed by default on the LCD display  72 . Should the user want to see different information (e.g., status info) at the local LCD display  72 , they could merely press one of the local menu sequence buttons on the touch screen  74 . 
       Master Interfaces 
       [0078]    In some embodiments, master interfaces  14  may be used to collect the status changes in any zone, via a primary communication link  42 , from the input occupancy/ambient interfaces  16  and smart switches  20 , and to command changes to the output interfaces  18 , also via the primary communication link  42 . For example, each of the interfaces, whether input or output, could be connected in a daisy-chain fashion to the primary communication cable/link  42 . This communication cable/link  42  acts as a power cable and provides power to each of the connected components  16 ,  18  and  20 . As more fully described herein below, by sharing a common power supply cable, the voltage level at each component could be monitored for mapping/determining the components connection order and where a booster power supply may be needed. 
         [0079]    Like the secondary communication link wiring  60  between the input interfaces  16  and the input devices  21  (e.g., Ambient/Occupancy Sensors), the primary communication link wiring  42  between the master interface  14  and the input interfaces  16 , the smart switches  20  and the output interfaces  18  can be connected without regard to order and type.  FIG. 16  diagrammatically shows a typical connection scheme of this portion of the control system  10 . In the example, as shown, an ethernet connection/link  62  connects master interface  14  to the server  12 . 
         [0080]      FIG. 15  shows a block diagram of a master interface  14  according to one embodiment. In the example shown, master interface  14  has two processors/microcontrollers, namely, an ethernet processor  82  and a master processor  84 . Processors  82 ,  84  are connected to one another with a dedicated serial communication link  86 . Ethernet microcontroller  82  is coupled via an ethernet connector  80  and the ethernet link  62  to the server  12 . The master microcontroller  84  is coupled via a RS-485 transceiver  44  and a connector  34  to the RS-485 multi-drop primary communication link  42  leading to the interfaces  16 ,  18  and smart switches  20 . In this example, the master microcontroller  84  is also coupled to a LCD display and controller  88  as well as a touch screen controller  90 . As shown, master microcontroller  84  is coupled to a voltage monitor  40 . 
         [0081]    The master interfaces  14  allow the control system to be modular. Master interfaces  14  are used to collect and distribute information back and forth from the interfaces  14 ,  18  and smart switches  20  to the lighting control server  12 . The master interfaces  14  perform several key functions in the control system  10 . One function that may be performed by the master interfaces is acting as interpreters between the building&#39;s ethernet (data) network and the communication network of input and output interfaces  14 ,  16  and smart switches  20 . Another function of the master interfaces  14  could be acting as collection managers. For example, when several commands are received from several of the input or output interfaces  16 ,  18  or smart switches  20  (e.g., button being pushed), the master interface  14  could collect that information and packet it in an efficient manner to be sent to the lighting control server  12 . Additionally, master interfaces  14  may maintain a local data table of all of the connected components  14 ,  16 ,  18 ,  20  and  21  for determining system health and status. Like the input and output interfaces  16  and  18 , it too may have a local LCD display  88  and touch screen  90  for local feedback to the user during installation and troubleshooting. 
         [0082]    By using master interfaces  14  and thereby providing communications between the control network and the ethernet network, the control system  10  can virtually include an unlimited number of input and output components  14 ,  16 ,  18 ,  20  and  21 . Since the number of master interfaces  14  is only limited by the limits of the ethernet network, through the use of local microcontrollers for collection and efficient packaging of communicated information, an almost unlimited number of input and output points can be realized. This structure allows for an efficient and cost effective solution for both small scale and large scale applications. 
       Lighting Control Server 
       [0083]    The lighting control server  12  generally serves two functions. First, the lighting control server  12  may act as a database server—a function that a computer does very well. When a master interface  14  (via ethernet communication) sends an event change or group of event changes, from one of the zones which it is controlling, to the lighting control server  12 , the server  12  looks up in a database (that resides on the lighting control server  12 ) what to do with that event. The server  12  then queries its database for the output event or events that is/are to be performed when the applicable input event is encountered. The server  12  then organizes a string of commands to be sent to the master interface(s)  14  that control the applicable output interface(s)  18  that control the output event (relay turning on or off, etc.). 
         [0084]    A second function of the lighting control server  12  is to act as a direct and integral interface of the lighting control system  10  and the user programmer. The key point here is that the server  12  it is an integral part of the lighting control system; therefore, it acts as a simple and seamless interface with the lighting control system  10 . The function of programming the system is handled by a software user interface that typically resides on the server  12 . This interface can access the database (that also resides on the server  12 ) directly. This greatly simplifies the programming of the control system  10 . No uploads and downloads are required between the lighting control system  10  and the programming computer/server  12  as they are typically the same device accessing the same database directly. The commands to and from the master interfaces  14  are generally administered by a “Service” running on the lighting control server  12 . This service runs independent and continuously on that server  12  as long as it is powered up. As a result of this arrangement, and since the server  12  acts as a node on the building&#39;s ethernet network  62 , an additional secondary/backup server  26  can be added and coordinated with the primary lighting control server  24  (this would provide a level of redundancy in the system should that be a concern). 
         [0085]    Embodiments are contemplated in which the server  12  could be accessed from any other computer (with the proper security privileges) on the building&#39;s ethernet network  62  via common remote interfaces available (such as Microsoft&#39;s Remote Desktop or a client application). This allows the server  12  to physically reside anywhere in the building and to be accessed at any physical location in the building with a computer and proper security privileges. For example, this would allow the lighting control server to reside in the IT department&#39;s main distribution frame (“MDF”). In such a scenario, a computer in the maintenance department could be granted privileges to access the server  12  for programming changes or a computer in the area to be controlled could be used for adjustments to the lighting level in a particular area. The flexibility of the lighting control server  12  being a node on the building&#39;s Ethernet network  62  allows all of the above described functionality and various other options for user interface as will become evident to one skilled in the art. 
         [0086]    The above described basic six components  12 ,  14 ,  16 ,  18 ,  20  and  21  are programmed and work together as further described herein below so as to provide control to a centralized building lighting control system  10 . The overall or central control scheme is first herein after described, namely, how the components  12 ,  14 ,  16 ,  18 ,  20  and  21  talk to each other (e.g., communicate); how they update their firmware; and, finally, the significance of the local LCD touch screen displays have in the system makeup. 
       System Control Schema—Communication 
       [0087]    In general, control system  10  has three levels of communication with the master interface  14  being the center thereof. In one embodiment, the master interface  14  has two processors  82 ,  84  that are connected directly to one another with a dedicated serial communication link  86 . The ethernet processor  82  could be dedicated to communications with the ethernet network  62  to the lighting control server  12 . For example, as data becomes available (either incoming from the ethernet network  62  or outgoing from the master processor  84 ), the data could be loaded in one of two circular buffers. Data coming in could be loaded in one of the buffers; data going out could be loaded in the other buffer. In the embodiment shown in  FIG. 16 , the master processor  84  is used to communicate with the input and output interfaces  16 ,  18  and the smart switches  20  on the primary RS-485 multi-drop communication link  42 . The communication between the lighting control server  12  and the master interfaces  14  may be done via standard ethernet TCP/IP communication protocols. Both of the subsequent levels of communication (e.g., the primary communication link  42  and secondary communication link  60 ) may utilize a RS-485 multi-drop, addressable communication protocol. 
         [0088]      FIG. 17  is a flow diagram showing an embodiment of how the master interface  14  could collect, organize and distribute information collected from both the ethernet network  62  and the primary RS-485 link  42 . In the embodiment shown, the first level of communication is between the lighting control server  12  and the master interface  14 . It is first important to understand how the master interface  14  connects with the lighting control server  12  in this embodiment. When connected to the building&#39;s computer (data) ethernet network  62 , a master interface  14  is programmed to and will obtain an IP address automatically from the data network&#39;s controller (e.g., router). Likewise, when the lighting control server  12  is connected to the building&#39;s computer (data) ethernet network  62 , it will also obtain an IP address from the building&#39;s data network controller (e.g., router). After the master interface  14  has obtained its IP address it is programmed to and will then poll or broadcast its initialization information packet to the system for a lighting control server  12 . The lighting control server  12  has a unique identifying code to distinguish it from other connected devices. The master interface initialization information packet includes its IP address. When the lighting control server  12  responds, it forwards its IP address back to the master interface. Accordingly, two-way communication is thereby established (typically within milliseconds) between the server  12  and master interface  14 . Should power go down or a loss of IP address occur for any reason from one or all of the master interfaces  14  and/or lighting control server  12 , the same procedure will be re-initiated to re-establish communications automatically. 
         [0089]    After a connection has been established, data to and from the ethernet network  62  is managed using the ethernet processor  82  circular buffers described in the embodiment herein above. Typically, the LCD display  88  on each master interface  14  is programmed to and is able to present the automatically connected IP address should the user need to troubleshoot connection issues. The procedure listed above allows the master interface and lighting control server to connect automatically in a DHCP environment. If a static IP scheme is employed at the facility where the lighting control system is installed, the installer can simply set the IP address of each master interface  14  and the lighting control server  12  via the LCD touchscreens and the graphical user interface, respectively. 
         [0090]    The next level of communications is between the master interfaces  14  and the smart switches  20 , the input interfaces  16  and the output interfaces  18  and is accomplished in one embodiment with an RS-485, multi-drop, secondary link  60 . The master interface  14  may be programmed to take the lead in this communication connection. For example, in order for the components  16 ,  18  and  20  to communicate with each other, the master interface  14  could first assign an address to each as more fully described herein below in the Auto-Addressing section. In such embodiment, this address is automatically cross-linked with an ID that is established at the lighting control server. The cross-linked ID is what is displayed and used for setup and installation of the system. After the interfaces  16 ,  18  and switches  20  are assigned an address, they are programmed to and capable of communicating with the master interface  14 . Typically, the master interface  14  initiates all communication at this level. That is, the master interface  14  polls each interface  16 ,  18  and switches, one after another, until it reaches the last connected address. It then returns to the first address under its command and starts the process over. In between each such polling cycle of the interfaces  16 ,  18  and smart switches  20 , the master interface processor  82  reads its incoming ethernet circular buffer and writes to its outgoing ethernet circular buffer as appropriate. 
         [0091]    Typically, the lowest level of communication is the secondary RS-485, multi drop communication link  60 . As described herein above, unlike the master interfaces  14 , the input and output interfaces  16 ,  18  often contain just one processor. Each of these processors typically has two serial ports, one to talk to each of the primary and secondary RS-485 links  42 ,  60 .  FIG. 18  shows a typical input and/or output interface  16 ,  18  communication connection scheme/link  60 . The secondary communication link  60  is generally responsible for communications between the respective input or output interface  16 ,  18  and its corresponding occupancy/ambient light sensor devices  21  and output relays and/or dimmers devices  22 .  FIGS. 19 and 20  show and describe an embodiment of the operational/program flow diagrams for the communication methods of the input and output interfaces  16 ,  18  respectively. 
       System Firmware Coordination and Setup 
       [0092]    Depending on the circumstances, the control system  10  could include an updating method for allowing firmware/software features to be added and “bugs” worked out of the firmware for one or more components  12 ,  14 ,  16 ,  18  and  20  in the system. The updating method/scheme could be provided because the control system  10 , as described herein above, is modular. Additionally, because the control system  10  is expandable, and because of the likelihood of expansion is probable, the updating method for firmware upgrade (or downgrade) is seamless and automatic. 
         [0093]    The following illustrates the system firmware updating method according to one embodiment: In this example, a lighting control system  20  is initially installed having one master interface  14 , three output interfaces  18 , and twenty relay devices  22 . Thereafter, it is desired to add four more relay devices  18 . The firmware installed (at the factory) on the four new relay devices  22  is a newer revision/version than the firmware on the prior installed output interface  18 . It is desired to maintain and continue to use the firmware on the prior installed output interface  18 . 
         [0094]    In the above example the new relay devices  22  and output interfaces  18  may not communicate all commands correctly because of the different levels/versions of firmware installed on each. In this regard, the updating method includes a “trickle down” firmware modification method/scheme. In this regard,  FIG. 21  shows an embodiment of how the firmware for each level may be stored. The subsequent/lower levels (i.e. the input interface  16  is a subsequent/lower level to the master interface  14 ) are stored and maintained as an image in memory on the higher level component. When a component/device is connected to the higher level component/device (i.e. when a relay  22  is connected to the output interface  18  such as in the above example) the lower level component/device is queried by the higher level component/device. It is noted that the initialization and communications information packets also include the firmware number/version identification. If the firmware versions do not match, then the newly connected component/device sets a location in EEPROM and then resets itself. Upon a reset, each microcontroller enters its boot-loader function/process. In the boot-loader function, the component/device checks to see if the EEPROM code is set. If so, it erases the resident firmware program and requests the firmware program that is imaged on the higher level component/device to which it is connected. The higher level component/device then downloads the applicable firmware to the newly connected lower level component/device. Upon receipt of the firmware from the higher lever component the newly connected component/device resets its EERPOM location and resets itself again. This time, the boot-loader on the newly connected component/device recognizes that the change in EEPROM location and immediately jumps to the newly loaded firmware program. Normal operation then resumes. This same example technique could be applied to all components  16 ,  18  and  20  and devices  21 ,  21  and levels of the control system  10 . 
         [0095]    If a completely new version of firmware is desired for the entire control system  10 , the new firmware could be downloaded through the ethernet connection to the master interface  14  via a menu selection of the graphical user interface program residing on the lighting control server  12 . Once the boot-loader of the master interface  14  finishes updating its firmware and storing the subsequent firmware images, the lower lever/order components will automatically propagate the new revisions throughout the system using the method described above. 
       Significance of Local Touch Screen LCD Displays 
       [0096]    Another unique feature of this invention is the way that it conveys information on a local level to the user. One or more interfaces, such as a master interface  14 , input interface  16 , an output interface  18  or smart switch  20 , as described herein above, could have its own LCD touch screen display. The LCD displays are used for many functions, such as communicating to the user/installer interface/switch status, communication status, connection status and, in the case of the output interface  18 , the circuit (switch-leg) descriptions. Switches  20 , as described herein above, also display button configurations and button labels (descriptions). 
         [0097]    When descriptions of the connected loads (switch-legs) are entered/provided at the lighting control server  12 , that information could be passed on to the corresponding output interface  18  so that it can be displayed on its LCD display  72 . Any changes made to the descriptions in the lighting control server  12  may be automatically updated to the applicable output interface  18 . 
         [0098]    The significance of the local LCD displays is also evident with the smart switches  20 . With the LCD display  28  on the switch  20 , the user is able to coordinate buttons  30  configurations as desired such as through interactive menus on the lighting control server  12 . The switch  20  could automatically upload configuration information and descriptions for each of its buttons  30  after a description is entered or updates are made. This eliminates the need for engraved or worse yet unmarked face plates describing each button. 
       Auto Addressing 
       [0099]    Embodiments in which the control system  10  has the ability to self address each of the components  12 ,  14 ,  16 ,  18 ,  20 ,  21  and  22  is advantageous. This is made possible because, as described herein above, each component typically includes a microcontroller. Generally the microcontroller contains a limited amount of non-volatile memory (e.g., EERPOM memory) whereat an auto addressing program is able to store status information for coordinating and maintaining an address for itself and the rest of the system components. That is, in some embodiments, a primary function of each of the microcontrollers  32 ,  54 ,  66 ,  70 ,  76 ,  82  and  84  is to coordinate and maintain an address protocol for the control system  10 . 
         [0100]    As described herein above, the lighting control server  12  resides over the master interfaces  14 ; the master interfaces reside over the multi-function smart switches  20 , the output interfaces  18  and input interfaces  16 ; the output interfaces reside over the relays and dimmers devices  22 ; and, the input interfaces  16  reside over the occupancy/ambient light sensor devices  21 . This example topology allows for the higher order device (e.g., master interfaces  14 ) to communicate directly with the lower order devices (e.g., input/output interfaces  16 ,  18 ), and also allows the higher order components to address and maintain a table of connected components/devices for the lower order devices. Although the method of addressing may differ slightly for the type of component/device (input components/devices vs. output components/devices) the overall method/scheme is similar. 
         [0101]    As described herein above, in some embodiments, all of the communications between the various components/devices (except with the server  12 ) utilize a multi-drop RS-485 communication schema. Separate RS-485 communication links are typically established for each “level” of the system (e.g., the master interface  14  to input interface  16  communication is separate from the input interface  16  to occupancy/ambient light sensor input devices  21  communication). An exemplary flow diagram describing the method of the self-addressing protocol is shown in  FIG. 22  whereat the self-addressing method/scheme between a master interface  14  and its subsequent/lower level input interfaces  16  and output interfaces  18  is described. 
         [0102]    It is noted that the local LCD displays  68 ,  72  and  28  (located in some embodiments on each of the input or output interfaces  16 ,  18  and switches  20 ) typically perform at least two functions during the self-addressing and setup process (e.g., a bar graph). First, it steps the user through the process as the new component/device is addressed. That is, each step is displayed on the applicable LCD so the user is aware of what is transpiring. For example, when a new smart switch  20  is first connected via the primary link  42  with a master interface  14 , the switch LCD  28  displays a message indicating that the switch “Has not been setup/addressed” and presents/displays a “setup button”  30  for the user/installer to press to begin setup/addressing process. Once the user/installer presses the setup button  30 , the switch LCD  28  displays the progression of the setup/addressing process (e.g., a bar graph). After the switch has obtained its address, it is programmed to and checks with the master interface  14  for firmware compatibility/equality. If the firmware on the switch  20  and master interface  14  do not match, then a request and subsequent transfer of firmware is performed between the two components as described herein above. As also described herein above, this is possible because the firmware for the switch  20  resides in memory as an image on the master interface  14 . The firmware coordination/updating process may take several seconds and the LCD display  28  again displays/presents the progression status of the firmware coordination/update (e.g., bar graph). 
         [0103]    A second function of the local LCD displays  68 ,  72  and  28  during setup/addressing is to allow the user/installer to identify the component/device for “linking.” Linking is typically performed, as more fully described herein below, at the server  12  to allow the real/physical component/device to function the same as the virtual component/device that is programmed and visible on the monitor at the lighting control server. For assisting in performing the linking sequence/process, the component/device ID (cross-referenced from the device&#39;s address) may be displayed on the local LCD displays  68 ,  72  and  28  for easy viewing by the user/installer. 
         [0104]    It is noted that, if a component/device fails and need replacing, the new component/device can be installed using the same ID, and likewise, address as the old component/device. The component/device could include a physical “setup button” or one could be programmed and displayed on its LCD (or on its controlling interface  16 ,  18  LCD) via its respective touch screen controller  38 ,  68 ,  74 ,  90  as, for example, described herein above in connection with the smart switches  20 . For example, when a replacement input/output interface  16 ,  18  is connected to the primary link  42 , the master interface propositions the new/replacement input/output interface  16 ,  18  and initializes the set procedure and, when the setup button is pressed on or in connection with the newly added component/device, the installer is also prompted if the new/replacement interface  16 ,  18  should be installed using the same ID and corresponding address as the old component/device. Accordingly, the installer can elect to use the same ID/address of the old missing component/device or request a new ID/address. If the existing but unused ID/address is selected, all previously programmed and linked interactions with the old component/device from the server  12  will now apply to the new/replacement component/device. 
         [0105]    It is also noted that, in one embodiment, if a component/device becomes unavailable or otherwise is no longer available or is missing on the network, the lighting control server  12  could be programmed to display indicia that the component/device is unavailable (e.g., the virtual previously linked icon of that component/device may have a red “X” through it). Accordingly, the user viewing the server  12  monitor will know that that previously linked component/device is no longer being recognized and can take corrective measures as needed. All other previously programmed functions of the control system  10  will generally still be available, but that component/device will not be active since it is “missing.” 
         [0106]    If the user deletes a component/device at the lighting control server  12  (a device does not need to be missing to be deleted), then a command from the server  12  is sent to the applicable controlling interfaces  14 ,  16 ,  18  to remove that component/device from their respective tables. If the component/device is still available (if it is still physically connected to the control system network) the component/device will again regain the 65 address ID and will be become ready for a “new installation” setup button press. 
         [0107]    As previously mentioned, the setup and addressing protocol and method/scheme between the master interfaces  14  and their connected input/output interfaces  16 ,  18  could be the same as that described above between the master interface  14  and the smart switches  20 . In connection with the setup and addressing procedure between the input interfaces  16  and the ambient/occupancy sensor devices  21 , it is noted that the ambient/occupancy sensor devices  21  do not typically contain a local LCD. However, devices  21  include a light sensor  58  which, in conjunction with a flashlight or other similar light source, can be used to assign an address thereto. In one example procedure for setting up an ambient/occupancy sensor device  21 , the installer/user could first select the input point on the controlling input interface  16  by pressing a soft key/“setup button” on the local touch-screen display  66 ,  68  representing the input device  21  to be setup. It is noted that, in one embodiment, up to sixteen devices  21  can be connected to one input interface  16 , and the status of all sixteen devices  21  is displayed on their controlling interface LCD screen  66 . The displayed status includes an indication showing if the device  21  is setup and the address thereof or, if it is not yet set up, an available “connection point/button.” To set up and address a device  21 , the installer may select a desired connection point and press the “connection point/button” on the touch-screen display  66 ,  68 . The interface  16  then causes all of the devices  21  that are physically connected (wired) to it but are not yet addressed or setup to flash an LED light which is physically located on the devices  21 . The installer can, thus, physically see the devices  21  which are not yet addressed or setup. By then pointing a common flashlight or other light at the device light sensor  58  which is to be connected to that “connection point,” the device  21  is programmed to and will recognize the spike in its light level and request that connection point address from its input interface  16 . All devices  21  under that interface  16  will then stop blinking their LED&#39;s until another setup request is given by pressing another available “connection point/button” at the input interface  16 . 
         [0108]    Once a device  16  has received its address, it is programmed to go through the procedure described herein above to coordinate and/or update or obtain the compatible version of firmware. Should the user/installer want to see the address of a device  21  at a later date, the input interface  16  can be placed in a “check address mode,” for example, by pressing a soft button of the controlling interface LCD  66 ,  68  whereby, by pointing a flashlight at a device light sensor  58 , both the device LED will be caused to blink and the input connection point of the input interface  16  will display indication thereof. 
         [0109]    The setup and addressing protocol and method/scheme between the output interfaces  18  and the output devices  22  is substantially the same as between the master interface  14  to input/output interface  16 ,  18  in regards to the deletion or loss of a device  22 . The creation/assignment of a device  22  address is also similar, except that the output relay/dimmer device  22  is physically plugged into a specific port/pin socket  78  on the output interface  18 . Thus, the address which is assigned to the device  22  is the port/pin socket  78  to which it is attached. In one embodiment, there are a maximum of eight available addresses (0-7) per output interface  18 . In this embodiment, the addresses are assigned by the device  22  being plugged into an output interface pin socket  78  and a fixed code on the connection pins/wires between the device  22  and the output interface  18 . The pins/wires use a binary code to represent the pin socket  78  location of the device  22 .  FIG. 13  shows an example embodiment of the address/access code for each pin socket  78  location whereat an output relay/dimmer device  22  can be plugged into and connected to the output interface  18 . Typically, the output interface  18  continually scans each connection point  78  to verify whether or not a device  22  is present. After the address of a device  22  is established, the output interface is programmed to and requests additional information from the output device  22 , such as the type of output device it is (e.g., single pole relay, two pole relay, incandescent dimmer, or fluorescent dimmer). The output interface  18  can then use this information to update its table of connected devices  22  and pass the device information to its controlling master interface  14  whereat the master interface  14  updates its table of connected components/devices. The master interface  14  then passes on the information to the server  12  for updating the connected components/devices table on the server  12 . 
         [0110]    It is noted that in this embodiment the highest level of communication is between the master interface  14  and the lighting control server  12 . In some embodiments, this communication is via standard ethernet protocols and standard network switches  92 ; thus, no special auto-addressing procedures would be required. For example, this communication may be setup using standard TCP/IP protocols. The lighting control server  12  may assign each master interface  12  and ID so the user is able to distinguish it when “linking” components of the system, but this ID is typically independent from its IP address that is assigned by the network&#39;s router. It is also noted that the example “missing device” and device deletion methods described above could be used with the master interfaces  14 . For example, database tables on the server  12  could be updated and modified for the master interfaces  14  like any other device in the system. 
         [0111]    The example procedures mentioned herein above for “setup” and addressing are used to identify the components/device on the control system network. In an embodiment, each component/device  14 ,  16 ,  18 ,  20 ,  21  and  22  is identified by a nomenclature which uses the address of its higher level/controlling components. Because a master interface  14  is the highest order component in the control system  10  requiring addressing, when it is added to the control system, it obtains its cross-referenced ID from the lighting control server  12 . When the lighting control server  12  recognizes a new master interface, it assigns it an ID, such as “M” plus the next available number (i.e., M1, M2, M3, etc.). The master interface  14  is responsible for assigning the ID of its lower lever connected components/devices. For example, their ID may be composed of both the master interface&#39;s ID plus an identifier representing their type plus the next available number. For example, an output (Relay) interface  18  could have an address ID like M1 RI3. In this case, “M1” represents the ID of its controlling master interface, the “RI” (relay interface) identifies the type of output interface  18  it is, and the “3” represents the address number of the output interface  18 . In one embodiment, it is noted that up to sixty components/devices are possible on a primary communication link  42 . The following table illustrates several examples of the addressing nomenclature of control system components: 
         [0000]    
       
         
               
               
               
             
           
               
                   
               
               
                   
                 ALTERNATE 
                   
               
               
                 DEVICE DESCRIPTION 
                 DESCRIPTION 
                 ADDRESS ID 
               
               
                   
               
             
             
               
                 MASTER INTERFACE (14) 
                   
                 M9 
               
               
                 OUTPUT INTERFACE (18) 
                 RELAY INTERFACE 
                 M9_RI9 
               
               
                 INPUT INTERFACE (16) 
                 AMBIENT/OCC 
                 M9_II9 
               
               
                   
                 INTERFACE 
               
               
                 SWITCH (20) 
                   
                 M9_S9 
               
               
                 RELAY OR DIMMER (22) 
                   
                 M9_RI9_R9 
               
               
                 AMBIENT/OCCUPANCY 
                   
                 M9_II9_A9 
               
               
                 SENSOR (21) 
               
               
                   
               
             
          
         
       
     
         [0112]    The above examples describe an address ID of each component used at the server  12  to “represent” that component in the control system. When programming a new component/device at the server  12 , a “virtual” component/device is established. For example, if a new switch  20  is to be added to the control system, the user would create a new virtual switch using the graphical interface program on the server  12 . The configuration of the switch would be selected (e.g., 2 button, 3 button, etc.). Then a description would be provided for each button  30  (this description will appear on the physical switch LCD  28  buttons  30 ). After the virtual switch is established, it can be “dropped” into a group of virtual devices  22  that it is to control. This group of devices can be one or more of a collection of switches, relays, time-clocks, dimmers, etc. that are to work together in controlling or lighting the inside or outside the building/facility. This “dropping” of each component into each group of devices could be done, for example, by a standard drag and drop procedure common to many software applications (similar to moving a file between folders on a hard drive). Accordingly, the items that are grouped can be coordinated to control the components of that group. 
         [0113]    For example, if a zone (or group) has three light levels controlled by three relays  22 , two five button switches  20 , and a time-clock (the “time clock” can be “virtual” in the sense that it is programmed to operate the relays based on the server clock), the user/installer can assign the operation of various relay devices  22  to various buttons  30  of the two switches  20 . Additionally, the user can assign the relay devices to be overridden by the virtual time clock which has been established and is part of that group. Since all of the components in that group represent a small sub-system of the larger control system  10 , the user can easily create complex/desired control schemes for that group. By combining this feature with the ability for each component/device to communicate with one another, complicated control schemes are simply a matter of dragging and dropping between components. 
         [0114]    By way of another example, assume that the user/installer wants to have the lights go to an AUTO mode every morning at 7:30 AM (in the AUTO mode, the lights should turn on only when an occupant is in the room); the level of lighting is to be determined by the ambient light sensor  58  of the ambient/occupancy device  21 ; and, the user/occupant should have the ability to go to a fixed level (i.e. low level) when a “LOW LEVEL” button  30  is pressed on the local smart switch  20 . This is all simply coordinated/programmed by first creating a group; creating a time clock with the “7:30 AM turn all lights off for the grouped lights and put the group into AUTO mode” (enabling the motion sensor(s) and the ambient light detector(s) of the group); creating a Virtual Smart Switch with “OFF”, “LOW LEVEL”, and “AUTO MODE” for the button descriptions; creating a Virtual Dimmer or several Virtual Relays to control the lights in that area; and finally dropping all of the affected devices into the newly created group. All functions and coordination between the grouped devices are now available for the drag and drop operations within that group. In order for the “LOW LEVEL” function to operate when the corresponding button is pressed, the programmer simply drags the relays that are to turn on or off into the appropriate boxes labeled “On” and “Off” after highlighting the “LOW LEVEL” button of the Virtual Switch”. Additionally, the “AUTO MODE” function is dragged into the “Off” box telling the system to turn off the AUTO MODE function (i.e. to stop controlling the lights by reference to ambient light level and motion). Another requirement of the example was to have the lights of the affected group go into an AUTO MODE at 7:30 AM. This could be done by opening up the time-clock that represents that function of the group and dragging the AUTO MODE function into the “On” Box. One note regarding all of the devices of the system—each device can be dragged and dropped into individual or multiple groups. An example of this is with our 7:30 AM time-clock. That same time-clock can be assigned to several groups if desired and can perform different functions in each group should that be desired (i.e., it may tell all interior zones to go to AUTO MODE and tell all exterior lights to turn off). 
         [0115]    The developing of “virtual devices” and “grouping” of those devices allows the programmer to “pre-setup” the system as a whole prior to having the physical components/devices installed or setup on the system. The method to “link” the physical component/device to the virtual device uses the same procedure as that described above. It is noted that when a physical component/device is setup on the system, the lighting control server generates a unique ID for it that could be displayed on the server until it is linked on the server  12 . That ID may also be available at any time on the local component LCD display by, for example, pressing and holding a spot anywhere on the touch-screen for several seconds. The user can use the displayed IDs of unlinked devices on the server and “link” them to a desired virtual device. This could be done by dragging the virtual device on top of the unassigned physical device ID by way of example. Only like types of components/devices are shown for linking when performing this procedure. This eliminates, for example, the possibility of linking a virtual switch to a physical input interface  16 . When the virtual device is linked to the physical device, the virtual device is no longer listed in the list of “Available Unlinked Virtual Devices” and it now shares the space of the device ID. For example, the result may be a “colored” icon at the device ID along with the device ID and the descriptions and aspects of the virtual device. Through the use of “right click” menus, the process, becomes faster and more efficient for the programmer. 
       Self Calibration 
       [0116]    Energy conservation is a motivating factor for incorporating a lighting control system in a facility. It is desirable to provide lighting only when needed and then, preferably, only at an intensity sufficient for the intended use. It is also desirable to use natural/ambient light when available, and thereby decrease the artificial light being provided from light fixtures and, hence, the power consumption. 
         [0117]    In this regard, a deficiency with existing lighting control systems is their ability to accurately represent the steady state light conditions of a room or area. Some existing lighting control systems use ambient light sensors in an attempt to conserve energy. However, the ambient light sensors, as they are used in existing lighting control systems, are unable to correctly/accurately represent the light level in the room or area as they do not perform a “profile” for the controlled area/room. Moreover, the setup procedure for the light sensors is tedious and often inaccurate. 
         [0118]    An existing method of using light sensors is depicted in  FIG. 23 . As diagrammatically shown therein, the full range of the sensor is used to represent the light level in the room (not the actual range of light conditions of the room being detected). Several user defined “on” set-points and “off” set-points are programmed into the system wherein the differential between each “on” set-point and “off” set-point is small. A small differential is used so as to reduce the likelihood of cycling of the controlling relay around the on/off set-point. There are, however, several problems with this existing method. First, the user must monitor the light level in the controlled areas/rooms to determine all of the on and off set points and how they correspond to the desired light level for the area/room for differing levels of natural light. If this was required for only one area in a building, this may not be a difficult task, but when it is required throughout the facility with the windows in rooms facing different directions, the task can be daunting. Accordingly, set up requires highly experienced installers and is typically time consuming and costly. The end result is inaccurate control of light levels due to the lack of time or experience by the installers. Another problem with the existing control systems is the inability to accurately measure the natural (or ambient) light level without influence from artificial light sources (i.e., the light fixtures that are being turned on and off in the area being sensed/monitored). How the lights in the controlled room affect the light level with varying conditions can make the success of calibrating this type of system borderline effective and frustrating. 
         [0119]    The present light control system  10  overcomes the disadvantages of the existing systems by, in one embodiment, developing a light profile, through the use of its input occupancy/ambient light interface  16 , for the light level in the area which the sensors are representing. This light profile is then used as the basis for the desired control scheme. In this regard, a dynamic profile is generated using the steady-state light level as the reference point for control. The steady-state light level is the actual ambient light level in a particular area with no influence by artificial lighting. The steady-state light level will change as the amount of natural (ambient) light changes, but that is insignificant when determining a profile for the controlled area. An example to aid in defining the ambient light for an area is: in an area with an exterior window, the ambient light level would be the lighting level in the room without influence from the light fixtures in that room. To profile the room, each level of lighting must be introduced into the equation and its resultant change in light level stored as a reference point for each added level of light (i.e., a relay is turned on, the light level is read by the ambient light sensor in that area, and the change in light level is stored with the relay information in a database resident on the lighting control server. An example of this profiling process is described below with reference to  FIG. 26 . 
         [0120]    The microcontrollers on both the ambient light sensors  58 , the input interface  16 , the output interfaces and the relays/dimmers are coordinated to work together with the lighting control server  12  to develop the profile. Since all of the previously noted components are controlled and “grouped” together by the lighting control server an area/room profile is a matter of initiating the sequence by the user (block  100 ). This initiation can start at either the lighting control server or one of the input interfaces. The method for initiating the room profile may be slightly different when originating from either the lighting control server or one of the input interfaces, but the result is the same. In order to initiate a room profile event from one of the input interfaces the user determines which group (area) is to be profiled. The user may select from a list of groups stored at input interfaces. The group information may be automatically sent from the lighting control server to each input interface when a new group is established at the lighting control server. In some cases, an ambient light sensor may be required for profiling purposes. This requirement is determined and maintained automatically by the lighting control server. 
         [0121]    In the exemplary profiling process shown, the user scrolls through each group description for which an area/room can be profiled either at the input interface or the lighting control server. When an area/group is selected, a soft button labeled “Profile Area/Room,” for example, is presented for the user to press (block  102 ). Upon pressing this button, the lighting control server sends an OFF command to each relay/dimmer included in the group to be profiled (block  104 ). Then the lighting control server requests from the ambient/occupancy sensor(s) (through the various communication links) in the group to be profiled a light level reading (block  106 ). This is the steady-state light level for the area. If there are multiple sensors in the area/group then the average of those readings is stored (block  108 ). This information is stored in a database residing on the lighting control server with the appropriate group. In the example profiling process shown, a determination is made as to whether this is the first iteration for the sequence (block  110 ). If it is, the lighting control server issues a command to one of the relays or dimmers in the group to turn ON (again through the various communication links) (block  112 ). Again the ambient/occupancy sensors are polled by the lighting control server for their new light level with the added level of artificial light for the area. The difference between the original “no artificial” light reading and the new “first level of light” reading is stored in a database residing on the lighting control server with the respective relay/dimmer (block  114 ). This process is continued until the lighting control server has measured and stored the added influence of light for each relay or dimmer in the group being profiled (blocks  116  and  118 ). After all of the available levels of artificial light (relays/dimmers) are recorded, the process may be repeated multiple times (e.g., for a total of five times) in the exemplary process shown (block  118 ). 
         [0122]    From the results, in this embodiment, the highest and lowest readings are thrown out and the remaining sets of samples are averaged and recorded in the database (block  122 ) residing on the lighting control server (block  120 ). Performing this sequence multiple (e.g., five) times and eliminating the samples as stated above eliminates the influence of temporary environmental changes during the profiling process (e.g., a cloud passing over). After the profiling process is complete a message is displayed at the point of initiation (either the lighting control server or the input interface) stating that the profile process is complete (block  124 ). This process provides the lighting control server at least two vital pieces of information. First, the lighting control server now knows what influence each relay/dimmer has in regards to the added amount of artificial light for that particular relay/dimmer. Second, the lighting control server now knows the collective total amount of artificial light all of the relays/dimmers provide to an area/room/group. This is the first step in accurately and automatically controlling the light level in an area with respect to the amount of ambient light available at any given time. 
         [0123]    The next step involves polling the room/area/group periodically for the actual maximum ambient light levels. For example, this may occur in response to a command generated by a field device (e.g., motion sensor, light switch, etc.) to turn on lights in a room (or group) (block  200 ). Based on the command, the server may look up in its database which group is associated with the command (block  202 ). With the previously obtained profile information, the lighting control server can now poll the room/area/group for its current light level (block  204 ). The lighting control server now has available, based on profiling through the lookup in its database, what added amount of light will be present when a respective relay or dimmer is turned on. Additionally, the lighting control server can poll each ambient/occupancy sensor for the current light reading in a particular room/area/group. When the response of the current light level is sent back from the sensor to the lighting control server, that information may be arranged (block  206 ). This information may be combined with the lookup in its database to determine what the “current” steady-state light level is. More specifically, the lighting control server takes the current light level reading from the ambient/occupancy sensor and subtracts off the previously recorded step light level(s) for each relay or dimmer that is currently ON (block  208 ). This provides the lighting control server the “current” steady-state light level for the area/room/group being controlled. This steady-state level is now recorded at a periodic rate (e.g., every ten minutes) for the controlled group. A maximum steady-state light level may be determined for each group and stored in a database (block  210 ). The steady-state maximums are stored for a specified amount of time (e.g., 30 days) and that information is used to determine an average maximum steady-state light level for a given area/room/group: To “jump start” the control of the system a factory supplied default may be preloaded into the database for use until a substantial amount of data is collected (e.g., one month). To control the lighting automatically with regards to the ambient light a simple inversely proportional formula may be implemented. For example, the following formula could be used: 
         [0000]      DSP=(1−CUR ssLL /MAX ssLL )*(MAX AAL )
 
         [0124]    Where: 
         [0125]    DSP=Desired Light Level Set Point 
         [0126]    CUR ssLL =Current Steady-State Light Level 
         [0127]    MAX ssLL =Previously Recorded Maximum Steady-State Light Level 
         [0128]    MAX AAL =Previously Determined Maximum Available Artificial Light 
         [0129]    The MAX ssLL  as used in the formula above is constantly being updated and changed as the days pass and the data is updated. This allows for an automatic response to changing environmental conditions (e.g., season changing). Once the desired setpoint (DSP) is determined, the lighting control server can now lookup in its database to determine the best fit to obtain this light level (block  212 ). Moreover, the lighting control server reviews each possible combination of relay(s)/dimmer(s) and their respective added amount of artificial light to determine what combination will get as close as possible to the desired setpoint (DSP) and sends a command based on that criteria (block  214 ). If the “lights on” command changes to “lights off,” the process ends (block  216 ). Otherwise, this process periodically repeats (block  218 ). This example algorithm inversely scales the amount of artificial light in proportion to the maximum ambient light for a given period of time (e.g., one month). Although the concept is complex, through the utilization of the distributed control of the system the application of the algorithm is simple for example, a press of the “profile group” button. 
         [0130]    The sensors  58 , via the controlling program/scheme on the server  12 , are constantly monitoring the light level in a given area. They are able to “record” locally the maximum and minimum light levels in that area for each change in step. This has a bonus side effect, namely, monitoring of the performance of the light fixtures. This is accomplished by comparing the original change in light level as produced by each step of light to the current change in light level by each step of light. This can only be done during the step-up or step-down process from level to level. If the “change” in light level from step to step is stored and compared, then the steady state light level is automatically averaged out of the equation. Since the system is able to monitor this change and compare that change to what is determined acceptable levels in change over time, the system is able to determine when a fixture may need cleaning or a ballast or lamp may need replacing. Utilizing dimmable fixtures enhances the performance of the system by reducing the error of the desired light level (dimming allows for smaller light level steps). 
       Voltage Level Detection and Device Connection Mapping 
       [0131]    In one embodiment, each component  16 ,  18 ,  20 ,  21  and  22  is powered from a common power supply at its master interface  14 . This power feed is provided through the cable that connects each of the components/devices for communications.  FIG. 24  diagrammatically shows this power feed connection scheme. As previously noted in each of the block diagrams of the components  16 ,  18 ,  20 ,  21  and  22  of the system, each component may include a voltage monitor  40  of its source (feed) voltage. This voltage monitor  40  is used to monitor the voltage level at that component/device. Additionally, each component/device may include its own switching voltage regulator (not shown). The voltage regulators are able to reduce the incoming voltage to a usable 3.3 VDC. Due to the resistance of the wire feeding each component/device, a voltage drop is occurs throughout the branch. As the load increases (due to additional devices) and the distance increases (as referenced from the source power supply at the master interface  14 ) the voltage drop increases. 
         [0132]    The voltage drop phenomenon may be used in at least two ways. First, by monitoring the voltage level at each component/device, it is possible to determine the connection order of each of the components/devices. This information is valuable to and may be made available to the installer, such as in a graphical format at the lighting control server monitor. For example, the installer can use this information to aid in troubleshooting issues or to determine where best to add a device on a particular branch. Secondly, it is possible to determine where best to end the branch due to voltage drop or where to add a booster power supply along an existing branch. 
         [0133]    The voltage at each component/device may be communicated back to the server  12 . The server  12  is able to use this information and produce both the connection diagram along with a graphical representation of the voltage level along the branch. This is possible because the switching voltage regulators are able to convert a wide operating range of voltages to the desired/required output of 3.3 VDC. It is noted that there is typically a lowest acceptable input voltage which is typically about 4.5 VDC for each voltage regulator to be able to produce the 3.3 VDC output. Because the system is able to monitor the voltage along the entire branch, from device to device, it possible to graphically show the user, at the lighting control server, where the voltage has dropped to a level below the 4.5 VDC cutoff. 
         [0134]    While this invention has been described as having an exemplary design, the present invention may be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the invention using its general principles.