Electrical load system controller and electrical load network configuration backup method

By designing a device in the load control system that uses processors and memory to generate and transmit backup information, the security problem when the device and server cannot communicate directly is solved, and the effect of securely storing backups on a private network without affecting the operation of the device is achieved.

CN116248426BActive Publication Date: 2026-03-27LUTRON TECHNOLOGY COMPANY LLC
View PDF 12 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-03-08
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

Existing load control systems have insufficient security when generating and storing configuration information backups, especially when the device and server cannot communicate directly, the backup process may affect the normal operation of the device.

Method used

A device has been designed, comprising a processor and memory, capable of generating and storing backup information for a load control system, and transmitting and storing it via a network device to ensure operation on a private network, avoiding direct communication from affecting other tasks of the device.

Benefits of technology

It enables the secure generation and storage of backups of the load control system even when devices and servers cannot communicate directly, without affecting the normal operation of the devices, thus enhancing the security and reliability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116248426B_ABST
    Figure CN116248426B_ABST
Patent Text Reader

Abstract

An electrical load system controller and electrical load network configuration backup method are disclosed. A processor circuit of the electrical load system controller: receives a message including network configuration information from a network device; determines whether the message includes one of network configuration backup trigger points; in response to determining that the message includes one of the network configuration backup trigger points: determines a trigger point priority level based on the network configuration backup trigger point; determines whether to perform a backup operation based on the trigger point priority level and at least a portion of data included in the message; in response to determining that the backup operation is to be performed, generates a backup copy of the network configuration information and saves in a memory circuit; generates a signature representing the network configuration information backup and stores in the memory circuit; determines whether the network device includes a current copy of the network configuration information backup; in response to determining that the current copy is not stored on the network device, transmits the backup copy of the network configuration information and the signature to the network device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional of the application for the invention patent application with the application date of March 8, 2019, the application number 201980026213.2, and the title “Backup for a load control system”. BACKGROUND

[0002] A user environment, such as a home or an office building, for example, can be configured with various types of load control systems. A lighting control system can be used to control lighting loads in the user environment. A motorized window treatment control system can be used to control natural light provided to the user environment. A heating, ventilation, and air conditioning (HVAC) system can be used to control temperature in the user environment.

[0003] Each load control system can include various control devices, including input devices and load control devices. A load control device can receive digital messages from one or more of the input devices for controlling an electrical load, which can include load control instructions. The load control device can be capable of directly controlling the electrical load. The input device can be capable of indirectly controlling the electrical load through the load control device.

[0004] Examples of load control devices can include lighting control devices (e.g., a dimmer switch, an electronic switch, a ballast, or a light emitting diode (LED) driver), a motorized window treatment, a temperature control device (e.g., a thermostat), an AC plug-in load control device, and / or the like. Examples of input devices can include a remote control device, an occupancy sensor, a daylight sensor, a temperature sensor, and / or the like. SUMMARY

[0005] A load control system can include configuration information stored in one or more files. It can be desirable to generate a backup of the one or more files of the load control system and store the backup at a server separate from the load control system, for example.

[0006] Accordingly, an apparatus can include at least one processor and at least one memory device communicably coupled to the at least one processor. The at least one memory device can be configured to store files and a current backup of the files, and can have instructions stored thereon that, when executed by the at least one processor, can direct the at least one processor to receive a first message from a network device, and based at least in part on receiving the first message from the network device, determine whether one of a plurality of trigger points has occurred. Each of the plurality of trigger points can include a trigger level. The instructions, when executed by the at least one processor, can further direct the at least one processor to communicate a second message to the network device based at least in part on determining that a trigger point has occurred. The second message can include the trigger level of the determined trigger point, and the second message can include a request for the network device to request a backup of the files from the apparatus. The instructions, when executed by the at least one processor, can further direct the at least one processor to receive a third message from the network device, the third message including a command to generate a backup of the files. The third message can be received based at least in part on communicating the second message to the network device. Based at least in part on receiving the third message from the network device, the instructions, when executed by the at least one processor, can further direct the at least one processor to determine whether a backup of the files is being generated. Based at least in part on determining that a backup of the files is being generated, the instructions, when executed by the at least one processor, can further direct the at least one processor to communicate an error message to the network device. Based at least in part on receiving the third message from the network device, the instructions, when executed by the at least one processor, can further direct the at least one processor to determine whether the current backup is being communicated to a maximum number of other network devices. Based at least in part on determining that the current backup is currently being communicated to the maximum number of other network devices, the instructions, when executed by the at least one processor, can further direct the at least one processor to communicate an error message to the network device. Based at least in part on receiving the third message from the network device, the instructions, when executed by the at least one processor, can further direct the at least one processor to determine whether there has been a change in one or more of the files since a time that the current backup of the files was generated. Based at least in part on determining that there has been a change in one or more of the files since the time that the current backup of the files was generated, the instructions, when executed by the at least one processor, can further direct the at least one processor to determine a time difference between the time that the current backup of the files was generated and a current time, compare the time difference to an expiration time, and based at least in part on comparing the time difference to the expiration time, determine whether to generate a backup of the files.Based at least in part on determining to generate a backup of the file, the instructions, when executed by the at least one processor, can further direct the at least one processor to: generate a backup of the file; generate a signature of the generated backup; and communicate a copy of the generated backup to the network device. Based at least in part on determining not to generate a backup of the file, the instructions, when executed by the at least one processor, can further direct the at least one processor to: determine whether the current backup has been previously communicated to the network device; and based at least in part on determining that the current backup has been previously communicated to the network device, communicate a message to the network device that the network device has the current backup; and based at least in part on determining that the current backup has not been previously communicated to the network device, communicate a copy of the current backup to the network device. Based at least in part on determining that there is no change to one or more of the files since the time at which the current backup of the files was generated, the instructions, when executed by the at least one processor, can further direct the at least one processor to: determine whether the current backup has been previously communicated to the network device; and based at least in part on determining that the current backup has been previously communicated to the network device, communicate a message to the network device that the network device has the current backup; and based at least in part on determining that the current backup has not been previously communicated to the network device, communicate a copy of the current backup to the network device.

[0007] Such an example device can allow the device to generate a backup of a file and store the backup at a server, where the device and the server are unable to communicate messages and / or data with each other. In this way, the device can be kept on a private network, thereby increasing the security of the device. Additionally, such a device can generate and store a backup without affecting other tasks / operations that the device is configured to perform. Additionally, such a device can communicate with a plurality of network devices, any of which can cause the device to need to generate a backup, and can generate and store a backup without affecting other tasks / operations that the device is configured to perform.

[0008] The above advantages and features are merely representative embodiments. They are not to be viewed as limiting. Additional features and advantages will become apparent in the following description, by reference to the drawings, and by reference to the claims. BRIEF DESCRIPTION OF DRAWINGS

[0009] Figures 1A-1C is a diagram depicting a perspective view of an example environment for associating control devices.

[0010] Figure 2 is a diagram of an example discovery range for performing discovery and / or association of control devices.

[0011] Figure 3 An example flowchart showing an example discovery procedure for discovering and associating control devices.

[0012] Figure 4 A flowchart of an example method for discovering and associating control devices.

[0013] Figure 5 A flowchart of an example discovery procedure for discovering and associating control devices.

[0014] Figure 6 An example graphical user interface (GUI) that can be implemented for discovery and / or association of control devices.

[0015] Figure 7 An example GUI that can be implemented for discovery of control devices and / or association of control devices with a location.

[0016] Figures 8A-8J An example GUI that can be displayed by a visual display of a network device during a zone configuration procedure.

[0017] Figures 9A-9C An example flowchart showing an example discovery procedure for discovering and associating control devices.

[0018] Figure 10 A flowchart of an example zone configuration procedure for associating control devices in a load control environment.

[0019] Figure 11A And Figure 11B An example GUI that can be displayed by a visual display of a network device for configuring operational settings of a zone.

[0020] Figures 12A-12C An example GUI that can be displayed by a visual display of a network device for configuring control devices of a zone.

[0021] Figure 13 An example GUI that is displayed by a visual display of a network device for configuring presets of buttons for control devices in a zone having more than one type of load control device.

[0022] Figures 14A-14H An example GUI that can be displayed by a visual display of a network device for monitoring, controlling, and adjusting configuration of control devices in a load control environment.

[0023] Figure 15A And Figure 15B A flowchart of an example control procedure for monitoring, controlling, and adjusting configuration of control devices in a load control environment.

[0024] Figure 16A , Figure 16B and Figure 16C shows a flowchart of another example procedure for backing up a load control system.

[0025] Figure 16D and Figure 16E shows a flowchart of another example procedure for backing up a load control system.

[0026] Figure 17 is a block diagram of an example system controller.

[0027] Figure 18 is a block diagram of an example control target device.

[0028] Figure 19 is a block diagram of an example control source device.

[0029] Figure 20 is a block diagram of an example network device.

[0030] Figure 21 is a block diagram of an example remote server. DETAILED DESCRIPTION

[0031] CROSS-REFERENCE TO RELATED APPLICATIONS

[0032] This application claims the benefit of U.S. Provisional Patent Application No. 62 / 640,390, filed March 8, 2018, which is hereby incorporated by reference herein in its entirety.

[0033] Figure 1A A representative load control environment 100 (e.g., a load control area) including a load control system is depicted. The load control system can be commissioned for implementing control of electrical devices in the load control system. Commissioning of the load control system can include associating control devices, which can include control source devices and / or control target devices. As Figure 1AAs shown, rooms 102, 104, and 106 in the building can be installed with one or more control target devices, e.g., load control devices for controlling electrical loads in the rooms or the building. Each load control device can be capable of directly controlling an amount of power provided to an electrical load, and can be controlled by a control source device. Exemplary control target devices can include lighting fixtures 108a, 108b, 108c, 108d in room 102; lighting fixtures 138a, 138b, 138c, 138d in room 104; and lighting fixtures 146a, 146b, 146c, 146d in room 106. Each lighting fixture can include a lighting load (e.g., an LED light source) and a respective lighting control device (e.g., an LED driver, a ballast, a dimmer or switch module that can interface with the driver or ballast, or other lighting control device) for controlling the respective lighting load of the lighting fixture. Other exemplary control target devices can include motorized window treatments 120 having a motor drive unit (e.g., including a motor) for controlling a position of covering material 122; a temperature control device (e.g., thermostat 136) for controlling an HVAC system; and / or an AC plug-in load control device 124 for controlling a plug-in electrical load, such as a floor lamp 126, a table lamp, or another electrical device plugged into the AC plug-in load control device 124. AC plug-in load control device 120 can be plugged into an electrical outlet 130.

[0034] Control devices (e.g., control source devices and / or control target devices) can communicate with each other and / or with other devices through wired and / or wireless communication links. For example, control devices can communicate through radio frequency (RF) signals 172. RF signals 172 can be transmitted through any known RF communication techniques and / or protocols (e.g., near field communication (NFC); BLUETOOTH®; ZIGBEE®; CLEAR CONNECT proprietary communication channels, such as CLEAR CONNECT TM and / or the like. Control devices can be both control target devices and control source devices.

[0035] Control source devices can be input devices that indirectly control an amount of power provided to an electrical load by transmitting a digital message to a control target device. The digital message can include a control instruction (e.g., a load control instruction) or another indication that causes the control target device to determine a load control instruction for controlling the electrical load. Exemplary control source devices can include remote control devices 116, 142, and 154; occupancy sensor 112; daylight sensor 150; window sensor 180; and / or network device 128. Control source devices can include wired or wireless devices. Control source devices can include control devices, such as a dimmer switch, an electronic switch, or the like.

[0036] The load control system 100 can be commissioned for implementing control of electrical loads based on commands communicated between control devices configured to control electrical loads (e.g., control source devices and control target devices). For example, the control devices can be associated with one another, and association information can be stored at the control devices or other devices that can be used to communicate and identify digital commands at associated devices for controlling electrical devices in the system. The association information can include unique identifiers of one or more of the associated devices. The association information can be stored at the control devices or other devices that can enable communication and / or identification of digital commands between the control devices.

[0037] The remote control devices 116, 142, and 154 can be wireless devices capable of controlling control target devices through wireless communication. The remote control devices 116, 142, and 154 can be attached to a wall or detached from a wall. Examples of remote control devices are described in greater detail in U.S. Patent No. 5,248,919, entitled “LIGHTING CONTROL DEVICE,” issued September 28, 1993; U.S. Patent No. 8,471,779, entitled “WIRELESS BATTERY POWERED REMOTE CONTROL WITH LABEL SERVING AS ANTENNA ELEMENT,” issued June 25, 2013; and U.S. Patent Application Publication No. 2014 / 0132475, entitled “WIRELESS LOAD CONTROL DEVICE,” published May 15, 2014, the entire disclosures of which are hereby incorporated by reference.

[0038] The occupancy sensor 112 can be configured to detect occupancy and / or vacancy conditions in the load control environment 100 in which the load control system is installed. The occupancy sensor 112 can transmit a digital message to a control target device over the RF communication signals 172 in response to detecting an occupancy or a vacancy condition. The occupancy sensor 112 can operate as a vacancy sensor such that a digital message is transmitted in response to detecting a vacancy condition (e.g., no digital message can be transmitted in response to detecting an occupancy condition). The occupancy sensor 112 can enter an association mode and can transmit an association message over the RF communication signals 172 in response to actuation of the button 114 on the occupancy sensor 112. Examples of RF load control systems having occupancy and / or vacancy sensors are described in greater detail in U.S. Patent No. 8,009,042, issued August 10, 2011, entitled “RADIO-FREQUENCY LIGHTING CONTROL SYSTEM WITH OCCUPANCY SENSING”; U.S. Patent No. 8,199,010, issued June 12, 2012, entitled “METHOD AND APPARATUS FOR CONFIGURING A WIRELESS SENSOR”; and U.S. Patent No. 8,228,184, issued July 24, 2012, entitled “BATTERY-POWERED OCCUPANCY SENSOR,” the entire disclosures of which are hereby incorporated by reference.

[0039] The daylight sensor 150 can be configured to measure a total light intensity in a viewable area of the load control environment 100 in which the load control system is installed. The daylight sensor 150 can transmit a digital message including the measured light intensity over the RF communication signals 172 for controlling a control target device in response to the measured light intensity. The daylight sensor 150 can enter an association mode and can transmit an association message over the RF communication signals 172 in response to actuation of the button 152 on the daylight sensor 150. Examples of RF load control systems having daylight sensors are described in greater detail in U.S. Patent No. 8,410,706, issued April 2, 2013, entitled “METHOD OF CALIBRATING A DAYLIGHT SENSOR”; and U.S. Patent No. 8,451,116, issued May 28, 2013, entitled “WIRELESS BATTERY-POWERED DAYLIGHT SENSOR,” the entire disclosures of which are hereby incorporated by reference.

[0040] The window sensor 180 can be configured to measure an external light intensity from outside the load control environment 100 in which the load control system is installed. The window sensor 180 can be installed on a facade of a building, such as an exterior or interior of a window, to measure the external natural light intensity depending on the position of the sun in the sky. The window sensor 180 can detect when direct sunlight is shining directly into the window sensor 180, when it is reflected onto the window sensor 180, or when it is blocked by external means such as clouds or the building, and can send a digital message indicating the measured light intensity. The window sensor 180 can transmit the digital message including the measured light intensity over the RF communication signals 172. The digital message can be used to control electrical loads by one or more control target devices. The window sensor 180 can enter an association mode and can transmit an association message over the RF communication signals 172 in response to actuation of a button on the window sensor 180.

[0041] The load control environment 100 can include other types of control source devices, such as, for example, temperature sensors, humidity sensors, radiometers, overcast sensors, shadow sensors, pressure sensors, smoke detectors, carbon monoxide detectors, air quality sensors, motion sensors, security sensors, proximity sensors, appliance sensors, zone sensors, keypads, multi-zone control units, slider control units, kinetic or solar remote controls, key fobs, mobile phones, smartphones, tablets, personal digital assistants, personal computers, laptops, time clocks, audiovisual controls, security devices, power monitoring devices (e.g., electric meters, watt-hour meters, utility submeters, utility compound meters, etc.), central control transmitters, residential controllers, commercial controllers, industrial controllers, or any combination of control source devices.

[0042] The load control environment 100 can include a system controller 160 (e.g., a hub device) that can be operable to transmit and / or receive digital messages over wired and / or wireless communications. For example, the system controller 160 can be configured to transmit and / or receive RF communication signals 172 to communicate with one or more control devices (e.g., control source devices and / or control target devices). For example, the system controller 160 can communicate digital messages between associated control devices. The system controller 160 can be coupled to one or more wired control devices (e.g., control source devices and / or control target devices) by wired digital communication links. The system controller 160 can be at the load control environment 100 site or at a remote location. Although the system controller 160 is shown as a single device, the load control environment 100 can include multiple system controllers and / or the functionality thereof can be distributed across multiple devices.

[0043] The system controller 160 can likewise or alternatively communicate over the RF communication signals 170 (e.g., NFC; Cellular; proprietary communication channel, such as CLEAR CONNECT TM The system controller 160 can communicate using RF communication signals 170 over the Internet 164 or other network. RF communication signals 170 can be transmitted using a different protocol and / or wireless frequency band than RF communication signals 172. For example, RF communication signals 170 can be transmitted using cellular signals, and RF communication signals 172 can be transmitted using a proprietary communication protocol. RF communication signals 170 can be transmitted using cellular signals, and RF communication signals 172 can be transmitted using a proprietary communication protocol such as RF communication signals 172 can be transmitted using another RF communication protocol such as RF communication signals 170 and RF communication signals 172 can be transmitted using the same protocol and / or wireless frequency band.

[0044] The system controller 160 can be configured to transmit and receive digital messages between control devices. For example, the system controller 160 can transmit a digital message to a control target device in response to a digital message received from a control source device. The digital message can include association information for storage at the control device or control instructions for controlling an electrical load. The control instructions can be used to control an electrical load of the control target device or to control the electrical load according to control configuration information. The system controller 160 can receive control instructions from a control source device and can perform a lookup of control target devices associated with the control source device. The system controller 160 can send a digital message including the control instructions to the associated control target devices for controlling the electrical load. The system controller 160 can store association information from association messages communicated between control devices or can query control devices for association information stored thereon.

[0045] Once a control source device is associated with a control target device, the control source device can send a digital message to the control target device to cause the control target device to control an amount of power provided to an electrical load. For example, the associated remote control device 116 can instruct the lighting control devices of the lighting fixtures 108a, 108b, 108c, 108d to increase or decrease a lighting level of the respective lighting loads, instruct the motorized window treatment 120 to raise or lower the covering material 122, instruct the AC plug-in load control device 124 to increase or decrease a lighting level of the floor lamp 126, and / or instruct the temperature control device 136 to increase or decrease a temperature in one or more rooms. The associated occupancy sensor 112 can send similar instructions to the control target devices based on detection of an occupancy or vacancy condition within the room 102. The daylight sensor 150 can send similar digital messages to the control target devices based on detection of an amount of natural light within the room 106.

[0046] The control devices (including the load control discovery device 190) can discover and / or perform an association with the system controller 160. The control devices can send an association message to the system controller 160 and / or the system controller 160 can send an association message to the control devices. An identifier of the system controller 160 can be stored at the control devices for detecting communications from the system controller 160. An identifier of the control devices can be stored at the system controller 160 for detecting communications from other control devices.

[0047] The system controller 160 can include control configuration information from which one or more control target devices can be controlled. For example, the control configuration information can include preset configurations. The system controller 160 can generate digital messages according to the preset configurations to set a dimming level of a lighting fixture to a predefined level, set a level of a covering material 122 to a predefined level, set a dimming level of a lamp 126 to a predefined level, or set a temperature of a temperature control device 136 to a predefined level. Different presets can be configured to control different control target devices to control corresponding electrical loads in different ways. Example preset configurations can include a bedtime preset for when a user goes to bed, a movie watch preset for when a user watches a television or movie, a leave preset for when a user leaves a structure, a home preset for when a user is in a structure, or other preset configurations that a user can define for occasions.

[0048] The control configuration information can include zone configurations. The zone configurations can define one or more zones in which control target devices are defined to be controlled. A zone can be a group of control devices having a group identifier for association. Control target devices in different zones can be controlled separately by sending digital messages having control instructions for controlling each zone. Different zones can be identified by a zone identifier (e.g., a group identifier) that can be stored at the system controller 160 and / or the control devices in the zones. Each zone can be defined as a location having a zone identifier that is a location identifier. Although zones can be described herein as locations having location identifiers, other zone configurations can be implemented similarly as described herein for locations.

[0049] The load control environment 100 can include a network device 128. The network device 128 can perform wired and / or wireless communications. Examples of the network device 128 can include a wireless telephone, a tablet, a laptop, a personal digital assistant (PDA), a wearable device (e.g., a watch, glasses, etc.), or another computing device. The network device 128 can be a user device operated by the user 132. The network device 128 can communicate with the system controller 160 and / or the control devices through RF communication signals 170 (e.g., signals, Wireless communication is achieved by transmitting digital messages over signals such as cellular signals. Network device 128 can transmit digital messages in response to user actuation of one or more buttons on network device 128. Devices such as smartphones and tablets are also included. Examples of load control systems for enabling devices are described in more detail in the following: U.S. Patent Application Publication No. 2013 / 0030589, entitled “LOAD CONTROL DEVICE HAVING INTERNET CONNECTIVITY”, published January 11, 2013; and U.S. Patent No. 9,413,171, entitled “NETWORK ACCESS COORDINATION OF LOAD CONTROLDEVICES”, published August 9, 2016, the entire disclosure of which is incorporated herein by reference.

[0050] Network device 128 can use RF communication signals 170 (e.g., Signal, The network device 128 communicates digital messages transmitted by RF communication signals (such as cellular signals) with the system controller 160 to allow the network device 128 to associate with control devices (e.g., control source devices and / or control target devices) and / or control electrical loads. When RF communication signals 170 and 172 communicate using the same communication protocol and / or the same frequency band, the network device 128 can operate as the system controller 160, as described herein.

[0051] Network device 128 may locally execute applications for displaying information received from system controller 160 and / or receiving user input for conveying information to system controller 160. Network device 128 may include a visual display 110 for displaying information to user 132 and may be configured to receive user input from user 132. For example, system controller 160 may be accessed from network device 128 via a web interface (e.g., a web browser) and / or via control applications (e.g., load control applications and / or configuration applications) at network device 128. User 132 may generate and store association information on network device 128 for associating control source devices and control target devices.

[0052] The association information can be stored in the form of a table or database, which associates a unique identifier (e.g., a serial number) of a control target device with the location and / or unique identifier (e.g., a serial number) of one or more control source devices. The association information may include device type identifiers indicating the device type of the control target device (e.g., a lighting control device, motorized curtains, plug-in load control device, temperature control device, etc.) and / or the device type of the control source device (e.g., a remote control device, occupancy sensor, daylight sensor, window sensor, etc.). The association information can be transmitted from network device 128 to system controller 160. System controller 160 can store the association information. System controller 160 can identify the association information corresponding to each control target device by using a unique identifier (e.g., a unique identifier of the control source device) that identifies the control target device and the corresponding associated device, to transmit the association information to each control target device for storage thereon. System controller 160 can identify other information corresponding to each control target device (such as control configuration information) and can transmit such information to each control target device for storage thereon, allowing the control target device to respond based on the information.

[0053] A control device can be associated with a location to enable control of an electrical load at that location. The control device can also be associated with other control devices at the same location to enable control of the electrical load. For example, by storing a location identifier at the control device, the control device can be associated with a location, allowing it to detect digital messages sent to control devices at the identified location. By storing the identifier of the control device, a control device (e.g., a target control device) can be associated with other control devices (e.g., a source control device), allowing the target control device (e.g., the target control device) to detect digital messages sent from associated control devices (e.g., source control devices) for controlling the electrical load. When a target control device is associated with a source control device, the target control device can respond to the source control device.

[0054] The location of the control device can be found relative to the location of other control devices in the load control environment 100. For example... Figure 1A As shown, a control device (e.g., a control source device and / or a control target device) can send messages within the detection range 134, which can be received by other control devices within the detection range 134. The message can be a dedicated detection message, which can be identified as a detection message by the receiving device, or another message that can be transmitted in the load control environment 100 and interpreted as a detection message. For example, the message can be an association message for associating devices in the load control environment 100, and / or the message can be a control message for controlling devices in the load control environment 100.

[0055] Control devices that transmit discovery messages (e.g., dedicated discovery messages or messages otherwise interpreted as discovery messages) can be identified as load control discovery devices 190. The load control discovery devices 190 can be devices that perform one or more activities. For example, the load control discovery devices 190 can be: a control source device (e.g., remote control device 116) that controls an amount of power provided to an electrical load by transmitting digital messages to control target devices; and / or a control device that transmits discovery messages to one or more control devices.

[0056] The load control discovery devices 190 can be dedicated load control discovery devices 190. For example, the dedicated load control discovery devices 190 can be devices (e.g., control devices) that can be used to transmit discovery messages to control devices and / or system controller 160 during a dedicated discovery mode. The dedicated discovery mode can be enabled for a period of time, can be enabled / disabled upon a user receiving an indication, and / or can be configured as a static mode on the dedicated discovery devices. The discovery messages can be messages used to discover control devices and / or system controller 160. The discovery messages can be messages used for one or more activities. For example, the discovery messages can be messages configured to discover control devices and / or system controller 160, and the discovery messages can be messages configured to associate a control device with another control device and / or system controller 160. The discovery messages can be control messages configured to discover control devices and control the control devices that receive the discovery messages.

[0057] Figure 1A Examples are shown in which a control source device (e.g., remote control device 116) is assigned as a load control discovery device 190 that can transmit discovery messages within a discovery range 134, but other control devices can also be assigned as load control discovery devices 190. The discovery range 134 can correspond to a transmission power (e.g., an adjustable transmission power) of the load control discovery devices 190. The load control discovery devices 190 can be preconfigured for locations. For example, the load control discovery devices 190 can be stored as load control discovery devices at system controller 160, load control discovery devices 190, and / or other devices at the identified locations for the identified locations. The discovery messages transmitted by the load control discovery devices 190 can be received by other devices, such as other control devices and / or system controller 160.

[0058] The devices can receive the discovery message and determine whether the discovery message was received at a signal strength above a receive power threshold (e.g., a predefined signal strength). The predefined signal strength can be received from the system controller 160 and / or can be preconfigured at manufacture. A control device that receives the discovery message can report that the discovery message was received. A control device that receives the discovery message can report a received signal strength of the discovery message. The control device can report the discovery message and / or the received signal strength to another control device (e.g., a control source device, a control target device, etc.). The control device that receives the discovery message can report the discovery message and / or the received signal strength to the system controller 160. The control device and / or the system controller 160 can store the control device that receives the discovery message and provide an identifier of the control device to the network device 128. The network device 128 can display the control device to the user 132 for association with a location and / or other control devices.

[0059] Because each control device can be associated with a location, a list of control devices in a given location can be invoked at the network device 128 (e.g., from direct storage or from the system controller 160). A control device can be associated with other devices, disassociated from other devices, or disassociated from a location. Association and disassociation of devices can enable configuration and / or reconfiguration of control devices in a defined area. A location can be defined and / or redefined by discovering devices and updating associations. Control devices can be installed and / or associated by a different person than the user 132 that operates or manages operation of the control devices in the space. Discovery of control target devices by a control source device can enable configuration or reconfiguration of a location to optimize control of control devices according to use of the space. The use of a location can change or can differ from a location originally identified in a plan (e.g., such as when devices are installed in the rooms 102, 104, 106). As such, discovering devices within the discovery range 134 of the load control discovery device 190 can enable the user 132 to redefine associated devices of a given location.

[0060] Devices can receive the discovery message and determine whether the discovery message was received within a discovery range and / or a discovery zone. The discovery range can be divided into one or more discovery zones. A discovery zone can be identified by a received signal strength at which a discovery message can be received, and / or a discovery zone can be identified by another identifier, such as a transmission power of the discovery message and / or a threshold (e.g., a receive power threshold). The discovery message can be transmitted within a discovery range and can identify a discovery zone within which a device can respond. A discovery zone can be identified by a received signal strength or a range of received signal strengths at which a control device can respond to receiving the discovery message at the identified signal strength.

[0061] The discovery message transmitted by the load control discovery device 190 can be a broadcast message that can be broadcasted within the established discovery range 134. The discovery message can include information identifying the load control discovery device 190 from which the discovery message is transmitted. The discovery message can indicate a type of control device (e.g., remote control device, occupancy sensor, lighting control device, etc.), can identify a unique identifier (e.g., serial number) of the load control discovery device 190, a link address for communicating directly with the load control discovery device 190, whether the device is a control target device or a control source device, and / or other information about the device.

[0062] The discovery range 134 can depend on a transmission power of the transmitting device and / or a transmission power range. For example, the discovery range 134 can be based on a transmission power from which the digital message is transmitted from the load control discovery device 190 or a distance at which the digital message is to be transmitted. The transmission power of the transmitting device can be adjustable to adjust an area of the discovery range 134.

[0063] The discovery range 134 can likewise or alternatively depend on a threshold. For example, the discovery range 134 can depend on a reception power threshold of the receiving devices. For example, the discovery range 134 can depend on a signal strength at which the control devices receive the digital message from the load control discovery device 190. The signal strength can be a signal strength indicated as a received signal strength indication (RSSI) at each of the receiving devices. The RSSI can be defined as a measure of the power level at which the receiving devices are receiving the digital message from the transmitting device. The receiving devices can each compare the RSSI of the received message to a reception power threshold (which can be stored in a memory in each receiving device) and can respond to the received message when the RSSI is greater than the reception power threshold. The reception power threshold of each receiving device can be adjustable to adjust an area of the discovery range 134. For example, the discovery message can include a reception power threshold, and the receiving control devices can compare the RSSI of the received signal (e.g., the discovery message) to the reception power threshold.

[0064] The discovery range 134 can be divided into a plurality of discovery zones having different RSSI values and / or ranges. For example, the discovery range 134 can be broken down into discovery zones that are each associated with a different group of devices (e.g., devices that receive the discovery message at the same signal strength and / or within the same signal strength range). Selecting control devices within one or more particular discovery zones can limit the number of devices that simultaneously transmit responses to reduce or prevent interference between devices located within different discovery zones. Control devices in different zones that respond to the discovery message can be aggregated by selecting control devices from more than one discovery zone. For example, based on locations of the control devices in different zones, the control devices in different zones can be independently displayed to the user 132 and / or provided to the control devices.

[0065] like Figure 1A As shown, the transmit power of the load control detection device 190 can define a detection range 134. The detection range 134 can be defined according to a minimum signal strength (e.g., minimum RSSI) to a maximum signal strength (e.g., maximum RSSI). The minimum signal strength can define the outer edge of the detection range 134. The maximum signal strength can define an inner region (e.g., a region within the detection range 134) within which the device is prevented from responding to a detection message. The maximum signal strength can be set such that the inner region is relatively small (e.g., zero feet from the load control detection device 190). The transmission of a detection message at the load control detection device 190 can begin at the inner region; for example, the load control detection device can begin transmitting at zero feet from the load control detection device 190 and transmit incrementally beyond zero feet from the load control detection device 190.

[0066] Control devices within detection range 134 can respond to detection messages transmitted from load control detection device 190. Each control device can calculate the RSSI of each received corresponding detection message. One or more control devices can organize themselves based on the RSSI of each received corresponding detection message. System controller 160 and / or network device 128 can organize the control devices. For example, system controller 160 and / or network device 128 can organize the control devices based on the RSSI of each received corresponding detection message. Control devices that receive a detection message in a signal with an RSSI higher than the received power threshold are within detection range 134, and control devices that receive a detection message in a signal with an RSSI lower than the received power threshold are outside detection range 134.

[0067] The load control discovery device 190 may be a control device (e.g., a control source or control target) pre-installed in the load control system for performing load control. Since the load control discovery device 190 and / or the control device to be discovered can communicate using a different protocol than the network device 128, the system controller 160 can identify responses to discovery messages and provide the discovered devices to the network device 128. Using a control device installed for performing load control as the load control discovery device 190 reduces the number of devices required for discovery and / or association.

[0068] The discovery range 134 can be subject to the influence of interference. For example, a wall, floor, or ceiling separating the rooms 102, 104, 106 can cause interference. A control device receiving a discovery message within the same discovery range and / or the same discovery zone as another control device can cause interference. Interference can degrade the signal strength of a discovery message. This degradation can reduce the discovery range 134 of a discovery message transmitted from a load control discovery device 190 in, for example, the room 102, 104, and / or 106. As shown in Figure 1A the discovery range 134 can be degraded due to the wall between the rooms 102 and 104 and the ceiling and floor between the rooms 102 and 106, such that the discovery range 134 is further highlighted into the room 102 where there is less interference. Even though the discovery range 134 is illustrated by a circle in Figure 1A , the discovery range 134 can define an area other than a circular area.

[0069] The RSSI or signal strength can be one discovery criterion that can be used to discover devices in the load control environment 100. One or more discovery criteria can be used to discover devices in the load control environment 100. A discovery criterion can include an amount of time since power up of a device. If a control device powers up before or after the amount of time indicated in the discovery criterion, the control device can be filtered out from discovered devices. The control device can start an internal timer when powered up and can identify when a threshold amount of time for discovery has been met. In another example, the control device can provide an amount of time since the internal timer started and another device, such as the system controller 160 or the network device 128, can identify when a threshold amount of time for discovery has been met.

[0070] A discovery criterion can include a load state of an electronic load controlled by the control device. For example, the load state can be an on / off state of an electrical load controlled by the load control device. The load state can be a dimming level or range of dimming levels of a lighting load. The control device can identify the load state of the electrical load and identify when the load state for discovery has been met. In another example, the control device can provide the load state to another device, such as the system controller 160 or the network device 128, which can identify when the load state for discovery has been met. The inclusion of a load state in a discovery criterion can allow a user 132 to adjust the load state of an electrical load using devices that the user 132 wants to discover. For example, the user 132 can change the on / off state of the lighting fixtures 108a and 108b to an "on" state for discovery and the user 132 can leave the on / off state of the lighting fixtures 108c and 108d in an "off" state to filter out according to the discovery criterion.

[0071] The discovery criteria can include an occupancy status or activity level identified by an occupancy sensor, such as occupancy sensor 112. For example, occupancy sensor 112 can identify an occupied condition or an unoccupied condition for discovery occupancy sensor 112. Occupancy sensor 112 can identify different activity levels. For example, occupancy sensor can identify major motion events (e.g., above a predefined motion level) and minor motion events (e.g., below a predefined motion level) within a viewable area of occupancy sensor 112. The major motion events or minor motion events can be used for discovery of occupancy sensor 112. Occupancy sensor 112 can send a response message when a defined occupancy status or a defined activity level is identified. The occupancy status and / or activity level can be used for discovery of devices other than occupancy sensor. The occupancy status and / or activity level can be identified by occupancy sensor 112, and occupancy sensor 112 can send a discovery message to devices within a discovery range. The discovery message from occupancy sensor 112 can identify the occupancy status and / or activity level identified at occupancy sensor 112.

[0072] The discovery criteria can include devices that have previously been associated with a location and / or a device. For example, the discovered devices can include devices that have been previously discovered and / or devices that have previously been stored in association information at another device. The discovery message can include a request for associated devices, and in response, identifiers of associated devices can be returned. The discovery message can include an identifier of a particular device (e.g., a previously discovered device), and the discovery message can query controlling devices whether they have been associated with the device. The response to the discovery message can include a reply to the request, or devices that are not associated with the identified controlling device can not respond.

[0073] The discovery criteria can be stored at the controlling devices for use in deciding whether to respond to a discovery message according to the defined criteria. Each discovery criteria can be responded to independently, or a combination of criteria can be identified for response. The discovery criteria can be updated at the load control devices in update messages from system controller 160 and / or network devices 128. The discovery criteria can be defined at the network devices and sent to the controlling devices for use in determining whether to respond to a discovery message. The discovery message can define the discovery criteria for responding when identified at the controlling devices.

[0074] The discovery message can request the control devices to provide identified discovery criteria, and the system controller 160 and / or the network device 128 can filter the discovered devices based on the discovery criteria provided by the control devices. For example, the discovery message can request the control devices to provide an RSSI at which the discovery message was received, an amount of time since power up, a load status, and / or an occupancy status or activity level identified by an occupancy sensor. The control devices can provide the requested information or a null value where the requested information is not identified at the control device, and the system and / or one or more criteria can be provided to the system controller 160 and / or the network device 128 for filtering the discovered devices.

[0075] One of the discovery criteria can be used to initially discover devices, and the criteria can be further filtered based on other criteria. For example, control devices that receive a discovery message with a certain signal strength (e.g., RSSI) can be used to generate an initial data set. The initial data set can be further filtered using other discovery criteria. The discovery criteria can be provided to the user 132 on the network device 128 for selection to further filter the number of devices discovered in the data set. The discovery criteria can be provided to the user 132 sequentially and / or in a randomly generated order. Instructions can be provided to the user 132 on the network device 128 to indicate the user 132 in a manner to further filter the discovered devices. For example, the network device 128 can instruct the user 132 to enter a room 102 to discover devices in the room 102. The network device 128 can instruct the user 132 to enter a room 102 to discover devices in the room 102. The network device 128 can instruct the user 132 to make major motion in the vicinity of the devices to be discovered, such that the occupancy sensor 112 can detect a major motion event and send a digital message used by the system controller 160 and / or the network device 128 to filter the discovered devices. The discovery criteria can be selected by the user to limit the number of discovered devices.

[0076] The transmission of the discovery message can be triggered by actuation of a button on the load control discovery device 190 and / or receipt of a discovery trigger message. For example, the load control discovery device 190 can be identified as a remote control device 116. The load control discovery device 190 can be identified as a dedicated load control discovery device. The user 132 can actuate a button (e.g., for a predefined period of time), a series of buttons, and / or perform other commands on the load control discovery device 190 to transmit the discovery message. Actuation of the button for different periods of time can cause the load control discovery device 190 to be set to different modes. For example, actuation of the button on the load control discovery device 190 (e.g., remote control device 116) for three seconds can cause the load control discovery device 190 to be set to an association mode in which the load control discovery device 190 can send association messages to control target devices. In the example, actuation of the button on the load control discovery device 190 (e.g., remote control device 116) for six seconds can cause the load control discovery device 190 to be set to a discovery mode in which the load control discovery device 190 can send discovery messages to control target devices. The load control discovery device 190 can likewise or alternatively receive a discovery trigger message from the system controller 160 or a network device 128. The network device 128 can receive actuation of the button by the user 132 and can transmit a discovery trigger message to the load control discovery device 190 or indicate to the system controller 160 to transmit the discovery trigger message.

[0077] The transmission of the discovery message can be performed by a sensor in the load control environment. For example, the load control discovery device can be an occupancy sensor that can transmit a digital message when an occupancy condition (e.g., an occupied room) and / or a vacancy condition (e.g., an unoccupied room) is identified. The occupancy condition and / or vacancy condition can be interpreted as a discovery message by other devices (e.g., when the devices are in a discovery mode). A user can enter or exit a room to trigger the transmission of a discovery message in the location of the occupancy sensor to discover devices in that location.

[0078] A control device that receives the discovery message from the load control discovery device 190 can be a bidirectional communication device (e.g., a lighting control device in the lighting fixtures 108a, 108b, 108c, 108d, the motorized window treatments 120, the AC plug-in load control device 124, etc.) that can receive the discovery message and can acknowledge receipt of the discovery message to the system controller 160. The control device can identify the discovery message as being from the load control discovery device 190 and can store an indication of receipt of the discovery message. The control device can identify the discovery message by a device identifier of the load control discovery device 190 that is not associated with the control device, a device identifier of the load control discovery device 190 that is associated with the control device and identified as the load control discovery device 190, and / or a discovery message identifier. The control device can store a signal strength (e.g., a received signal strength indication (RSSI)) of receipt of the discovery message and / or the control device can store a threshold (e.g., a received power threshold). The control device can report the signal strength to one or more other devices and / or the control device can report to one or more devices whether the signal strength is below or above the received power threshold. For example, the control device can report the signal strength to other control devices, the network device 128, and / or the system controller 160. The control device can likewise or alternatively report whether the signal strength is below or above the received power threshold. If the signal strength (e.g., the RSSI) is above the threshold (e.g., a predefined received power threshold), receipt of the discovery message can be reported.

[0079] A control device that is a unidirectional communication device (e.g., the occupancy sensor 112, the window sensor 180, the daylight sensor 150, the remote control device 154, the remote control device 142, etc.) can not be able to receive the discovery message. The unidirectional communication device can transmit the discovery message to the load control discovery device 190 for detection and / or association and / or the system controller 160. The discovery message can include an identifier of the transmitting device. To transmit the discovery message, the user 132 can actuate a button on the unidirectional communication device. The user 132 can actuate the button 118 on the remote control device, the button 144 on the remote control device 142, the button 156 on the remote control device 154, the button 152 on the daylight sensor 150, the button 114 on the occupancy sensor 112, and / or the like. To trigger transmission of the discovery message at the daylight sensor 150, the user 132 can likewise or alternatively transmit a laser signal that can be identified by the daylight sensor 150. Although some control devices can be described as bidirectional communication devices, any control device can include a button for transmitting a discovery message.

[0080] Because the load control discovery device 190 can receive messages from control devices, the two-way communication device can also send discovery messages or responses to discovery messages transmitted from the load control discovery device 190. The load control discovery device 190 can determine the signal strength of receiving messages from control devices. The load control discovery device 190 can record the identified devices and / or signal strengths internally. The load control discovery device 190 can provide the identified devices and / or signal strengths to the system controller 160 and / or the network device 128. Although certain devices can be described as one-way communication devices or two-way communication devices, the devices can be configured for one-way or two-way communication.

[0081] The system controller 160 and / or the network device 128 can be used to coordinate discovery and association of control devices in a location. A user 132 can actuate a button on the network device 128 to discover devices in a location, and the network device 128 can request discovery information from the system controller 160. The system controller 160 can receive the request and can transmit a digital message to put control devices in a discovery mode. The digital message to put control devices in a discovery mode can be the same message as the discovery trigger message used to trigger discovery messages at the load control discovery device 190, or can be a different message. Once in the discovery mode, the control devices can know to listen for discovery messages. The user 132 can actuate a button on a control device to enter the discovery mode. For example, the user can actuate one or more buttons on the load control discovery device 190 (e.g., for a pre-defined period of time) to send a digital message to the system controller 160 and / or other control devices to enter the discovery mode.

[0082] The control device can transmit a digital message to the system controller 160 to acknowledge receipt of the discovery message. The digital message can include a device identifier of the load control discovery device 190 and / or a signal strength at which the discovery message was received. The digital message can be sent to the system controller 160 in response to a request from the system controller 160 (e.g., after the system controller 160 receives the discovery message itself). The request from the system controller 160 can include a request to acknowledge receipt of a message from a device with a device identifier of the load control discovery device 190 and / or a received signal strength of the message. The request from the system controller 160 can include a request to acknowledge receipt of the discovery message from the load control discovery device 190 and / or a received signal strength of the message if the discovery message was received with a signal strength above a predefined threshold (e.g., a received power threshold). The request from the system controller 160 can include a request for device identifiers of unassociated devices from which messages have been received (e.g., since entering the discovery mode) and / or a received signal strength of the messages. The request from the system controller 160 can include a request for device identifiers of load control discovery devices from which messages have been received (e.g., since entering the discovery mode) and / or a received signal strength of the messages.

[0083] The system controller 160 can provide the discovered devices to the network device 128 for display to the user 132. The system controller 160 can organize the discovered devices for display to the user 132 for performing association. The system controller 160 can organize the discovered control devices in the form of an organized dataset (e.g., an ascending or descending list) that is organized according to a signal strength at which the discovery message was received at each device. The system controller 160 can remove from the dataset any devices that received the discovery message with a signal strength below a predefined threshold (e.g., a received power threshold). The system controller 160 can include in the dataset a predefined number of devices with the greatest signal strength. The system controller 160 can send the organized dataset to the network device 128 for display to the user 132.

[0084] Although coordination of discovery and / or association of control devices is described herein as being performed at the system controller 160, such functionality can be implemented in the control devices themselves. One or more control devices (e.g., lighting control devices in the lighting fixtures 108a, 108b, 108c, 108d, the remote control device 116, etc.) can be used to coordinate discovery and / or association of control devices (e.g., control devices within a location). One or more central control devices can receive a request to place control devices in a discovery mode and can transmit a digital message to place control devices in a discovery mode. The digital message can be sent to control devices that are proximate to the one or more central control devices. The digital message to place control devices in a discovery mode can be the same message as the discovery trigger message used to trigger discovery messages at the load control discovery device 190 or can be a different message. Once in the discovery mode, the control devices can know to listen for discovery messages. The one or more central control devices can collect discovery information (e.g., confirming receipt of discovery messages and / or signal strength of receipt of discovery messages) from other control devices and can provide the discovery information to the network device 128. The one or more central control devices can receive association information from the network device 128 and send the association information or a relevant portion thereof to other control devices.

[0085] The network device 128 can organize the discovered devices for display to the user 132 for performing association. The network device 128 can organize the discovered control devices in the form of an organized dataset (e.g., an ascending or descending list) that is organized according to signal strength at which discovery messages were received at each device. For example, the network device 128 can first display control devices that received discovery messages with the highest RSSI followed by devices that received discovery messages with lower RSSI in descending order. The network device 128 can remove from the dataset any devices that received discovery messages with a signal strength that is below a predefined threshold (e.g., a received power threshold). The network device 128 can include in the dataset a predefined number of devices with the greatest signal strength.

[0086] The user 132 can select a control device (e.g., a lighting control device in the lighting fixtures 108a, 108b, 108c, 108d) from the discovered devices displayed on the network device 150. The selected control device can be associated with the load control discovery device 190 that was used to discover control devices within the discovery range 134. The network device 150 can generate association information regarding the load control discovery device 190 and the selected control device in response to input received from the user 132. The selected control device can also be associated with control devices other than the load control discovery device 190 (e.g., a control source device).

[0087] A user 132 can configure association information and / or control configuration information for discovered control devices at the network device 128. The discovered control devices can be associated with one or more location identifiers that identify locations in the load control environment 100. The locations can be identified by the user 132 (e.g., from a list of predefined locations) or can be one or more predefined locations associated with the load control discovery device 190 (e.g., the location where the load control discovery device is installed).

[0088] The network device 128 can access the association information stored at the system controller 160. The association information can include device identifiers for discovered devices, location identifiers for discovered devices, and / or identifiers for associated control devices. The user 132 can disassociate a discovered control device from a previously associated control device by making a selection on the network device 128. The user 132 can associate a discovered control device with other control devices by making a selection on the network device 128.

[0089] The user 132 can access the control configuration information stored at the system controller 160. The user 132 can edit the currently stored control configuration information for a discovered control device by making a selection on the network device 128. The user 132 can generate and store control configuration information for a discovered control device by making a selection on the network device 128.

[0090] The network device 128 can transmit the association information and / or control configuration information to the system controller 160 (e.g., upon the user 132 actuating a button). The system controller 160 can store the updated association information and / or control configuration information thereon. The system controller 160 can transmit the association information and / or control configuration information to the control devices to update the association information and / or control configuration information stored at the control devices. The system controller 160 can broadcast the updated association information and / or control configuration information to the control devices to cause the control devices to identify the updated corresponding association information and / or control configuration information, if any, for local storage on the control devices.

[0091] Figure 1BAn example load control environment 100 is shown with a control target device identified as a load control discovery device 190. For example, a lighting control device in a lighting fixture 108a can be identified as a load control discovery device 190 at the system controller 160 and / or at the lighting control device 108 itself. The load control discovery device 190 can be predefined for a location or switched between control devices. The load control discovery device 190 can be switched between control devices by a command from a network device 128 (e.g., a command from the network device 128 to the system controller 160). A user 132 can select a control device to be identified as the load control discovery device 190, and an identifier of the selected control device can be stored (e.g., at the system controller 160, the network device 128, the control device identified as the load control discovery device 190, and / or other control devices) as the load control discovery device 190. The lighting control device of the lighting fixture 108a can be identified as the load control discovery device 190 to discover a set of control devices different from the remote control devices 116 identified as the load control discovery device 190 in Figure 1A

[0092] The organized set of discovered devices can be deleted, reorganized, and / or rebuilt after the load control discovery device 190 is switched. For example, the organized set of discovered devices can be deleted if the load discovery device 190 is disassociated from one or more control devices and / or if the load control discovery device 190 is configured in a manner that will affect the signal strength at which control devices receive discovery messages from different load control discovery devices 190.

[0093] For example, the organized set of discovered devices can also be reorganized if a control device is associated with and / or disassociated from the load control discovery device 190 and / or if the signal strength at which a control device receives discovery messages from different load control discovery devices 190 changes over time. For example, the organized set of discovered devices can be reorganized to account for a device associated with another load control discovery device 190 where a discovery message received from the associated load control discovery device 190 has a greater or lesser signal strength compared to a discovery message from a previously associated load control discovery device. The organized set of discovered devices can be reorganized if the same control device is disassociated from the load control discovery device, for example, if the load control discovery device is removed from a room or if the control device is associated with another load control discovery device.

[0094] ​The organized dataset of the discovered devices can be reconstructed. The reconstructed organized dataset can supplement or replace a pre-existing organized dataset. For example, if a control device is removed as a load control device and another control device is assigned as a load control device, the organized dataset can be reconstructed. The organized dataset can be reconstructed, for example, to account for load control devices with associations different from the previous associations.

[0095] The discovery range 134 of different types of load control discovery devices may be the same or different. User 132 may establish the discovery range 134 at network device 128 or may predefine the discovery range 134. If the discovery range 134 is established at network device 128, the established range may be communicated to system controller 160 and / or load control discovery device 190 for storage thereon.

[0096] Any control device (e.g., a control source device and / or a control target device) can be identified as load control discovery device 190. Control devices can be assigned as load control discovery device 190 at system controller 160, network device 128, and / or the control device itself. Load control discovery device 190 can be switched between control devices. Figure 1B As shown, the load control discovery device 190 can switch between the lighting control devices of lighting fixture 108a, lighting fixture 108b, lighting fixture 108c, lighting fixture 108d, motorized curtain 120, occupancy sensor 112, AC plug-in load control device 124, and / or other control devices. For example, the load control discovery device 190 can switch from the lighting control device of lighting fixture 108a to the lighting control device of lighting fixture 108d to discover and associate devices in different locations within room 102. The load control discovery device 190 can switch between control devices via commands from network device 128. For example, the load control discovery device 190 can switch between control devices in response to user 132 selecting one of the control devices on network device 128. Network device 128 can send messages to system controller 160. System controller 160 and / or network device 128 may send a message to remote control device 116, which was previously assigned as load control discovery device 190, that remote control device 116 has been deassigned as load control discovery device 190. Figure 1AThe system controller 160 and / or the network device 128 can send a message to the lighting control device of the luminaire 108a that the lighting control device has been assigned as the load control discovery device 190. The load control discovery device 190 can switch between control devices by the user 132 actuating a button on the respective control device to be assigned as the load control discovery device 190 (e.g., the button 114 on the occupancy sensor).

[0097] The discovery range 134 can be computed from the load control discovery device 190 such that identifying different control devices as the load control discovery device 190 can allow for discovery of different devices. As described above, the load control discovery device 190 can switch between control devices (e.g., from a previous load control discovery device to another load control discovery device). As the load control discovery device 190 switches between control devices, discovery messages can be transmitted within the discovery range 134 of the different control devices. For example, if the load control discovery device 190 switches from the remote control device 116 to the lighting control device of the luminaire 108a, the center of the discovery range 134 can move from the location of the remote control device 116 to the lighting control device of the luminaire 108a (e.g., in response to a user selecting a control device to be assigned as the load control discovery device 190 on the network device). Because the load control discovery device 190 can be a movable device (e.g., the remote control device 116, which can be able to be detached from a wall and carried by the user 132), the discovery range 134 can move with the same load control discovery device 190.

[0098] Discovery messages can be sent multiple times. For example, discovery messages can be sent multiple times to identify control devices located within the moving discovery range 134 and / or to identify control devices that were not previously identified due to interference. Control devices identified due to transmission of multiple messages can be aggregated. The aggregated control devices can be provided to the user 132. For example, the aggregated control devices can be provided to the user 132 by the network device 128. Control devices that previously responded to a discovery message can be ignored when responding to subsequent discovery messages. Control devices can respond to a first received discovery message and omit responding thereafter, or respond to each received discovery message. Subsequent discovery messages can identify control devices that previously responded to a discovery message, for example, to prevent discovered control devices from having to respond again.

[0099] There can be more than one load control discovery device 190. Load control discovery devices 190 can be defined for different groups of control devices, such as different groups of control devices in a physical space. For example, a control device located in a first portion of room 102 can be identified as a load control discovery device 190 to discover control devices in the first portion of room 102, and another control device located in a second portion of room 102 can be identified as another load control discovery device to discover control devices in the second portion of room 102. In another example, control devices in each of rooms 102, 104, and 106 can be identified as respective load control discovery devices for the room in which the devices are located. A control device located most centrally in a room or portion of a room can be identified as a load control discovery device 190.

[0100] A digital message can be sent to a control device to instruct the control device to identify itself and / or a corresponding electrical load, so that user 132 can identify a control device to be assigned as a load control discovery device 190. The identified control device can be a discovered control device at a location. User 132 can actuate a button on network device 128 to instruct the control device to perform the identification. An identification message can be sent from system controller 160 to the identified device. The identified control device can receive the identification message and control an electrical load according to control instructions for the identified device. System controller 160 can know the type of control device being identified, and can send control instructions corresponding to the type of control device. System controller 160 can send a general identification message that can be detected by the identified device, and can look up control instructions locally.

[0101] User 132 can actuate a button on a control device to assign the control device as a load control discovery device 190. For example, user 132 can actuate button 118 on remote control device 116 or a load control discovery device 190 (e.g., for a predefined period of time) to send a digital message to system controller 160 to instruct system controller 160 to identify remote control device 116 as a load control discovery device 190. An identification message can be sent from system controller 160 to the identified control device. Remote control device 116 or a load control discovery device 190 can likewise or alternatively directly communicate with the control device to request identification. The identified device can receive the identification message and control an electrical load according to control instructions for the identified device.

[0102] User 132 can actuate a button on remote control device 116 or load control discovery device 190 (e.g., for a predetermined time period) to identify another control device as load control discovery device 190 or assign the identified control device as load control discovery device 190 (e.g., by flashing the device or otherwise identifying the device). This allows user 132 to iterate through control devices and select a control device as load control discovery device 190. The control device identified as load control discovery device 190 through iteration can be a control device or other device that was discovered during discovery mode (e.g., a device within the discovery range of remote control device 116 or load control discovery device 190).

[0103] Different control devices can perform identification differently. Load control devices can increase and / or decrease the amount of power supplied to the corresponding electrical load. Lighting control devices in lighting fixtures can turn on, off, raise, lower the dimming level, or cause the corresponding lighting load to flash. Motorized curtains 120 can raise or lower the horizontal height of covering material 122, or swing with the curtain at the current horizontal height. AC plug-in load control device 124 can turn on, off, raise, lower, or cause floor lamp 126 to flash, or otherwise increase and / or decrease the amount of power supplied to the electrical load controlled by plug-in load control device 124. Control devices may similarly or alternatively include LEDs that can be turned on, off, or flash for identification.

[0104] After the control device has been identified, user 132 can select the identified device on network device 128 to identify the control device as load control discovery device 190. User 132 can identify different control devices as load control discovery device 190, and discover different devices by moving the established discovery range 134 within one location or to different locations.

[0105] Because the control devices in rooms 104 and 106 are outside the established detection range 134, these control devices may not be able to receive detection messages from the load control detection device 190. Figure 1C As shown, the established detection range 134 can be configurable. For example, the established detection range 134 can be configured by adjusting (e.g., incrementally increasing or decreasing) the signal strength (e.g., transmit power) of the load-controlled detection device 190 and / or by adjusting (e.g., increasing or decreasing) a threshold (e.g., receive power threshold). As the transmit power of the load-controlled detection device 190 increases and / or as the receive power threshold decreases, the detection range 134 can increase (e.g., incrementally increase). As the detection range 134 increases, the number of control devices within the detection range can increase. Figure 1A and Figure 1BAs shown, the discovery range 134 can be adjusted to an adjusted discovery range 158. Using the established adjusted discovery range 158, the load control discovery device 190 can discover and / or associate with other control devices, such as the temperature control device 136 and / or the remote control device 154, that are within the adjusted discovery range 158.

[0106] Although Figure 1C The adjusted discovery range 158 is shown as a larger discovery range than the discovery range 134, but the discovery range 134 can also be adjusted to a smaller discovery range that can include fewer control devices. The discovery range 134 can be made smaller to avoid discovering control devices in other locations, such as the room 104 and / or the room 106, when attempting to discover devices in the room 102. The user 132 can adjust or move the discovery range to another location to discover control devices within one location according to the size of the room or the location of various control devices. The display provided on the network device 128 can update accordingly when the discovery range is increased, decreased, and / or moved. For example, the network device 128 can show control devices in the updated discovery range when the discovery range is moved from one location to another. Additionally or alternatively, an aggregate of control devices from each of the discovery ranges can be identified when the discovery range is moved from one location to another. The devices can be displayed on the network device in an ordered list according to signal strength.

[0107] The temperature control device 136 and / or the remote control device 154 can be detected by sending a discovery message within the adjusted discovery range 158. The daylight sensor 150, the lighting control devices of the lighting fixtures 146a, 146b, 146c, 146d, and the lighting control devices of the lighting fixtures 138a, 138c can also be in the adjusted discovery range 158. The lighting control devices of the lighting fixtures 138b, 138d and the remote control device 142 can be outside of the adjusted discovery range 158 and can not receive the discovery message transmitted within the adjusted discovery range 158. Control devices outside of the discovery range 158 can transmit discovery information to the load control discovery device 190 and / or the system controller 160 (e.g., upon actuation of a button or receipt of a trigger message) as the control devices outside of the discovery range 158 can have, for example, a greater transmission power.

[0108] A discovery range corresponding to a size of a location of a device to be discovered can be selected. For example, a transmit power of the load control discovery device 190 can be adjusted (e.g., increased or decreased) such that the transmit power of the load control discovery device 190 corresponds to a size of a location. Control devices having a greater transmit power can be identified as the load control discovery device 190 to increase a discovery range in larger rooms. Each location can have a size identifier that indicates a size of each respective location. The transmit power of the load control discovery device 190 can be assigned, or control devices having a corresponding transmit power can be identified as the load control discovery device 190, to enable discovery of control devices in locations having the identified size. The system controller 160 and / or the network device 128 can store transmit powers of control devices and perform the assignment of the load control discovery device 190 based on the transmit powers of the control devices and the size of the location. The size of the location can be input on the network device 128.

[0109] The transmit power of the load control discovery device 190 and / or other control devices can be adjusted (e.g., increased or decreased) by a predetermined amount during the discovery mode. The adjusted (e.g., increased and / or decreased) transmit power can be greater than and / or less than the transmit power of the load control discovery device 190 and / or control devices in operation for controlling electrical loads. The adjusted transmit power during the discovery mode can enable the control devices and / or the load control discovery device 190 to discover more and / or fewer devices while preserving power at the control devices and / or the load control discovery device 190 during other uses (e.g., communication of load control messages). The adjusted transmit power can be sent from the network device 128 (e.g., directly or through the system controller 160).

[0110] The load control discovery device 190 can communicate with control devices through one or more intermediary devices. For example, a discovery message can be received at a control device and an acknowledgement and / or signal strength can be communicated through one or more other control devices in the system. The one or more intermediary devices can be used to ensure a greater likelihood that the acknowledgement and / or signal strength is received at the load control discovery device 190. When a control device is transmitting a discovery message to the load control discovery device 190 (e.g., for a unidirectional communication device), the signal strength of each message received at an intermediary device can be appended to the message being communicated. The load control discovery device 190 and / or the system controller 160 can add the signal strengths together to determine a relative distance of the control device.

[0111] The control devices can interact with and / or store information (e.g., location information, signal strength information, device identifiers, and other identifying information) of other control devices. For example, a control device can store information about neighboring control devices to enable the control device to forward information of the neighboring devices. The neighboring control devices can be control devices from which digital messages are received at a predefined signal strength. The neighboring control devices can be configured by the network device 128 and / or the system controller 160 and can be communicated to the control devices for storage thereon.

[0112] The control devices can receive the discovery messages and store the signal strengths associated with the received discovery messages. The control devices can communicate the signal strengths at which the discovery messages were received to neighboring devices, which can forward the signal strengths to other devices, such as the system controller 160. The control devices that received the discovery messages can likewise or alternatively forward the discovery messages to neighboring devices so that control devices outside the discovery range 134 can still be discovered. The control devices can add the signal strengths at which digital messages are received from neighboring devices to the signal strengths at which the discovery messages were received and report the combined signal strengths to the system controller 160.

[0113] The control devices can be ordered and / or grouped according to respective signal strengths. For example, a control device that determines a signal strength of a received discovery message can determine an assumed signal strength of other control devices based on the determined signal strength of the control device. It can be assumed that neighboring control devices have similar signal strengths. The assumed signal strength of a control device can depend on the location of the control device for which the signal strength is assumed to be within a predefined distance of the source of the discovery message (e.g., the load control discovery device 190). For example, by determining the signal strengths of neighboring control devices of a control device, the system controller 160 can directionally calculate the difference between a control device that is -50 dB from the system controller 160 and a control device that is -50 dB from the system controller 160 and -20 dB from a control device selected to have a qualifying signal strength.

[0114] Now that association information can be discovered by the system controller 160 and / or the load control discovery device 190. The control devices can send association information (e.g., an associated device identifier) indicating devices with which the control device is associated. The association information can be in the discovery message or in a response request to the discovery information. The network device 128 can request a specific control source device identifier to determine whether a control target device is associated with a specific control source device.

[0115] The system controller 160 can discover one or more control devices within a broadcast control group. The broadcast control group can include one or more control devices of an identified device type, one or more control devices within a predefined location, and / or one or more control devices that share another group characteristic. The group characteristic can be a discovery criterion based on which control devices can be filtered for discovery. The control devices in the broadcast control group can be controlled by the system controller 160 simultaneously. The control devices included in the broadcast control group can receive and store a group identifier such that the control devices included in the broadcast control group can respond to digital messages sent to the group and including the group identifier. For example, the system controller 160 can create a lighting control device group that includes the lighting control devices of the lighting fixtures 108a, 108b, 108c, and 108d. The system controller 160 can instruct the lighting control devices of the lighting fixtures 108a, 108b, 108c, and 108d in the lighting control device group to turn on or off as a group.

[0116] A plurality of load control discovery devices 190 can be implemented to perform discovery and / or association of control devices. Each of the load control discovery devices 190 can transmit discovery messages to the same devices and / or different devices. The system controller 160 can receive device identifiers of discovered control devices and / or signal strengths associated with the discovered devices and remove duplicate device identifiers. The system controller 160 can keep the signal strengths of the device identifiers that are associated with the maximum signal strength. The system controller 160 can organize the device identifiers after duplicate device identifiers have been removed (e.g., in an ascending or descending list according to signal strength), or the system controller 160 can remove organized device identifiers with lower signal strengths.

[0117] The system controller 160 can discover when the established discovery range 134, 158 overlaps with an established range of another load control discovery device 190. For example, the system controller 160 can discover that the established discovery range 134, 158 overlaps with an established range of another load control discovery device 190 when the system controller 160 receives duplicate information from the same device. The system controller 160 can adjust one or more of the discovery ranges to avoid overlap, or can indicate the overlap to the user 132 on the network device 128.

[0118] The load control discovery devices can communicate with each other (e.g., directly with each other or through the system controller 160). When a load control discovery device 190 receives a discovery message, the load control discovery device 190 can discover an overlap of the established discovery range 134, 158 with an established range of another load control discovery device 190. The load control discovery device 190 can adjust the discovery ranges 134, 158 or indicate the overlap to the system controller 160 and / or the network device 128.

[0119] Figure 2 is a diagram depicting an example discovery range for performing discovery and / or association of control devices. As shown, the established discovery range 208 can be adjustable. A user can increase or decrease the established discovery range 208 (e.g., between -3 dBm and -9 dBm) to discover and / or associate control devices within a larger or smaller area. The established discovery range 208 can be measured from the load control discovery device 202. The established discovery range 208 can be determined based on a distance that the load control discovery device 202 is configured to transmit and / or receive information. The established discovery range 208 can be determined by adding or subtracting the distance that the load control discovery device 202 is configured to transmit and / or receive information. Figure 2

[0120] The discovery range 208 can be established by adjusting a signal strength (e.g., transmit power) of a signal transmitted by the load control discovery device 202 and / or by adjusting a threshold (e.g., a receive power threshold). For example, the signal strength can be increased or decreased between -9 dBm and -3 dBm. The receive power threshold can be increased or decreased, for example, from -9 dBm to -7 dBm. The load control discovery device 202 can broadcast discovery messages to and / or receive messages from control devices within the established discovery range 208 and / or within a predefined receive power threshold. The load control discovery device 202 can determine control devices within the established discovery range 208 and / or receive power threshold based on response messages received from the control devices. Other devices, such as a system controller, a network device, or a control device that receives the discovery messages, can determine whether a control device is within the established discovery range 208 and / or receive power threshold based on response messages received from the control devices.

[0121] The discovery range 208 can be established (e.g., at the load control discovery device 202, a system controller, or a network device) by disregarding information received from control devices outside the discovery range 208. For example, the load control discovery device 202 can have a static signal strength of -3 dBm and the established discovery range 208 can be -9 dBm. In this case, the load control discovery device 202 can broadcast discovery messages to control devices within the -3 dBm area and can receive response messages from the control devices. The distance of each control device can be determined based on the signal strength of the messages received from the control devices. When the received signal strength of a control device is below a threshold (e.g., a receive power threshold), the control device can be determined to be outside the established discovery range 208 (e.g., between -9 dBm and -3 dBm) and can be considered a discovered device.

[0122] Figure 3 ​An exemplary flowchart of an exemplary discovery procedure 300 as described herein is shown. Discovery procedure 300 may allow the discovery and / or association of one or more control devices (e.g., control source devices and / or control target devices) in one or more areas, such as a building. Discovery procedure 300 may be executed for a specific area in the building to enable the association of one or more control source devices in the area with one or more control target devices in that area, such that the control source devices can control the control target devices in that area, and may also include configuring a system controller such that the system controller can (e.g., automatically via a scheduler, via user input through a network device, etc.) control the discovered devices in each specific area.

[0123] Discovery procedure 300 may be implemented using one or more devices, such as one or more control devices 302 and / or 304 (e.g., control source devices and / or control target devices), system controller 306, and / or network device 308. Network device 308 may interface with / communicate with system controller 306 over a communication network via a web-based interface, provided by system controller 306 (but other interfaces may be used). System controller 306 may then communicate with control devices 302 and / or 304 over a communication network, which may be the same or a different network used by network device 308. Control device 304 may be a control source device (e.g., one or more remote control devices, occupancy sensors, daylight sensors, window sensors, etc.) and / or a control target device (e.g., one or more lighting control devices for lighting equipment, motorized curtains, temperature control devices, AC plug-in load control devices, etc.). One of the control devices 304 may be designated as load control discovery device 302, which may be operable to communicate with other control devices 304 and / or system controller 306. Procedure 300 may include additional, fewer, or other means and / or messages as discussed herein. Procedure 300 may include steps in a different order.

[0124] like Figure 3 As shown, an association mode trigger message can be communicated to system controller 306 at 320 to put system controller 306 into association mode. Alternatively, system controller 306 can be put into association mode by actuation of a button on system controller 306 and / or by receiving an association mode trigger message from another device, such as control device 304. During association mode at system controller 306, system controller 306 can listen for discovery messages from load control discovery devices.

[0125] At 322, a discovery message can be communicated from the load control discovery device 302. The discovery message can include a unique identifier of the load control discovery device 302. The communication of the discovery message by the load control discovery device 302 can be triggered by actuation of a button on the load control discovery device 302, receipt of a discovery trigger message from another device (e.g., from a system controller), or another trigger procedure. The discovery message communicated at 322 can be a broadcast message that is received by one or more control devices 304 and / or the system controller 306. In response to receiving the discovery message, the one or more control devices 304 can calculate an RSSI value for the discovery message. In response to receiving the discovery message communicated at 322, the system controller 306 can broadcast a query message at 324 to find devices that have received the discovery message from the load control discovery device 302. The query message can include the unique identifier of the load control discovery device 302 and can request devices to respond to indicate whether the devices received the discovery message from the identified load control discovery message. The query for discovered devices can include discovery criteria for discovering control devices that meet the discovery criteria. The discovery criteria can include an RSSI or signal strength at which the discovery message was received, an amount of time since the device was powered on, a load state of an electrical load controlled by the control device (e.g., on state, off state, dimming level, etc.), an occupancy state or activity level identified by an occupancy sensor, a previously associated location, and / or an identification of the device, and / or another discovery criteria. The discovery criteria can be used to narrow the scope of a larger set of devices to reduce the set of discovered devices that can be communicating on the network at the same time. The discovery criteria can also be user selected to enable a user to reduce the list of devices discovered for association.

[0126] In addition to comparing the identifiers as received in the discovery message and the query message to determine whether they should respond to the query, the control devices 304 that also satisfy the discovery criteria can respond to the query at 326. The response can include the calculated RSSI value and a unique identifier of the control device. Each control device can communicate its respective response message at a random time. Although the discovery criteria can be described as being in the query message sent at 324, the discovery criteria can be indicated in the discovery message sent at 322 or can be otherwise pre-stored in the control devices 304. The system controller 306 can identify the control devices 304 that responded at 326 and generate an organized dataset of the discovered control devices for sending to the network device 308. The organized dataset can be a list of the discovered devices in ascending or descending order based on the RSSI values. The organized dataset can include a unique identifier of each of the discovered devices or a subset thereof. The devices can be organized relatively according to the signal strength of the RSSI values or according to other discovery criteria.

[0127] The system controller 306 can provide the discovered devices to the network device 308 at 328. The discovered devices can be provided through a display on a web interface, or the discovered devices can be provided at 328 through other digital messages for locally displaying the interface at the network device 308. Although the system controller 306 can be described as generating an organized set of discovered devices, the discovered devices can be provided at 328 to the network device 308 with responses to discovery criteria and / or the network device 308 can locally generate an organized set of discovered devices.

[0128] The network device 308 can generate association information including associations of the discovered devices. For example, the network device 308 can receive user selections of control source devices and control target devices for association for a predefined zone. The network device 308 can likewise or alternatively receive user selections of control source devices or control target devices for association with load control discovery devices 302 assigned for the predefined zone. The association information can be sent to the system controller 306 at 330 for local storage thereon. The association information or portions thereof can be sent to the control devices 304 at 332 for enabling communication of messages between the associated devices.

[0129] As described in the discovery procedure 300, the load control discovery devices 302 can be used to send discovery messages to the control devices 304 in a given zone, and the discovered devices can be displayed to a user on the network device 308 for commissioning the system. The association information or portions thereof can be used by the system controller 306 to relay digital messages to appropriate devices within the load control system. The association information can be used by the control devices 304 to identify messages to which the control devices 304 can respond. The load control discovery devices 302 can be control devices capable of sending and / or receiving digital messages for controlling electrical loads. The load control discovery devices 302 can be assigned based on proximity of the devices within a zone (e.g., to discover devices in a zone having relatively closer proximity). Using control devices in a system to discover other devices and enable discovered devices to be displayed on the network device 308 in a manner indicating relative proximity of the devices according to discovery criteria enables efficient discovery and association of devices when commissioning the system.

[0130] Figure 4 is a block diagram depicting an example method 400 for discovery and association of control devices. As Figure 4As shown, the method 400 can begin at 402. At 404, a discovery trigger message can be transmitted. The discovery trigger message can be sent by a system controller, such as the system controller 160, 306. For example, the discovery trigger message can be sent by the system controller 160, 306 after receiving an indication from the network device 128, 308. The control device 304 can identify the discovery trigger message and enter a discovery mode to listen for discovery messages, or a separate message can be sent from the system controller 160, 306 to cause the control device 304 to enter the discovery mode.

[0131] Transmission of a discovery message can be identified at 406. The discovery message can be identified by the system controller 160, 306 as it is received. The system controller 160, 306 can request confirmation of receipt of the discovery message at 408. The control device 304 that received the discovery message, or that received the discovery message above a predefined threshold (e.g., a received power threshold), can confirm receipt of the discovery message by communicating a digital message with an identifier of the control device 304 and / or a signal strength (e.g., RSSI) at which the discovery message was received at 408.

[0132] The system controller 160, 306 can identify discovery messages received at the load control discovery devices 190, 202, 302 at 410. For example, the one-way communication device can communicate discovery messages including device identifiers of transmitting devices to the load control discovery devices 190, 202, 302 to be discovered. The load control discovery devices 190, 202, 302 can store the signal strength at which the discovery messages were received, and can provide device identifiers of the control devices 304 from which the messages were received and corresponding signal strengths to the system controller 160, 306. In another example, the system controller 160, 306 can identify discovery messages received from the one-way communication device and the signal strength at which the devices were received. Although the method 400 can describe identification of discovery messages and coordination of control devices 304 as performed at the system controller 160, 306, such functionality can be implemented by other devices (e.g., by the control devices 304, etc.).

[0133] At 412, the system controller 160, 306 can organize the discovered control devices 304 into an organized dataset. The organized dataset can be a list of device identifiers and / or corresponding signal strengths. The identifiers of the discovered devices can be ordered according to signal strength (e.g., from highest signal strength to lowest signal strength). The system controller 160, 306 and / or the network device 128, 308 can remove control devices 304 from the organized dataset that have corresponding signal strengths below a predefined threshold (e.g., a received power threshold). The system controller 160, 306 and / or the network device 128, 308 can include control devices 304 that have corresponding signal strengths above the predefined threshold in the organized dataset. The organized dataset can be determined by the network device 128, 308 or can be provided to the network device 128, 308 by the system controller 160, 306 at 414. For example, the organized list of device identifiers and / or corresponding signal strengths can be provided to the network device 128, 308.

[0134] At 416, the system controller 160, 306 can receive association information from the network device 128, 308. The control devices 304 can be associated with each other through commands on the network device 128, 308. For example, the network device 128, 308 can have a push button (e.g., a soft button or a hard button) for associating one control device (e.g., a control source device) with another control device (e.g., a control target device). The network device 128, 308 can provide a push button for control devices having signal strengths above a predefined threshold. A user can associate one control device with another control device by selecting the respective control devices displayed on the network device 128, 308 and / or the user selecting an association push button on the network device 128, 308.

[0135] The association information received from the network device 128, 308 can include associations of device identifiers with location identifiers. The association information can also include associations between control devices 304. The system controller 160, 306 can likewise or alternatively receive control configuration information from the network device 128, 308 that includes preset control instructions for identified control devices 304. The system controller 160, 306 can associate the control devices 304 at 418. For example, the system controller 160, 306 can locally store the association information and / or transmit the associated device identifiers to the control devices 304 for local storage thereon. The control configuration information can also be stored at the system controller 160, 306 and / or at the corresponding control devices 304. The method 400 can end at 420.

[0136] Figure 5is a block diagram depicting an example method 500 for controlling discovery and association of devices. As Figure 5 As shown, the method 500 can begin at 502. At 504, a discovery trigger can be received. The discovery trigger can be received as a message and / or as actuation of a button of the load control discovery device 190, 202, 302, for example, by the load control discovery device 190, 202, 302. The discovery trigger can indicate a discovery range for transmitting discovery messages, or the discovery range can be preconfigured. For example, the discovery message can indicate a size of a location in which control devices are to be discovered, or the discovery range can be explicitly identified. The discovery range can be established by configuring a wireless signal to cover a defined area or by disregarding information obtained from outside the defined area, for example.

[0137] The load control discovery device 190, 202, 302 can transmit a discovery message at 506. The load control discovery device 190, 202, 302 can transmit the discovery message at an identified transmission power (e.g., identified in the discovery trigger message, locally pre-defined, etc.). The discovery message can include an identifier of the load control discovery device 190, 202, 302 and / or a location identifier that defines a location. The discovery message can include a discovery message identifier that identifies the message as a discovery message. The discovery message can be an association message for control devices identified as the load control discovery device 190, 202, 302. The discovery message can identify the discovery range by the discovery trigger message and / or a local storage. The discovery message can be sent directly from the load control discovery device 190, 202, 302. For example, in response to the load control discovery device 190, 202, 302 receiving the discovery trigger message at 504, the load control discovery device 190, 202, 302 can send the discovery message to the control device 304.

[0138] The load control discovery device 190, 202, 302 can receive a discovery message from the control device 304 at 508. For example, the load control discovery device 190, 202, 302 can receive a discovery message from a unidirectional communication device and / or control device outside the discovery range. The discovery message can be sent in response to a request from the load control discovery device 190, 202, 302 as well or instead. The discovery message can include a device identifier of the control device 304 from which the discovery message was transmitted. The discovery message can be an association message from the control device 304.

[0139] The load control discovery devices 190, 202, 302 can identify and store, at 510, signal strengths from which the discovery messages were received from the control devices 304. The signal strengths can be identified by the RSSI at which the discovery messages were received. At 512, the control device identifiers of the control devices 304 from which the discovery messages were received can be provided to the system controller 160, 306. The signal strengths at which the discovery messages were received at the load control discovery devices 190, 202, 302 can also be provided to the system controller 160, 306. The control device identifiers and / or signal strengths can be provided in response to a request from the system controller 160, 306. The control device identifiers and / or signal strengths can likewise or alternatively (e.g., in response to a request) be provided to the network device 128, 308 when the network device 128, 308 and the load control discovery devices 190, 202, 302 communicate over the same communication signal. The signal strengths can be organized at the system controller 160, 306 in a list (e.g., ordered from highest signal strength to lowest signal strength). The control devices 304 and / or signal strengths can be provided to the network device 128, 308 in an organized list (e.g., ordered from highest signal strength to lowest signal strength).

[0140] The system controller 160, 306 can receive, at 514, association information and / or control configuration information from the network device 128, 308 and store the association information and / or control configuration information. The association information and / or control configuration information can be configured by user selection at the network device 128, 308. The system controller 160, 306 can send the updated association information and / or control configuration information to the respective devices. The system controller 160, 306 can use the association information and / or control configuration information to send digital messages to control electrical loads in a load control environment. The method 500 can end at 516.

[0141] Although the signal strengths can be implemented as discovery criteria for discovering control devices in the method 500, other discovery criteria can likewise or alternatively be implemented. The system controller 160, 306 can use an initial discovery criterion to discover an initial set of control devices. The system controller 160, 306 and / or the network device 128, 308 can use subsequent discovery criteria to further filter the discovered devices. The discovery criteria can be prompted to the user at the network device 128, 308, and the discovered devices can be further filtered based on each criterion selected by the user.

[0142] Figure 6 An example graphical user interface (GUI) 602 is depicted that can be used to perform association of control devices at a network device, such as the network device 128, 308. As shown, the GUI 602 can include a list of control devices 604 that are discovered by the network device 128, 308. The list of control devices 604 can be ordered by signal strength at which the discovery messages were received at the network device 128, 308. The list of control devices 604 can be ordered from highest signal strength to lowest signal strength. The list of control devices 604 can be ordered from lowest signal strength to highest signal strength. The list of control devices 604 can be ordered by other criteria, such as by control device type, by control device manufacturer, by control device model, by control device location, by control device room, by control device zone, by control device room and zone, by control device room and zone and type, by control device room and zone and manufacturer, by control device room and zone and model, by control device room and zone and type and manufacturer, by control device room and zone and type and model, by control device room and zone and manufacturer and model, by control device room and zone and type and manufacturer and model, and / or the like. Figure 6As shown, the example GUI 602 can present options for selection by a user. Although the options can be presented to the user through buttons in the GUI 602, the options can be presented through drop-down lists, check boxes, etc. The options can include options for selecting a device, options for assigning a device as a load control discovery device 190, 202, 302, options for assigning a device with another device, options for assigning a device with a location, and / or options for identifying a device. The device can be related to a control device (e.g., a control source device and / or a control target device).

[0143] The GUI 602 can include a list of discovered control devices 630. The list of discovered control devices 630 can be displayed in response to a selection of the discover button 604. The discover button 604 can be selected to request discovery of control devices within the discovery range 606 (e.g., to the system controller 160, 306 and / or the load control discovery device 190, 202, 302). The devices in the discovery range 606 can be organized in an organized dataset according to signal strength. For example, the control devices can be ordered on the network device 128, 308 according to signal strength (e.g., from highest signal strength to lowest signal strength). The network device 128, 308 can display control devices having a corresponding signal strength above a predefined threshold in the organized dataset. The control devices can be displayed with a corresponding signal strength indication 608 indicating the relative signal strength of the discovered control devices 630. The discovered control devices 630 can be displayed to indicate the device type and / or whether the device is a control target device and / or a control source device. The load control discovery device 190, 202, 302 can be included in the discovered control devices 630 to associate with a location and / or a device.

[0144] The GUI 602 can display a corresponding load control discovery device assignment button 632 for one or more of the discovered control devices 630. The user can select the load control discovery device assignment button 632 to assign the corresponding discovered control device 630 as a load control discovery device 190, 202, 302 at the network device 128, 308. The network device 128, 308 can communicate a message to other devices (e.g., the system controller 160, 306, the identified load control discovery device 190, 202, 302, other control devices, etc.) to identify the assigned control device 630 as a load control discovery device 190, 202, 302. For example, assigning the remote control device 116 as a load control discovery device 190, 202, 302 can designate the remote control device 116 as a transmitter and / or originator of discovery messages as described herein.

[0145] The control device already assigned as a load control discovery device 190, 202, or 302 can be prevented from being identified as a load control discovery device 190, 202, or 302 by selecting the load control discovery device assignment button 632. When the load control discovery device assignment button 632 for the identified load control discovery device 190, 202, or 302 is selected, network devices 128 and 308 can transmit messages to other devices (e.g., system controllers 160 and 306, the identified load control discovery device 190, 202, or 303, other control devices, etc.) to prevent the control device 630 from being identified as a load control discovery device 190, 202, or 302.

[0146] Users can select a discovery range 606 for load control discovery devices 190, 202, and 302. The discovery range 606 can be established using a dropdown menu or other buttons (not shown) on the GUI 602. Referring again to Figure 1, assigning a remote control device 116 to load control discovery devices 190, 202, and 302 specifies a discovery range 134 centered on the remote control device 116. For example, if the load control discovery device assignment button 632 corresponding to the remote control device is selected, the discovery range 134 can be sent to system controllers 160 and 306 and / or remote control discovery device 116 for calculating the transmit power or receive threshold of the discovery range for discovery messages transmitted from load control discovery devices 190, 202, and 302. The options for discovery range 606 can vary depending on the type of one or more devices assigned as load control discovery devices 190, 202, and 302. The detection range 606 can be configured based on the transmission power of the devices listed and / or selected as load control detection devices 190, 202, 302. For example, if the listed and / or selected devices are capable of transmitting and / or receiving transmissions over a distance of up to twenty feet, the detection range 606 can be established between zero and twenty feet, or at locations corresponding to a predetermined number of selected devices.

[0147] like Figure 6 As shown, GUI 602 may include device association buttons 634 for one or more of the discovered control devices 630. Device association buttons 634 can be selected by the user to associate a corresponding discovered control device 630 with other control devices. For example, device association button 634 corresponding to a remote control device and an electric curtain can be selected to associate the device identifier of the discovered remote control device with the device identifier of the electric curtain. Network devices 128, 308 can transmit messages to other devices (e.g., system controllers 160, 306, associated devices, other control devices, etc.) to identify the association.

[0148] GUI 602 can identify control source devices and control target devices and can allow association between control source devices and control target devices. GUI 602 can not allow association between devices of the same type (e.g., control source device to control source device, control target device to control target device, etc.).

[0149] Device association buttons 634 can be selected by a user to disassociate previously associated control devices 630. When a device association button 634 for a discovered control device 630 that is already associated or selected for association is selected, the association can be removed and network device 128, 308 can communicate a message to other devices (e.g., system controller 160, 306, associated devices, other control devices, etc.) to remove the association. The associated devices can be indicated so that a user can remove the association.

[0150] A discovered control device 630 can be selected to identify other association information for the selected control device. For example, a discovered control device 630 can be selected to identify device identifiers for devices that the selected control device is currently associated with, which can include undiscovered devices. A user can select one or more of the device identifiers and a device association button 634 of the corresponding discovered control device 630 to associate or disassociate the discovered control device 630 with the selected device. Network device 128, 308 can communicate a message to other devices (e.g., system controller 160, 306, associated devices, other control devices, etc.) to update the association information.

[0151] GUI 602 can include location association buttons 636 for one or more of the discovered control devices 630. A location association button 636 can be selected by a user to associate the corresponding discovered control device 630 with a location. For example, referring again to FIG. 1, remote control device 116 can be associated with a conference room (e.g., conference room A), a living room, etc. The location can be a preconfigured location (e.g., a predefined location such as a load control discovery device 190, 202, 302) or a user can be prompted to select a location for assignment. Network device 128, 308 can communicate a message to other devices (e.g., system controller 160, 306, associated devices, other control devices, etc.) to identify the association with the location. The location association can be included in the association information for the device and can be updated with device association.

[0152] The location association button 636 can be selected by the user to disassociate the discovered control device 630 from a previously associated location. When the location association button 636 for a discovered control device that is already associated with a location or selected for association with a location is selected, the association can be removed and the network device 128, 308 can communicate a message to other devices (e.g., the system controller 160, 306, the associated devices, other control devices, etc.) to remove the association with the location.

[0153] The discovered control devices 630 can be selected to identify other locations with which the discovered control devices 630 are associated. For example, the discovered control devices 630 can be selected to identify the location identifiers of the locations with which the selected control devices are currently associated. The user can select one or more of the location identifiers and the device association button 634 of the corresponding discovered control device 630 to associate or disassociate the discovered control device 630 with the selected location. The network device 128, 308 can communicate a message to other devices (e.g., the system controller 160, 306, the associated devices, other control devices, etc.) to update the association information.

[0154] The GUI 602 can include a device identification button 638 for one or more of the discovered control devices 630. The device identification button 638 can be selected by the user to identify the corresponding discovered control device 630 to the user. Selecting the device identification button 638 for the corresponding device can cause the network device 128, 308 to send a digital message to the system controller 160, 306 and / or the device to identify itself to the user. The digital message can include load control instructions corresponding to the control device for controlling an electrical load (e.g., controlling the corresponding electrical load, turning on an LED on the device, turning off an LED on the device, flashing an LED on the device, performing an audible identification, etc.) to identify the device. Alternatively, the digital message can be a request for the device to identify itself, and the system controller 160, 306 and / or the device can locally determine the load control instructions.

[0155] The devices can be identified for configuration and / or association. For example, when the device identification button 638 corresponding to a remote control device is selected on the GUI 602, the remote control device can be instructed to identify itself to the user. The remote control device can identify itself visually or audibly. A light control device can identify itself by flashing the corresponding lighting fixture. A thermostat can identify itself by flashing an indicator light, providing a message on the thermostat display, and / or providing an identification by the HVAC system controlled by the thermostat. The thermostat can provide an indication by the HVAC system by turning the HVAC system on or off, increasing or decreasing the temperature of the HVAC system, or the like. A motorized window treatment can identify itself by moving the corresponding covering material that it controls.

[0156] Although the GUI 602 includes a corresponding button 632, 634, 636, 638 for each of the discovered control devices 630 to identify a selection of a corresponding function for the identified device, the GUI 602 can include one or more load control discovery device assignment buttons 632, device association buttons 634, location association buttons 636, and / or device identification buttons 638. For example, the GUI 602 can include a single load control discovery device assignment button 632, device association button 634, location association button 636, and / or device identification button 638 that corresponds to the discovered control devices 630 and / or the identified locations. The discovered control devices 630 can be displayed as buttons to be selected to identify a device, and the buttons 632, 634, 636, 638 can be selected to indicate a corresponding function for the identified device.

[0157] Figure 7 An example graphical user interface (GUI) 700 that can be used to perform location association at a network device (such as, for example, the network device 128, 308) is depicted. The GUI 700 can be used to select locations 714 that discovered control devices can be associated with or disassociated from. For example, upon selection of the location association button 636 Figure 6 (shown), the GUI 700 can be displayed at the network device 128, 308. Different locations 714 can be displayed on the GUI 700 for association with control devices. The locations 714 can be displayed according to name and / or according to identifier.

[0158] The locations 714 can be displayed to indicate an identification and / or a category of the location. For example, as shown, the locations 714 can include conference rooms (e.g., Conference Room A 702, Conference Room B 704, Conference Room C 706, etc.), a cafeteria 708, offices (e.g., Office A 710, Office B 712, etc.), and / or the like. The locations 714 can be presented as buttons that a user can select for associating discovered control devices with one or more of the locations 714. Figure 7

[0159] Figures 8A-8J ​An exemplary graphical user interface (GUI) is shown, which can be displayed by a visual display of a network device (e.g., visual display 110 of network device 128 shown in FIG. 1) during a zone configuration procedure. The GUI can be displayed via a web interface (e.g., generated by a system controller or other remote device) and / or a control application executed by the network device. The zone configuration procedure shown in the GUI allows a user to associate one or more control source devices (e.g., input devices such as remote control device 116, remote control device 142, remote control device 154, occupancy sensor 112, and / or daylight sensor 150 shown in FIG. 1) with one or more control target devices (e.g., lighting control devices in the lighting fixtures shown in FIG. 1, motorized curtains 120, plug-in load control devices 124, and temperature control devices 136 shown in FIG. 1) in a specific zone.

[0160] like Figure 8A As shown, user interface 800 can be displayed on the network device during the zone configuration procedure. User interface 800 allows a user to select option 802 (e.g., the "Create Zone" option) on the network device to create a zone in the load control system. The zone can be limited to devices in the association and control system. The network device can assign a name (e.g., a unique name) to the zone being configured. Figure 8B As shown, the network device can receive the name in the region name text field 812 of the region name screen 810.

[0161] Network devices can be from Figure 8C The input device selection screen 820 shown receives the type of control source device (e.g., the type of input device) to associate with one or more of the control target devices (e.g., lighting control devices for lighting equipment) within a defined area. For example, a network device may display the input device selection screen 820 from which a user can select remote control device option 822 (e.g., The options 822 and 826 are: Remote Control Device Option 822 (allowing the user to select the type of remote control device to add to the defined area), Occupancy Sensor Option 824 (allowing the user to select the type of occupancy sensor to add to the defined area), and Daylight Sensor Option 826 (allowing the user to select the type of daylight sensor to add to the defined area). The device type can be predefined for each option as devices that can be configured within the system. The input device selection screen 820 may include option 828, which indicates that no indicated device can be included in the area. If no indicated device is included in the area, the network device may request the system controller to query the control device again to identify the device that received the discovery message. The signal strength of the query may be varied to incorporate a wider range in an attempt to discover other devices.

[0162] The input device option can allow the user to select a type of device to be assigned as a load control discovery device. The network device can display a button actuation instruction screen 830 (as shown) to assign the device as a load control discovery device and / or to transmit a discovery message. The button actuation instruction screen can include an image 832 showing the user instructions for entering a discovery mode for the selected device. The image 832 may, for example, instruct the user to actuate a button of the selected input device, after which the user can press and hold the appropriate button of the input device in the area. For example, if the remote control device option 822 is selected on the input device selection screen 802, the image 832 of the button actuation instruction screen 830 can be an image of a remote control device (e.g., a 5-button remote control device) instructing the user to press and hold the bottom button of the remote control device for a defined time period (e.g., six seconds), as shown. The selected device can send a discovery message when the instructions for discovering control devices in the area are executed. Figure 8D The network device can display one or more alternative device options 834 for the identified device type. The alternative device options 834 can each be selected to change the image 832 on the button actuation instruction screen 830 to an image of the selected remote control device and corresponding instructions for the device. Remote control devices can have different numbers of buttons, and the appropriate instructions for the identified remote control device can be displayed. If the occupancy sensor option 824 or the daylight sensor option 826 is selected on the device input selection screen 820, the image 832 of the button actuation instruction screen 830 can be an image of an occupancy sensor or a daylight sensor, respectively, with appropriate instructions for actuating the buttons on each of those sensor devices. Figure 8D

[0163] The network device can receive and display a list of control devices within the discovery range of the input device. The list of control devices can include multiple different types of control devices, or the types of control devices can be displayed on separate screens. As shown, the list of discovered control devices can include a list of lighting fixtures, including lighting control devices that responded to the transmitted discovery message. The network device can display a fixture identification screen 840 with a list 842 of fixture identifiers 844 (e.g., when the user selects to view a list of fixtures to be added). Although the fixture identification screen 840 is provided as an example, other discovered control device screens or general control device screens can be similarly displayed.

[0164] The network device can receive and display a list of control devices within the discovery range of the input device. The list of control devices can include multiple different types of control devices, or the types of control devices can be displayed on separate screens. As shown, the list of discovered control devices can include a list of lighting fixtures, including lighting control devices that responded to the transmitted discovery message. The network device can display a fixture identification screen 840 with a list 842 of fixture identifiers 844 (e.g., when the user selects to view a list of fixtures to be added). Although the fixture identification screen 840 is provided as an example, other discovered control device screens or general control device screens can be similarly displayed. Figure 8E

[0165] ​​​The list 842 of fixture identifiers 844 can be displayed in an order determined by the signal strength based on the proximity of the fixture to the input device on which the button was actuated (e.g., as described herein). The fixture identifier 844 of the lighting control device characterized by the highest signal strength can be located at the top of the list 842. Upon identifying a selection of more fixture options 843, the network device can display additional fixtures. The additional fixtures can be the next set of fixtures in the list of fixtures organized according to signal strength. The list of fixtures can cycle through until returning to the original list of fixtures including the fixture that received the discovery message with the highest signal strength.

[0166] The network device can receive an indication to identify one of the lighting control devices in the lighting fixture by the user selecting the flashing option 845 next to the corresponding fixture identifier 844 of that lighting control device in the list 844. The network device can send a message to the system controller or directly to the lighting control device to cause the lighting control device to flash the lighting load in the lighting fixture. Other identification options can be displayed and / or selected to identify the control devices displayed in the list in other ways.

[0167] The user can select one or more of the lighting control devices to be associated with the selected input device by selecting the selection icon 846 next to the fixture identifier 844 of the respective lighting control device in the list 842. As shown, when the network device receives a selection of one of the selection icons 846 in the list 842, the selection icon can change to a check icon 848 indicating that the lighting control device with that fixture identifier 844 is selected to be associated with the identified input device. The network device can receive a selection of the flashing option 845 to confirm each lighting control device to be associated with the input device. The user can confirm the lighting control devices are in the current zone (e.g., in the load control environment 100 and / or room 102 shown in FIG. 1). Figure 8F As shown, when the network device receives a selection of one of the selection icons 846 in the list 842, the selection icon can change to a check icon 848 indicating that the lighting control device with that fixture identifier 844 is selected to be associated with the identified input device. The network device can receive a selection of the flashing option 845 to confirm each lighting control device to be associated with the input device. The user can confirm the lighting control devices are in the current zone (e.g., in the load control environment 100 and / or room 102 shown in FIG. 1).

[0168] When the user has selected the lighting control devices in the lighting fixture to be associated with the identified input device (e.g., on which the button was actuated), the network device can receive a selection of the next option 849 on the fixture identification screen 840. The network device can identify the selected fixture identifiers of the lighting control devices in the lighting fixture to be associated with the input device. The input device and the selected fixture identifiers can be stored at the network device in association information. The network device can send the association information to the system controller and / or the identified devices (e.g., or control target devices) in the association information to be stored on the system controller and / or the identified devices. Although the next option 849 can be identified for generating and / or sending the association information to other devices, the association information can be generated and / or sent for the devices upon selecting the corresponding selection icon 846.

[0169] If the lighting control device in the selected lighting fixture is not yet included in the currently defined area, the network device can add the device identifier to the list of device identifiers in the defined area. The network device can add the input device identifier of the input device to the list of input device identifiers in the defined area and store association information about the association between the input device and the lighting control device in the selected lighting fixture. The system controller (e.g., system controller 160 shown in FIG1) can also create and store the list of device identifiers, the list of input devices, and the association information.

[0170] After generating association information for input devices within a defined area, the network device allows the user to associate other types of control target devices with the identified input device, select another input device to add to the defined area for generating association information, or define another area. For example, a user can actuate a button on an occupancy sensor to identify the occupancy sensor as a load control discovery device and send a discovery message from the occupancy sensor. The occupancy sensor can be associated with one or more discovered control devices in the area.

[0171] like Figure 8G As shown, the network device can receive and display a list (e.g., list 842) of lighting control devices in lighting fixtures within the detection range of the occupancy sensor. The network device may include an associated indication 850 below the device identifier 844 of the load control devices of those lighting fixtures previously associated with an input device. For example, the associated indication 850 may indicate that the load control device in the lighting fixture was previously associated with a remote control device. The associated indication 850 may identify to the user the device identifier 844 of the load control device in the lighting fixture that can be associated with the occupancy sensor. For example, the user may wish to associate the occupancy sensor with the load control device in the lighting fixture that was previously associated with a remote control device. The network device may receive a selection icon 846 immediately adjacent to the device identifier 844 with the associated indication 850, causing a checkmark icon 848 to be displayed, such as... Figure 8H As shown. The associated indicator 850 can similarly or alternatively indicate the location to which the control device can be associated. The associated indicator 850 can be displayed to identify equipment that has been configured for a given area because the list can identify devices by the order of signal strength of the discovery message received, and such information may not be obvious from the list of equipment 842.

[0172] The zone configuration procedure can be repeated for each area of ​​the building. To associate input devices in a zone adjacent to a previously configured zone (e.g., the currently configured zone), network devices can display information about control devices for load control devices such as lighting fixtures (e.g., previously associated or assigned lighting fixtures) in the previously configured zone. Network devices or system controllers can identify control devices in the previously configured zone and allow users to select previously configured devices for association.

[0173] like Figure 8I As shown, the network device can display the device identifier 844' of a lighting control device among previously associated lighting fixtures on the device identification screen 840 in the form of a previously associated device list 842'. Previously associated control devices can be displayed without performing additional device discovery, or previously discovered devices can be displayed in response to a discovery message. Previously discovered messages can be omitted from the device list 842 of discovered devices. If the network device identifier selects the device identifier 844' of a load control device among the previously associated lighting fixtures, the network device and / or system controller can add the identified device to the association information of the input device in the defined area.

[0174] like Figure 8J As shown, the network device may display a warning window 850 to allow the user to confirm that they want to associate the input device with a load control device in a previously associated lighting fixture. The warning window 850 may be overlaid on the screen used to add the device or may be located on a separate screen. If the network device selects the confirmation option 852 on the warning window 850, the network device may remove the device identifier of the load control device in the previously associated lighting fixture from the list 842' of device identifiers in the previously configured area and add the device identifier to the list 842' of device identifiers in the currently configured area. If the user selects the cancel option 854 on the warning window 850, the network device may maintain the lists of device identifiers in both the previously configured area and the currently configured area.

[0175] Figures 8A-8J The display configuration shown on the screen enables the association of control devices in the load control environment. The screen may display user selections sequentially or in a different order at the network device location. The display configuration allows the zone configuration program to define or redefined control zones within the load control system after device installation, and the control zones can be defined based on the devices used for control and their corresponding locations. Because many control devices can be installed in the load control system, the user is provided with numerous devices and options for configuring those devices when commissioning or otherwise updating the load control system's configuration. Figures 8A-8JThe illustrated display configuration can be used to optimize the limited display area on the network device.

[0176] Figures 9A-9C Another example flow diagram of an example zone configuration procedure 900 as described herein is shown, which can allow a user (e.g., user 132 of FIG. 1) to configure one or more control source devices (e.g., one or more remote control devices, occupancy sensors, daylight sensors, window sensors, etc.) and control target devices (e.g., one or more lighting control devices of lighting fixtures, motorized window treatments, temperature control devices, AC plug-in load control devices, etc.) for one or more zones in a building, for example. For each zone in the building, such configuration can include associating one or more control source devices in the zone with one or more control target devices in the zone, such that the control source devices can control the control target devices in the zone. The configuration can also include configuring a system controller, such that the system controller can control the devices in each zone (e.g., automatically through a scheduler, by user input through a network device, etc.).

[0177] As described herein, the configuration procedure 900 can be implemented using one or more devices, such as control source device 902, one or more control target devices 904, system controller 906, and / or network device 908. Network device 908 can interface / communicate with system controller 906 over a communication network through a web-based interface, such as provided by system controller 906 (although other interfaces can be used). System controller 906 can in turn communicate with control devices 904 over a communication network, which can be the same or a different network than used by network device 908. System controller 906 can communicate with control source device 902 and / or one or more control target devices 904. Control source device 902 can be assigned as a load control discovery device, which can communicate with control target devices 904 and / or system controller 906. Procedure 900 can include additional, fewer, or other devices and / or messages as discussed herein. Procedure 900 can include steps in other orders.

[0178] At 920, a zone or location can be created at network device 908, and can be defined at system controller 906 by sending the zone to system controller 906. The zone can be created by a user through network device 908, such as through a graphical user interface, which can indicate to system controller 906 that the user wishes to create / define a zone. Defining a zone can correspond to a particular zone, such as room 102 of FIG. 1. System controller 906 can assign a name received in a message to this zone at 920. System controller 906 can define the zone within a database, for example, according to an identifier in the message received at 920.

[0179] At 922, for example, in response to a user selection, the network device 908 can instruct the system controller 906 to add a control source device to the defined zone. In response, at 924, the system controller 906 can present, through the network device 908, a list of possible control source devices that the user can add to the zone. At 926, the network device 908 can send a selected type of control source device, for example, in response to a user selection. The selected type of control source device can correspond to the control source device 902 (e.g., as a remote control device or a sensor) that can be installed in the defined zone.

[0180] In response to selecting a type of control source device, at 928, the system controller 906 can instruct the user to actuate the control source device 902 located in the defined zone, such as by pressing a button on the device, etc., for example, through the network device 908. At 930, the system controller 906 (e.g., automatically or by a user request through the network device) can communicate / transmit a discovery trigger message over the network to one or more control target devices 904 that can be in communication range of the system controller 906. Upon receiving the message, the control target devices 904 can enter a discovery mode in which they will listen for discovery messages. Some control target devices 904 can be in the zone being configured (e.g., zone 102), and other control target devices 904 can be in other zones that can not currently be configured (e.g., zone 104 shown in FIG. 1). For example, control target devices 904 installed in the zone being configured (e.g., zone 102) and control target devices 904 located in other zones that have not yet been configured (e.g., zone 104) can receive the discovery trigger message and enter the discovery mode to listen for discovery messages.

[0181] At 932, a discovery message can be transmitted from the control source device 902. For example, the user can actuate a button or button combination on the control source device 902 located in the defined zone, or can send a trigger message to the control source device 902 (such as through the system controller 906). Upon receiving the actuation or trigger message, the control source device 902 can communicate / transmit a discovery message over the network. The discovery message can be a broadcast message. The discovery message can include a unique identifier of the control source device, a device type of the control source device, an indication of the message type, etc., as described herein. The system controller 906 and control target devices 904 in the transmission range of the control source device 902, for example, can receive the discovery message. Control target devices 904 installed in the particular zone being configured (e.g., zone 102) and control target devices 904 located in other zones that are not currently configured (e.g., zone 104), for example, can receive the discovery message at 932.

[0182] In response to receiving a discovery message, the target control device 904 can calculate the RSSI value of the discovery message received by the device. In response to receiving the discovery message, at 933, the system controller 906 can, for example, communicate to the user via network device 908 that the control source device 902 has been detected. The message identifying the detected control source device may include specific information on the device (e.g., information included in the discovery message, such as device type, unique identifier, discovery criteria, etc.). At 934, the system controller 906 can communicate / transmit a request for confirmation of receipt of the discovery message to the target control device 904, which is within the communication range of the system controller 906, over the network. This message may include the unique identifier of the control source device 902 as a request for confirmation of receipt of the discovery message from the identified control source device 902.

[0183] In response to receiving a request for an acknowledgment message from system controller 906, each corresponding control target device 904 can determine whether it has received a discovery message, and if it has received a discovery message, compare the identifier in the discovery message with the identifier in the request for the acknowledgment message. If the identifiers match, the control target device 904 can transmit / send an acknowledgment message to system controller 906 at 936, as follows. Figure 9B As shown. If the identifiers do not match, the target device may fail to respond (e.g., to reduce network traffic) or may respond with a negative acknowledgment. As described herein, the acknowledgment message may include a unique identifier of the corresponding target device 904, the device type of the target device 904, the corresponding calculated RSSI value, etc. According to another example, each target device 904 may calculate / determine a corresponding random value and transmit its corresponding acknowledgment message relative to the calculated random value. This process can cause the target devices 904 to communicate their corresponding acknowledgment messages at random times relative to each other, thereby reducing and / or preventing network interference / contention due to devices transmitting substantially simultaneously and the system controller 906 losing one or more messages.

[0184] At 936, system controller 906 may receive conveyed acknowledgment messages from one or more control target devices 904. System controller 906 may wait for a pre-configured duration from the time a request for an acknowledgment message is conveyed to ensure that each of the conveyed acknowledgment messages is received. At 938, system controller 906 may (e.g., via network device 908) convey / present to a user information about the control target devices 904 from which system controller 906 has received acknowledgment messages. This information may include a unique identifier for the respective control target device 904, the type of the respective control target device 904, etc. As discussed herein, system controller 906 may report / list each of the control target devices 904 from which it has received acknowledgment messages.

[0185] As noted elsewhere herein, control target devices 904 in the area being configured (e.g., area 102) can be detected, and control target devices 904 located in other areas (e.g., area 104) can be detected. To assist the user in identifying / distinguishing control target devices of interest, the system controller 906 can filter the control target devices 904 according to RSSI values to show the user control target devices that are relatively closer to the control source device from which the discovery messages were transmitted. Control target devices 904 having higher / more powerful RSSI values are more likely to be in the area currently being configured. Filtering can include ordering a list of control target devices 904 according to RSSI values (e.g., in decreasing order) to show those control target devices having determined RSSI values above a predefined reception power threshold and / or to show the top "X" control target devices having the highest RSSI values, etc. Other variations are possible.

[0186] Assuming, for example, that the system controller 906 reports multiple control target devices 904 to the network device 908, and the user is unable to discern which control target device 904 in the area being configured (e.g., area 102) corresponds to the control target device presented on the network device, the user may, for example, select one or more of the listed control target devices 904 through the network device 908 and instruct the system controller 906 at 940 to cause the selected control target device(s) 904 to identify themselves to the user. The control target devices 904 can identify themselves by transmitting an audible and / or visual signal to the user. This can include, for example, the control target device 904 itself providing the signal (e.g., emitting an audible tone, causing one or more LEDs to flash), or the control target device 904 causing its corresponding load to provide the signal (e.g., a light turning on, off, or flashing, a shadow moving up / down, etc.).

[0187] Upon receiving the request from the user, at 942, the system controller 906 can communicate / transmit one or more messages over the network to the indicated one or more control target devices 904 instructing the one or more control target devices 904 to provide identification. In response to the messages, the indicated one or more control target devices 904 can provide an audible and / or visual signal to the user. At 944, the user can instruct the system controller 906 to cause one or more of the control target devices 904 selected at 940 to cease transmitting the audible and / or visual signal to the user, e.g., through the network device 908. Upon receiving the request, at 946, one or more messages can be communicated over the network at the system controller 906 to the indicated one or more control target devices 904 instructing the control target devices to cease providing the signal. In response to the messages, the one or more control target devices can cease providing the audible and / or visual signal to the user. The identification of the devices can assist the user in associating the correct devices at the network device 908.

[0188] At 948, the user can provide association information to the system controller 906, e.g., through the network device 908. The association information can be provided to instruct the system controller 906 to associate the control source device 902 with one or more control target devices 904 presented to the user, e.g., at 938, and to associate the control source device and the one or more control target devices with a defined area, e.g., the area 102.

[0189] Upon receiving a request, at 950, the system controller 906 may, for example, store in a database association information (e.g., identifiers, types, etc.) regarding the control source device 902 and the indicated one or more control target devices 904, instructions that the control source device 902 is associated with one or more control target devices 904 such that the control source device 902 can control one or more control target devices 904, and instructions that the control source device 902 and one or more control target devices 904 are associated with a defined area (e.g., area 102). The system controller 906 may, at 950, communicate the association information to the one or more control target devices 904 indicated by the user. The association information may include various information fragments that the control target device 904 may store in its memory / database. The information may include, for example: an identifier for the control source device 902, thereby instructing the control target device 904 to listen for and act upon control messages conveyed by the control source device 902 (e.g., dimming / brightening the light, raising / lowering the shadows, etc.); an identifier for the system controller 906, thereby instructing the control target device 904 to listen for and act upon control messages conveyed by the system controller 906 (e.g., dimming / brightening the light, raising / lowering the shadows, etc.); an indication of the area to which the control target device has been assigned, etc. The information may include, for example, one or more identifiers that associate the control target device 902 with one or more broadcast control groups. Control groups may allow, for example, the system controller 906 to broadcast control messages using corresponding identifiers. Upon receiving such a message and recognizing its portion within the group, the control target device 904 may act upon the message. For example, such a message may be used to dim each dimmable ballast / driver in a given area.

[0190] like Figure 9C As shown, at 952, network device 908 can send control configuration information to system controller 906. The control configuration information can be configured by a user at network device 908. In response to such information, at 954 and / or 956, system controller 906 can transmit one or more control configuration information messages via the network to control source device 902 and / or one or more control target devices 904.

[0191] Partly due to messages at, for example, 952, 954, and 956, at 958, the control source device 902 can control one or more associated control target devices. For example, assuming the control source device 902 is a remote controller, a user actuation of one or more buttons on the device can cause the device to transmit messages over a network. One or more associated control target devices 904, configured to listen for messages from the control source device 902, can receive the messages and execute the indicated instructions.

[0192] At 960, upon the user associating the control source device 902 with one or more control target devices 904 and associating the devices with a defined area (e.g., area 102), the user can use the network device 908 to configure the system controller 906 to control the one or more control target devices 904. For example, the user can configure the system controller 906 to automatically control the one or more control target devices 904 (e.g., automatically control a lighting control device of a lighting fixture to dim the fixture at a set time). At 960, the system controller 906 can be configured in response to control configuration information received from the network device 908. In response to such configuration, when, for example, the set time occurs, the system controller 906 can communicate control instructions to the one or more control target devices 904 at 962 via one or more control messages over the network. The one or more control target devices 904 configured to listen for messages from the system controller 906 can receive the messages and execute the instructed instructions. In response to such commands, the system controller 906 can communicate one or more configuration messages to the one or more lighting control devices to dim the lighting fixture over the network. Other configuration examples are possible.

[0193] Reference is now made to Figures 9A-9C an exemplary variation of the configuration procedure 900. As mentioned above, the system controller 906 can report / list each control target device 904 from which an acknowledgement message was received. However, as noted above, the user can detect control target devices in the area being configured (e.g., area 102) and other areas (e.g., area 104). As noted, it can be desirable to assist the user in identifying / distinguishing control target devices 904 of interest. Alternatively and / or additionally, as noted above, in the case of a large number of devices communicating messages when control target devices 904 communicate acknowledgement messages, network interference can occur even with random transmission. According to the exemplary variation of the procedure 900, the process can proceed to step 933 similar to the process described above. However, at 934, the system controller 906 can include in the message a discovery range or frequency band (e.g., 10 dBm to -50 dBm) that can correspond to, for example, minimum and maximum RSSI values when communicating the request for acknowledgement messages. As an additional criterion for control target devices 904 to communicate acknowledgement messages to the system controller 906, the respective control target devices 904 can determine whether the respective RSSI value of the acknowledgement message is within the noted range. If the respective RSSI value of the acknowledgement message is within the range, the control target device 904 can communicate the acknowledgement message to the system controller 906 as described in step 936. Again, the messages can be communicated at random times. Mechanisms outside the range can be used. For example, the system controller 906 can communicate a single value (e.g., -50 dBm) and in the case that the respective RSSI value of the acknowledgement message is higher than the value, the control target device 904 can communicate the acknowledgement message to the system controller 906.

[0194] The system controller 906 can again wait for a preconfigured duration from communicating the request for the confirmation message to receive the confirmation message from the control target devices. If at the end of the duration the system controller 906 fails to receive a confirmation message from the control target devices 904 (or receives less than a predefined threshold number of confirmation messages), the system controller 906 can repeat step 934 and can automatically communicate a subsequent (e.g., second) request for the confirmation message over the network, but with a modified discovery range. Alternatively, the system controller 906 can report the lack of response to the user, e.g., through the network device 908, and cause the user to initiate the system controller 906 to communicate a subsequent request for the confirmation message. The modified range can be a range that includes (in whole or in part) the previously communicated range, or can be a range sequential to the previous range (e.g., the previous range can be 10 dBm to -50 dBm, and the next range can be -51 dBm to -54 dBm, etc.).

[0195] Similar to step 936, in response to receiving the subsequent request for the confirmation message from the system controller 906, the respective control target devices 904 can determine whether the respective RSSI value of the confirmation message is within the modified range specified in the subsequent request for the confirmation message, and communicate the confirmation message to the system controller 906 if the respective RSSI value of the confirmation message is within the modified range. Again, the messages can be communicated at random times. The system controller 906 can again wait for a preconfigured duration from communicating the subsequent request for the confirmation message to receive the confirmation message from the control target devices 904. If at the end of the duration the system controller 906 has failed to receive a confirmation message from the control target devices 904, the system controller 906 can again repeat step 934 and can automatically communicate a further (e.g., third) request for the confirmation message over the network, but with the discovery range again modified (e.g., the first range can be 10 dBm to -50 dBm, the second range can be -51 dBm to -54 dBm, and the third range can be -55 dBm to -57 dBm, etc.). Assuming the system controller 906 does receive a confirmation message from the control target devices 904, the process can continue as similarly discussed at step 938.

[0196] According to another aspect of this example, at point 938, the user may determine that one or more control target devices of interest are not shown among the discovered devices provided to the user via network device 908 (e.g., because control target device 904 did not respond to the confirmation message at step 936). Here, the user may, for example, instruct system controller 906 via network device 908 to locate another control target device 904. In response to such a request, system controller 906 may convey another request for a confirmation message over the network, similarly as conveyed at step 934, but with the discovery scope modified as described above.

[0197] Figure 10 This is a flowchart of an exemplary zone configuration procedure 1000 for associating control source devices with control target devices in a load control area (such as load control environment 100 shown in FIG1). The zone configuration procedure 1000 can be implemented using one or more devices (such as network devices, system controllers, one or more control devices, etc.). The zone configuration procedure 1000 allows a user (e.g., user 132 shown in FIG1) to associate one or more control source devices (e.g., input devices) with one or more control target devices in a specific zone. The zone configuration procedure 1000 can be repeated for different zones of a building.

[0198] The region configuration process 1000 can begin at 1002, such as when the user creates a screen in the region (e.g., Figure 8A When the "Create Region" option is selected on the region creation screen (800) shown, at 1004, the user can assign a name (e.g., a unique name) to the region currently being configured. At 1006, the user can select the type of control source device (e.g., the type of input device) to associate with one or more of the control target devices (e.g., lighting control devices for lighting equipment) in the region. For example, a network device may display an input device selection screen, such as... Figure 8C The input device selection screen 820 shown allows the user to select control device options. These control device options can be different types of control source devices added to the area.

[0199] At point 1008, a button on the input device can be actuated to put the input device into association and / or discovery mode. The network device can display a button actuation command screen (such as...) Figure 8D The button actuation instruction screen 830 (shown) instructs the user on how to put the input device into association and / or discovery mode. After appropriately actuating the button on the input device at 1008, the network device can receive and display a list of control devices within the discovery range of the input device at 1010. The network device can display a control device identification screen, which may include a list of control source devices and / or control target devices. The control device identification screen may be similar to...Figure 8E The equipment identification screen 840 is shown. The list of control devices can be displayed in an order determined based on signal strength based on proximity to the input device on which the button was actuated at 1008.

[0200] When the network device receives a selection of each of the control devices to be associated with the input device, the network device can associate the selected control devices with the input device at 1012 of the zone configuration program 1000. If the selected control devices are not already included in the present zone at 1014, the network device can add the equipment identifiers to the list of equipment identifiers for the zone at 1016. The network device can add the input device identifier of the input device to the list of input device identifiers for the zone at 1018, and store association information regarding the association between the input device and the selected control devices at 1020. Although the steps are described herein as being performed by the network device, the system controller or the control devices can build and store the list of control devices, the list of input devices, and the association information.

[0201] If the zone configuration program 1000 is not complete at 1022 (e.g., if there are more input devices to be associated with the control devices in the present zone), the zone configuration program 1000 can loop back to allow the network device to receive a selection of another input device to be associated with one or more of the control target devices in the zone at 1006. For example, the user can actuate a button on another control source device to associate the control source device with one or more control target devices in the zone. When the user has completed configuration of the present zone at 1022, the zone configuration program 1000 can exit. The zone configuration program 1000 can be repeated for each zone of the building.

[0202] Figure 11A and Figure 11BAn example graphical user interface (GUI) is shown that can be displayed on a visual display of a network device (e.g., visual display 110 of network device 128 shown in FIG. 1) for configuring operational settings of a zone (e.g., during or after zone configuration program 1000). The GUI can be displayed through a web interface (e.g., generated by a system controller or other remote device) and / or a control application executed by the network device. The network device can be configured to display a device settings screen 1100. Device settings screen 1100 can display configuration options (e.g., zone occupancy configuration options 1102 and zone adjustment configuration options 1104) for configuring the current zone. The configuration options can be displayed on device settings screen 1100 depending on the type of input devices that have been associated with the control target devices in the zone. For example, if at least one remote control device and at least one occupancy sensor have been associated with load control devices in the lighting fixtures in the zone, zone occupancy configuration options 1102 and zone adjustment configuration options 1104 can be displayed on device settings screen 1100, as shown in Figure 11A For example, if at least one daylight sensor has been associated with a control target device in the zone, such as a lighting control device in a lighting fixture, zone daylighting configuration options 1106 can be displayed on device settings screen 1100, as shown in Figure 11B

[0203] In response to a selection of zone occupancy configuration options 1102, the network device can display a zone occupancy configuration screen (not shown) that allows adjustment of occupancy settings (e.g., sensitivity, timeout settings, etc.) for the zone. In response to a selection of zone adjustment configuration options 1104, the network device can display a zone adjustment configuration screen (not shown) that allows adjustment of dimming range settings (e.g., high end correction, low end correction, etc.) for the zone. In response to a selection of zone daylighting configuration options 1106, the network device can display a zone daylighting configuration screen (not shown) that allows adjustment of daylighting settings (e.g., daylighting gain, etc.) for the zone.

[0204] Device settings screen 1100 can display a list 1108 of previously discovered and / or associated control devices. The network device can receive a selection of one of the input devices in list 1108 of previously discovered and / or associated control devices. List 1108 of previously discovered and / or associated control devices can include devices for a common zone or different zones. The selection of the previously discovered and / or associated control device can allow configuration information (e.g., association information and / or control configuration information) to be displayed and / or modified for storage.

[0205] Figures 12A-12C ​An example graphical user interface (GUI) is shown that can be displayed on a visual display of a network device (e.g., visual display 110 of network device 128 shown in FIG. 1) for configuring control devices of a zone (e.g., during or after zone configuration program 1000). The GUI can be displayed through a web interface (e.g., generated by a system controller or other remote device) and / or a control application executed by the network device.

[0206] The network device can display a control device configuration screen 1200 that displays configuration options for configuring the presently selected control device. For example, the control device configuration screen can display configuration options for configuring the presently selected remote control device (such as remote control device 130), as shown in Figure 12A The control device configuration screen 1200 can be displayed upon selection of a previously discovered and / or associated control device in the list 1106 shown in Figure 11A and Figure 11B The network device can receive a name for the control device and assign the name to the control device that is presently being configured, e.g., by entering the name in the control device name text field 1202. The network device can receive instructions for programming the operation of the control device through user selection of the programming options 1204. The control device configuration screen 1200 can include an associated device identifier 1206 that indicates the number of associated devices controlled by the input device that is presently being configured. The control device configuration screen 1200 can include an identify button 1208 that causes instructions to be sent to the associated devices controlled by the input device to cause the associated devices to identify themselves. For example, a lighting control device in an associated lighting fixture can be instructed to cause the corresponding lighting load to flash.

[0207] In response to selection of the programming options 1204, the network device can display a control device programming screen 1210. As shown in Figure 12BAs shown, the control device programming screen 1210 can display a preset intensity adjustment window 1212 that can allow adjustment of the preset intensity of the lighting control devices of the lighting fixtures of the zone. During control operation, the lighting control devices can control the intensity of the controlled lighting loads to the preset intensity in response to actuation of the preset button of the remote control device that is presently being programmed. The preset intensity adjustment window 1212 can include a single slider control 1214 for adjusting (e.g., adjusting simultaneously) the preset intensity of each of the lighting control devices of the lighting fixtures in the zone (e.g., adjusting the preset intensity of each of the lighting control devices in the zone to a single level simultaneously). The preset intensity adjustment window 1212 can include an increment icon 1216 for incrementing the preset intensity by a predetermined amount (e.g., in response to a single actuation of the increment icon) and a decrement icon 1218 for decrementing the preset intensity by a predetermined amount (e.g., in response to a single actuation of the decrement icon).

[0208] The control device programming screen 1210 can display a single device configuration option 1219 (e.g., a "by fixture setup" option) to allow adjustment of the preset intensity of the load control devices of each of the individual lighting fixtures in the zone. As shown, the network device can display a preset adjustment screen 1220 in response to selection of the single device configuration option 1219. The preset adjustment screen 1220 can display separate preset intensity adjustment windows 1222A, 1222B for each of the lighting control devices in the lighting fixtures (e.g., the two fixtures as shown) in the zone. Each preset intensity level adjustment window 1222A, 1222B can include a slider control 1224A, 1224B for adjusting the preset intensity of the lighting control device of the respective lighting fixture. Each preset intensity adjustment window 1222A, 1222B can include an increment icon 1226A, 1226B for incrementing the preset intensity by a predetermined amount and a decrement icon 1228A, 1228B for decrementing the preset intensity by a predetermined amount. In response to actuation of the preset button of the remote control device during control operation, the lighting control devices can each control the intensity of the controlled lighting loads to the respective preset intensity set in the preset adjustment screen 1220. The preset intensities can be stored at the network device, the system controller, and / or the lighting control devices themselves. The preset adjustment screen 1220 can display a fixture group level control option 1229 (e.g., a "same level for fixture group" option) to implement a return to the control device programming screen 1210 to allow adjustment of each of the preset intensities of the load control devices of the lighting fixtures in the zone in response to the single slider control 1214 of the preset intensity adjustment window 1212. Figure 12C Figure 12C

[0209] Figure 13 ​​Another exemplary graphical user interface (GUI) is shown, which can be displayed on the visual display of a network device (e.g., the visual display 110 of network device 128 shown in FIG. 1) for configuring presets of buttons for control devices in an area having more than one type of load control device. The GUI can be displayed via a web interface (e.g., generated by a system controller or other remote device) and / or a control application executed by the network device.

[0210] The area being configured may include one or more load control devices. For example, the area may include one or more of the following types of load control devices: lighting control devices for dimmable lighting equipment (e.g., low-light lamps), lighting control devices for switchable lighting equipment (e.g., light switches), contact closure output (CCO) devices, and controllable sockets. The network device may display a preset programming screen 1300 that allows adjustment of preset settings for the load control devices in the area. During control operation, the load control devices may control the controlled electrical loads according to preset settings in response to actuation of buttons on a remote control device or other control source device currently being programmed. The preset programming screen 1300 may display multiple preset adjustment windows 1302A, 1302B, 1302C, and 1302D for each of the different types of load control devices in the area.

[0211] like Figure 13 As shown, the preset programming screen 1300 can display a low-light preset adjustment window 1302A to allow adjustment of the preset intensity level of the lighting control device of the dimmable lighting equipment in the area. The low-light preset adjustment window 1302A may include a slider control 1304A for adjusting the preset intensity level of each of the lighting control devices of the dimmable lighting equipment in the area. The low-light preset adjustment window 1302A may include an increase icon 1306A for increasing the preset intensity level by a predetermined amount and a decrease icon 1308A for decreasing the preset intensity level by a predetermined amount.

[0212] The preset programming screen 1300 can display a switch preset adjustment window 1302B for adjusting the preset state of the lighting control device for switching lighting equipment, a contact closure output preset adjustment window 1302C for adjusting the preset state of the contact closure output device, and a socket preset adjustment window 1302D for adjusting the preset state of the controlled socket device. The switch preset adjustment window 1302B, the contact closure output preset adjustment window 1302C, and the socket preset adjustment window 1302D can each display preset state options 1305B, 1305C, and 1305D. For example, the displayed preset state options 1305B, 1305C, and 1305D can be on, off, and unaffected, such as... Figure 13 As shown.

[0213] Figures 14A-14H Another example graphical user interface (GUI) is shown that can be displayed on a visual display of a network device (e.g., visual display 110 of network device 128 shown in FIG. 1) for monitoring, controlling, and adjusting the configuration of control devices in a load control area (e.g., such as load control environment 100 shown in FIG. 1). For example, after the operation of control devices in a load control area has been initially configured as described above, the GUI shown can be displayed Figures 14A-14H by the network device. The GUI can be displayed through a web interface (e.g., generated by a system controller or other remote device) and / or a control application executed by the network device.

[0214] The network device can be configured to display a "system controller selection" screen 1400 (e.g., hub selection screen) as shown in Figure 14A The load control environment can include multiple system controllers (e.g., multiples of system controller 160 shown in FIG. 1). The system controller selection screen 1400 can display a list 1402 of indications of system controllers 1404 (e.g., hub devices) to which the network device can connect in order to monitor, control, and adjust the configuration of control devices in the load control environment. For example, the load control environment can include a system controller for each floor of a building, and the system controllers can be named according to the respective floor, as shown in the example of Figure 14A The system controller selection screen 1400 can also include an "add system controller" option 1406 that can be selected to add a new system controller to the load control environment, and subsequently configure control devices in multiple rooms for the new system controller. Each indication of a system controller in the list 1402 can be selectable by a user.

[0215] Upon detecting a user selection of one of the system controllers 1404 from the list 1402 on the system controller selection screen 1400 (such as "2nd Floor System Controller"), the network device can connect to the selected system controller (if not already connected) and display a "system controller configuration" screen 1500 as shown in Figure 14BThe “Main Backend Management Page” screen 1410 shown is for the selected system controller (it will be appreciated that the phrase “Main Backend Management Page” screen is used for descriptive purposes only and other terms and / or phrases may be used to refer to this screen). Similarly, the selected system controller may generate the Main Backend Management Page screen 1410 (and other screens described below) by acting as a web server, or a network device may generate the Main Backend Management Page screen 1410 (and other screens described below) by a control application executed by the network device, etc., but it will be appreciated that other configurations are possible. The Main Backend Management Page screen 1410 may list several optional functions (or operations or commands) that can be selected by the user, such as “Room / Zone” function 1412, “Energy” function 1414, “Schedule” function 1416, and “Load Shedding” function 1418 (again, these phrases are for descriptive purposes only; for example, Room / Zone function 1412 may be referred to as a Room function). It will be appreciated that these functions are examples, and other, additional, and / or fewer functions may be displayed on the Main Backend Management Page screen 1410. The main backend management page screen 1410 may also include an optional return control 1415 at the top of the main backend management page screen 1410 (but the return control 1415 may be located elsewhere within the main backend management page screen 1410) (the return control 1415 (and other return controls described herein) may be in the form of, for example, an optional icon or button (here, ">"), but other icons, symbols, and forms, such as optional text, may be used). The network device may be configured to display a system controller selection screen 1400 in response to detection of actuation of the return control 1415 at the top of the main backend management page screen 1410. On one hand, the system controller selection screen 1400 and / or the main backend management page screen 1410 may be considered and referred to as a type of "home" or basic screen.

[0216] When a selection of room / zone function 1412 is detected, the network device may display as follows: Figure 14C The “Room / Area” screen 1420 shown (it will be appreciated that the phrase “Room / Area” screen is used herein for descriptive purposes only and other terms and / or phrases, such as “Room” screen, may be used to refer to this screen). The Room / Area screen 1420 may display a list 1422 of rooms and / or areas 1424 (e.g., indications of multiple rooms and / or areas), each of which can be selected to allow monitoring, control, and / or adjustment of the configuration of controls within the corresponding room / area (it will be appreciated that an area may include a room). The Room / Area screen 1420 may include new room / area options 1426, which can be selected to configure new rooms or areas (e.g., as referenced above). Figures 8A-8JThe room / area screen 1420 can also include a return control 1425, selection / actuation of which by a user can cause the network device to display the main back office management page screen 1410.

[0217] Upon detecting selection of one of the rooms / areas 1424 (such as "Conference Room 2C") from the list 1422 on the room / area screen 1420, the network device can display a "main back office management page" screen 1430 for the selected room / area as shown in Figure 14D The room back office management page screen 1430 can list a number of functions (or operations or commands) that can be selected by a user, such as, for example, an "energy" function 1432 (e.g., a monitoring function), a "control lights" function 1434 (e.g., a control function), and a "devices and settings" function 1436 (e.g., a commissioning function) (again, the phrases "energy" function, "control lights" function, and "devices and settings" function are used for descriptive purposes only). It will be recognized that these functions are examples, and that other, additional, and / or fewer functions can be displayed on the room back office management page screen 1430. The room back office management page screen 1430 can also include a return control 1435, selection / actuation of which by a user can cause the network device to display the room / area screen 1420.

[0218] Whenever the network device has been navigated to a screen subsequent to the room / area screen 1420 (as described below), the network device can be configured to display a selectable "go to room" control (such as control 1439) on the visual display of the network device. The network device can be configured to display the room / area screen 1420, for example, in response to detecting actuation of the "go to room" control on any screen subsequent to the area / room screen 1420 (it will be recognized that the "go to room" control can consistently take a user to screens other than the area / room screen 1420, such as, for example, the system controller selection screen 1400 or the main back office management page screen 1410. Other examples are possible). For example, as Figure 14DAs shown, the room back office page screen 1430 can include a "go to room" control 1439 at the bottom of the screen, selection / actuation of which by a user can cause the network device to display the room / zone screen 1420. It will be recognized that while the "go to room" control 1439 is shown at the bottom of the screen 1430, it can be located at other locations on the screen. According to one example shown and described herein, whenever the "go to room" control is displayed on various screens, it can consistently be displayed in the same location (e.g., in the lower right corner of the screen). According to another example, the "go to room" control can be displayed in one or more different locations across various screens. It will also be recognized that labels other than "go to room" such as other word phrases, etc. can be used to label the control, and the "go to room" control can take other forms, e.g., like a selectable icon, symbol or button.

[0219] Upon detecting selection of the energy function 1432 on the room back office page screen 1430, the network device can display the "room energy" screen 1440 as shown Figure 14E The room energy screen 1440 can display information about energy usage and / or savings for electrical loads in the room / zone selected on the room / zone screen 1420 and to which the room back office page screen 1430 pertains. The room energy screen 1440 can include a return control 1445, selection / actuation of which by a user can cause the network device to display the room back office page screen 1430, and also a "go to room" control 1449, selection / actuation of which by a user can also cause the network device to display the room / zone screen 1420.

[0220] Upon detecting selection of the control lights function 1434 on the room back office page screen 1430, the network device can display the "room control lights" screen 1450 as shown Figure 14FThe illustrated "room control" screen 1450 (it will be recognized that the phrase "room control" screen is used herein for descriptive purposes only and that other terminology and / or phrases can be used to refer to this screen, such as a control screen). The room control screen 1450 can display controls (e.g., buttons, linear sliders, knobs, etc.) for receiving control inputs for controlling control devices and / or electrical loads in the room / zone selected on the room / zone screen 1420 and to which the room back office page screen 1430 relates. For example, the room control screen 1450 can display an on button 1452, an up button 1454, a down button 1456, and an off button 1455. In response to detecting actuation of one of the buttons 1452, 1454, 1456, 1458 of the room control screen 1450, the network device can transmit one or more messages indicating the actuated button to the system controller, which can then transmit one or more messages including commands for controlling one or more control devices and / or one or more electrical loads in the selected room / zone. The system controller can be configured to turn lighting fixtures (e.g., all lighting fixtures) on and off in response to actuation of the on button 1452 and the off button 1458, respectively. The system controller can be configured to increase and decrease the intensity of lighting fixtures (e.g., all lighting fixtures) in response to actuation of the up button 1454 and the down button 1456, respectively. The room control screen 1450 can include a return control 1455, selection / actuation of which by a user can cause the network device to display the room back office page screen 1430, and also a "go to room" control 1459, selection / actuation of which by a user can cause the network device to display the room / zone screen 1420.

[0221] Upon detecting selection of the device and settings function 1436 on the room back office page screen 1430, the network device can display a screen 1460 as shown in FIG. 14C. Figure 14GThe illustrated "Devices & Settings" screen 1460 (it will be recognized that the phrase "Devices & Settings" screen is used herein for descriptive purposes only and that other terminology and / or phrases can be used to refer to this screen, such as a Devices screen or a Settings screen). The Devices & Settings screen 1460 can display selectable configuration options (or commands or operations) (e.g., "Room Occupancy" configuration option 1462, "Room Daylighting" configuration option 1464, and "Room Adjustments" configuration option 1466, as similarly described herein, but other, additional, or fewer options can be displayed) for adjusting the configuration of the selected room / zone (again, the phrases "Room Occupancy" configuration option, "Room Daylighting" configuration option, and "Room Adjustments" configuration option are used for descriptive purposes only). The configuration options that can be displayed on the Devices & Settings screen 1460 can depend on the types of input devices that have been associated with the control devices in the room / zone. For example, if at least one remote control device and at least one occupancy sensor have been associated with the load control devices in the lighting fixtures in the room / zone, the Room Occupancy configuration option 1462 and the Room Adjustments configuration option 1466 can be displayed on the Devices & Settings screen 1460. If at least one daylight sensor is associated with a control target device (such as a lighting control device in a lighting fixture) in the room / zone, the Room Daylighting configuration option 1464 can be displayed on the Devices & Settings screen 1460. It will be recognized that other examples are possible.

[0222] The Devices & Settings screen 1460 can display a list of previously discovered and / or associated control devices 1468 in the selected room / zone. The network device can receive a selection of one of the control devices in the list of previously discovered and / or associated control devices 1468. The list of previously discovered and / or associated control devices 1468 can include devices for a common area or different areas. The selection of the previously discovered and / or associated control devices can allow configuration information (e.g., association information and / or control configuration information) to be displayed and / or modified for storage. The Devices & Settings screen 1460 can include a return control 1465 whose selection / actuation by a user can cause the network device to display the Room Backstage page screen 1430 and can also include a "Go to Room" control 1469 whose selection / actuation by a user can cause the network device to display the Room / Zone screen 1420.

[0223] In response to detecting a selection of the Room Occupancy configuration option 1462, the network device can display a "Room Occupancy" configuration screen 1470, which can include configuration options (or commands or operations) that allow for adjusting the occupancy settings for the selected room / zone as described above. For example, the Room Occupancy configuration screen 1470 can include a "Set Occupancy" control 1472, a "Set Away" control 1474, a "Set Night" control 1476, and a "Set Vacation" control 1478. The Room Occupancy configuration screen 1470 can also include a "Set Schedule" control 1480, which can be selected / actuated to cause the network device to display a schedule screen 1482 for the selected room / zone. The schedule screen 1482 can include a schedule table 1484 that lists the days of the week and the times of day, and the user can select / actuate the schedule table 1484 to set the occupancy settings for the selected room / zone for the listed days and times. The schedule screen 1482 can also include a "Set Schedule" control 1486, which can be selected / actuated to cause the network device to display a schedule screen 1488 for the selected room / zone. The schedule screen 1488 can include a schedule table 1490 that lists the days of the week and the times of day, and the user can select / actuate the schedule table 1490 to set the occupancy settings for the selected room / zone for the listed days and times. Figure 14HThe illustrated multiple configuration options (or commands or operations or controls) for occupancy settings (e.g., sensitivity, timeout settings, etc.) of the selected room / zone (it will be recognized that the phrase“Room Occupancy” configuration screen is used herein for descriptive purposes only and that other terminology and / or phrases can be used to refer to this screen, such as a“Configuration” screen). In response to detecting selection of the room adjustment configuration option 1466, the network device can display a“Room Adjustment” configuration screen (not shown), which can include multiple configuration options (or commands or operations or controls) that allow for adjustment of, for example, dimming range settings (e.g., high end correction, low end correction, etc.) of the selected room / zone (it will be recognized that the phrase“Room Adjustment” configuration screen is used herein for descriptive purposes only and that other terminology and / or phrases can be used to refer to this screen, such as a“Configuration” screen). In response to detecting selection of the room daylighting configuration option 1464, the network device can display a“Room Daylighting” configuration screen (not shown), which can include multiple configuration options (or commands or operations or controls) that allow for adjustment of, for example, daylighting settings (e.g., daylighting gain, etc.) of the selected room / zone (it will be recognized that the phrase“Room Daylighting” configuration screen is used herein for descriptive purposes only and that other terminology and / or phrases can be used to refer to this screen, such as a“Configuration” screen). Each of the room adjustment configuration screen and the room daylighting configuration screen (again, not shown in the figure) can include a return control whose selection / actuation by a user can cause the network device to display the device and settings screen 1460 and can also include a“Go To Room” control whose selection / actuation by a user can cause the network device to display the room / zone screen 1420.

[0224] Reference Figure 14HThe room occupancy configuration screen 1470 can display a number of configuration options (e.g., programming options) for occupancy settings in the selected room / zone. The room occupancy configuration screen 1470 can display a "status" option 1472 that can allow (e.g., between enabling or disabling) adjustment of the status of one or more occupancy sensors in the selected room / zone. The room occupancy configuration screen 1470 can display one or more "controlled devices" options 1474. In response to detecting selection of one of the controlled devices options 1474, the network device can display a "controlled devices" configuration screen (not shown) that can allow selection of a type of control device that can be controlled by one or more occupancy sensors in the selected room / zone. The room occupancy configuration screen 1470 can display one or more "occupancy settings" options 1476. In response to detecting selection of one of the occupancy settings options 1476, the network device can display an "occupancy settings" configuration screen (not shown) that can allow adjustment of occupancy settings (e.g., sensitivity, timeout settings, etc.) of one or more occupancy sensors of the selected room / zone. The room occupancy configuration screen 1470 can display an "occupancy group" option 1478. In response to detecting selection of the occupancy group option 1478, the network device can display an "occupancy group" configuration screen (not shown) that can allow, for example, configuration of which control devices (such as which one or more lighting fixtures) of the selected room / zone are responsive to one or more given occupancy sensors of the selected room / zone (it will be recognized that the room occupancy configuration screen 1470 can include other, additional, and / or fewer configuration options). Each of the controlled devices configuration screen, the occupancy settings configuration screen, and the occupancy group configuration screen can include a return control whose selection / actuation can cause the network device to display the room occupancy configuration screen 1470 and can also include a "go to room" control whose selection / actuation by a user can cause the network device to display the room / zone screen 1420.

[0225] In response to selection and / or adjustment of one of the configuration options of the room occupancy configuration screen 1470, the room daylighting configuration screen, the room adjustment configuration screen, and / or a subsequent configuration screen, the network device can transmit a message to the system controller indicating the adjusted configuration settings, which the system controller can then transmit one or more messages for adjustment of the configuration of control devices and / or electrical loads in the selected room / zone.

[0226] The room occupancy configuration screen 1470 may include a return control 1475, the user's selection / activation of the return control 1475 may cause the network device to display the device and settings screen 1460, and may also include a "go to room" control 1479, the user's selection / activation of the "go to room" control 1479 may cause the network device to display the room / area screen 1420.

[0227] It will be recognized that, Figures 14A-14H The screen shown is just one example, and other instances are possible. It will also be recognized that... Figures 14A-14H The "tree" of the screen shown may include additional nested screens, each of which may include a return control and a "go to room" control as similarly described herein.

[0228] According to another example, Figures 14A-14H Any of the exemplary screens shown (and / or any additional nested screens that can be further accessed from these screens) may also include an optional “room” control (not shown in the figures), the user’s selection / actuation of which may cause the network device to display, for example, Figure 14A The system controller selection screen shown is 1400 or as follows: Figure 14B The main backend management page screen 1410 is shown. The "Home" control can be in the form of a word or phrase (like "Home") or an optional icon, symbol, or button. Other examples are possible.

[0229] If possible Figures 14A-14H As the discussion shows, once the user... Figure 14A System controller selection screen 1400 selects system controller 1404 and then from... Figure 14B On the main backend management page screen 1410, users can select the room / area function 1412, and the user will be displayed as follows: Figure 14C The room / area screen 1420 is shown. Thus, the user may wish to select a first of the displayed rooms / areas 1424 to monitor, control, and adjust the configuration of the control devices in that room / area, and then similarly select other displayed rooms / areas, etc., to monitor, control, and adjust the configuration of the control devices in those respective rooms / areas. As described herein, as the user selects a room / area and navigates through, for example... Figures 14D-14H The nested screen trees shown, and then hoping to return to, as Figure 14C As shown in the room / area screen 1420, for example, to select another room, the user can simply select the "Go to Room" control from the currently displayed screen to quickly and easily return to it in a single action. Figure 14C Room / area screen 1420. This is, for example, when the user must select the return control multiple times to exit the nested screen and return to...Figure 14C the room / zone screen 1420. It can be confusing and inefficient for the user to have to use the back control this way. For example, the user can not be able to call up Figure 14C the room / zone screen 1420 where it is in the nested screen tree and thus can not know how to navigate back to the screen. The "go to room" control at least solves this problem. In addition to the "go to room" control, each screen can also have a "home" type control (as described above) that, when selected by the user, takes the user back to the main screen / home screen, such as the system controller selection screen 1400 as shown in Figure 14A or the main back office management page screen 1410 as shown in Figure 14B However, the drawback of the home control as a way to return to the room / zone screen 1420 is that the user then needs to make one or more additional selections to return to the desired room / zone screen 1420. Thus, for intermediate screens, such as a room / zone screen 1420 in a series of nested tree-like screens that the user can wish to interact with multiple times, the "go to room" control can provide an efficient way to this screen once the user has navigated deep into the nested screen tree. It will be recognized that the "go to room" control can have applications beyond the load control system described herein.

[0230] Turning now to Figure 15A and Figure 15B , these figures show a flowchart of an example control program 1500 for monitoring, controlling, and adjusting the configuration of control devices in a load control area (e.g., such as the load control environment 100 shown in FIG. 1). The control program 1500 can be executed by using one or more devices, such as a network device (e.g., the network device 128) to display a graphical user interface (GUI) on a visual display of the network device and to transmit messages to system controllers and / or control devices for controlling and / or configuring the control devices.

[0231] The control program can begin at 1510. At 1512, the network device can display a system controller selection screen (e.g., the system controller selection screen 1400 shown in Figure 14A ). The system controller selection screen can display a list of system controllers (e.g., multiples of the system controller 160 as shown in FIG. 1) that the network device can connect to for monitoring, controlling, and adjusting the configuration of control devices in a load control area. The network device can continue to display the system controller selection screen until a selection of a system controller is detected at 1514.

[0232] When a system controller is selected at 1514, the network device can display a main back office management page screen at 1516 (e.g., the main back office management page screen 1410 shown in Figure 14BThe main backend management page screen shown is 1410. This screen lists several selectable functions, such as room / zone functions, energy functions, scheduling functions, and load shedding functions (in...). Figure 15A and Figure 15B (Selection of energy function, scheduling function, and load shedding function is not shown). The main background management page screen may also include a return control for causing the network device to display the system controller selection screen at 1512. The network device may continue to display the main background management page screen until one of the functions is selected or the return control is selected at 1520. When the return control is selected at 1520, the network device may display the system controller selection screen at 1512.

[0233] Regarding the room / area function on the main backend management page screen, once a selection is detected at 1518, the network device can display the room / area screen at 1522 (e.g., as shown). Figure 14C The room / area screen shown is 1420. The room / area screen can display a list of rooms / areas that can be selected to allow monitoring, control, and / or adjustment of the configuration of control devices within the respective room / area. The room / area screen may also include a return control for causing the network device to display the main back-end management page screen. The network device may continue displaying the room / area screen until a room is selected at 1524 or the return control is selected at 1526. When the return control is selected at 1526, the network device may display the main back-end management page screen at 1516.

[0234] When a selection of one of the rooms / areas on the room / area screen is detected at 1524, the network device may display the room back-end management page screen of the selected room / area at 1528 (e.g., as shown in the image). Figure 14DThe room back office page screen can list a plurality of functions that can be selected, such as, for example, an energy function (e.g., a monitoring function), a control lights function (e.g., a control function), and a devices and settings function (e.g., a commissioning configuration function). The room back office page screen can include a back control, selection of which at 1536 can cause the network device to display the room / zone screen at 1522. The room back office page screen can also include a "go to room" control, selection of which at 1538 can cause the network device to display the room / zone screen at 1522. The network device can continue to display the room back office page screen until one of the functions is selected at 1530, 1532, or 1534, the back control is selected at 1536, or the "go to room" control is selected at 1538. When selection of the back control at 1536 or the "go to room" control at 1538 is detected, the network device can display the room / zone screen at 1522.

[0235] When selection of the energy function on the room back office page screen at 1530 is detected, the network device can display a room energy screen for the selected room / zone at 1540 (e.g., as shown in FIG. 14B). Figure 14E The room energy screen can display information about energy usage and savings for electrical loads in the selected room / zone. The room energy screen can include a back control and a "go to room" control. The network device can continue to display the room energy screen until selection of the back control at 1542 or selection of the "go to room" control at 1544 is detected. When the back control is selected at 1542, the network device can display the room back office page screen at 1528. When the "go to room" control is selected at 1544, the network device can display the room / zone screen at 1522.

[0236] When selection of the control lights function on the room back office page screen at 1532 is detected, the network device can display a room control screen for the selected room / zone at 1546 (e.g., as shown in FIG. 14C). Figure 14FThe room control screen can display controls (e.g., buttons, linear sliders, knobs, etc.) for controlling control devices and / or electrical loads in the selected room / zone. The room control screen can include a back control and a “go to room” control. The network device can continue to display the room control screen until a control input is received at 1548, the back control is selected at 1550, or the “go to room” control is selected at 1552. When a control input is received from the user at 1548 (e.g., in response to actuation of a control on the room control screen), the network device can transmit a message at 1554 indicating the actuated control to the system controller, which can then transmit one or more messages including commands for controlling one or more control devices and / or one or more electrical loads in the selected space / zone. When selection of the back control is detected at 1550, the network device can display the room back office page screen at 1528. When selection of the “go to room” control is detected at 1552, the network device can display the room / zone screen at 1522.

[0237] When selection of a device and settings function on the room back office page screen is detected at 1534, the network device can display a device and settings screen for the selected room at 1556 (e.g., as shown in FIG. 15E). Figure 14G The device and settings screen can display configuration options (e.g., room occupancy configuration options, room daylighting configuration options, and / or room adjustment configuration options) for configuring the selected room / zone. The device and settings screen can also display a list of previously discovered and / or associated control devices in the selected room / zone. The display of the device and settings screen can include a back control and a “go to room” control. The network device can continue to display the device and settings screen until selection of one of the configuration options is detected at 1558, selection of the back control is detected at 1560, or selection of the “go to room” control is detected at 1562. When selection of the back control is detected at 1560, the network device can display the room back office page screen at 1528. When selection of the “go to room” control is detected at 1562, the network device can display the room / zone screen at 1522.

[0238] When selection of one of the configuration options on the device and settings screen is detected at 1558, the network device can display a configuration screen for the selected configuration option at 1564 (e.g., such as a room occupancy configuration screen, as shown in FIG. 15F). Figure 14H The room occupancy configuration screen can display configuration options for configuring room occupancy in the selected room / zone. For example, if selection of the room occupancy configuration option is detected, the network device can display a room occupancy configuration screen at 1564 (e.g., as shown in FIG. 15F). Figure 14HThe illustrated room occupancy configuration screen 1470 can be displayed and can show a plurality of configuration options for the occupancy settings in the selected room / zone. The configuration screen for the selected configuration option can include a back control and a "go to room" control. The network device can continue to display the configuration screen for the selected configuration option until a selection of a configuration input is received at 1566, a selection of the back control is detected at 1568, or a selection of the "go to room" control is detected at 1570. When a configuration input is received at 1566, the network device can transmit a message at 1572 indicating the adjusted configuration setting to the system controller, which can then transmit one or more messages for configuring the control devices in the selected room / zone. When a selection of the back control is detected at 1568, the network device can display the device and settings screen at 1556. When a selection of the "go to room" control is detected at 1570, the network device can display the room / zone screen at 1522.

[0239] It will be recognized that the control program 1500 is an example, and that other examples using a "go to room" control as described herein are possible.

[0240] As described herein, a user can use a network device to communicate with a system controller in order to configure a load control system. Configuring the load control system can result in the creation of configuration information stored in one or more files. (It will be recognized that the information can be stored in one file or multiple files. For purposes of description only, it will be assumed that the configuration information is stored in multiple files.) These files can be stored at the system controller in memory of the system controller, and can be stored as flat files, as one or more database files as part of a database management system, etc., although other examples are possible (it will be recognized that portions of the configuration information can also be communicated to various control- source devices and control-target devices of the load control system (if applicable) for operation of such devices) (for purposes of description only, it will be assumed that the configuration information is stored in multiple database files). As described herein, the configuration information can include association information. The association information can include information defining zones (e.g., rooms) of the load control environment, load control devices associated with respective defined zones, and associations between the defined control-source devices and control-target devices (or in other words, information defining which control-source devices control which control-target devices and how these devices can communicate, such as network addresses). The configuration information can also include clock event information, or in other words, commands that the system controller can automatically send to control-target devices at set times and dates in order to control the control-target devices. The configuration information can also include configuration options and / or control configuration information, which can include, for example, occupancy settings for occupancy sensors (e.g., sensitivity, timeout settings, etc.), daylighting settings for daylight sensors (e.g., daylighting gain, etc.), define how one or more control-target devices should respond to control-source devices (e.g., as described with respect to Figures 12A-12C and Figure 13The preset control instructions to which the actuation of one or more preset buttons of the described remote control device responds, as well as the zone configuration defining one or more zones in which control target devices are defined for control. It will be recognized that the configuration information can include other types of information. Once the configuration information at the system controller is defined, a user can adjust the configuration information through the network devices, which can include, for example: adding more zones and / or control source devices and / or control target devices to the load control system; removing defined zones from the load control system; removing control source devices and / or control target devices from defined zones; and / or disassociating control devices that can be associated. Adjusting the configuration information can also include adjusting clock event information and configuration options. According to further aspects of the load control system described herein, multiple different users via different network devices can simultaneously and / or at different times access the system controller through their respective network devices, each configuring the load control system, such as different portions of the system, such as different zones of a load control environment. It will be recognized that these are merely examples, and that the system controller / load control system can include other, different, and / or additional configuration information.

[0241] As discernible herein, configuration information stored within a database file of a system controller can be complex and somewhat time consuming to create. Thus, if, for example, a system controller is to encounter a hardware failure requiring replacement of the system controller with a new system controller, it can be a non-trivial task for one or more users to redefine the load control system (i.e., recreate the configuration information stored within the failed system controller) through one or more network devices. As one example, because the user can need to recreate the configuration information, it can take some time to have the load control system functioning and operational again. Thus, it can be desirable for a system controller to create or generate a backup file of its configuration information file (also referred to herein as a backup or backup copy) and, additionally, to store a copy of this backup file at one or more locations / computing systems or servers (such as a remote server) physically separate from the system controller (the term "remote" is used here to refer to a server or computing system separate from the system controller). Additionally, because configuration information is subject to change, it can be desirable, for example, for a system controller to create or generate a backup file of its configuration information file at the time of change. In this way, if a system controller is to encounter a hardware failure requiring replacement of the system controller with a new system controller, a backup copy of the configuration information of the failed system controller can be loaded into the new system controller, thereby enabling a faster recovery of a fully functioning load control system. As described herein, a system controller creating or generating a backup file of its configuration information file can include making copies of the configuration information file within the memory of the system controller, can include condensing the copies into one backup file (e.g., a compressed file) (or possibly, multiple files), can include condensing or compressing one backup file (or multiple backup files), can include encrypting all or a portion of one backup file (or multiple backup files), or some combination thereof. Additional examples are possible.

[0242] As described herein, a system controller can communicate with control devices of a load control system over a first communication network. As further described herein, the system controller and network devices can communicate over a second communication network, which can be different than the first communication network. The network devices and system controller can be able to access a public network, such as the Internet, over this second communication network. In such a configuration, the system controller can create a backup file of its configuration information file and communicate with a remote server over the second communication network to, for example, store a copy of the backup file on the remote server. According to another example, the second communication network can instead be a private network that is not able to access a public network. This second communication network can be utilized specifically for the purpose of the network devices and system controller being able to communicate as described herein, and is not a network that includes other systems, such as a remote server for storing backups. One example of such a configuration is to configure the system controller to act as an access point, such as a wireless access point, and provide the second communication network. In this configuration, one or more network devices can connect to the second communication network provided by the system controller and thereafter communicate with the system controller as described herein to configure, monitor, and control the load control system. It will be recognized that other forms of private networks can be configured and used. One advantage of such a private network is that it can provide a level of security to the system controller, preventing unauthorized access from devices on the public network. However, one disadvantage of such a configuration is that the system controller can not have a mechanism for storing a copy of a backup of a configuration information file on a system / server separate from the system controller due to not having access to, for example, a public network or a remote server on a private network. As further described below, a network device can act as a conduit to such a remote server. For example, a network device can request that the system controller generate a backup of a configuration information file. In response to the request, the system controller can provision or communicate or deliver a copy of the backup to the network device. Thereafter, the network device can communicate or deliver the backup to a remote server.

[0243] Reference is now made to Figures 16A-16CFIG. 16 shows an example flow diagram of an example procedure or process 1600 by which a system controller 1684 can create a backup file of its configuration information file and store a copy of the backup on a remote server 1690 separate from the system controller (e.g., separate in that the system controller and the remote server can not be able to directly communicate with each other over a network). According to this example, the system controller 1684 can be part of a load control system that also includes control source devices and control target devices (not shown) as described herein. The system controller 1684 can communicate with control devices of the load control system as described herein over a first communication network. According to another aspect of this example, the system controller 1684 can communicate with one or more network devices (such as the network device 1680) over a second communication network separate from the first network (such as a private network as described above) (it will be recognized that, as yet another example, the first communication network and the second communication network can be the same network). According to yet another aspect of this example, the network device can communicate with the remote server 1690 over a third communication network (such as a public network) separate from the first communication network and the second communication network (e.g., separate in that the remote server can not be able to access and / or communicate messages over the first communication network and / or the second communication network over the third communication network). The network device 1680 can be configured to communicate over both the second communication network and the third communication network at the same time (e.g., similar to the way a mobile phone can communicate over cellular and WiFi-based networks) or at different times.

[0244] According to Figures 16A-16Capplication, the system controller can be configured to allow the network device 1680 to execute a control application and interface with the system controller through this application. For example, the control application can be initiated or launched by the user 1632 of the network device 1680. Once initiated, the control application can execute as one or more software-based processes including the control process 1682, although it will be recognized that other, additional, and different processes can be used to provide the features and functionality described herein. In this example, the control process 1682 can generate a GUI that is provided to the user 1632. In this way, the control process 1682 can display information received from the system controller 1684 (e.g., through a GUI generated by the control process) and / or can receive user input from the user (but such a GUI) to communicate information and commands to the system controller for the user to configure, monitor, and control the load control system described herein. According to this example, a user interfacing with the system controller 1684 through a web client on a network device can not cause the system controller to generate a backup of the configuration information file, as described below. The system controller can generate a backup file of the configuration information file only when the user interfaces with the system controller through the control application of one or more network devices. From the perspective of a user interfacing with the system controller 1684 through the control application on a network device 1680 Figures 16A-16Capplication programs that can be executed as one or more software-based processes to provide the backup features described herein. As one example, the processes can include, for example, a storage process 1692, although other, additional, and / or different processes can be used to provide the features and functionality described herein. As described further below, the system controller 1684 can generate a backup of a configuration information file and provision or deliver a copy of this backup to the network device 1680. Thereafter, the remote server 1690 can receive the copy of the backup from the network device 1680 through the storage process 1692 and store the backup, for example, within a memory storage system.

[0245] Turning now to Figure 16A, the server process 1686 of the system controller 1684 can include one or more defined "trigger points" that can be considered events. The server process can monitor for the occurrence of these trigger points (or events) as the network device 1680 interacts / communicates with the system controller. When a trigger point or event is determined to have occurred at the system controller, the server process 1686 can communicate a message to the control process 1682 of the network device 1680. The message can include a command for the control process 1682 to request that the server process 1686 generate a backup, as described below. Each trigger point of the server process 1686 can include a defined trigger level, such as, for example, a value from 0 to 4. The trigger level can provide an indication of the "importance" or "priority" of the trigger point, where level 0 is more important (or has a higher priority) than level 1, level 1 is more important than level 2, level 2 is more important than level 3, and level 3 is more important than level 4. It will be recognized that these levels are merely examples, and that other indications of level / importance can be used, including fewer or additional levels. As one example, one of the defined trigger points can include that the user 1632 has successfully logged into the system controller 1684 through the network device 1680 (where successful login can include, for example, providing a username and / or password). This trigger point can have a level of 1. As another example, one of the defined trigger points can include that the user 1632 of the network device has selected a backup feature (such as a backup feature via a GUI) that causes the control process 1682 to communicate a message to the server process 1686 including a command to generate a backup and to deliver or provision the backup to the network device. This trigger point can have a level of 0. As one example, this backup selection feature can be the only trigger point with this level of 0, such that when the user requests a backup to be generated, the backup is always generated as described below. As another example, one of the defined trigger points can include that the control process 1682 has automatically generated a message (such as based on a clock schedule) and communicated a message to the server process 1686 including a command to generate a backup and to deliver or provision the backup to the network device. This trigger point can have a level of 1. As another example, certain changes to configuration information of the system controller can have an associated trigger point. For example, removal of a control source device or control target device from the load control system can have an associated trigger point with a level of 3. Addition or creation of a new zone within the load control system and possibly addition of one or more control devices to the zone can have an associated trigger point with a level of 1. Removal of a zone from the load control system that has at least one control device can have an associated trigger point with a level of 3. Changing a preset setting of a remote control device can have an associated trigger point with a level of 2. Changing a dimming range setting (e.g., high end trim, low end trim, etc.) of one or more zone / lighting control devices can have an associated trigger point with a level of 3.Changing the daylighting settings of one or more zones / light sensors can have an associated trigger point with a level of 3. Changing an occupancy sensor from an occupancy sensor to a vacancy sensor can have an associated trigger point with a level of 2. Changing, for example, the sensitivity setting or the timeout setting of an occupancy sensor can have an associated trigger point with a level of 3. Activating and / or deactivating a load shed can have an associated trigger point with a level of 4. Changing a load shed setting can have an associated trigger point with a level of 1. Adding and / or deleting a clock event can each have an associated trigger point with a level of 3, or can have a higher level such as 1. Updating the time, date, or enable / disable status of a clock event can have an associated trigger point with a level of 3. Modifying the way the control device is controlled during a clock event can have an associated trigger point with a level of 1. These are merely examples, and other, additional, and different examples of trigger points and levels are possible.

[0246] Turning now to Figure 16AAt step 1602, a user 1632 can log into the system controller through the control process 1682 (step 1602A). Logging into the system controller can entail the passing of one or messages between the system controller and the network device. Once logged in, the user can select a backup feature through, for example, a GUI provided by the control process, which can allow the user to specifically instruct the system controller to generate a backup and / or to provision or communicate or deliver or provide (each of these terms can be used interchangeably herein) the backup to the network device. Upon selection of this backup feature, the control process 1682 can communicate a message to the server process 1686, where the message can include a command for the server process to generate and / or provision or deliver a backup (step 1602b) (it will be recognized that when communicating messages between the network device 1680 and the system controller 1684 as described at each step or operation of the process 1600, and / or when communicating messages between the network device 1680 and the remote server 1690 as described at each step or operation of the process 1600, multiple messages can actually be communicated. For ease of description, the discussion of the process 1600 can refer to one message at each step or operation. However, it will be recognized that multiple messages can be communicated.) As another example, the control process can execute a timer that is started when the user logs into the system controller. At a set time that can be configurable by the user 1632, such as every 30 minutes, the control process can automatically communicate a message to the server process 1686, where the message can include a command for the server process to generate a backup and / or to provision the backup to the network device (step 1602c). As another example, through a GUI provided by the control process 1682, the control process can cause the server process 1686 to make one or more changes to the configuration information (e.g., as a result of user interaction with the GUI) and store these changes to one or more database files of the system controller (step 1602d) (i.e., update the configuration information files). As noted, upon the occurrence of any of these events (1602a-1602d), the server process 1686 can monitor for the event and determine at step 1604 that one or more trigger points / defined events have occurred. Upon detecting or determining that one or more triggers have occurred, at step 1606, the server process can communicate a message to the control process 1682. The message can include a command. The command can be a request or suggestion or instruction for the control process to request that the server process generate a backup file of the configuration information files and / or to provide / provision a copy of the current backup file or a new backup file (as described below) to the network device. This message at step 1606 can also include one or more trigger levels associated with one or more triggers that caused the server process to generate the message at step 1606.In one aspect, this message can be viewed as the system controller suggesting to the network device that the network device can want the system controller to generate a backup of the configuration information file and / or to provision / deliver the backup to the network device. By having the system controller / server process 1686 generate the message at step 1606, the server process can be viewed as leaving the actual decision to the network device / control process 1682 as to whether the server process should generate and / or provision / deliver a backup. In one aspect, features provided by the system controller within the load control system can be viewed as time sensitive. For example, the system controller can assist in communicating commands from control source devices to control target devices, and / or can communicate one or more commands to one or more control target devices in response to a clock event. Processing such commands in a timely manner can be necessary in terms of a user's perception of operation of the load control system, for example. Due to limited computing resources, it can be possible for the system controller to generate a backup of the configuration information file or to repeatedly generate backups of the configuration information file and provision such backups to network devices, for example, which can impact the timeliness of such load control commands. By having the system controller provide an indication to the network device that a backup can be needed, but then reserving the actual decision as to whether to complete / generate a backup, can allow a user of the network device to control the extent to which the system controller burdens the backup process.

[0247] As noted above, the user 1632 can also communicate with the system controller through the web client of the network device. When interacting with the system controller in this manner, the server process 1686 can continue to monitor the trigger point, and can continue to generate the message at step 1606 when the trigger point occurs. According to this example, the web client can be configured to ignore the message at step 1606, whereby the system controller is never caused to generate a backup, as described below. Alternatively, the server process 1686 can not generate the message at step 1606 when the user 1632 communicates with the system controller through the web client of the network device.

[0248] When the message is received at step 1606, the control process 1682 can determine at step 1608 whether a backup should be generated at the system controller and / or provisioned or communicated to the network device. The control process can make this determination through a manual process involving the user 1632, and / or in an automated / automatic manner that does not involve the user 1632. As an example of a manual process, when the message is received at step 1606, the control process can provide an indication to the user 1632 of the network device 1680. The indication can indicate that the system controller is recommending that a backup be generated and stored at the remote server 1690. For example, a GUI-based window can be displayed to the user over the network device. The window can include two options that the user can select from, such as "Continue Backup" and "Do Not Continue Backup." Based on these options, the user 1632 of the network device can decide whether to continue or not continue to generate and / or provision a backup, such as by selecting one of the options. Other examples are possible. If the user decides not to continue to generate a backup, then Figures 16A-16C The illustrated process can end. Alternatively, if the user decides to continue to generate a backup, then the control process 1682 can communicate a message to the server process 1686 at step 1610, where the message can include a command to generate a backup and / or provide / provision the backup to the network device.

[0249] As an alternative to and / or in addition to the manual process just described, when the message is received at step 1606, the control process 1682 can automatically make a determination at step 1608 whether the system controller should generate a backup and / or provision the backup to the network device. Here, the control process can include a filter program or threshold that is run against one or more trigger levels delivered with the message from the server process at step 1606. If the message at step 1606 includes multiple trigger levels, the filter program can be run against the lowest trigger level. As one example, the filter program can include filter levels having values from, for example, 0 to 4. It will be recognized that these levels are merely examples, and other levels of indication can be used, including wider and / or narrower ranges of levels (such as 0 to 5). The filter level values can be configurable by the user 1632, such as through GUI-based options. As part of the filter program, the control process 1682 can compare the trigger level to the filter level. If the trigger level is less than or equal to (or just less than) the filter value, then the control process can determine that a backup should be generated / provisioned. Alternatively, if the trigger level is greater than (or greater than or equal to) the filter value, then the control process can determine that a backup should not be generated / provisioned. If the control process decides not to continue to generate a backup, then Figures 16A-16CThe illustrated process can end. Alternatively, if the control process decides to continue generating backups, the control process can communicate a message to the server process at step 1610, where the message can include a command to generate a backup and / or to provide or provision the backup to the network device. Using the filter level, the user 1632 can configure the control process 1682 to control when backups should be generated / provisioned. For example, if the user sets the filter level to 4, the control process can always request that a backup be generated / provisioned (i.e., the case when a backup is generated when the trigger level is less than or equal to the filter value). Alternatively, if the filter level is set to 0, the control process can only request that a backup be generated when the trigger level is 0, or in other words, assume that there are few trigger points with a trigger level of 0, a backup should be generated / provisioned rarely (again, the case when a backup is generated when the trigger level is less than or equal to the filter value). By setting the filter level to 2, the control process can only request that a backup be generated when the trigger level is 2 or less (again, the case when a backup is generated when the trigger level is less than or equal to the filter value). Here, the user can indicate that, for example, when certain "less" important changes are made to the configuration information, a backup should not be generated / provisioned. As another example, the control process can allow the user to disable the filtering procedure, thereby causing the control process to never request that a backup be generated / provisioned. It will be recognized that these are merely examples, and other mechanisms can be used to cause the control process to automatically determine whether a backup should be generated based on the trigger level.

[0250] Now referring to step 1610, as noted, the control process 1682 at this step can communicate a message to the server process, where the message can include a command to generate a backup and / or to provide / provision the backup to the network device. The message can also include the signature of the last backup that the control process received from the system controller 1684 and was successfully uploaded or communicated to the remote server 1690 and / or the signature of the backup that the control process received from the system controller 1684 and is attempting and / or will attempt to upload to the remote server 1690. If the control process does not have the stored signature, this value / field can be left blank in the message communicated at step 1610.

[0251] In particular, each time the system controller generates a backup of the configuration information file, the system controller can associate a signature with the backup, which can uniquely identify the backup. The system controller can store both the backup and its signature in its memory. As one example, the signature can be a hash value generated by applying a hash function (e.g., a SHA-1, SHA-2, or SHA-3 hash function) to the backup. As another example, the signature can be a timestamp. This timestamp can have the form YYYY-MM-DD HH:MM:SS (year-month-day, hour:minute:second), or can be in RFC3339Nano format, possibly without nanosecond precision (e.g., RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"), but other forms can be used. Here, each time the system controller saves the configuration information into the database file, the system controller can update the timestamp of the configuration information file to the current date / time. These timestamps can be used as signatures. For example, assume that the configuration information is stored in one file, then the system controller can use the timestamp of the file as the signature associated with the backup of the file. As another example, assume that the configuration information is stored in multiple files, then the system controller can use the timestamp of the most recently updated file as the signature associated with the backup of the files. As yet another example, assume that the configuration information is stored in one file, then the system controller can apply a hash function to the timestamp of the file, and use the resulting hash value as the signature associated with the backup of the file. As another example, assume that the configuration information is stored in multiple files, then the system controller can apply a hash function to the timestamp of the most recently updated file, and use the resulting hash value as the signature associated with the backup of the files. As another example, assume that the configuration information is stored in multiple files, then the system controller can form a string using the timestamp of each file (e.g., "YYYY-MM-DD HH:MM:SS YYYY-MM-DD HH:MM:SS..."), and can apply a hash function to the string of timestamps, where the resulting hash value is the signature associated with the backup of the files (this string can also include the name of each file, where the hash function is applied to the timestamp and the name; likewise, other variations can be used). It will be appreciated that other examples of signatures are possible / usable. Each time the server process 1686 supplies or delivers a backup to the control process 1682, the server process can also provide the signature associated with the backup. The control process 1682 can store or record this signature within the memory (e.g., non-volatile and / or volatile memory) of the network device. In this way, the control process 1682 can record the last "version" of the backup received from the server process 1686 of the system controller 1684.It will be appreciated that network device 1680 can communicate with multiple different system controllers, and that each time each system controller is to supply or deliver a backup to control process 1682, the signature of that system controller can be stored. Each time control process 1682 receives another / new backup from server process 1686, control process can again store the signature associated with the new backup, replacing the previous backup and its corresponding signature with the new backup and its corresponding signature.

[0252] According to one example, system controller 1684 can store one backup of the configuration information file in memory at any given time (and as noted above, store, for example, the signature of this backup in addition to, among other things, the time of creation as discussed below). This backup can be stored in volatile or non-volatile memory of system controller 1684. This backup can be referred to herein as the current backup or the previous backup or the last / newest backup. Each time system controller generates a new backup of the configuration information file, the current backup can be replaced / overwritten with the new backup, saving the new backup (along with its signature, etc.) to memory and deleting the current backup. The new backup then becomes the current or previous backup. It will be appreciated that this is one example, and that system controller can instead store more than one version of a backup at a time.

[0253] Turning now to step 1612, in response to receiving the message from control process 1682 at step 1610, server process 1686 can determine whether a backup (i.e., a new backup) is currently being generated by the system controller. As one example and as noted above, multiple network devices can be communicating with the system controller at the same time in a similar manner as described for network device 1680. As a result of these interactions with the different respective network devices, the server process (or instance of this process for each network device) can be instructed by a respective network device to generate a backup. It will be appreciated that this is just one example as to why the system controller can be generating a backup at the time the message is received from network device 1680 at step 1610. If the server process determines that a backup is currently being generated, the server process can communicate a message to the control process at step 1614. This message can include, for example, a code such as an error code indicating to the control process that the server process will not generate a backup and / or deliver the backup to network device 1680. Process 1600 can then end. Alternatively, the process can proceed to another step, such as step 1616 or step 1622, and attempt to deliver the current backup to the network device. Other examples are possible.

[0254] Alternatively, if at step 1612 the server process determines that a backup is not currently being generated, then the server process can determine at step 1616 whether the system controller is currently supplying or delivering or communicating a copy of the backup (i.e., a copy of the current backup) to another network device (i.e., a network device other than network device 1680). If yes, then the server process can also determine how many network devices a copy of the backup is currently being supplied to. Again, generating a backup and supplying the backup to a network device can consume resources of the system controller (such as processing time / resources), which can impair the system controller such that it cannot operate in a timely manner within the load control system. Thus, it can be desirable to limit the number of network devices to which the system controller can concurrently supply a copy of a backup. The number of network devices can be a predefined maximum number / threshold. This number can be, for example, one at a time, two at a time, etc. If the server process determines at step 1616 that a copy of the backup is being supplied to the maximum number of network devices, then the server process can communicate a message to the control process at step 1618. This message can include, for example, a code such as an error code that indicates to the control process that the server process will not generate a backup and / or supply / deliver the backup to network device 1680. Process 1600 can then end.

[0255] Alternatively, if at step 1616 the server process determines that a copy of the current backup is not currently being supplied to the maximum number of network devices (or that a copy of the current backup is not currently being supplied to any network device at all), then the server process can continue with different variations. As one example, if the server process is supplying a copy of the current backup to at least one other network device (i.e., less than the maximum number), then the server process can proceed to step 1622 Figure 16B ), and also determine whether a copy of the current backup should be supplied to network device 1682. Alternatively, even if the server process is supplying a copy of the current backup to another network device (or is not supplying a copy of the current backup to any network device at all), the server process can proceed to step 1620 Figure 16B), and can determine whether a backup should be generated (i.e., the system controller can continue to provision a copy of the current backup to other network devices, and begin generating a new backup that can be provisioned to network device 1680, without deleting, for example, the current backup, until the current backup is fully provisioned to other network devices). From step 1620a of step 1620, the server process can determine whether configuration information within one or more configuration information files has changed since the last / newest backup was generated. (As noted above, the control process 1682 can request that a backup be generated due to different triggers, including triggers that include changes in configuration information, such as a user 1632 requesting a backup. Thus, it is possible to receive a backup request from the control process 1682 even if configuration information files have not changed since the last time a backup was generated). As one example, the server process can make a determination of whether configuration information has changed by comparing a signature of the last / newest (e.g., current) backup generated by the system controller to a signature that can be produced by a backup of the current configuration information files. Again, the newest / current backup and its signature can be maintained in memory (such as non-volatile memory) of the system controller (as discussed below, whenever the system controller generates another or new backup and its signature, the previous backup and the signature of this previous backup can be removed or deleted). If the server process determines that the signatures are the same, the server process can determine that a backup does not need to be generated, and can proceed to step 1622. Alternatively, if the server process determines that the signatures are different, the server process can determine that a backup needs to be generated, and can proceed to step 1620b. As another example, the server process can compare a signature provided by the control process 1682 at step 1610 to a signature that can be produced by a backup of the current configuration information files. If the server process determines that the signatures are the same, the server process can determine that a backup does not need to be generated, and can proceed to step 1622. Alternatively, if the server process determines that the signatures are different, the server process can determine that a backup needs to be generated, and can proceed to step 1620b. With reference to another specific example discussed above, where the signature of a backup can be a timestamp of the most recently updated configuration information file that constitutes the backup (the timestamp is not hashed), the server process can compare this timestamp-based signature of the most recent / newest backup to the timestamp of each of the configuration information files. If any file has a timestamp that is newer (or just different) than the signature of the most recent / newest backup, the server process can determine at step 1620a that configuration information has changed, and that a backup of the configuration information files should be generated, while the server process proceeds to step 1620b. Alternatively, if the timestamp of the most recently updated configuration information file is the same as the timestamp-based signature of the most recent / newest backup, the server process can proceed to step 1622.As another similar example, where the signature of a backup can be a timestamp of the most recently updated configuration information file that constitutes the backup (the timestamp is not hashed), the server process can compare the timestamp-based signature of the most recent backup to the timestamp of the most recent configuration information file. If they are different, the server process can determine at step 1620a that the configuration information has changed and that a backup of the configuration information file should be generated, while the server process proceeds to step 1620b. Otherwise, the control process can proceed to step 1622. It will be recognized that other examples are possible / usable in how to determine whether a backup should be generated.

[0256] Turning now to step 1620b, before the server process generates a backup, the server process can next use the creation time associated with the most recently generated / current backup to determine the last time a backup was generated (i.e., the time the current backup was generated) (e.g., whenever the system controller generates and saves a backup, the system controller can associate a current date / time (i.e., a timestamp) with the backup file, as can be the case, for example, when any file is created or updated). The server process 1686 can compare the creation time associated with the most recently generated / current backup to the current date / time (collectively referred to as the current timestamp) as can be maintained by the system controller. As an example, the current timestamp can be relative to the time the message at step 1610 is received from the control process and the time that can be recorded by the server process at the time the message is received (although, it will be recognized that the server process can record the current timestamp at some other point in time). In comparing the creation time of the current backup to the current timestamp, the server process can determine the difference between these timestamps, and can further compare this difference to a “stale time”. The stale time can be a pre-defined time duration / threshold. If the server process determines that the difference between the creation time of the current backup and the current timestamp is less than (or less than or equal to), for example, the stale time, the server process can determine not to generate a backup, and can proceed to step 1622. Alternatively, if the server process determines that the difference between the creation time of the backup and the current timestamp is greater than (or greater than or equal to), for example, the stale time, the server process can determine to generate a backup, and proceeds to step 1620c and the generation of the backup. By using a “stale time” in this way, the server process can prevent the system controller from generating multiple backups in a short duration of time. For example, if the system controller were to create multiple backups in a short duration of time, resources such as processor resources can be diverted to generating backups, rather than efficiently operating the load control system. The stale time can be, for example, a value that can be configured by the user 1632.

[0257] Assuming a backup is to be generated, the server process can communicate a message to the platform process 1688 at step 1620c, where the message can include a command to generate a backup. The message can be communicated, for example, through inter-process communication. In response to receiving the message at 1620c, the platform process can generate a backup of the current configuration information file at step 1620d, and save the backup within the memory (e.g., non-volatile memory) of the system controller, replacing and / or deleting a previous backup. Also, as the backup file is saved, a time of creation can be associated with the backup file. At step 1620e, the platform process can next generate a signature for the new backup (as described herein), and save the signature within the memory (e.g., non-volatile memory) of the system controller, replacing and / or deleting a signature for a previous backup. Also, the new backup can now be referred to as the current backup. Thereafter, at step 1620f, the platform process 1688 can communicate a message to the server process 1686 indicating that a new backup has been generated. The message can include the location of the backup within the memory. The message can also include, for example, the signature associated with the backup and, for example, its time of creation.

[0258] Turning now to step 1622, assuming that a new backup is not generated, for example, at step 1620, the server process 1686 can determine whether the network device 1680 has received the most recent / latest / current backup stored at the system controller. The server process can make this determination by comparing the signature of the most recent / latest backup stored at the system controller with the signature provided to the server process 1686 by the control process 1682 at step 1610 (assuming the signature is provided). If the server process determines that the signatures are the same, the server process can communicate a message to the control process 1682 at step 1624 that no backup is needed since the network device has a copy of the most recent backup.

[0259] Alternatively, if at step 1622 the server process determines that (i) the signature of the most recent / latest / current backup stored at the system controller is different from the signature provided to the server process 1686 by the control process 1682 at step 1610, or (ii) the control process did not provide a signature at step 1610, and / or (iii) a new backup was generated at step 1620, then the server process can provision or communicate or provide a copy of the backup to the control process at step 1626 (this copy being the current backup if one was not generated, or the new backup if one was generated). The manner in which the copy of the backup is provisioned or communicated or provided between the system controller and the network device can vary. As one example, the server process can send the copy of the backup to the control process / network device. As another example, the server process can cause the control process to retrieve the copy of the backup from the server process / system processor. It will be appreciated that other variations are possible / usable. As part of communicating the backup to the control process at step 1626, the server process can also send the signature of the backup. Thereafter, at step 1628, the control process can store the backup, as well as the signature of the backup, in the memory of the network device, replacing or deleting any previous backup and its corresponding signature that can be stored at the network device.

[0260] Turning now to Figure 16C Once the copy of the backup is received from the server process, the control process 1682 can next attempt to upload or communicate or provide the backup to the remote server 1690. Prior to attempting to upload, the control process can first wait for a predetermined period of time (referred to herein as a wait time or wait period) (step 1630). This period of time can be a user-configurable period of time. During this period of time, the control process can continue to receive messages from the server process similar to the messages received at step 1606, i.e., commands from the server process for the control process to request that the server process generate a backup file. As one example, this can occur because the user 1632 can continue to make changes to the configuration information, causing the server process 1686 to detect a trigger point at step 1604 and generate a message at step 1606. If such a message is received during the wait time, the control process can continue to return to step 1608, e.g., as described above, to determine whether it needs to receive a new backup from the system controller and receive that new backup, if necessary, to replace the previous backup (i.e., the backup that has not yet been uploaded to the remote server) stored in the memory of the network device. One advantage of this wait time is that if the user 1632 makes changes to the configuration information file for a short duration (e.g., less than the wait time), the network device can not need to continuously upload a new backup to the remote server 1690. Rather, once the updates to the configuration information file slow down or stop, the network device can receive the final backup copy from the system controller and upload it to the remote server.

[0261] Assuming the wait time expires at step 1630, the control process can next attempt to upload the backup stored in the network device's memory to the remote server 1690. In one aspect, the network device 1680 can not be connected to the third communication network, and thus can not be able to communicate with the remote server 1690, at the time this attempt is made. This can be the case, for example, if the network device is not within range of a public cellular network. In this case, the control process can continue to operate as described herein, possibly receiving one or more new backups from the system controller, overwriting the previous backup stored in the network device's memory. For example, upon the network device connecting to the third communication network, the control process can determine whether it needs to upload a backup to the remote server, as the remote server can already have the backup or an updated / more recent backup. This can occur, for example, because another network device can have completed an upload of the same backup that the network device 1680 attempts to upload to the remote server (or other network devices can have completed an upload of a more recent backup than the backup that the network device 1680 attempts to upload). Also, this can occur, for example, because the network device 1680 can not have immediate access to the remote server.

[0262] According to one example, at step 1633, the control process 1682 can determine, e.g., a hash / hash value (e.g., an MD5 sum / hash of the entire file) of the backup file that it is attempting to upload (this hash value can also be referred to herein as a signature, and can be a second signature that is different than the signature generated by the system controller when generating the backup. The signature generated by the system controller can be referred to herein as a first signature). It will be recognized that other values / signatures can be used. At step 1634, the control process 1682 can communicate a message to the storage process 1692 of the remote server 1690, where the message can include the calculated hash (i.e., the second signature) as well as a request that the storage process has received and / or store a backup having the calculated hash / second signature (the message can include other and / or additional values, including, e.g., a creation time of the backup and / or the first signature of the backup as determined by the system controller). Upon receiving the message at step 1634, the storage process can determine, at step 1636, whether it has stored a backup having the calculated hash / second signature. The storage process can do this in various ways, including, e.g., comparing the calculated hash / second signature as provided by the control process 1682 to calculated hashes / second signatures of one or more backups stored at the remote server of the system controller (as one example, the remote server can partition its storage / memory on a system controller basis, such that backups are stored and thus searchable on a system controller basis). At step 1638, the storage process can communicate a message back to the control process 1682, where the message can include an indication as to whether the backup has been stored at the remote server. This message can include the signature of the most recent backup stored at the remote server (i.e., the first signature as determined by the system controller). If the message at step 1638 indicates that the remote server already has the backup that the network device is attempting to upload, the control process can clear / delete the backup currently stored in its memory from its memory (step 1640). The control process can continue to store the first signature of the backup that was just cleared from memory within the memory (e.g., non-volatile memory) of the network device, to use this value as described herein (e.g., with respect to steps 1610 and 1620a). As another example, the control process can store the signature returned by the storage process at step 1638 (i.e., the first signature). This returned first signature can be used, e.g., as discussed above with respect to steps 1610 and 1620a. In other words, when the network device requests a future backup from the system controller, the network device will pass this returned first signature to the system controller, which will use the signature to determine whether a backup needs to be generated / supplied to the network device. The process 1600 can then end.

[0263] Alternatively, if the message at step 1638 indicates that the remote server does not have a backup of the backup that the network device is attempting to upload, the example process 1600 can continue in one of several variations. As one example, if the storage process 1692 indicates at step 1638 that it does not have a copy of the backup that the network device 1680 / control process 1682 will attempt to upload, but it does have a more recent / updated backup (e.g., as determined from the creation time), the control process can not upload the backup, thereby purging / deleting the backup from its memory (step 1640), and continue to store the signature of the backup (i.e., the first signature) or the signature (i.e., the first signature) as returned by the storage process at step 1638. The process 1600 can then end. Alternatively, if the remote server does not have a backup that the network device will attempt to upload, whether or not it has a more recent backup of the system controller 1160, the control process can proceed to step 1642, in which the control process can upload a copy of the backup stored at the network device to the storage process 1692. The manner in which the copy of the backup is uploaded or communicated between the remote server and the network device can vary. As one example, the control process / network device can send the copy of the backup to the storage process / remote server. As another example, the control process can cause the storage process to retrieve the copy of the backup from the control process / network device. It will be recognized that other variations are possible / usable. As part of communicating the backup to the storage process at step 1640, the control process can also send the first signature of the backup and the computed hash / second signature of the backup. Thereafter, at step 1644, the storage process can store the new backup from the network device 1680, the first signature of the backup, and / or the computed hash / second signature of the backup within the memory / storage system of the remote server. At the network device, the control process 1682 can purge / delete the backup from its memory that was just uploaded to the remote server (step 1646). The control process can continue to store the signature of the backup (i.e., the first signature) within the memory of the network device that was just uploaded to the remote server or the signature returned by the remote server at step 1638 (such as in the case where the uploaded backup is older than the backup already stored at the remote server). In general, the control process can continue to periodically attempt to upload the backup stored within the memory of the network device until the backup is purged.

[0264] It will be recognized that this is one example of a manner in which the network device 1680 can upload a backup to the remote server 1690, and other examples are possible / usable. For example, once the wait time expires, e.g., at step 1630, the control process 1682 can first communicate a message to the storage process 1692 of the remote server 1690, where the message can include a request for the storage process to return the creation time of the most recent backup stored at the remote server for the system controller 1684. In response to the message, the storage process can communicate a message to the control process, where the message can include the creation time of the most recent backup stored at the remote server. The message can also include the signature of that backup (i.e., the first signature). The control process 1682 can compare the creation time returned by the storage process to the creation time of the backup that the control process is attempting to upload to the remote server. If the creation time of the backup that the control process is attempting to upload to the remote server is the same as or older than the creation time of the most recent backup stored at the remote server, then the network device can have an outdated backup or already have the same backup at the remote server. In this case, the control process can clear / delete the backup currently stored in its memory from its memory. The control process can continue to store the signature of the backup that was just cleared from memory (i.e., the first signature) in the memory of the network device, to use these values as described herein. As another example, the control process can store the signature of the most recent backup stored at the remote server (i.e., the first signature).

[0265] Alternatively, if the creation time of the backup that the control process is attempting to upload to the remote server is more recent than the creation time of the most recent backup stored at the remote server, then the control process can upload a copy of the backup stored at the network device to the storage process. As part of communicating the backup to the storage process, the control process can also send the first signature of the backup and the creation time of the backup. Thereafter, the storage process can store the new backup, the first signature of the backup, and the creation time of the backup in the memory of the remote server. At the network device, the control process can clear / delete the backup that was just uploaded to the remote server from its memory. The control process can continue to store the first signature and creation time of the backup that was just uploaded to the remote server in the memory of the network device.

[0266] As another alternative, the storage process 1692 and control process 1682 can skip steps 1633-1646, and the control process can simply upload the backup to the storage process. In this example, the storage process can determine whether the uploaded backup is more recent than its currently stored backup, and store the uploaded backup only if it is more recent (e.g., based on the creation time). As another alternative, the storage process can store all backups received from the network device. It will be recognized that other variations are possible / usable.

[0267] It will be recognized that the load control environment can include multiple load control systems (e.g., each load control system covering a different area of the load control environment), with each load control system having its own system controller, such as the first system controller and the second system controller. The network device 1680 can interface with the first system controller and receive a backup from the first system controller along with a signature (i.e., the first signature) and a creation time for this backup. The network device can thereafter store the signature and the creation time and upload the backup to the remote server 1690. This upload can occur when the network device receives the backup from the first system controller or at a later time when the network device is not in communication with the remote server. After interfacing with the first system controller, the network device 1680 can then interface with the second system controller and receive a different backup from the second system controller along with a signature (i.e., the first signature) and a creation time for this backup. Thereafter, the network device can store the signature and the creation time for this backup from the second system controller while also maintaining the signature and the creation time for the backup from the first system controller. The network device can upload the backup from the second system controller to the remote server 1690, which can occur when the network device receives the backup or at a later time when the network device is not in communication with the remote server. It will also be recognized that the remote server 1690 can separately (i.e., not overwriting each other) store each backup, signature, and / or creation time from the first system controller and the second system controller. The remote server can also separately store each backup it receives from a given system controller, perhaps as the case where the network device receives different backups from the system controller over time and uploads each backup to the remote server. Other variations are possible / usable.

[0268] While the process 1600 has been described as a series of steps or operations, it will be recognized that the order of the steps / operations can differ, and not all steps / operations can be necessary, and the process 1600 can include additional and / or other process steps / operations.

[0269] Reference is now made to Figures 16D-16Ewith reference to another example process 1650, which can be performed, for example, by a system controller (e.g., system controller 1684) and a network device (e.g., network device 1680) described herein. While this example is described as a series of operations or steps, not all of the operations / steps can be essential, additional and / or other operations / steps can be included, and the order of the operations / steps can be varied. According to this example, the system controller can have stored within its memory one or more files, such as a configuration information file and a current backup of these one or more files. Process 1650 can begin at step 1651. Thereafter, at step 1652, the system controller can receive a first message from the network device. This message can be, for example, any of the messages described with respect to step 1602 of process 1600. Based at least in part on receiving the first message from the network device, at step 1653, the system controller can determine whether a trigger point (or trigger points) of one or more of a number of defined trigger points has occurred (e.g., has been triggered). Each of the trigger points can comprise a trigger level. If the trigger point has not occurred, process 1650 can end at step 1654. Alternatively, if one or more trigger points has occurred, at step 1655, the system controller can communicate a second message to the network device. The second message can comprise one or more trigger levels of the one or more determined trigger points. The second message can comprise a request or command for the network device to request a backup of the one or more files from the system controller. Based at least in part on communicating the second message to the network device, at step 1656, the system controller can receive a third message from the network device, the third message comprising a command for the system controller to generate a backup of the one or more files. Based at least in part on receiving the third message from the network device, at step 1657, the system controller can determine whether a backup of the one or more files is currently being generated. If a backup is currently being generated, the system controller can proceed to step 162 and communicate a message (e.g., an error message) to the network device, and process 1650 can end at step 1662.

[0270] Alternatively, if at step 1657 the system controller determines that no backup of the file is currently being generated, the system controller may proceed to step 1658 and determine whether it is currently delivering the current backup to the maximum number (e.g., it may be one or more) of other network devices (e.g., whether it is in the process of delivering the current backup to the maximum number of other network devices). If the system controller is in the process of delivering the current backup to the maximum number of other network devices, the system controller may proceed to step 1659 and may deliver an error message to the network devices. Thereafter, process 1650 may end at step 1660. Alternatively, if at step 1658 the system controller determines that it is not in the process of delivering the current backup to the maximum number of network devices (it may not be delivering the current backup to any network devices at all), the system controller may proceed to step 1663 (as another and / or additional instance, if the system controller is in the process of delivering the current backup to at least one other network device instead of the maximum number of network devices, the system controller may skip step 1663 and proceed to step 1667; in other words, the system controller may determine whether the current backup should be delivered to the network devices).

[0271] Assuming the system controller proceeds to step 1663, it can then determine whether one or more of the files have been changed since the time the current backup of one or more files was created. If the system controller determines that one or more of the files have been changed since the time the current backup of one or more files was created, the system controller can proceed to step 1664 and determine the time difference between the time the current backup of one or more files was created and the current time. At step 1665, the system controller can then compare the time difference with the expiration time. Based on the comparison of the time difference with the expiration time, at step 1666... Figure 16E The system controller can determine whether to generate a backup of one or more files (e.g., as discussed similarly in step 1620b). For example, if the time difference is less than the expiration time, the system controller can determine not to generate a backup of one or more files, and if the time difference is greater than the expiration time, the system controller can determine to generate a backup of one or more files. If the system controller determines at step 1666 that a backup of one or more files should be generated, it can proceed to step 1668 and generate a backup of one or more files. At step 1669, the system controller can then generate and store a signature (e.g., a first signature) of the generated backup. At step 1670, the system controller can possibly transmit a copy of the generated backup, along with the generated signature, to the network device. Thereafter, the network device can upload (a step not shown) the generated backup to a remote server (such as remote server 1690). Process 1650 can then end at step 1671.

[0272] Alternatively, if the system controller determines at step 1666 that a backup of the one or more files is not to be generated, the system controller can proceed to step 1667 and can determine whether the current backup has been previously communicated to the network device. If the system controller determines that the current backup has been previously communicated to the network device, the system controller can proceed to step 1672 and communicate a message to the network device, where the message can include an indication that the network device has the current backup. Thereafter, the process 1650 can end at step 1673. Alternatively, if the system controller determines at step 1667 that the current backup has not been previously communicated to the network device, the system controller can communicate a copy of the current backup (and its signature) to the network device at step 1674. Thereafter, the network device can upload (step not shown) the current backup to a remote server (such as the remote server 1690). The process 1650 can then end at step 1675.

[0273] Returning to step 1663 Figure 16D ), if the system controller determines that there are no changes to one or more of the files since the time that the current backup of the files was generated, the system controller can again proceed to step 1667 and proceed as described above.

[0274] It will be recognized that the process 1650 is an example and that other examples are possible. It will also be recognized that the use of first, second, etc. in this example and elsewhere herein means, for example, to distinguish between different messages, signatures, etc. and does not necessarily imply a minimum or maximum number of such messages, signatures, etc. or necessarily imply an order of messages, etc.

[0275] Turning to Figure 17 , a block diagram showing an example system controller 1700 as described herein is shown. The system controller 1700 can include, for example Figures 1A-1C the system controller 160 shown in FIG. 1, Figure 3 the system controller 306 shown in FIG. 3, Figures 9A-9C the system controller 906 shown in FIG. 9, and / or Figures 16A-16CThe illustrated system controller 1684. The system controller 1700 can include one or more general processors, special purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, microcontrollers, integrated circuits, programmable logic devices (PLDs), field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs) or any suitable controller or processing device or similar device (hereinafter collectively referred to as one or more processors or one or more control circuits 1702). The control circuits 1702 can be configured to execute one or more software-based applications including instructions that, when executed by the control circuits, can configure the control circuits to perform signal coding, data processing, power control, input / output processing, or any other function that enables the system controller 1700 to perform as described herein. It will be recognized that the functionality, features, processes and / or operations described herein for the system controller 1700 can be equally and / or alternatively provided by firmware and / or hardware in addition to and / or in the alternative software-based instructions. The control circuits 1702 can store and / or retrieve information, including configuration information / one or more configuration information files, one or more backup files, creation times and one or more signatures, as described herein, in / from a memory 1704. The memory 1704 can also store software-based instructions for execution by the control circuits 1702 and can also provide an execution space as the control circuits execute the instructions. The memory 1704 can be implemented as an external integrated circuit (IC) or as internal circuitry of the control circuits 1702. The memory 1704 can include volatile and non-volatile memory modules / devices and can be non-removable memory modules / devices and / or removable memory modules / devices. Non-removable memory can include random access memory (RAM), read only memory (ROM), hard disks or any other type of non-removable memory storage device. Removable memory can include subscriber identity modules (SIM) cards, memory sticks, memory cards or any other type of removable memory. It will be appreciated that the memory for storing one or more configuration information files and / or one or more backup files and / or software-based instructions, etc. can be the same and / or different memory modules / devices of the system controller. As one example, one or more configuration information files and software-based instructions can be stored in non-volatile memory modules / devices, while one or more backups can be stored in volatile and / or non-volatile memory modules / devices.

[0276] The system controller 1700 can include one or more communication circuits / network interface devices or cards 1706 for transmitting and / or receiving information. The communication circuits 1706 can be configured to perform wireless and / or wired communication. The system controller 1700 can likewise or alternatively include one or more communication circuits / network interface devices / cards 1708 for transmitting and / or receiving information. The communication circuits 1708 can be configured to perform wireless and / or wired communication. The communication circuits 1706 and 1708 can be in communication with the control circuit 1702. The communication circuits 1706 and / or 1708 can include a radio frequency (RF) transceiver or other communication module configured to perform wireless communication through one or more antennas. The communication circuits 1706 and 1708 can be configured to perform communication over the same communication channel or different communication channels. For example, the communication circuits 1706 can be configured to communicate (e.g., over a network with network devices, etc.) over a wireless communication channel (e.g., near field communication (NFC), cellular, etc.), and the communication circuits 1708 can be configured to communicate (e.g., with control devices and / or other devices in a load control system) over another wireless communication channel (e.g., or a proprietary communication channel, such as CLEAR CONNECT TM ).

[0277] The control circuit 1702 can be in communication with one or more LED indicators 1712 to provide indications to a user. The control circuit 1702 can be in communication with one or more actuators 1714 (e.g., one or more buttons) that can be actuated by a user to communicate user selections to the control circuit 1702. For example, an actuator 1714 can be actuated to place the control circuit 1702 in an association mode and / or to communicate an association message from the system controller 1700.

[0278] Each of the modules within the system controller 1700 can be powered by a power supply 1710. The power supply 1710 can include, for example, an AC power supply or a DC power supply. The power supply 1710 can generate a power supply voltage V CC for powering the modules within the system controller 1700. It will be recognized that the system controller 1700 can include other, fewer, and / or additional modules.

[0279] Figure 18is a block diagram illustrating an example control target device 1800 (e.g., a load control device) as described herein. The control target device 1800 can be a dimmer switch, an electronic switch, an electronic ballast for a lamp, an LED driver for an LED light source, an AC plug-in load control device, a temperature control device (e.g., a thermostat), a motor drive unit for a motorized window treatment, or other load control device. The control target device 1800 can include one or more communication circuits / network interface devices or cards 1802. The communication circuits 1802 can include a receiver, an RF transceiver, and / or other communication modules configured to perform wired and / or wireless communication over a communication link 1810. The control target device 1800 can include one or more general purpose processors, special purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, microcontrollers, integrated circuits, programmable logic devices (PLDs), field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), or any suitable controllers or processing devices or the like (hereinafter collectively referred to as one or more processors or one or more control circuits 1804). The control circuits 1804 can be configured to execute one or more software-based applications including instructions that, when executed by the control circuits, can configure the control circuits to perform signal coding, data processing, power control, input / output processing, or any other function, feature, process, and / or operation that can enable the control target device 1800 to perform as described herein. It will be recognized that the functions, features, processes, and / or operations described herein for the control target device 1800 can be equally and / or alternatively provided by firmware and / or hardware in addition to and / or in the alternative to software-based instructions. The control circuits 1804 can store and / or retrieve information from a memory 1806. For example, the memory 1806 can maintain a registry of associated control devices and / or control configuration information. The memory 1806 can also store software-based instructions for execution by the control circuits 1804 and can further provide an execution space as the control circuits execute the instructions. The memory 1806 can be implemented as an external integrated circuit (IC) or as internal circuitry of the control circuits 1804. The memory 1806 can include volatile and nonvolatile memory modules / devices and can be non-removable memory modules / devices and / or removable memory modules / devices. Non-removable memory can include random access memory (RAM), read only memory (ROM), hard disks, or any other type of non-removable memory storage device. Removable memory can include a subscriber identity module (SIM) card, memory stick, memory card, or any other type of removable memory. The control circuits 1804 can also be in communication with the communication circuits 1802.

[0280] The control-target device 1800 can include a load control circuit 1808. The load control circuit 1808 can receive instructions from the control circuit 1804 and can control an electrical load 1816 based on the received instructions. The load control circuit 1808 can send state feedback to the control circuit 1804 regarding the state of the electrical load 1816. The load control circuit 1808 can receive power through a hot connection 1812 and a neutral connection 1814 and can provide an amount of power to the electrical load 1816. The electrical load 1816 can include any type of electrical load.

[0281] The control circuit 1804 can be in communication with an actuator 1818 (e.g., one or more buttons) that can be actuated by a user to communicate a user selection to the control circuit 1804. For example, the actuator 1818 can be actuated to put the control circuit 1804 in an association mode or a discovery mode and can communicate an association message or a discovery message from the control-target device 1800. It will be recognized that the control-target device 1800 can include other, few...

Claims

1. An electrical load system controller, comprising: Wireless communication interface circuit; Memory circuits; The processor circuit is communicatively coupled to the wireless communication interface circuit and the memory circuit. The processor circuit includes: Receive at least one message, including network configuration information, from the network device via the wireless communication interface circuit; Determine whether the message includes one of multiple network configuration backup trigger points; In response to determining that the message includes one of the plurality of network configuration backup trigger points: The trigger point priority level is determined based on the network configuration backup trigger point included in at least one received message; Whether to perform a backup operation is determined based on the determined trigger point priority level and at least a portion of the data included in at least one received message; In response to determining that the backup operation needs to be performed, a backup copy of the network configuration information is generated and the backup copy of the network configuration information is stored in the memory circuitry; Generate a signature representing a backup of the network configuration information and store the signature representing the backup of the network configuration information in the memory circuit; Determine whether the network device that transmitted the at least one message includes a current copy of the network configuration information backup; In response to determining that a current copy of the network configuration information is not stored on the network device, a backup copy of the network configuration information and a signature indicating that the network configuration information is backed up are transmitted to the network device.

2. The electrical load system controller as described in claim 1: In order to receive the at least one message including network configuration information, the processor circuitry further includes: Receive at least one manually generated backup command message via a wireless communication interface; and In order to determine the priority level of the trigger point, the processor circuit also includes: Determine the priority level of the first trigger point for at least one manually generated backup command message received.

3. The electrical load system controller as described in claim 1: In order to receive the at least one message including network configuration information, the processor circuitry further includes: Receive at least one automatically generated backup command message initiated by a network device via a wireless communication interface; and In order to determine the priority level of the trigger point, the processor circuit also includes: A second trigger point priority level is determined for at least one automatically generated backup command message initiated by a network device, the second trigger point priority level including a priority level lower than the first trigger point priority level.

4. The electrical load system controller as described in claim 1: In order to receive the at least one message including network configuration information, the processor circuitry further includes: Receive at least one configuration change backup message via a wireless communication interface; and In order to determine the priority level of the trigger point for at least one received message, the processor circuitry further includes: A third trigger point priority level is determined for at least one received configuration change backup message, the third trigger point priority level including a priority level lower than the first trigger point priority level and the second trigger point priority level.

5. The electrical load system controller as described in claim 1, wherein the processor circuit further comprises: Determine whether the electrical load device network configuration backup requested by the second network device is in progress; and In response to determining that a backup of the electrical load device network configuration requested by the second network device is in progress, an error code is transmitted to the network device via the wireless communication interface circuit.

6. The electrical load system controller as described in claim 1, wherein the processor circuit further comprises: Determine the time interval since the previous electrical load device network configuration backup was performed; The determined time interval is compared with a threshold; and In response to determining that the time interval since the execution of the previous electrical load device network configuration is less than the threshold, an error code is transmitted to the network device via the wireless communication interface circuit.

7. A method for backing up the configuration of an electrical load network, the method comprising: The processor circuit receives at least one message, including network configuration information, via a wireless communication interface circuit coupled to a communication ground. The processor circuitry determines whether the message includes data instructing one or more electrical load device network configuration backup trigger points; In response to determining that the message includes data instructing one or more electrical load device network configuration backup trigger points: The processor circuitry determines the trigger point priority level associated with at least one received message; Based on the determined trigger point priority level and at least a portion of the data included in at least one received message, the processor circuitry determines whether to perform a backup operation. In response to determining to perform the backup operation, a backup copy of the network configuration information is generated by the processor circuitry and the backup copy of the network configuration information is stored in a memory circuitry coupled to the communication ground. A signature representing a backup of network configuration information is generated by the processor circuitry and the signature representing the backup of network configuration information is stored in a memory circuitry coupled to the communication ground. The processor circuitry determines whether the network device that transmitted the at least one message includes a current copy of the network configuration information backup. In response to determining that the network device that transmitted the at least one message does not include a current copy of the network configuration information, a backup copy of the network configuration information and a signature indicating a backup of the network configuration information are transmitted to the network device by the processor circuit via a wireless network interface circuit that is communicatively coupled.

8. The method as described in claim 7, Receiving the at least one message causes the processor circuit to further: The processor circuit receives at least one manually generated backup command message via a wireless communication interface; and The processor circuitry further determines the priority level of the trigger point associated with at least one received message, thereby enabling the processor circuitry to: The processor circuitry determines the priority level of the first trigger point associated with at least one manually generated backup command message received.

9. The method as described in claim 7: Receiving the at least one message causes the processor circuit to further: The processor circuit receives at least one automatically generated backup command message initiated by a network device via a wireless communication interface; and The processor circuitry further determines the priority level of the trigger point for at least one received message, thereby enabling the processor circuitry to: The processor circuitry determines a second trigger point priority level associated with at least one automatically generated backup command message initiated by a network device, the second trigger point priority level including a priority level lower than the first trigger point priority level.

10. The method as described in claim 7: Receiving the at least one message causes the processor circuit to further: The processor circuit receives at least one configuration change backup message, including network configuration information, via a wireless communication interface; and The processor circuitry further determines the priority level of the trigger point for at least one received message, thereby enabling the processor circuitry to: The processor circuitry determines a third trigger point priority level for at least one received configuration change backup message, the third trigger point priority level including a priority level lower than the first trigger point priority level and the second trigger point priority level.

11. The method of claim 7, further comprising: The processor circuitry determines whether a backup of the electrical load device network configuration requested by the second network device is in progress. as well as In response to determining that a backup of the electrical load device network configuration requested by the second network device is in progress, the processor circuit transmits an error code to the network device via the wireless communication interface circuit coupled to the communication ground.

12. The method of claim 7, further comprising: The time interval since the previous electrical load device network configuration backup was performed is determined by the processor circuitry; The processor circuit compares the determined time interval with the threshold. as well as In response to determining that the time interval since the execution of the previous electrical load device network configuration is less than the threshold, the processor circuit transmits an error code to the network device via a communication-coupled wireless communication interface.

13. An electrical load control system controller, comprising: Memory circuits; Communication circuits; as well as The control circuit is communicatively coupled to the memory circuit and the communication circuit. The control circuit includes: Receives messages from a network device connected to a communication ground via a first network from a communication circuit; Determine whether the received message includes information indicating a backup trigger event; In response to determining that the received message includes information indicating a backup trigger event, a backup priority level is determined based on the information indicating the backup trigger event included in the received message; This enables the communication circuit to transmit a message, including information indicating a backup trigger event and a determined backup priority level, to the network device via the first network. as well as In response to receiving a backup request from a network device, a backup of the current electrical load control system configuration stored in the memory circuit is initiated.

14. The electrical load control system controller as described in claim 13, wherein the control circuit further comprises: In response to determining that the received message includes information indicating a backup trigger event, it is determined whether the current electrical load control configuration has changed when compared with the historical electrical load control configuration stored in the memory circuit.

15. The electrical load control system controller as described in claim 14, wherein the control circuit further comprises: In response to determining that the current electrical load control configuration has changed when compared with the historical electrical load control configuration stored in the memory circuit, a message including information indicating a backup trigger event and the determined backup priority level is transmitted to the network device.

16. The electrical load control system controller as described in claim 14, wherein the control circuit further comprises: In response to determining that the current electrical load control configuration has not changed when compared with the historical electrical load control configuration, it is determined whether the elapsed time since the historical electrical load control configuration backup stored in the memory circuit exceeds a defined elapsed time threshold.

17. The electrical load control system controller as described in claim 16, wherein the control circuit further comprises: In response to determining that the elapsed time since the backup of the historical electrical load control configuration stored in the memory circuit exceeds a defined elapsed time threshold, a message including information indicating a backup trigger event and a determined backup priority level is transmitted from the communication circuit to the network device via the first network.

18. The electrical load control system controller as described in claim 13, wherein the control circuit further comprises: Determine whether the network device can access the backup configuration of the current electrical load control system.

19. The electrical load control system controller as described in claim 18, wherein the control circuit further comprises: In response to determining that the network device cannot access the backup of the current electrical load control system configuration, the backup of the current electrical load control system configuration stored in the memory circuit is initiated.

20. The electrical load control system controller of claim 18, wherein, in order to determine whether a network device can access a backup configured in the current electrical load control system, the control circuit further: Determine whether the network device can access a backup of the current electrical load control system configuration stored in the network device's local memory circuitry.

21. The electrical load control system controller of claim 18, wherein, in order to determine whether a network device can access a backup configured in the current electrical load control system, the control circuit further: Determine whether the network device can access a backup of the current electrical load control system configuration stored in a memory circuit that is communicatively coupled to the network device via a second network different from the first network.

22. A method for configuring backup in an electrical load control system, comprising: The electrical load control system control circuit receives messages transmitted by the network device from the communication circuit coupled to the communication ground via the first network; The control circuit of the electrical load control system determines whether the received message includes information indicating a backup trigger event; In response to determining that the received message includes information indicating a backup trigger event, the electrical load control system control circuit determines the backup priority level based on the information indicating the backup trigger event included in the received message; The electrical load control system control circuit causes the communication circuit to transmit communication, including information indicating a backup trigger event and a determined backup priority level, to the network device via a first network. as well as In response to receiving a backup request from a network device, the electrical load control system control circuit initiates a backup of the current electrical load control system configuration stored in a memory circuit coupled to the communication ground.

23. The backup method as described in claim 22, further comprising: In response to determining that the received message includes information indicating a backup trigger event, the electrical load control system control circuit determines whether the current electrical load control system configuration has changed when compared with the historical electrical load control system configuration stored in the memory circuit.

24. The backup method as described in claim 23, further comprising: In response to the electrical load control system control circuit determining that the current electrical load control system configuration has changed when compared with the historical electrical load control system configuration stored in the memory circuit, the electrical load control system control circuit causes the communication circuit to transmit a message to the network device including information indicating a backup trigger event and the determined backup priority level.

25. The backup method as described in claim 23, further comprising: In response to determining that the current electrical load control system configuration has not changed when compared with the historical electrical load control system configuration stored in the memory circuit, the electrical load control system control circuit determines whether the elapsed time since the historical electrical load control system configuration backup stored in the memory circuit exceeds a defined elapsed time threshold.

26. The backup method as described in claim 25, further comprising: In response to determining that the elapsed time since the historical electrical load control system configuration backup stored in the memory circuit exceeds a defined elapsed time threshold, the electrical load control system control circuit causes the communication circuit to transmit a message to the network device, including information indicating a backup trigger event and a determined backup priority level.

27. The backup method as described in claim 22, further comprising: The control circuitry of the electrical load control system determines whether network devices can access the backup configured in the current electrical load control system.

28. The backup method as described in claim 27, further comprising: In response to determining that the network device cannot access the backup of the current electrical load control system configuration, the backup of the current electrical load control system configuration stored in the memory circuit is activated by the electrical load control system control circuit.

29. The backup method of claim 27, wherein determining whether the network device can access the backup configured in the current electrical load control system further comprises: The electrical load control system control circuit determines whether the network device can access a backup of the current electrical load control system configuration stored in the network device's local memory circuit.

30. The backup method of claim 27, wherein determining whether the network device can access the backup configured in the current electrical load control system further comprises: The electrical load control system control circuit determines whether the network device can access a backup of the current electrical load control system configuration stored in the memory circuitry that is communicatively coupled to the network device via a second network different from the first network.

Citation Information

Patent Citations

  • Load Control Device Having Internet Connectivity

    US20130030589A1

  • Wireless load control device

    US20140132475A1

  • Lighting control device

    US5248919A

  • Radio-frequency lighting control system with occupancy sensing

    US8009042B2

  • Method and apparatus for configuring a wireless sensor

    US8199010B2