Electrical load system controller and electrical load network configuration backup method
By designing processor and memory devices within the load control system to generate and transmit configuration information backups, the problem of configuration loss caused by device failure or network disconnection is solved, ensuring system reliability and user experience.
Patent Information
- Application Number
- CN202511783846.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2018-03-08
- Filing Date
- 2019-03-08
- Publication Date
- 2026-02-27
AI Technical Summary
Existing load control systems lack effective backup mechanisms in the event of equipment failure or network disconnection, resulting in the loss of system configuration information or the inability to recover it in a timely manner, which affects the normal operation of the equipment and the user experience.
Design a device that includes a processor and memory, capable of generating and storing a backup of the configuration information of a load control system in the event of network disconnection or device failure, and transmitting the backup to a server via wireless or wired communication, ensuring information security without affecting other operations of the device.
In the event of equipment failure or network disconnection, the configuration information of the load control system can be securely backed up and restored, improving system reliability and user experience, and avoiding equipment failure due to configuration loss.
Smart Images

Figure CN121585487A_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application filed on March 8, 2019, with application number 201980026213.2 and titled "Backing up the load control system", and application number 202310297042.5 and titled "Electrical load system controller and electrical load network configuration backup method". Background Technology
[0002] Various types of load control systems can be used to configure user environments, such as residential or office buildings. Lighting control systems can be used to control lighting loads in a user environment. Motorized curtain control systems can be used to control the natural light supplied to a user environment. Heating, ventilation, and air conditioning (HVAC) systems can be used to control the temperature in a user environment.
[0003] Each load control system may include various control devices, including input devices and load control devices. The load control device may receive digital messages for controlling the electrical load from one or more of the input devices, the digital messages including load control commands. The load control device may be able to directly control the electrical load. The input devices may be able to indirectly control the electrical load through the load control device.
[0004] Examples of load control devices may include lighting control devices (e.g., dimmer switches, electronic switches, ballasts, or light-emitting diode (LED) drivers), motorized curtains, temperature control devices (e.g., thermostats), AC plug-in load control devices, and / or the like. Examples of input devices may include remote control devices, occupancy sensors, daylight sensors, temperature sensors, and / or the like. Summary of the Invention
[0005] A load control system may include configuration information stored in one or more files. It may be desirable to generate backups of the one or more files of the load control system and store the backups, for example, on a server separate from the load control system.
[0006] Therefore, a device may include at least one processor and at least one memory device communicatively coupled to the at least one processor. The at least one memory device may be configured to store files and current backups of the files, and may have instructions stored thereon that, when executed by the at least one processor, instruct 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 may include a trigger level. When executed by the at least one processor, the instructions may also instruct the at least one processor to convey a second message to the network device, based at least in part on the determination that a trigger point has occurred. The second message may include the trigger level of the determined trigger point, and may include a request for the network device to request a backup of the file from the device. When executed by the at least one processor, the instructions may also instruct the at least one processor to receive a third message from the network device, the third message including a command for generating a backup of the file. The third message may be received at least in part based on conveying the second message to the network device. Based at least in part on receiving the third message from the network device, the instruction, when executed by the at least one processor, may further instruct the at least one processor to determine whether a backup of the file is being generated. Based at least in part on determining that a backup of the file is being generated, the instruction, when executed by the at least one processor, may further instruct the at least one processor to transmit an error message to the network device. Based at least in part on receiving the third message from the network device, the instruction, when executed by the at least one processor, may further instruct the at least one processor to determine whether the current backup is being transmitted to a maximum number of other network devices. Based at least in part on determining that the current backup is currently being transmitted to the maximum number of other network devices, the instruction, when executed by the at least one processor, may further instruct the at least one processor to transmit an error message to the network device. Based at least in part on receiving the third message from the network device, the instruction, when executed by the at least one processor, may further instruct the at least one processor to determine whether one or more changes have occurred to the file since the time the current backup of the file was generated. Based in part on determining that one or more changes have occurred in the file since the time the current backup of the file was generated, the instructions, when executed by the at least one processor, may also instruct the at least one processor to: determine the time difference between the time the current backup of the file was generated and the current time; compare the time difference with an expiration time; and determine, at least in part on the comparison of the time difference with the expiration time, whether to generate a backup of the file.Based at least in part on determining that a backup of the file will be generated, the instructions, when executed by the at least one processor, may further instruct the at least one processor to: generate a backup of the file; generate a signature of the generated backup; and transmit a copy of the generated backup to the network device. Based at least in part on determining that a backup of the file will not be generated, the instructions, when executed by the at least one processor, may further instruct the at least one processor to: determine whether the current backup has previously been transmitted to the network device; and based at least in part on determining that the current backup has previously been transmitted to the network device, transmit 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 previously been transmitted to the network device, transmit a copy of the current backup to the network device. Based in part on the determination that no changes have been made to one or more of the files since the time the current backup of the file was generated, the instructions, when executed by the at least one processor, may also instruct 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 the determination 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 the determination 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] This exemplary device allows the device to generate backups of files and store the backups on a server, wherein the device and the server cannot communicate messages and / or data with each other. In this way, the device can be kept on a private network, thereby increasing the device's security. Furthermore, this device can generate and store backups without affecting other tasks / operations configured to be performed by the device. Additionally, this device can communicate with multiple network devices, any of which can cause the device to generate backups, and can generate and store backups without affecting other tasks / operations configured to be performed by the device.
[0008] The advantages and features described above are merely representative embodiments. They are not intended to be limiting. Further features and advantages of the embodiments will become apparent from the following description, the drawings, and the claims. Attached Figure Description
[0009] Figures 1A to 1C This is a perspective view depicting an exemplary environment for use with an associated control device.
[0010] Figure 2 This is a diagram of an exemplary discovery scope used for performing the discovery and / or association of control devices.
[0011] Figure 3 An exemplary flowchart is shown for an exemplary discovery procedure for discovering and associating control devices.
[0012] Figure 4 This is a flowchart of an exemplary method for discovering and associating control devices.
[0013] Figure 5 This is a flowchart of an exemplary discovery procedure for discovering and associating control devices.
[0014] Figure 6 It is an exemplary graphical user interface (GUI) that can be implemented for the discovery and / or association of control devices.
[0015] Figure 7 It is an exemplary GUI that can be implemented for the discovery of control devices and / or the association of control devices with a location.
[0016] Figures 8A to 8J An exemplary GUI is shown that can be displayed by the visual display of a network device during the area configuration process.
[0017] Figures 9A to 9C An exemplary flowchart is shown for an exemplary discovery procedure for discovering and associating control devices.
[0018] Figure 10 This is a flowchart of an exemplary area configuration procedure for a control device in an associated load control environment.
[0019] Figure 11A and Figure 11B An exemplary GUI is shown that can be displayed by a visual display of a network device for configuring operational settings of a region.
[0020] Figures 12A to 12C An exemplary GUI of a control device that can be displayed by a network device's visual display for configuring an area is shown.
[0021] Figure 13 An exemplary GUI is shown, displayed by a network device's visual display, for configuring buttons for control devices in an area with more than one type of load control device.
[0022] Figures 14A to 14H An exemplary GUI is shown that can be displayed by a network device's visual display for monitoring, controlling, and regulating the configuration of control devices in a load control environment.
[0023] Figure 15A and Figure 15B A flowchart illustrating an exemplary control program for configuring control devices in a load control environment.
[0024] Figure 16A , Figure 16B and Figure 16C A flowchart of an exemplary procedure for backing up a load control system is shown.
[0025] Figure 16D and Figure 16E A flowchart is shown for another exemplary procedure for backing up a load control system.
[0026] Figure 17 This is a block diagram of an exemplary system controller.
[0027] Figure 18 This is a block diagram of an exemplary control target device.
[0028] Figure 19 This is a block diagram of an exemplary control source device.
[0029] Figure 20 This is a block diagram of an exemplary network device.
[0030] Figure 21 This is a block diagram of an exemplary remote server. Detailed Implementation
[0031] Cross-references to related applications
[0032] This application claims the benefit of U.S. Provisional Patent Application No. 62 / 640,390, filed March 8, 2018, the entire contents of which are incorporated herein by reference.
[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 configured to control electrical devices within the load control system. Configuring the load control system may include associated control devices, which may include control source devices and / or control target devices. Figure 1AAs shown, rooms 102, 104, and 106 in a building may be equipped with one or more control target devices, such as load control devices for controlling electrical loads within the room or building. Each load control device may be able to directly control the amount of power supplied to the electrical load and may be controlled by a control source device. Exemplary control target devices may include lighting fixtures 108a, 108b, 108c, and 108d in room 102; lighting fixtures 138a, 138b, 138c, and 138d in room 104; and lighting fixtures 146a, 146b, 146c, and 146d in room 106. Each lighting fixture may include a lighting load (e.g., an LED light source) and a corresponding lighting control device (e.g., an LED driver, a ballast, a dimming or switching module that can be interfaced with the driver or ballast, or other lighting control device) for controlling the corresponding lighting load of the lighting fixture. Other exemplary control target devices may include: an electric curtain 120 having a motor drive unit (e.g., including a motor) for controlling the position of the covering material 122; a temperature control device (e.g., a thermostat 136) for controlling an HVAC system; and / or an AC plug-in load control device 124 for controlling plug-in electrical loads (such as a floor lamp 126, a table lamp, or another electrical device plugged into the AC plug-in load control device 124). The AC plug-in load control device 120 may 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 via wired and / or wireless communication links. For example, control devices can communicate via radio frequency (RF) signal 172. RF signal 172 can be transmitted using any known RF communication technology and / or protocol (e.g., Near Field Communication (NFC); BlueTooth®; Wi-Fi®; ZigBee®; dedicated communication channels such as Clear Connect™, etc.). Control devices can be both control target devices and control source devices.
[0035] A control source device may be an input device that indirectly controls the amount of power supplied to an electrical load by transmitting digital messages to a control target device. The digital messages may include control commands (e.g., load control commands) or another indication that causes the control target device to determine a load control command for controlling the electrical load. Exemplary control source devices may include: remote control devices 116, 142, and 154; an occupancy sensor 112; a daylight sensor 150; a window sensor 180; and / or a network device 128. Control source devices may include wired or wireless devices. Control source devices may include control devices such as dimmer switches, electronic switches, or the like.
[0036] The load control system 100 can be configured to control an electrical load based on commands communicated between control devices (e.g., control source devices and control target devices) configured to control electrical loads. For example, the control devices may be associated with each other, and association information may be stored on the control devices or at other devices that can be used to communicate and identify digital commands at the associated devices used to control the electrical devices in the system. Association information may include unique identifiers of one or more of the associated devices. Association information may be stored on the control devices or at other devices that enable the communication and / or identification of digital commands between the control devices.
[0037] Remote control devices 116, 142, and 154 may be wireless devices capable of controlling a target device via wireless communication. Remote control devices 116, 142, and 154 may be attached to or detached from a wall. Examples of remote control devices are described in more detail in the following: U.S. Patent No. 5,248,919, entitled “LIGHTING CONTROL DEVICE,” published September 28, 1993; U.S. Patent No. 8,471,779, entitled “WIRELESS BATTERY POWERED REMOTE CONTROL WITH LABEL SERVING AS ANTENNA ELEMENT,” published June 25, 2013; and U.S. Patent Application Publication No. 2014 / 0132475, entitled “WIRELESS LOAD CONTROL DEVICE,” published May 15, 2014, the entire disclosure of which is incorporated herein by reference.
[0038] Occupancy sensor 112 can be configured to detect occupancy and / or vacancy conditions in a load control environment 100 in which a load control system is installed. Occupancy sensor 112 can transmit a digital message to a control target device via RF communication signal 172 in response to detecting an occupancy or vacancy condition. Occupancy sensor 112 can operate as an vacancy sensor, such that it transmits a digital message in response to detecting a vacancy condition (e.g., it can not transmit a digital message in response to detecting an occupancy condition). Occupancy sensor 112 can enter an association mode and can transmit an association message via RF communication signal 172 in response to actuation of button 114 on occupancy sensor 112. Examples of RF load control systems with occupancy and / or vacancy sensors are described in more detail in the following: U.S. Patent No. 8,009,042, entitled “RADIO-FREQUENCY LIGHTING CONTROL SYSTEMWITH OCCUPANCY SENSING,” published August 10, 2011; U.S. Patent No. 8,199,010, entitled “METHODAND APPARATUS FOR CONFIGURING A WIRELESS SENSOR,” published June 12, 2012; and U.S. Patent No. 8,228,184, entitled “BATTERY-POWERED OCCUPANCY SENSOR,” published July 24, 2012, the entire disclosure of which is incorporated herein by reference.
[0039] The daylight sensor 150 can be configured to measure the total light intensity in the visible area of a load control environment 100 in which a load control system is installed. The daylight sensor 150 can transmit a digital message including the measured light intensity via an RF communication signal 172 for controlling a target device in response to the measured light intensity. The daylight sensor 150 can enter an association mode and can transmit an association message via the RF communication signal 172 in response to actuation of a button 152 on the daylight sensor 150. Examples of RF load control systems with daylight sensors are described in more detail in U.S. Patent No. 8,410,706, entitled “METHOD OF CALIBRATING A DAYLIGHT SENSOR,” published April 2, 2013; and U.S. Patent No. 8,451,116, entitled “WIRELESS BATTERY-POWERED DAYLIGHT SENSOR,” published May 28, 2013, the entire disclosure of which is incorporated herein by reference.
[0040] Window sensor 180 can be configured to measure the intensity of external light from outside a load control environment 100 in which a load control system is installed. Window sensor 180 can be mounted on a building facade (such as the exterior or interior of a window) to measure the intensity of external natural light based on the sun's position in the sky. Window sensor 180 can detect when direct sunlight enters window sensor 180 directly, when it is reflected onto window sensor 180, or when it is blocked by external means such as clouds or buildings, and can send a digital message indicating the measured light intensity. Window sensor 180 can transmit the digital message including the measured light intensity via RF communication signal 172. The digital message can be used to control electrical loads via one or more control target devices. Window sensor 180 can enter an association mode and can transmit an association message via RF communication signal 172 in response to actuation of a button on window sensor 180.
[0041] The load control environment 100 may include other types of control source devices, such as temperature sensors, humidity sensors, radiometers, cloudy day sensors, shading sensors, pressure sensors, smoke detectors, carbon monoxide detectors, air quality sensors, motion sensors, safety sensors, proximity sensors, equipment sensors, zone sensors, keypads, multi-zone control units, slider control units, kinetic or solar-powered remote controls, key cards, mobile phones, smartphones, tablets, personal digital assistants, personal computers, laptops, clocks, audiovisual controls, safety devices, power monitoring devices (e.g., electricity meters, utility submeters, utility multi-rate meters, etc.), central control transmitters, residential controllers, commercial controllers, industrial controllers, or any combination of control source devices.
[0042] The load control environment 100 may include a system controller 160 (e.g., a hub device) operable to transmit and / or receive digital messages via wired and / or wireless communications. For example, the system controller 160 may 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 may communicate digital messages between associated control devices. The system controller 160 may be coupled to one or more wired control devices (e.g., control source devices and / or control target devices) via a wired digital communication link. The system controller 160 may be located in the load control environment 100 field or at a remote location. Although the system controller 160 is shown as a single device, the load control environment 100 may include multiple system controllers and / or its functionality may be distributed across multiple devices.
[0043] System controller 160 may communicate via RF communication signal 170 (e.g., NFC; BLUETOOTH®; WI-FI®; cellular; dedicated communication channels such as CLEAR CONNECT™, etc.) in the same or alternative manner. System controller 160 may communicate via the Internet 164 or other networks using RF communication signal 170. RF communication signal 170 may be transmitted using a different protocol and / or radio frequency band than RF communication signal 172. For example, RF communication signal 170 may be transmitted using WI-FI® or cellular signals, and RF communication signal 172 may be transmitted using another RF communication protocol such as BLUETOOTH®, ZIGBEE®, or a dedicated communication protocol. RF communication signal 170 may be transmitted using the same protocol and / or radio frequency band as RF communication signal 172. For example, RF communication signal 170 and RF communication signal 172 may be transmitted using WI-FI® or a dedicated communication protocol.
[0044] System controller 160 can be configured to transmit and receive digital messages between control devices. For example, system controller 160 can transmit digital messages to a control target device in response to digital messages received from a control source device. Digital messages may include association information stored at the control device or control instructions for controlling electrical loads. Control instructions can be used to control the electrical loads of the control target device or to control the electrical loads according to control configuration information. System controller 160 can receive control instructions from the control source device and can perform a lookup of the control target device associated with the control source device. System controller 160 can send digital messages including control instructions to the associated control target device for controlling the electrical load. System controller 160 can store association information from association messages communicated between control devices, or can query the control device for association information stored thereon.
[0045] Once a control source device is associated with a control target device, the control source device can send digital messages to the control target device, causing the control target device to control the amount of power supplied to the electrical load. For example, the associated remote control device 116 can instruct the lighting control devices of lighting fixtures 108a, 108b, 108c, 108d to increase or decrease the lighting level of the corresponding lighting load, instruct motorized curtains 120 to raise or lower covering material 122, instruct AC plug-in load control device 124 to increase or decrease the lighting level of floor lamp 126, and / or instruct temperature control device 136 to increase or decrease the temperature in one or more rooms. The associated occupancy sensor 112 can send similar instructions to the control target device based on the detection of occupancy or vacancy conditions in room 102. The daylight sensor 150 can send similar digital messages to the control target device based on the detection of the amount of natural light in room 106.
[0046] The control device (including load control discovery device 190) can discover and / or execute associations with system controller 160. The control device can send association messages to system controller 160 and / or system controller 160 can send association messages to the control device. The identifier of system controller 160 can be stored at the control device for detecting communication from system controller 160. The identifier of the control device can be stored at system controller 160 for detecting communication from other control devices.
[0047] System controller 160 may include control configuration information, which can be used to control one or more control target devices. For example, the control configuration information may include preset configurations. System controller 160 may generate digital messages based on preset configurations to: set the dimming level of lighting equipment to a preset level; set the level of covering material 122 to a preset level; set the dimming level of lamp 126 to a preset level; or set the temperature of temperature control device 136 to a preset level. Different presets may be configured to control different control target devices to control corresponding electrical loads in different ways. Exemplary preset configurations may include a bedtime preset for when a user goes to bed, a movie-watching preset for when a user watches television or a movie, a departure preset for when a user leaves the building, a home preset for when a user is in the building, or other preset configurations that the user may specify for different occasions.
[0048] Control configuration information may include zone configurations. A zone configuration may define one or more zones, each defining a control target device to be controlled. A zone may be a group of control devices associated with a group identifier. Control target devices in different zones can be controlled separately by sending digital messages with control instructions for controlling each zone. Different zones may be identified by zone identifiers (e.g., group identifiers) that may be stored at the control devices in the system controller 160 and / or the zones. Each zone may be defined as a location with a zone identifier, which is a location identifier. Although a zone may be described herein as a location with a location identifier, other zone configurations may be implemented similarly to those described herein for locations.
[0049] The load control environment 100 may include a network device 128. The network device 128 may perform wired and / or wireless communication. Examples of the network device 128 may include a cordless phone, tablet computer, laptop computer, personal digital assistant (PDA), wearable device (e.g., watch, glasses, etc.), or another computing device. The network device 128 may be a user device operated by a user 132. The network device 128 may wirelessly communicate by transmitting digital messages on an RF communication signal 170 (e.g., Wi-Fi® signal, Wi-MAX® signal, cellular signal, etc.). The network device 128 may convey digital messages in response to user actuation of one or more buttons on the network device 128. Examples of load control systems with Wi-Fi® enabled devices, such as smartphones and tablets, are described in more detail below in 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 communicate with system controller 160 using digital messages transmitted via RF communication signal 170 (e.g., Wi-Fi® signal, Wi-MAX® signal, cellular signal, etc.) to allow network device 128 to associate control devices (e.g., control source devices and / or control target devices) and / or control electrical loads. When RF communication signal 170 and RF communication signal 172 communicate using the same communication protocol and / or the same frequency band, network device 128 can operate as 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] The control device that sends a discovery message (e.g., a dedicated discovery message or a message otherwise interpreted as a discovery message) may be identified as load control discovery device 190. Load control discovery device 190 may be a device that performs one or more activities. For example, load control discovery device 190 may be: a control source device (e.g., remote control device 116) that controls the amount of power supplied to the electrical load by transmitting digital messages to a control target device; and / or a control device that sends the discovery message to one or more control devices.
[0056] The load control discovery device 190 may be a dedicated load control discovery device 190. For example, the dedicated load control discovery device 190 may be a device (e.g., a control device) that can send discovery messages to a control device and / or system controller 160 during a dedicated discovery mode. The dedicated discovery mode may be enabled for a certain period of time, may be enabled / disabled when the user receives an instruction, and / or may be configured to a static mode on the dedicated discovery device. The discovery message may be a message for discovering the control device and / or system controller 160. The discovery message may be a message for one or more activities. For example, the discovery message may be a message configured to discover the control device and / or system controller 160, and the discovery message may be a message configured to associate a control device with another control device and / or system controller 160. The discovery message may be a control message configured to discover the control device and control the control device that receives the discovery message.
[0057] Figure 1A An example is shown in which a control source device (e.g., remote control device 116) is assigned as a load control discovery device 190 capable of sending discovery messages within a discovery range 134, but other control devices may also be assigned as load control discovery devices 190. The discovery range 134 may correspond to the transmit power of the load control discovery device 190 (e.g., adjustable transmit power). The load control discovery device 190 may be pre-configured for a location. For example, the load control discovery device 190 may be stored as a load control discovery device for the identified location at system controller 160, the load control discovery device 190, and / or other devices at the identified location. Discovery messages sent by the load control discovery device 190 may be received by other devices (such as other control devices and / or system controller 160).
[0058] The device can receive a discovery message and determine whether the discovery message was received with a signal strength higher than a received power threshold (e.g., a preset signal strength). The preset signal strength can be received from system controller 160 and / or can be pre-configured during manufacturing. A control device that receives a discovery message can report that the discovery message was received. A control device that receives a discovery message can report the received signal strength of the discovery message. A control device can report the received discovery message and / or the received signal strength to another control device (e.g., a control source device, a control target device, etc.). A control device that receives a discovery message can report the received discovery message and / or the received signal strength to system controller 160. The control device and / or system controller 160 can store the control device that received the discovery message and provide the identifier of the control device to network device 128. Network device 128 can display the control device to user 132 for association with 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 retrieved at network device 128 (e.g., from direct storage or from system controller 160). Control devices can be associated with other devices, deassociated with other devices, or deassociated with a location. Associating and deassociating devices can be enabled for configuring and / or reconfiguring control devices within a defined area. Locations 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 who operates or manages the operation of control devices in the space. Discovering target control devices through source control devices enables location configuration or reconfiguration to optimize control based on space usage. The use of a location can change or may differ from its originally planned location (e.g., when devices are installed in rooms 102, 104, 106). Thus, discovering devices within the discovery range 134 of load control discovery device 190 allows user 132 to redefined the associated devices for a given location.
[0060] The device can receive a discovery message and determine whether the discovery message is received within a discovery range and / or 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 in which a discovery message can be received, and / or by another identifier, such as the transmit power and / or threshold (e.g., a receive power threshold) of the discovery message. A discovery message can be transmitted within the discovery range and can identify a discovery zone in which the device can respond. A discovery zone can be identified by a received signal strength or a range of received signal strengths in which the control device can respond when a discovery message is received with an identified signal strength.
[0061] The discovery message emitted by the load control discovery device 190 may be a broadcast message that can be broadcast within the established discovery range 134. The discovery message may include information identifying the load control discovery device 190 that emitted the discovery message. The discovery message may indicate the type of control device (e.g., remote control device, occupancy sensor, lighting control device, etc.), a unique identifier (e.g., serial number) that identifies the load control discovery device 190, a link address for direct communication 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 detection range 134 may depend on the transmit power and / or transmit power range of the transmitting device. For example, the detection range 134 may be based on the transmit power of the digital message transmitted from the load-controlled detection device 190 or the distance at which the digital message is to be transmitted. The transmit power of the transmitting device may be adjustable to adjust the area of the detection range 134.
[0063] The detection range 134 may similarly or alternatively depend on a threshold. For example, the detection range 134 may depend on a receive power threshold of the receiving device. For example, the detection range 134 may depend on the signal strength of a digital message received by the control device from the load control detection device 190. The signal strength may be a signal strength indicated as a Received Signal Strength Indication (RSSI) at each location in the receiving device. The RSSI may be defined as a measure of the power level at which the receiving device is receiving a digital message from the transmitting device. The receiving device may each compare the RSSI of the received message with a receive power threshold (which may be stored in the memory of each receiving device) and may respond to the received message when the RSSI is greater than the receive power threshold. The receive power threshold of each receiving device may be adjustable to adjust the area of the detection range 134. For example, the detection message may include the receive power threshold, and the receiving control device may compare the RSSI of the received signal (e.g., the detection message) with the receive power threshold.
[0064] The detection range 134 can be divided into multiple detection zones with different RSSI values and / or ranges. For example, the detection range 134 can be decomposed into detection zones, each associated with a different group of devices (e.g., devices that receive detection messages with the same signal strength and / or within the same signal strength range). Selecting a control device within one or more specific detection zones can limit the number of devices that transmit responses simultaneously, thereby reducing or preventing interference between devices located in different detection zones. Control devices responding to detection messages in different zones can be aggregated by selecting control devices from more than one detection zone. For example, based on the location of control devices in different zones, control devices in different zones can be independently displayed to user 132 and / or provided to the control device.
[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 detection range 134 may be affected by interference. For example, the walls, floors, or ceilings separating rooms 102, 104, and 106 may cause interference. Interference may occur if a control device receives a detection message within the same detection range and / or the same detection area as another control device. Interference may degrade the signal strength of the detection message. This degradation may reduce the detection range 134 of detection messages transmitted from the load control detection device 190 in rooms 102, 104, and / or 106, for example. Figure 1A As shown, detection range 134 may be degraded due to the walls between rooms 102 and 104, and the ceiling and floor between rooms 102 and 106, causing detection range 134 to protrude further into room 102 where there is less disturbance. Even if detection range 134 is in Figure 1A The circle indicates that the range 134 can also be defined as an area other than the circular area.
[0069] RSSI, or signal strength, can be a discovery criterion 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 may include the amount of time since the device was powered on. If the control device is powered on before or after the amount of time indicated in the discovery criterion, the control device can be filtered out from the discovered devices. The control device may start an internal timer when powered on and may identify when a threshold amount of time for discovery has been met. In another instance, the control device may provide the amount of time since the start of an internal timer, and another device (such as system controller 160 or network device 128) may identify when a threshold amount of time for discovery has been met.
[0070] Discovery criteria may include the load state of an electronic load controlled by a control device. For example, the load state may be the on / off state of an electrical load controlled by a load control device. The load state may be the dimming level or dimming range of a lighting load. The control device may identify the load state of the electrical load and indicate when the load state for discovery has been met. In another instance, the control device may provide the load state to another device, such as system controller 160 or network device 128, which may identify when the load state for discovery has been met. The load state included in the discovery criteria allows user 132 to adjust the load state of the electrical load using devices that user 132 wishes to discover. For example, user 132 may change the on / off state of lighting fixtures 108a and 108b to an "on" state for discovery, and user 132 may leave the on / off state of lighting fixtures 108c and 108d in an "off" state for filtering according to the discovery criteria.
[0071] Detection criteria may include an occupancy status or activity level identified by an occupancy sensor (such as occupancy sensor 112). For example, occupancy sensor 112 may identify occupancy or vacancy conditions that can be used to detect occupancy sensor 112. Occupancy sensor 112 may identify different activity levels. For example, occupancy sensor may identify primary motion events (e.g., above a predefined motion level) and secondary motion events (e.g., below a predefined motion level) within the visible area of occupancy sensor 112. Primary or secondary motion events can be used to detect occupancy sensor 112. Occupancy sensor 112 may send a response message when identifying a defined occupancy status or defined activity level. Occupancy status and / or activity level can be used to detect devices other than occupancy sensor. Occupancy status and / or activity level may be identified by occupancy sensor 112, and occupancy sensor 112 may send a detection message to devices within the detection range. Detection messages from occupancy sensor 112 may identify the occupancy status and / or activity level identified at occupancy sensor 112.
[0072] Discovery criteria may include devices previously associated with a location and / or device. For example, a discovered device may include a previously discovered device and / or a device previously stored as association information at another device. A discovery message may include a request to associate the device, and in response, may return the identifier of the associated device. A discovery message may include the identifier of a specific device (e.g., a previously discovered device), and may query control devices whether they are already associated with said device. A response to a discovery message may include a reply to the request, or a device not associated with the identified control device may not respond.
[0073] Discovery criteria can be stored at the control device for determining whether to respond to a discovery message based on the defined criteria. A response can be made independently for each discovery criterion, or a combination of criteria can be identified for a response. Discovery criteria can be updated at the load control device in update messages from system controller 160 and / or network device 128. Discovery criteria can be defined at the network device and sent to the control device for determining whether to respond to a discovery message. A discovery message can define the discovery criteria used to respond when identified at the control device.
[0074] A discovery message may request the control device to provide identified discovery criteria, and the system controller 160 and / or network device 128 may filter out discovered devices based on the discovery criteria provided by the control device. For example, a discovery message may request the control device to provide the RSSI received upon receiving the discovery message, the amount of time since power-on, load status, and / or occupancy status or activity level identified by an occupancy sensor. The control device may provide the requested information or a null value (where the requested information is not identified at the control device), and system and / or one or more criteria may be provided to the system controller 160 and / or network device 128 for filtering 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, a control device receiving a discovery message with a certain signal strength (e.g., RSSI) can be used to generate an initial dataset. Other discovery criteria can be used to further filter the initial dataset. Discovery criteria can be provided to user 132 on network device 128 for selection to further filter the number of devices discovered in the dataset. Discovery criteria can be provided to user 132 sequentially and / or in a randomly generated order. Instructions can be provided to user 132 on network device 128 to instruct user 132 in a manner that further filters the discovered devices. For example, network device 128 can instruct user 132 to enter room 102 to discover devices in room 102. Network device 128 can instruct user 132 to make primary movements near the devices to be discovered, so that occupancy sensor 112 can detect the primary movement event and send digital messages used by system controller 160 and / or network device 128 to filter the discovered devices. Discovery criteria can be selected by the user to limit the number of devices discovered.
[0076] The transmission of a discovery message can be triggered by actuation of a button on the load control discovery device 190 and / or by receiving a discovery trigger message. For example, the load control discovery device 190 may be identified as a remote control device 116. The load control discovery device 190 may be identified as a dedicated load control discovery device. User 132 may actuate a button (e.g., for a predetermined time period), a series of buttons, and / or execute other commands on the load control discovery device 190 to transmit a discovery message. Actuation of the button at different time periods may cause the load control discovery device 190 to be set to different modes. For example, actuating a button on the load control discovery device 190 (e.g., remote control device 116) for three seconds may cause the load control discovery device 190 to be set to an association mode, in which the load control discovery device 190 may send an association message to a control target device. In the example described, actuating a button on the load control discovery device 190 (e.g., remote control device 116) for six seconds causes the load control discovery device 190 to be set to discovery mode, in which the load control discovery device 190 can send a discovery message to the control target device. The load control discovery device 190 can similarly or alternatively receive discovery trigger messages from the system controller 160 or the network device 128. The network device 128 can receive button actuation by the user 132 and can transmit a discovery trigger message to the load control discovery device 190 or send an instruction to the system controller 160 to transmit the discovery trigger message.
[0077] The transmission of a discovery message can be performed by a sensor in the load control environment. For example, a load control discovery device could be an occupancy sensor that transmits a digital message when it identifies an occupancy condition (e.g., an occupied room) and / or an vacancy condition (e.g., an unoccupied room). The occupancy and / or vacancy conditions can be interpreted as discovery messages by other devices (e.g., when a device is in discovery mode). A user can enter or leave a room to trigger the transmission of a discovery message at the location of the occupancy sensor, thereby discovering the device at that location.
[0078] The control device receiving the discovery message from the load control discovery device 190 can be a two-way communication device (e.g., a lighting control device in lighting fixtures 108a, 108b, 108c, 108d, an electric curtain 120, an AC plug-in load control device 124, etc.). This two-way communication device can receive the discovery message and acknowledge receipt of the discovery message to the system controller 160. The control device can identify the discovery message as originating from the load control discovery device 190 and can store an indication that the discovery message has been received. The control device can identify the discovery message using a device identifier of a load control discovery device 190 not associated with the control device, a device identifier of a load control discovery device 190 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 the signal strength of the received discovery message (e.g., Received Signal Strength Indication (RSSI)) and / or 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 can report to one or more devices whether the signal strength is below or above the received power threshold. For example, the control device may report the signal strength to other control devices, network device 128, and / or system controller 160. The control device may similarly or alternatively report whether the signal strength is below or above a receive power threshold. If the signal strength (e.g., RSSI) is above a threshold (e.g., a predefined receive power threshold), a discovery message may be reported.
[0079] Control devices that are one-way communication devices (e.g., occupancy sensor 112, window sensor 180, daylight sensor 150, remote control device 154, remote control device 142, etc.) may not receive the discovery message. The one-way communication device may transmit the discovery message to a load control discovery device 190 and / or system controller 160 for detection and / or association. The discovery message may include an identifier of the transmitting device. To transmit the discovery message, user 132 may actuate a button on the one-way communication device. User 132 may actuate button 118 on the remote control device, button 144 on the remote control device 142, button 156 on the remote control device 154, button 152 on the daylight sensor 150, button 114 on the occupancy sensor 112, and / or similar. To trigger the transmission of discovery information at the daylight sensor 150, user 132 may similarly or alternatively transmit a laser signal that can be identified by the daylight sensor 150. Although some control devices may be described as two-way communication devices, any control device may include a button for transmitting a discovery message.
[0080] Because the load control discovery device 190 can receive messages from the control device, the bidirectional communication device can also send discovery messages or respond to discovery messages transmitted from the load control discovery device 190. The load control discovery device 190 can determine the signal strength of the received message from the control device. The load control discovery device 190 can internally record the identified device and / or signal strength. The load control discovery device 190 can provide the identified device and / or signal strength to the system controller 160 and / or network device 128. Although some devices may be described as unidirectional or bidirectional communication devices, the devices can be configured for unidirectional or bidirectional communication.
[0081] System controller 160 and / or network device 128 can be used to coordinate the discovery and association of control devices at a location. User 132 can actuate a button on network device 128 to discover devices at a location, and network device 128 can request discovery information from system controller 160. System controller 160 can receive the request and can transmit a digital message to put the control device into discovery mode. The digital message that puts the control device into discovery mode can be the same message as the discovery trigger message used to trigger a discovery message at load control discovery device 190, or it can be a different message. Once in discovery mode, the control device knows to listen for discovery messages. User 132 can actuate a button on the control device to enter discovery mode. For example, the user can actuate one or more buttons on load control discovery device 190 (e.g., for a predetermined time period) to send a digital message to system controller 160 and / or other control devices to enter discovery mode.
[0082] The control device may transmit a digital message to the system controller 160 to acknowledge receipt of a discovery message. The digital message may include the device identifier of the load control discovery device 190 and / or the signal strength of the received discovery message. The digital message may be sent to the system controller 160 in response to a request from the system controller 160 (e.g., after the system controller 160 has received the discovery message itself). The request from the system controller 160 may include a request to acknowledge receipt of a message from the device with the device identifier of the load control discovery device 190 and / or the received signal strength of the message. If the discovery message is received with a signal strength higher than a predetermined threshold (e.g., a received power threshold), the request from the system controller 160 may include a request to acknowledge receipt of the discovery message from the load control discovery device 190 and / or the received signal strength of the message. The request from the system controller 160 may also include a request for the device identifier and / or the received signal strength of messages from unassociated devices from which messages have been received (e.g., since entering discovery mode). Requests from system controller 160 may include requests for the device identifier of the load control discovery device from which messages have been received (e.g., since entering discovery mode) and / or the received signal strength of the messages.
[0083] System controller 160 may provide discovered devices to network device 128 for display to user 132. System controller 160 may organize the discovered devices for display to user 132 for association purposes. System controller 160 may organize the discovered control devices in the form of an organized dataset (e.g., an ascending or descending list), the organized dataset being organized according to the signal strength at which a discovery message is received at each device. System controller 160 may remove any device from the dataset that received a discovery message with a signal strength below a predetermined threshold (e.g., a receive power threshold). System controller 160 may include a predetermined number of devices with the highest signal strength in the dataset. System controller 160 may send the organized dataset to network device 128 for display to user 132.
[0084] Although the coordination of discovery and / or association of control devices is described herein as being performed at system controller 160, this functionality can be implemented within the control devices themselves. One or more control devices (e.g., lighting controls in lighting fixtures 108a, 108b, 108c, 108d, remote control device 116, etc.) can be used to coordinate the discovery and / or association of control devices (e.g., control devices within a given location). One or more central control devices can receive a request to put a control device into discovery mode and can transmit a digital message to put the control device into discovery mode. The digital message can be sent to control devices adjacent to one or more central control devices. The digital message putting a control device into discovery mode can be the same message as the discovery trigger message used to trigger a discovery message at load control discovery device 190, or it can be a different message. Once in discovery mode, the control device knows it is listening for discovery messages. One or more central control devices can collect discovery information from other control devices (e.g., confirming receipt of discovery messages and / or the signal strength of received discovery messages) and can provide the discovery information to network device 128. One or more central control devices may receive associated information from network device 128 and send the associated information or related portions thereof to other control devices.
[0085] Network device 128 can organize the discovered devices for display to user 132 for association. Network device 128 can organize the discovered control devices in the form of an organized dataset (e.g., an ascending or descending list), the organized dataset being organized according to the signal strength of the discovery message received at each device. For example, network device 128 can first display the control device that received the discovery message with the highest RSSI, followed by devices that received discovery messages with lower RSSI in descending order. Network device 128 can remove any device from the dataset that received a discovery message with a signal strength below a predetermined threshold (e.g., a receive power threshold). Network device 128 can include a predetermined number of devices with the highest signal strength in the dataset.
[0086] User 132 can select a control device (e.g., a lighting control device among lighting fixtures 108a, 108b, 108c, 108d) from the discovered devices displayed on network device 150. The selected control device can be associated with load control discovery device 190 used to discover control devices within discovery range 134. Network device 150 can generate association information about load control discovery device 190 and the selected control device in response to input received from user 132. The selected control device can also be associated with control devices other than load control discovery device 190 (e.g., control source devices).
[0087] User 132 can configure association information and / or control configuration information for the discovered control devices at network device 128. The discovered control devices can be associated with one or more location identifiers that identify a location in load control environment 100. The location can be identified by user 132 (e.g., from a list of predefined locations), or it can be one or more predefined locations associated with load control discovery device 190 (e.g., the location where the load control discovery device is installed).
[0088] Network device 128 can access association information stored at system controller 160. Association information may include a device identifier of the discovered device, a location identifier of the discovered device, and / or an identifier of the associated control device. User 132 can deassociate a discovered control device from previously associated control devices by making a selection on network device 128. User 132 can associate a discovered control device with other control devices by making a selection on network device 128.
[0089] User 132 can access control configuration information stored at system controller 160. User 132 can edit the currently stored control configuration information for the discovered control device by making a selection on network device 128. User 132 can generate and store control configuration information for the discovered control device by making a selection on network device 128.
[0090] Network device 128 may (e.g., when user 132 actuates a button) transmit association information and / or control configuration information to system controller 160. System controller 160 may store the updated association information and / or control configuration information thereon. System controller 160 may transmit the association information and / or control configuration information to control device to update the association information and / or control configuration information stored at control device. System controller 160 may broadcast the updated association information and / or control configuration information to control device so that control device identifies the updated corresponding association information and / or control configuration information (if any) for local storage on said control device.
[0091] Figure 1BAn exemplary load control environment 100 is illustrated, having a control target device identified as a load control discovery device 190. For example, a lighting control device in lighting fixture 108a may be identified as a load control discovery device 190 at system controller 160 and / or at the lighting control device 108 itself. The load control discovery device 190 may be predefined for a specific location or switched between control devices. The load control discovery device 190 can be switched between control devices via commands from network device 128 (e.g., commands from network device 128 to system controller 160). User 132 may select control devices to be identified as load control discovery devices 190, and the identifier of the selected control device may be stored as load control discovery device 190 (e.g., at system controller 160, network device 128, the control device identified as load control discovery device 190, and / or other control devices). The lighting control device of lighting fixture 108a may be identified as a load control discovery device 190 to discover and... Figure 1A The remote control device 116, identified as load control discovery device 190, is a collection of different control devices.
[0092] The organized dataset of discovered devices can be deleted, reorganized, and / or reconstructed after the load control discovery device 190 is switched. For example, the organized dataset can be deleted if the load discovery device 190 is decoupled from one or more control devices and / or if the load control discovery device 190 is configured in a way that affects the signal strength from which the control devices receive discovery messages from different load control discovery devices 190.
[0093] For example, the organized dataset can also be reorganized if the control device is associated with and / or disconnected from the load control detection device 190, and / or if the signal strength of the detection messages received by the control device from different load control detection devices 190 changes over time. For example, the organized dataset can be reorganized to account for devices associated with another load control detection device 190, where the detection messages received from the associated load control detection device 190 have a larger or smaller signal strength compared to detection messages from previously associated load control detection devices. The organized dataset can also be reorganized if the same control device disconnects from a load control detection device, for example, if the load control detection device is removed from the room or if the control device is associated with another load control detection 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 1AAs shown. System controller 160 and / or network device 128 can send a message to the lighting control device that the lighting control device of lighting fixture 108a has been assigned as load control discovery device 190. Load control discovery device 190 can be switched between control devices by user 132 actuating a button on the corresponding control device to be assigned as load control discovery device 190 (e.g., button 114 on the occupancy sensor).
[0097] The discovery range 134 can be calculated based on the load control discovery device 190, allowing different devices to be identified as the load control discovery device 190. 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). 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 lighting fixture 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 lighting fixture 108a (e.g., in response to a user selecting a control device to be assigned as the load control discovery device 190 on a network device). Since the load control discovery device 190 can be a portable device (e.g., the remote control device 116, which may be detachable 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 mobile discovery range 134 and / or to identify control devices that were not previously identified due to interference. Control devices identified due to the transmission of multiple messages can be aggregated. The aggregated control devices can be provided to user 132. For example, the aggregated control devices can be provided to user 132 via network device 128. When responding to subsequent discovery messages, control devices that previously responded to discovery messages can be ignored. A control device can respond to the first received discovery message and omit the response thereafter, or respond to each received discovery message. Subsequent discovery messages can identify control devices that previously responded to discovery messages, for example, to prevent the discovered control devices from having to respond again.
[0099] There may be more than one load control detection device 190. The load control detection device 190 may 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 part of room 102 may be identified as load control detection device 190 to detect control devices in the first part of room 102, and another control device located in a second part of room 102 may be identified as another load control detection device to detect control devices in the second part of room 102. In another example, a control device in each of rooms 102, 104, and 106 may be identified as the corresponding load control detection device in the room where the device is located. A control device located at the very center of a room or a part of a room may be identified as load control detection device 190.
[0100] A digital message can be sent to the control device to instruct it to identify itself and / or the corresponding electrical load, allowing user 132 to identify control devices awaiting assignment as load control discovery devices 190. The identified control device can be a discovered control device at a single location. User 132 can actuate a button on network device 128 to instruct the control device to perform the identification. The identification message can be sent from system controller 160 to the identified device. The identified control device can receive the identification message and control the 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 that type. System controller 160 can send a generic identification message detectable by the identified device and can locally look up control instructions.
[0101] User 132 can actuate a button on the control device to assign the control device as load control discovery device 190. For example, user 132 can actuate button 118 on remote control device 116 or load control discovery device 190 (e.g., for a predetermined time period) to send a digital message to system controller 160 to instruct system controller 160 to identify remote control device 116 as load control discovery device 190. The identification message can be sent from system controller 160 to the identified control device. Remote control device 116 or load control discovery device 190 can similarly or alternatively communicate directly with the control device to request identification. The identified device can receive the identification message and control the 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 detection range 134 can be adjusted to an adjusted detection range 158. Using the established adjusted detection range 158, the load control detection device 190 can detect and / or associate other control devices within the adjusted detection range 158, such as temperature control device 136 and / or remote control device 154.
[0106] although Figure 1C The adjusted detection range 158 is shown as a larger detection range than detection range 134, but detection range 134 can also be adjusted to a smaller detection range that may include fewer control devices. Detection range 134 can be made smaller to avoid detecting control devices in other locations (such as rooms 104 and / or 106) when attempting to detect devices in room 102. User 132 can adjust the detection range or move the detection range to another location to detect control devices within a location, depending on the size of the room or the location of the various control devices. As the detection range increases, decreases, and / or moves, the display provided on network device 128 can be updated accordingly. For example, when the detection range moves from one location to another, network device 128 can show control devices in the updated detection range. Alternatively or additionally, when the detection range moves from one location to another, an aggregation of control devices from each of the detection ranges can be identified. Devices can be displayed on the network device in an ordered list based on signal strength.
[0107] Temperature control device 136 and / or remote control device 154 can be detected by sending a detection message within the regulated detection range 158. The daylight sensor 150, the lighting control devices of lighting fixtures 146a, 146b, 146c, 146d, and the lighting control devices of lighting fixtures 138a, 138c can also be within the regulated detection range 158. The lighting control devices of lighting fixtures 138b, 138d and the remote control device 142 can be outside the regulated detection range 158 and may not receive detection messages transmitted within the regulated detection range 158. Since control devices outside the detection range 158 may, for example, have greater transmission power, they may (e.g., upon actuation of a button or receipt of a trigger message) transmit detection information to load control detection device 190 and / or system controller 160.
[0108] A detection range corresponding to the size of the location of the device to be detected can be selected. For example, the transmit power of the load control detection device 190 can be adjusted (e.g., increased or decreased) such that the transmit power of the load control detection device 190 corresponds to the size of the location. A control device with a larger transmit power can be identified as the load control detection device 190 to increase the detection range in a larger room. Each location can have a size identifier indicating the size of each corresponding location. The transmit power of the load control detection device 190 can be allocated, or a control device with a corresponding transmit power can be identified as the load control detection device 190, so that the control device can be detected in locations with the identified size. The system controller 160 and / or the network device 128 can store the transmit power of the control device and perform the allocation of the load control detection device 190 based on the transmit power of the control device 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 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 the control devices during operation for controlling electrical loads. The adjusted transmit power during discovery mode enables the control devices and / or load control discovery device 190 to discover more and / or fewer devices, while preserving power at the control devices and / or load control discovery device 190 during other uses (e.g., communication of load control messages). The adjusted transmit power can be transmitted from network device 128 (e.g., directly or via system controller 160).
[0110] The load control discovery device 190 can communicate with the control device via one or more intermediate devices. For example, a discovery message can be received at the control device, and acknowledgments and / or signal strength can be conveyed via one or more other control devices in the system. One or more intermediate devices can be used to ensure a greater likelihood that acknowledgments and / or signal strength are received at the load control discovery device 190. When the control device is transmitting a discovery message to the load control discovery device 190 (e.g., for a one-way communication device), the signal strength of each message received at the intermediate device can be appended to the message being transmitted. The load control discovery device 190 and / or the system controller 160 can sum the signal strengths to determine the relative distance to the control device.
[0111] The control device can interact with and / or store information about other control devices (e.g., location information, signal strength information, device identifiers, and other identification information). For example, the control device can store information about neighboring control devices to enable it to forward information about those devices. A neighboring control device may be one that receives digital messages from it with a preset signal strength. The neighboring control devices can be configured by network device 128 and / or system controller 160 and can be communicated to the control device for storage thereon.
[0112] The control device can receive a discovery message and store the signal strength associated with the received discovery message. The control device can transmit the signal strength of the received discovery message to nearby devices, which can then forward the signal strength to other devices, such as system controller 160. The control device that receives the discovery message can similarly or alternatively forward the discovery message to nearby devices, ensuring that control devices outside the discovery range 134 are still detected. The control device can add the signal strength of the digital message received from a nearby device to the signal strength of the received discovery message and report the combined signal strength to system controller 160.
[0113] Control devices can be sorted and / or grouped based on corresponding signal strengths. For example, a control device determining the signal strength of a received discovery message can determine the 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 with its assumed signal strength within a predetermined distance from the source of the discovery message (e.g., load control discovery device 190). For example, by determining the signal strength of neighboring control devices, system controller 160 can directionally calculate the difference between a control device located -50 dB away from system controller 160 and a control device located -50 dB away from system controller 160 and -20 dB away from a control device selected to have a compliant signal strength.
[0114] Existing association information can be discovered by system controller 160 and / or load control discovery device 190. The control device can send association information (e.g., associated device identifier) indicating the device associated with it. Association information can be in a discovery message or in a response request to the discovery information. Network device 128 can request a specific control source device identifier to determine whether the control target device is associated with a specific control source device.
[0115] System controller 160 can discover one or more control devices within a broadcast control group. A broadcast control group may 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 sharing another group characteristic. The group characteristic may be a discovery criterion, based on which control devices can be filtered for discovery. Control devices in a broadcast control group can be simultaneously controlled by system controller 160. Control devices included in a broadcast control group can receive and store a group identifier, enabling them to respond to digital messages sent to the group that include the group identifier. For example, system controller 160 can create a lighting control device group that includes lighting controls for lighting fixtures 108a, 108b, 108c, and 108d. System controller 160 can instruct the lighting controls for lighting fixtures 108a, 108b, 108c, and 108d in the lighting control device group to be turned on or off as a group.
[0116] Multiple load control discovery devices 190 can be implemented to perform the discovery and / or association of control devices. Each of the load control discovery devices 190 can transmit a discovery message to the same device and / or different devices. The system controller 160 can receive the device identifier of the discovered control device and / or the signal strength associated with the discovered device, and remove duplicate device identifiers. The system controller 160 can maintain the device identifier with the associated signal strength of the largest signal strength. The system controller 160 can organize the device identifiers after removing duplicate device identifiers (e.g., in the form of an ascending or descending list based on signal strength), or the system controller 160 can remove organized device identifiers with lower signal strengths.
[0117] System controller 160 can detect when established discovery ranges 134 and 158 overlap with a range established by another load control discovery device 190. For example, when system controller 160 receives duplicate information from the same device, system controller 160 can detect that established discovery ranges 134 and 158 overlap with a range established by another load control discovery device 190. System controller 160 can adjust one or more of the discovery ranges to avoid overlap, or can indicate the overlap to user 132 on network device 128.
[0118] Load control discovery devices can communicate with each other (e.g., directly or via system controller 160). When load control discovery device 190 receives a discovery message, it can discover overlap between its established discovery ranges 134, 158 and those established by another load control discovery device 190. Load control discovery device 190 can adjust discovery ranges 134, 158 or indicate the overlap to system controller 160 and / or network device 128.
[0119] Figure 2 This is a diagram depicting an exemplary scope of discovery for performing the discovery and / or association of control devices. (Example...) Figure 2 As shown, the established detection range 208 can be adjustable. The user can increase or decrease the established detection range 208 (e.g., between -3 dBm and -9 dBm) to detect and / or associate control devices within a larger or smaller area. The established detection range 208 can be measured from the load control detection device 202. The established detection range 208 can be determined based on the distance at which the load control detection device 202 is configured to transmit and / or receive information. The established detection range 208 can be determined by increasing or decreasing the distance at which the load control detection device 202 is configured to transmit and / or receive information.
[0120] A detection range 208 can be established by adjusting the signal strength (e.g., transmit power) of the signal transmitted by the load control detection device 202 and / or by adjusting a threshold (e.g., 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 detection device 202 can broadcast detection messages to and / or receive messages from control devices within the established detection range 208 and / or within the predefined receive power threshold. The load control detection device 202 can determine the control devices within the established detection range 208 and / or receive power threshold based on response messages received from the control devices. Other devices (such as system controllers, network devices, or control devices receiving detection messages) can determine whether a control device is within the established detection 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, system controller, or network device) by ignoring information received from control devices outside the discovery range 208. For example, the load control discovery device 202 may have a static signal strength of -3 dBm, and the established discovery range 208 may be -9 dBm. In this case, the load control discovery device 202 may broadcast a discovery message to control devices within the -3 dBm area and may receive a response message from the control devices. The distance to each control device can be determined based on the signal strength of the message received from the control device. When the received signal strength of a control device is below a threshold (e.g., a received power threshold), the control device may be determined to be outside the established discovery range 208 (e.g., between -9 dBm and -3 dBm) and may be considered a discovered device.
[0122] Figure 3An 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 may include a unique identifier for the load control discovery device 302. The communication of the discovery message by the load control discovery device 302 can be triggered by actuating a button on the load control discovery device 302, receiving a discovery trigger message from another device (e.g., from the system controller), or another trigger procedure. The discovery message communicated at 322 may be a broadcast message received by one or more control devices 304 and / or the system controller 306. In response to receiving the discovery message, one or more control devices 304 may calculate the RSSI value of the discovery message. In response to receiving the discovery message communicated at 322, the system controller 306 may broadcast a query message at 324 to locate devices that have received the discovery message from the load control discovery device 302. The query message may include a unique identifier for the load control discovery device 302 and may request a response from a device indicating whether the device has received the discovery message from the identified load control discovery message. The query for discovered devices may include discovery criteria used to discover control devices that meet the discovery criteria. Discovery criteria may include the RSSI or signal strength of the received discovery message, the amount of time since the device was powered on, the load status of the electrical load controlled by the control device (e.g., on, off, dimming level, etc.), the occupancy status or activity level identified by an occupancy sensor, the identification of previously associated locations and / or devices, and / or another discovery criterion. Discovery criteria can be used to narrow down a large group of devices to reduce the number of discovered devices that can communicate simultaneously on the network. Discovery criteria may also be user-selectable, allowing the user to reduce the list of devices discovered for association.
[0126] In addition to comparing identifiers received in discovery and query messages to determine whether they should respond to a query, control devices 304 that also meet discovery criteria can respond to the query at 326. The response may include a calculated RSSI value and a unique identifier of the control device. Each control device may communicate its corresponding response message at random times. Although discovery criteria may be described as being in a query message sent at 324, they may be indicated in a discovery message sent at 322 or otherwise pre-stored in control device 304. System controller 306 may identify control devices 304 that respond at 326 and generate an organized dataset of discovered control devices for transmission to network device 308. The organized dataset may be a list of discovered devices in ascending or descending order based on RSSI values. The organized dataset may include a unique identifier or a subset thereof for each of the discovered devices. Devices may be organized relatively according to the signal strength of RSSI values or according to other discovery criteria.
[0127] System controller 306 may provide the discovered devices to network device 308 at 328. The discovered devices may be provided via a display on a web interface, or via other digital messages at 328 for local display of the interface at network device 308. Although system controller 306 may be described as generating an organized dataset of discovered devices, the discovered devices may be provided to network device 308 at 328 along with responses to discovery criteria, and / or network device 308 may locally generate an organized dataset of discovered devices.
[0128] Network device 308 can generate association information including associations with discovered devices. For example, network device 308 can receive user selections for a control source device and a control target device for association with a predefined area. Network device 308 can similarly or alternatively receive user selections for a control source device or a control target device for association with a load control discovery device 302 allocated for a defined area. The association information can be sent at 330 to system controller 306 for local storage thereon. The association information or a portion thereof can be sent at 332 to control device 304 for enabling message communication between associated devices.
[0129] As described in discovery procedure 300, load control discovery device 302 can be used to send discovery messages to control device 304 in a given area, and the discovered devices can be displayed to the user on network device 308 for system commissioning. Association information, or portions thereof, can be used by system controller 306 to relay digital messages to appropriate devices within the load control system. Association information can be used by control device 304 to identify messages to which control device 304 can respond. Load control discovery device 302 can be a control device capable of sending and / or receiving digital messages for controlling electrical loads. Load control discovery device 302 can be assigned based on the proximity of devices within an area (e.g., to discover devices with relatively closer proximity within the area). Using control devices in the system to discover other devices and enabling the display of discovered devices on network device 308 in a manner indicating the relative proximity of devices according to discovery criteria achieves efficient device discovery and association during system commissioning.
[0130] Figure 4 This is a block diagram depicting an exemplary method 400 for the discovery and association of control devices. (As shown) Figure 4As shown, method 400 may begin at 402. At 404, a discovery trigger message may be transmitted. The discovery trigger message may be sent by a system controller (such as system controllers 160, 306). For example, the discovery trigger message may be sent by system controllers 160, 306 after receiving an instruction from network devices 128, 308. Control device 304 may identify the discovery trigger message and enter discovery mode to listen for discovery messages, or a separate message may be sent from system controllers 160, 306 to cause control device 304 to enter discovery mode.
[0131] The transmission of a discovery message can be identified at 406. A discovery message can be identified by system controllers 160 and 306 upon reception. System controllers 160 and 306 can request acknowledgment of receipt of the discovery message at 408. Control device 304, upon receiving a discovery message or a discovery message exceeding a predetermined threshold (e.g., a receive power threshold), can acknowledge receipt of the discovery message by conveying a digital message containing an identifier of control device 304 and / or the signal strength (e.g., RSSI) of the received discovery message at 408.
[0132] System controllers 160 and 306 may identify discovery messages received at load control discovery devices 190, 202, and 302 at location 410. For example, a one-way communication device may transmit a discovery message, including the device identifier of the transmitting device, to the load control discovery devices 190, 202, and 302 awaiting discovery. Load control discovery devices 190, 202, and 302 may store the signal strength of the received discovery message and may provide the device identifier of the control device 304 from which the message was received, along with the corresponding signal strength, to system controllers 160 and 306. In another example, system controllers 160 and 306 may identify discovery messages received from one-way communication devices and the signal strength of the receiving device. Although method 400 describes the identification of discovery messages and the coordination of control device 304 as performed at system controllers 160 and 306, this functionality may be implemented by other devices (e.g., by control device 304, etc.).
[0133] At 412, system controllers 160, 306 may organize the discovered control devices 304 into an organized dataset. The organized dataset may be a list of device identifiers and / or corresponding signal strengths. The identifiers of the discovered devices may be sorted according to signal strength (e.g., from highest to lowest signal strength). System controllers 160, 306 and / or network devices 128, 308 may remove control devices 304 with corresponding signal strengths below a predetermined threshold (e.g., a received power threshold) from the organized dataset. System controllers 160, 306 and / or network devices 128, 308 may include control devices 304 with corresponding signal strengths above a predetermined threshold in the organized dataset. The organized dataset may be determined by network devices 128, 308, or it may be provided to network devices 128, 308 by system controllers 160, 306 at 414. For example, an organized list of device identifiers and / or corresponding signal strengths can be provided to network devices 128, 308.
[0134] At 416, system controllers 160 and 306 can receive association information from network devices 128 and 308. Control devices 304 can be associated with each other via commands on network devices 128 and 308. For example, network devices 128 and 308 may have push-buttons (e.g., soft or hard buttons) for associating one control device (e.g., a control source device) with another control device (e.g., a control target device). Network devices 128 and 308 may provide push-buttons for control devices with signal strengths exceeding a predetermined threshold. Users can associate one control device with another by selecting the appropriate control device displayed on network devices 128 and 308 and / or by selecting the association push-button on network devices 128 and 308.
[0135] The association information received from network devices 128 and 308 may include associations between device identifiers and location identifiers. The association information may also include associations between control devices 304. System controllers 160 and 306 may similarly or alternatively receive control configuration information from network devices 128 and 308, the control configuration information including preset control commands for the identified control device 304. System controllers 160 and 306 may associate control devices 304 at 418. For example, system controllers 160 and 306 may locally store the association information and / or transmit the associated device identifier to the control device 304 for local storage thereon. The control configuration information may also be stored at system controllers 160 and 306 and / or at the corresponding control device 304. Method 400 may end at 420.
[0136] Figure 5This is a block diagram depicting an exemplary method 500 for the discovery and association of control devices. (As shown) Figure 5 As shown, method 500 may begin at 502. At 504, a discovery trigger may be received. The discovery trigger may be received by the load control discovery devices 190, 202, 302, for example, as a message and / or as an actuation of a button on the load control discovery devices 190, 202, 302. The discovery trigger may indicate a discovery range for transmitting a discovery message, or the discovery range may be pre-configured. For example, the discovery message may indicate the size of the location in which the control device is to be discovered, or the discovery range may be explicitly identified. For example, the discovery range may be established by configuring a wireless signal to cover a defined area or by ignoring information obtained from outside the defined area.
[0137] Load control discovery devices 190, 202, and 302 may transmit a discovery message at 506. Load control discovery devices 190, 202, and 302 may transmit the discovery message with an identified transmission power (e.g., identified in the discovery trigger message, locally predefined, etc.). The discovery message may include an identifier of the load control discovery device 190, 202, or 302 and / or a location identifier defining the location. The discovery message may include a discovery message identifier that identifies the message as a discovery message. The discovery message may be an associated message of the control device identified as the load control discovery device 190, 202, or 302. The discovery message may identify the discovery range via the discovery trigger message and / or local storage. The discovery message may be sent directly from the load control discovery device 190, 202, or 302. For example, in response to receiving a discovery trigger message at 504, the load control discovery device 190, 202, or 302 may send the discovery message to the control device 304.
[0138] Load control discovery devices 190, 202, and 302 may receive discovery messages from control device 304 at point 508. For example, load control discovery devices 190, 202, and 302 may receive discovery messages from unidirectional communication devices and / or control devices outside the discovery range. Discovery messages may be sent in response to requests from load control discovery devices 190, 202, and 302, either directly or indirectly. Discovery messages may include a device identifier of the control device 304 from which the discovery message was transmitted. Discovery messages may be associated messages from control device 304.
[0139] Load control discovery devices 190, 202, and 302 may identify and store the signal strength of a discovery message received from control device 304 at 510. The signal strength may be identified by the RSSI of the received discovery message. At 512, a control device identifier from which a discovery message has been received by control device 304 may be provided to system controllers 160 and 306. The signal strength of the discovery message received at load control discovery devices 190, 202, and 302 may also be provided to system controllers 160 and 306. The control device identifier and / or signal strength may be provided in response to a request from system controllers 160 and 306. When network devices 128 and 308 and load control discovery devices 190, 202, and 302 communicate via the same communication signal, the control device identifier and / or signal strength may be provided to network devices 128 and 308 in the same or alternative manner (e.g., in response to a request). The signal strength may be organized at system controllers 160 and 306 in the form of a list (e.g., sorted from highest to lowest signal strength). The control device 304 and / or signal strength can be provided to the network devices 128, 308 in the form of an organized list (e.g., sorted from highest to lowest signal strength).
[0140] System controllers 160 and 306 may receive and store association information and / or control configuration information from network devices 128 and 308 at point 514. The association information and / or control configuration information can be configured via user selection at network devices 128 and 308. System controllers 160 and 306 may send the updated association information and / or control configuration information to the appropriate devices. System controllers 160 and 306 may use the association information and / or control configuration information to send digital messages to control electrical loads in a load control environment. Method 500 may end at point 516.
[0141] Although signal strength can be implemented as a discovery criterion for discovering control devices in method 500, other discovery criteria can be implemented similarly or alternatively. System controllers 160, 306 can use the initial discovery criteria to discover an initial set of control devices. System controllers 160, 306 and / or network devices 128, 308 can use subsequent discovery criteria to further filter the discovered devices. Discovery criteria can be prompted to the user at network devices 128, 308, and the discovered devices can be further filtered based on each criterion selected by the user.
[0142] Figure 6 An exemplary graphical user interface (GUI) 602 is depicted, which can be used to perform the association of control devices at network devices (such as network devices 128, 308). Figure 6As shown, the exemplary GUI 602 may present options for user selection. While options can be presented to the user via buttons in GUI 602, they can also be presented via drop-down lists, checkboxes, etc. Options may 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 to another device, options for assigning a location to a device, and / or options for identifying a device. The device may be associated with a control device (e.g., a control source device and / or a control target device).
[0143] GUI 602 may include a list of discovered control devices 630. The list of discovered control devices 630 may be displayed in response to selection of the Discover button 604. The Discover button 604 may be selected to request the discovery of control devices within the discovery range 606 (e.g., to system controllers 160, 306 and / or load control discovery devices 190, 202, 302). Devices in the discovery range 606 may be organized in the form of an organized dataset based on signal strength. For example, control devices may be sorted on network devices 128, 308 according to signal strength (e.g., from highest to lowest signal strength). Network devices 128, 308 may display control devices with corresponding signal strengths higher than a predetermined threshold in the organized dataset. Control devices may be displayed with a corresponding signal strength indicator 608 indicating the relative signal strength of the discovered control device 630. The discovered control device 630 may be displayed to indicate the device type and / or whether the device is a target device and / or a source device for control. Load control discovery devices 190, 202, 302 may be included in the discovery control device 630 to be associated with location and / or device.
[0144] GUI 602 may display corresponding load control discovery device assignment buttons 632 for one or more of the discovered control devices 630. A user can select a load control discovery device assignment button 632 to assign the corresponding discovered control device 630 as a load control discovery device 190, 202, or 302 at network devices 128 and 308. Network devices 128 and 308 may transmit messages to other devices (e.g., system controllers 160 and 306, the identified load control discovery devices 190, 202, and 302, other control devices, etc.) to identify the assigned control device 630 as a load control discovery device 190, 202, or 302. For example, assigning remote control device 116 as a load control discovery device 190, 202, or 302 designates 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 may disallow association between devices of the same type (e.g., control source devices with control source devices, control target devices with control target devices, etc.).
[0149] Device association button 634 can be selected by the user to unassociate a previously associated control device 630. When device association button 634 is selected for an associated or selected-for-association discovered control device 630, the association can be removed, and network devices 128, 308 can transmit messages to other devices (e.g., system controllers 160, 306, associated devices, other control devices, etc.) to remove the association. Associated devices can be indicated so that the user can remove the association.
[0150] The discovered control device 630 can be selected to identify other association information for the selected control device. For example, the discovered control device 630 can be selected to identify the device identifier of the device currently associated with the selected control device, which may include undiscovered devices. The user can select one or more of the device identifiers and the corresponding device association button 634 of the discovered control device 630 to associate or detach the discovered control device 630 from the selected device. Network devices 128, 308 can transmit messages to other devices (e.g., system controllers 160, 306, associated devices, other control devices, etc.) to update association information.
[0151] GUI 602 may include location association buttons 636 for one or more of the discovered control devices 630. Location association buttons 636 can be selected by the user to associate the corresponding discovered control device 630 with a location. For example, referring again to FIG1, remote control device 116 may be associated with a conference room (e.g., conference room A), a living room, etc. The location may be a pre-configured location (e.g., a predefined location such as load control discovery devices 190, 202, 302) or a location that the user may be prompted to select for assignment. Network devices 128, 308 may transmit messages to other devices (e.g., system controllers 160, 306, associated devices, other control devices, etc.) to identify the location association. Location associations may be included in device association information and may be updated using device associations.
[0152] The location association button 636 can be selected by the user to detach the discovered control device 630 from the previously associated location. When the location association button 636 is selected for a discovered control device that is already associated with a location or is selected for a location, the association can be removed, and the network devices 128, 308 can transmit messages to other devices (e.g., system controllers 160, 306, associated devices, other control devices, etc.) to remove the association with the location.
[0153] The discovered control device 630 can be selected to identify other locations associated with it. For example, the discovered control device 630 can be selected to identify a location identifier of the location currently associated with the selected control device. The user can select one or more of the location identifiers and the corresponding device association button 634 of the discovered control device 630 to associate or detach the discovered control device 630 from the selected location. Network devices 128, 308 can transmit messages to other devices (e.g., system controllers 160, 306, associated devices, other control devices, etc.) to update association information.
[0154] GUI 602 may include a device identification button 638 for one or more of the discovered control devices 630. The device identification button 638 may be selected by a user to identify the corresponding discovered control device 630 to the user. Selecting the device identification button 638 for the corresponding device may cause network devices 128, 308 to send digital messages to system controllers 160, 306 and / or where the devices identify themselves to the user. The digital message may include load control instructions corresponding to the control device, used to control electrical loads (e.g., control the corresponding electrical load, turn on an LED on the device, turn off an LED on the device, make an LED on the device blink, perform an audible identification, etc.) to identify the device. Alternatively, the digital message may be a request for the device to identify itself, and the system controllers 160, 306 and / or the devices may determine the load control instructions locally.
[0155] 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 GUI 602, the remote control device can be instructed to identify itself to the user. Remote control devices can identify themselves visually or audibly. Lighting controls can identify themselves by flashing the corresponding lighting fixture. Thermostats can identify themselves by flashing indicator lights, thereby providing a message on the thermostat display and / or identification via the HVAC system controlled by the thermostat. Thermostats can provide indication via the HVAC system by turning the HVAC system on or off, increasing or decreasing the temperature of the HVAC system, or similar actions. Electric curtains can identify themselves by moving the corresponding covering material they control.
[0156] Although GUI 602 includes corresponding buttons 632, 634, 636, 638 for each of the discovered control devices 630 to identify the selection of the corresponding function for the identified device, GUI 602 may 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, GUI 602 may include a single load control discovery device assignment button 632, device association button 634, location association button 636, and / or device identification button 638, which correspond to the discovered control device 630 and / or the identified location. The discovered control device 630 may be displayed as a button to be selected to identify the device, and buttons 632, 634, 636, 638 may be selected to indicate the corresponding function for the identified device.
[0157] Figure 7 An exemplary graphical user interface (GUI) 700 is depicted for performing location association at network devices (such as network devices 128, 308). The GUI 700 can be used to select a location 714 to which a discovered control device can be associated or deassociated. For example, a location association button 636 is selected. Figure 6 As shown, GUI 700 can be displayed at network devices 128 and 308. Different locations 714 can be displayed on GUI 700 for association with control devices. Locations 714 can be displayed by name and / or by identifier.
[0158] Location 714 can be displayed to indicate the location's identifier and / or category. For example, such as... Figure 7 As shown, location 714 may include meeting rooms (e.g., meeting room A 702, meeting room B 704, meeting room C 706, etc.), cafeteria 708, offices (e.g., office A 710, office B 712, etc.) and / or the like. Location 714 may be presented as buttons that a user can select to associate the discovered control device with one or more of locations 714.
[0159] Figures 8A to 8JAn 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) in 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 Pico® remote control option), occupancy sensor option 824, or daylight sensor option 826. Remote control device option 822 allows the user to select the type of remote control device to add to the defined area. Occupancy sensor option 824 allows the user to select the type of occupancy sensor to add to the defined area. Daylight sensor option 826 allows the user to select the type of daylight sensor to add to the defined area. The device type may 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 can be altered to encompass a wider range in an attempt to detect other devices.
[0162] The input device option allows the user to select the type of device to be assigned as a load control discovery device. Network devices can display button actuation commands on the screen 830 (e.g., ...). Figure 8D (As shown) to assign the device as a load control discovery device and / or transmit discovery messages. The button actuation instruction screen may include image 832, which shows the user instructions for entering the discovery mode of the selected device. Image 832 may, for example, instruct the user to actuate the button of the selected input device, after which the user may press and hold the appropriate button of the input device located in the area. For example, if remote control device option 822 is selected on input device selection screen 802, image 832 of button actuation instruction screen 830 may be an image of a remote control device (e.g., a 5-button Pico® 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). Figure 8D As shown. The selected device can send a discovery message when executing instructions for the control device in the discovery area.
[0163] The network device can display one or more alternative device options 834 for the identified device type. Each of the alternative device options 834 can be selected to change the image 832 on the button actuation command screen 830 to an image of the selected remote control device and corresponding instructions for that device. The remote control device may have a different number of buttons and can display appropriate instructions for the identified remote control device. If either the occupancy sensor option 824 or the daylight sensor option 826 is selected on the device input selection screen 820, the image 832 on the button actuation command screen 830 can be an image of either the occupancy sensor or the daylight sensor, respectively, with appropriate instructions for actuating the buttons on each of those sensor devices.
[0164] The network device can receive and display a list of control devices within the detection range of the input device. The list of control devices may include multiple different types of control devices, or the types of control devices may be displayed on a separate screen. For example... Figure 8E As shown, the list of discovered control devices may include a list of lighting equipment, which includes lighting control devices that respond to the emitted discovery message. The network device may (e.g., when a user selects to view a list of devices to be added) display a device identification screen 840 with a list 842 containing device identifier 844. While a device identification screen 840 is provided as an example, similar screens displaying other discovered control devices or general control device screens may be used.
[0165] The list 842 of device identifiers 844 can be displayed in an order determined by the proximity of the device to the input device on which the actuation button is located, thus reducing signal strength (e.g., as described herein). The device identifier 844 of the lighting control device characterized by the highest signal strength can be located at the top of the list 842. When identifying the selection of more device options 843, the network device can display additional devices. The additional devices can be the next group of devices in the device list organized according to signal strength. The list of devices can be cycled through until returning to the original list of devices that received the discovery message with the highest signal strength.
[0166] The network device can receive an instruction to identify one of the lighting control devices in the lighting fixture by the user selecting the flashing option 845 for the corresponding device identifier 844 immediately following the lighting control device in list 844. The network device can send a message to the system controller or directly to the lighting control device, causing 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] Users can select one or more lighting control devices to be associated with the selected input device by selecting the device identifier 844 of the corresponding lighting control device in list 842, using the selection icon 846. For example... Figure 8F As shown, when the network device receives a selection for one of the selection icons 846 in list 842, the selection icon can change to a checkmark icon 848, thereby indicating that the lighting control device with the device identifier 844 is selected to be associated with the identified input device. The network device can receive a selection for the flashing option 845 to confirm each lighting control device to be associated with the input device. The user can confirm that the lighting control device is in the current area (e.g., in load control environment 100 and / or room 102 shown in FIG. 1).
[0168] When a user has selected a lighting control device in a lighting fixture to associate with an identified input device (e.g., an actuation button on it), the network device can receive a selection of the next option 849 on the device identification screen 840. The network device can identify the selected device identifier of the lighting control device in the lighting fixture to associate with the input device. The input device and the selected device identifier can be associated with the information stored at the network device. The network device can send the association information to the system controller and / or the identified device (e.g., the control target device) in the association information for storage on the system controller and / or the identified device. Although the next option 849 can be identified for generating association information and / or sending association messages to other devices, association information can be generated and / or sent to a device when the corresponding selection icon 846 is selected.
[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 to 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 to 8JThe display configuration shown can be used to optimize the limited display area on network devices.
[0176] Figures 9A to 9C Another exemplary flowchart of an exemplary zone configuration procedure 900 as described herein is shown, which allows a user (e.g., user 132 of Figure 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 for lighting fixtures, motorized curtains, 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 may include associating one or more control source devices in the zone with one or more control target devices in that zone, such that the control source devices can control the control target devices in that zone. The configuration may also include configuring a system controller such that the system controller can (e.g., automatically via a scheduler, by means of user input via a network device, etc.) control the devices in each zone.
[0177] As described herein, the configuration procedure 900 may 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 may interface with / communicate with system controller 906 over a communication network via a web-based interface, provided by system controller 906 (but other interfaces may be used). System controller 906 may then communicate with control device 904 over a communication network, which may be the same or different from the network used by network device 908. System controller 906 may communicate with control source device 902 and / or one or more control target devices 904. Control source device 902 may be assigned as a load control discovery device, which may communicate with control target device 904 and / or system controller 906. Procedure 900 may include additional, fewer, or other devices and / or messages as discussed herein. Procedure 900 may include steps in a different order.
[0178] Beginning at 920, a region or location can be created at network device 908, and the region can be defined at system controller 906 by sending the region to system controller 906. The region can be created by a user via network device 908 (e.g., through a graphical user interface), which can instruct system controller 906 that the user wishes to create / define a region. A defined region can correspond to a specific area (such as room 102 in Figure 1). System controller 906 can assign a name received in a message to this region at 920. System controller 906 can define the region within a database, for example, based on an identifier in a message received at 920.
[0179] At 922, for example, in response to a user selection, network device 908 may instruct system controller 906 to add a control source device to the defined area. In response, at 924, system controller 906 may present the user with a list of possible control source devices that the user can add to the area via network device 908. At 926, network device 908 may, for example, send a selected type of control source device in response to a user selection. The selected type of control source device may correspond to control source device 902 (e.g., as a remote control device or sensor), which may be installed in the defined area.
[0180] In response to the selection of the type of control source device, at 928, the system controller 906 may, for example, instruct a user via network device 908 to actuate the control source device 902 located in a defined area, such as by pressing a button on the device. At 930, the system controller 906 (e.g., automatically or via a request from the user via network device) may transmit / transmit a discovery trigger message over the network to one or more control target devices 904 that may be within the communication range of the system controller 906. Upon receiving the message, the control target device 904 may enter a discovery mode in which it will listen for discovery messages. Some control target devices 904 may be in the area being configured (e.g., area 102), and other control target devices 904 may be in other areas that may not currently be configured (e.g., area 104 shown in FIG. 1). For example, control target device 904 installed in a configured area (e.g., area 102) and control target device 904 located in other unconfigured areas (e.g., area 104) can receive a discovery trigger message and enter a discovery mode to listen for discovery messages.
[0181] At 932, a discovery message can be transmitted from the control source device 902. For example, a user can actuate a button or button combination on the control source device 902 located in a defined area, or a trigger message can be sent to the control source device 902 (e.g., via system controller 906). Upon receiving an actuation or trigger message, the control source device 902 can communicate / transmit the discovery message over a network. The discovery message can be a broadcast message. As described herein, the discovery message may include a unique identifier of the control source device, the device type of the control source device, an indication of the message type, etc. The system controller 906 and the control target device 904, within, for example, the transmission range of the control source device 902, can receive the discovery message. The control target device 904 installed in a specific area being configured (e.g., area 102) and the control target device 904 located in other areas not currently configured (e.g., area 104) can, for example, 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 can be detected in the area being configured (e.g., area 102), and control target devices 904 located in other areas (e.g., area 104) can also be detected. To assist the user in identifying / distinguishing control target devices of interest, system controller 906 can filter 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 message was transmitted. Control target devices 904 with higher / stronger RSSI values are more likely to be in the currently configured area. Filtering may include sorting the list of control target devices 904 according to RSSI values (e.g., in descending order) to show those control target devices with determined RSSI values higher than a predetermined receive power threshold and / or showing the top "X" control target devices with the highest RSSI values, etc. Other variations are possible.
[0186] Suppose, for example, system controller 906 reports multiple control target devices 904 to network device 908, and the user cannot identify which control target device 904 in the configured area (e.g., area 102) corresponds to the control target device presented on the network device, the user, for example, can select one or more of the listed control target devices 904 via network device 908, and instruct system controller 906 at 940 to make one or more of the selected control target devices 904 identify themselves to the user. The control target device 904 can identify itself by transmitting auditory and / or visual signals to the user. This may include, for example, the control target device 904 itself providing a signal (e.g., emitting an audible sound, causing one or more LEDs to blink), or the control target device 904 causing its corresponding load to provide a signal (e.g., a light turning on, off, or blinking, shadow shifting up / down, etc.).
[0187] Upon receiving a request from a user, at point 942, system controller 906 may transmit / send one or more messages over the network to one or more designated control target devices 904, thereby instructing one or more control target devices 904 to provide identification. In response to the messages, the designated one or more control target devices 904 may provide auditory and / or visual signals to the user. At point 944, the user may, for example via network device 908, instruct system controller 906 to cause one or more of the control target devices 904 selected at point 940 to cease transmitting auditory and / or visual signals to the user. After receiving the request, at point 946, system controller 906 may transmit one or more messages over the network to the designated one or more control target devices 904, thereby instructing the control target devices to cease providing signals. In response to the messages, one or more control target devices may cease providing auditory and / or visual signals to the user. Device identification assists the user in associating the correct device at network device 908.
[0188] At 948, the user may provide association information to the system controller 906, for example, via network device 908. The association information may be provided to instruct the system controller 906 to associate the control source device 902 with one or more control target devices 904, for example, presented to the user at 938, and to associate the control source device and one or more control target devices with a defined area (e.g., 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, when a user associates control source device 902 with one or more control target devices 904 and associates the device with a defined area (e.g., area 102), the user can use network device 908 to configure system controller 906 to control one or more control target devices 904. For example, the user can configure system controller 906 to automatically control one or more control target devices 904 (e.g., an automatic lighting control device for lighting equipment to dim the equipment at a set time). At 960, system controller 906 can be configured in response to control configuration information received from network device 908. In response to such configuration, when, for example, a set time occurs, system controller 906 can at 962 transmit control commands to one or more control target devices 904 via one or more control messages over the network. One or more control target devices 904 configured to listen for messages from system controller 906 can receive the messages and execute the indicated commands. In response to such commands, system controller 906 can transmit one or more configuration messages over the network to one or more lighting control devices to dim the lighting equipment. Other configuration examples are possible.
[0193] Now for reference Figures 9A to 9C An exemplary variant of the configuration procedure 900. As mentioned above, the system controller 906 may report / list each control target device 904 from which an acknowledgment message has been received. However, as noted above, the user may detect control target devices in the area being configured (e.g., area 102) and other areas (e.g., area 104). As noted, it may be necessary to assist the user in identifying / distinguishing the control target device 904 of interest. Alternatively and / or additionally, as noted above, network interference may exist when a large number of devices transmit messages, even with random transmission, when the control target device 904 communicates an acknowledgment message. According to an exemplary variant of procedure 900, the process may proceed to step 933 in a manner similar to the process described above. However, at 934, the system controller 906 may include a detection range or band (e.g., 10 dBm to -50 dBm) in the message when communicating a request for an acknowledgment message. As an additional criterion for the control target device 904 to transmit an acknowledgment message to the system controller 906, the control target device 904 may determine whether the corresponding RSSI value of the acknowledgment message is within a specified range. If the corresponding RSSI value of the acknowledgment message is within the range, the control target device 904 may transmit the acknowledgment message to the system controller 906 as described in step 936. Similarly, the message may be transmitted at a random time. Mechanisms outside the range may be used. For example, the system controller 906 may transmit a single value (e.g., -50 dBm), and if the corresponding RSSI value of the acknowledgment message is higher than said value, the control target device 904 may transmit the acknowledgment message to the system controller 906.
[0194] System controller 906 may again wait for a pre-configured duration from the time the request for an acknowledgment message was communicated in order to receive the acknowledgment message from the control target device. If, at the end of the duration, system controller 906 fails to receive an acknowledgment message from control target device 904 (or receives fewer than a predetermined threshold number of acknowledgment messages), system controller 906 may repeat step 934 and may automatically communicate a subsequent (e.g., second) request for the acknowledgment message over the network, but with a modified detection range. Alternatively, system controller 906 may report a missing response to the user, for example, via network device 908, and cause the user to initiate system controller 906 to communicate a subsequent request for the acknowledgment message. The modified range may be a range that includes (entirely or partially) the previously communicated range, or it may be a range that follows the previous range (e.g., the previous range may be 10 dBm to -50 dBm, and the next range may be -51 dBm to -54 dBm, etc.).
[0195] Similar to step 936, in response to receiving a follow-up request for an acknowledgment message from system controller 906, the corresponding control target device 904 can determine whether the corresponding RSSI value of the acknowledgment message is within the modified range specified in the follow-up request for the acknowledgment message, and if the corresponding RSSI value of the acknowledgment message is within the modified range, transmit the acknowledgment message to system controller 906. Similarly, the message can be transmitted at a random time. System controller 906 can again wait for a pre-configured duration from the transmission of the follow-up request for the acknowledgment message to receive the acknowledgment message from control target device 904. If system controller 906 has not received the acknowledgment message from control target device 904 by the end of the duration, system controller 906 can repeat step 934 again and can automatically transmit another (e.g., a third) request for the acknowledgment message over the network, but with the detection range modified again (e.g., the first range could be 10 dBm to -50 dBm, the second range could be -51 dBm to -54 dBm, and the third range could be -55 dBm to -57 dBm, etc.). If the system controller 906 does indeed receive the confirmation message from the control target device 904, the process can continue as described in a similar manner to 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 (such as...). 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 by increasing or decreasing the signal strength based on the proximity of the input device to the actuation button on it at 1008.
[0200] When a network device receives a selection from each of the control devices to associate with an input device, the network device may associate the selected control device with the input device at 1012 of the area configuration procedure 1000. If the selected control device is not already included in the current area at 1014, the network device may add the device identifier to the list of device identifiers for that area at 1016. The network device may add the input device identifier of the input device to the list of input device identifiers for that area at 1018, and store association information about the association between the input device and the selected control device at 1020. Although the steps are described herein as being performed by a network device, a system controller or control device may also build and store the list of control devices, the list of input devices, and the association information.
[0201] If the zone configuration procedure 1000 is not completed at 1022 (e.g., if more input devices exist to associate with the control devices in the current zone), the zone configuration procedure 1000 may loop back to allow the network device to receive a selection from another input device at 1006 to associate with one or more of the control target devices in the zone. For example, a user may actuate a button on another control source device to associate the control source device in the zone with one or more control target devices. The zone configuration procedure 1000 may exit when the user has completed the configuration of the current zone at 1022. The zone configuration procedure 1000 may be repeated for each zone of the building.
[0202] Figure 11A and Figure 11BAn exemplary graphical user interface (GUI) is illustrated, which 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 region (e.g., during or after the region configuration procedure 1000). 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 network device can be configured to display a device setup screen 1100. The device setup screen 1100 can display configuration options for configuring the current region (e.g., region occupancy configuration option 1102 and region adjustment configuration option 1104). The configuration options can be displayed on the device setup screen 1100 depending on the type of input device associated with the control target device in the region. For example, if at least one remote control device and at least one occupancy sensor are associated with a load control device in the lighting fixtures in the region, then region occupancy configuration option 1102 and region adjustment configuration option 1104 can be displayed on the device setup screen 1100, such as... Figure 11A As shown. 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 area, then the area daylighting configuration option 1106 can be displayed on the device setting screen 1100, such as... Figure 11B As shown.
[0203] In response to the selection of area occupancy configuration option 1102, the network device may display an area occupancy configuration screen (not shown), which allows adjustment of the area's occupancy settings (e.g., sensitivity, timeout setting, etc.). In response to the selection of area adjustment configuration option 1104, the network device may display an area adjustment configuration screen (not shown), which allows adjustment of the area's dimming range settings (e.g., high-end correction, low-end correction, etc.). In response to the selection of area illumination configuration option 1106, the network device may display an area illumination configuration screen (not shown), which allows adjustment of the area's illumination settings (e.g., illumination gain, etc.).
[0204] The device setup screen 1100 may display a list 1108 of previously discovered and / or associated control devices. The network device may receive a selection of one of the input devices in the list 1108 of previously discovered and / or associated control devices. The list 1108 of previously discovered and / or associated control devices may include devices for public areas or different areas. Selection of a previously discovered and / or associated control device may allow configuration information (e.g., association information and / or control configuration information) to be displayed and / or modified for storage.
[0205] Figures 12A to 12CAn exemplary graphical user interface (GUI) is shown, which 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 use (e.g., during or after the area configuration procedure 1000) to configure the control device of an area. 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.
[0206] The network device can display a control device configuration screen 1200, which displays configuration options for configuring the currently selected control device. For example, the control device configuration screen can display configuration options for configuring the currently selected remote control device (such as remote control device 130), such as... Figure 12A As shown. In the selection Figure 11A and Figure 11B When a previously discovered and / or associated control device is displayed in list 1106, a control device configuration screen 1200 may be displayed. The network device may receive the name of the control device and assign the name to the currently configured control device, for example, by entering the name in the control device name text field 1202. The network device may receive instructions for programming the operation of the control device via user selection of programming option 1204. The control device configuration screen 1200 may include associated device identifiers 1206 indicating the number of associated devices controlled by the currently configured input device. The control device configuration screen 1200 may include an identification button 1208 that causes instructions to be sent to the associated devices controlled by the input device to make the associated devices identify themselves. For example, a lighting control device in an associated lighting fixture may be instructed to flash the corresponding lighting load.
[0207] In response to the selection of programming option 1204, the network device can display the control device programming screen 1210. For example... Figure 12BAs shown, the control device programming screen 1210 can display a preset intensity adjustment window 1212, which allows adjustment of the preset intensity of the lighting control devices of the lighting equipment in the area. During control operation, the lighting control device can control the intensity of the controlled lighting load to a preset intensity in response to the actuation of a preset button on a remote control device currently being programmed. The preset intensity adjustment window 1212 may include a single slider control 1214 for adjusting (e.g., simultaneously adjusting) the preset intensity of each of the lighting control devices of the lighting equipment in the area (e.g., simultaneously adjusting the preset intensity of each of the lighting control devices in the area to a single level). The preset intensity adjustment window 1212 may include an increase icon 1216 for (e.g., in response to a single actuation of an increase icon) to increase the preset intensity by a predetermined amount and a decrease icon 1218 for (e.g., in response to a single actuation of an increase icon) to decrease the preset intensity by a predetermined amount.
[0208] The control device programming screen 1210 can display individual device configuration options 1219 (e.g., "Through Equipment Settings" option) to allow adjustment of the preset intensity of the load control device for each of the individual lighting fixtures in the area. Figure 12C As shown, the network device can display a preset adjustment screen 1220 in response to the selection of a single device configuration option 1219. The preset adjustment screen 1220 can display lighting equipment for the area (e.g., such as...). Figure 12C Each of the lighting control devices in the two devices shown has a separate preset intensity adjustment window 1222A, 1222B. Each preset intensity level adjustment window 1222A, 1222B may include slider controls 1224A, 1224B for adjusting the preset intensity of the lighting control device of the corresponding lighting device. Each preset intensity adjustment window 1222A, 1222B may include an increase icon 1226A, 1226B for increasing the preset intensity by a predetermined amount and a decrease icon 1228A, 1228B for decreasing the preset intensity by a predetermined amount. In response to the actuation of a preset button on a remote control device during control operation, the lighting control device may respectively control the intensity of the controlled lighting load to the corresponding preset intensity set in the preset adjustment screen 1220. The preset intensity may be stored in a network device, a system controller, and / or the lighting control device itself. The preset adjustment screen 1220 can display equipment group level control options 1229 (e.g., "same level for equipment group" option) to enable return to the control device programming screen 1210 to allow adjustment of each of the preset intensities of the load control device of the lighting equipment in the area in response to a single slider control 1214 in the preset intensity adjustment window 1212.
[0209] Figure 13Another 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 to 14H 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 monitoring, controlling, and regulating the configuration of control devices in a load control area (e.g., a load control environment 100 such as shown in FIG. 1). For example, after the operation of the control devices in the load control area has been initially configured as described above, it can be displayed... Figures 14A to 14H The GUI shown is accessible via a web interface (e.g., generated by a system controller or other remote device) and / or a control application executed by a network device.
[0214] Network devices can be configured to display, for example... Figure 14A The “System Controller Selection” screen 1400 shown (e.g., hub selection screen) (it will be appreciated that the phrase “System Controller Selection” screen is used herein for descriptive purposes only and other terms and / or phrases may be used to refer to this screen). A load control environment may include multiple system controllers (e.g., multiples of system controllers 160 such as those shown in Figure 1). The system controller selection screen 1400 may display a list 1402 of indications of system controllers 1404 (e.g., hub devices) to which network devices can connect to monitor, control, and regulate the configuration of control devices in the load control environment. For example, a load control environment may include system controllers for each floor of a building, and the system controllers may be named according to the corresponding floor, such as... Figure 14A As illustrated in the example. The system controller selection screen 1400 may also include an "Add System Controller" option 1406, which can be selected to add a new system controller to the load control environment, and subsequently configure controls in multiple rooms for the new system controller. Each indication of the system controllers in list 1402 may be selectable by the user.
[0215] When a user selects one of the system controllers 1404 from list 1402 on system controller selection screen 1400 (such as "Tier 2 system controller"), the network device can connect to the selected system controller (if not already connected) and display as shown below. 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) via 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, for example, in the form of 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 detecting 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 to 8J(As described). Room / area screen 1420 may also include a return control 1425, the user's selection / actuation of which may cause the network device to display the main backend management page screen 1410.
[0217] When a selection of one of the rooms / areas 1424 from list 1422 on room / area screen 1420 (such as “Meeting Room 2C”) is detected, the network device may display as follows: Figure 14D The “Main Back-End Management Page” screen 1430 shown is for the selected room / area (it will be appreciated that the phrase “Main Back-End Management Page” screen is used herein for descriptive purposes only and other terms and / or phrases may be used to refer to this screen). The room back-end management page screen 1430 may list multiple functions (or operations or commands) available for user selection, such as “Energy” function 1432 (e.g., monitoring function), “Light Control” function 1434 (e.g., control function), and “Device and Settings” function 1436 (e.g., adjustment configuration function) (again, the phrases “Energy” function, “Light Control” function, and “Device and Settings” function are for descriptive purposes only). It will be appreciated that these functions are examples, and other, additional, and / or fewer functions may be displayed on the room back-end management page screen 1430. The room back-end management page screen 1430 may also include a return control 1435, whose selection / actuation by the user causes the network device to display the room / area screen 1420.
[0218] Whenever the network device has been navigated to a screen following room / area screen 1420 (as described below), the network device can be configured to display an optional "Go to Room" control (such as control 1439) on the network device's visual display. The network device can be configured to display room / area screen 1420, for example, in response to detecting actuation of the "Go to Room" control on any screen following area / room screen 1420 (it will be appreciated that the "Go to Room" control can consistently take the user to screens other than area / room screen 1420, such as system controller selection screen 1400 or main background management page screen 1410. Other instances are possible). For example, as... Figure 14DAs shown, the room backend management page screen 1430 may include a "Go to Room" control 1439 at the bottom of the screen, and the user's selection / actuation of the "Go to Room" control 1439 causes the network device to display the room / area screen 1420. It will be appreciated that although the "Go to Room" control 1439 is displayed at the bottom of screen 1430, it may be located in 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 may be consistently displayed in the same location (e.g., in the lower right corner of the screen). According to another example, the "Go to Room" control may be displayed across various screens in one or more different locations. It will also be appreciated that labels other than "Go to Room" (such as other words or phrases) may be used to label the control, and the "Go to Room" control may take other forms, such as optional icons, symbols, or buttons.
[0219] When a selection of energy function 1432 on the room backend management page screen 1430 is detected, the network device may display as follows: Figure 14E The “Room Energy” screen 1440 shown (it will be appreciated that the phrase “Room Energy” screen is used herein for descriptive purposes only and other terms and / or phrases, such as “energy screen”, may be used to refer to this screen) may display information about energy usage and / or savings for the electrical load in the room / area selected on the room / area screen 1420 and involved in the room background management page screen 1430. The room energy screen 1440 may include a return control 1445, the user’s selection / actuation of which causes the network device to display the room background management page screen 1430, and may also include a “Go to Room” control 1449, the user’s selection / actuation of which also causes the network device to display the room / area screen 1420.
[0220] When a selection of the control light function 1434 on the room backend management page screen 1430 is detected, the network device can display as follows: Figure 14FThe “Room Control” screen 1450 shown (it will be appreciated that the phrase “Room Control” screen is used herein for descriptive purposes only and other terms and / or phrases may be used to refer to this screen, such as control screen). The Room Control screen 1450 may display controls (e.g., buttons, linear sliders, knobs, etc.) for receiving control inputs for controlling devices and / or electrical loads in a room / area selected on the Room / Area screen 1420 and involved in the Room Backend Management page screen 1430. For example, the Room Control screen 1450 may display an ON button 1452, an UP button 1454, a DR button 1456, and an OFF button 1455. In response to detecting actuation of one of the buttons 1452, 1454, 1456, 1458 on the Room Control screen 1450, a network device may transmit one or more messages indicating the actuated button to a system controller, which may then transmit one or more messages including commands for controlling one or more devices and / or one or more electrical loads in the selected room / area. 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 also 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 may include a return control 1455, whose selection / actuation by the user causes the network device to display a room background management page screen 1430, and may also include a "Go to Room" control 1459, whose selection / actuation by the user causes the network device to display a room / area screen 1420.
[0221] When a selection of device and settings function 1436 on the room backend management page screen 1430 is detected, the network device may display as follows: Figure 14GThe “Device and Settings” screen 1460 shown (it will be appreciated that the phrase “Device and Settings” screen is used herein for descriptive purposes only and other terms and / or phrases, such as device screen or settings screen, may be used to refer to this screen) may display optional configuration options (or commands or operations) (e.g., “Room Occupancy” configuration option 1462, “Room Lighting” configuration option 1464, and “Room Adjustment” configuration option 1466 as similarly described herein, but other, additional, or fewer options may be displayed) for adjusting the configuration of the selected room / area (again, the phrases “Room Occupancy” configuration option, “Room Lighting” configuration option, and “Room Adjustment” configuration option are used for descriptive purposes only). The configuration options that may be displayed on the device settings screen 1460 may depend on the type of input device associated with the control device in the room / area. For example, if at least one remote control device and at least one occupancy sensor are associated with a load control device in a lighting fixture in a room / area, then room occupancy configuration option 1462 and room adjustment configuration option 1466 may be displayed on the device and setting 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 a room / area, then room daylight configuration option 1464 may be displayed on the device and setting screen 1460. It will be appreciated that other examples are possible.
[0222] The device and settings screen 1460 may display a list 1468 of previously discovered and / or associated control devices in the selected room / area. The network device may receive a selection of one of the control devices in the list 1468 of previously discovered and / or associated control devices. The list 1468 of previously discovered and / or associated control devices may include devices for public areas or different areas. Selection of a previously discovered and / or associated control device may allow configuration information (e.g., association information and / or control configuration information) to be displayed and / or modified for storage. The device and settings screen 1460 may include a return control 1465, whose selection / actuation by the user causes the network device to display a room backend management page screen 1430, and may also include a "Go to Room" control 1469, whose selection / actuation by the user causes the network device to display a room / area screen 1420.
[0223] In response to detecting a selection of room occupancy configuration option 1462, the network device may display a "Room Occupancy" configuration screen 1470, which may include options to allow adjustments such as... Figure 14HThe selected room / area occupancy settings (e.g., sensitivity, timeout settings, etc.) are shown with multiple configuration options (or commands, operations, or controls) (it will be appreciated that the phrase "room occupancy" configuration screen is used herein for descriptive purposes only and other terms and / or phrases, such as "configuration" screen, may be used to refer to this screen). In response to detecting a selection of room adjustment configuration option 1466, the network device may display a "room adjustment" configuration screen (not shown), which may include multiple configuration options (or commands, operations, or controls) allowing adjustment of the selected room / area's dimming range settings (e.g., high-end correction, low-end correction, etc.) (it will be appreciated that the phrase "room adjustment" configuration screen is used herein for descriptive purposes only and other terms and / or phrases, such as "configuration" screen, may be used to refer to this screen). In response to detecting a selection of room lighting configuration option 1464, the network device may display a "Room Lighting" configuration screen (not shown), which may include multiple configuration options (or commands, operations, or controls) allowing adjustment of lighting settings (e.g., lighting gain, etc.) for the selected room / area. (It will be appreciated that the phrase "Room Lighting" configuration screen is used herein for descriptive purposes only and other terms and / or phrases, such as "Configuration" screen, may be used to refer to this screen.) Each of the room adjustment configuration screen and the room lighting configuration screen (again not shown in the figures) may include a return control, the user's selection / actuation of which causes the network device to display device and settings screen 1460, and may also include a "Go to Room" control, the user's selection / actuation of which causes the network device to display room / area screen 1420.
[0224] refer to Figure 14HThe room occupancy configuration screen 1470 may display multiple configuration options (e.g., programming options) for occupancy settings in the selected room / area. The room occupancy configuration screen 1470 may display a "Status" option 1472 that allows (e.g., between enabling and disabling) adjustment of the status of one or more occupancy sensors in the selected room / area. The room occupancy configuration screen 1470 may display one or more "Controlled Device" options 1474. In response to detecting a selection of one of the controlled device options 1474, the network device may display a "Controlled Device" configuration screen (not shown) that allows selection of the type of control device that can be controlled by one or more occupancy sensors in the selected room / area. The room occupancy configuration screen 1470 may display one or more "Occupancy Setting" options 1476. In response to detecting a selection of one of the occupancy setting options 1476, the network device may display an "Occupancy Setting" configuration screen (not shown) that allows adjustment of the occupancy settings (e.g., sensitivity, timeout setting, etc.) of one or more occupancy sensors in the selected room / area. Room occupancy configuration screen 1470 may display an "Occupancy Group" option 1478. In response to detecting a selection of occupancy group option 1478, the network device may display an "Occupancy Group" configuration screen (not shown), which may allow, for example, configuration of which control device (such as one or more lighting fixtures) in the selected room / area responds to one or more given occupancy sensors in the selected room / area (it will be appreciated that room occupancy configuration screen 1470 may include other, additional, and / or fewer configuration options). Each of the controlled device configuration screen, occupancy setting configuration screen, and occupancy group configuration screen may include a return control, the selection / actuation of which causes the network device to display room occupancy configuration screen 1470, and may also include a "Go to Room" control, the user's selection / actuation of which causes the network device to display room / area screen 1420.
[0225] In response to the selection and / or adjustment of one of the configuration options on the room occupancy configuration screen 1470, the room lighting configuration screen, the room adjustment configuration screen, and / or the subsequent configuration screen, the network device may transmit a message indicating the adjusted configuration setting to the system controller, which may then transmit one or more messages to adjust the configuration of the control devices and / or electrical loads in the selected room / area.
[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] Will realize, Figures 14A to 14H The screen shown is just one example, and other instances are possible. It will also be recognized that... Figures 14A to 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 to 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 to 14H As seen in the discussion, 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 to 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 / area screen is compared to 1420. Using the back control in this way can be confusing and inefficient for the user. For example, the user might not be able to call... Figure 14C The room / area screen 1420 is located in a nested screen tree and therefore may 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 may also have a "Home" type control (as described above), which takes the user back to the main screen / home screen when selected by the user, such as... Figure 14A The system controller selection screen shown is 1400 or as follows: Figure 14B The main backend management page screen 1410 is shown. However, a drawback of using the homepage control as a way to return to the room / area screen 1420 is that the user then needs to make one or more additional choices to return to the desired room / area screen 1420. Therefore, for intermediate screens, such as room / area screens 1420 in a series of nested tree screens with which the user may want to interact multiple times, the "Go to Room" control provides an efficient way to access this screen once the user has gone deep into the nested screen tree. It will be appreciated that the "Go to Room" control can be used with applications other than the load control system described herein.
[0230] Turn now Figure 15A and Figure 15B These figures illustrate flowcharts of an exemplary control program 1500 for monitoring, controlling, and regulating the configuration of control devices in a load control area (e.g., load control environment 100 as shown in Figure 1). The control program 1500 can be executed by using one or more devices, such as network devices (e.g., network device 128), to display a graphical user interface (GUI) on the visual display of the network device and by sending messages to system controllers and / or control devices for controlling and / or configuring the control devices.
[0231] The control procedure can begin at 1510. At 1512, the network device can display the system controller selection screen (e.g., Figure 14A The system controller selection screen shown is 1400. The system controller selection screen can display a list (e.g., multiples of system controllers 160, such as those shown in Figure 1) of system controllers that a network device can connect to for monitoring, controlling, and regulating the configuration of control devices in a load control area. The network device can continue displaying the system controller selection screen until a selection of a system controller is detected at 1514.
[0232] When the system controller is selected at 1514, the network device can display the main backend management page screen at 1516 (e.g., 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 backend management page screen shown is 1430. The room backend management page screen may list multiple selectable functions, such as energy functions (e.g., monitoring functions), light control functions (e.g., control functions), and device and setting functions (e.g., adjustment configuration functions). The room backend management page screen may include a return control; selection of the return control at 1536 causes the network device to display the room / area screen at 1522. The room backend management page screen may also include a "Go to Room" control; selection of the "Go to Room" control at 1538 causes the network device to display the room / area screen at 1522. The network device may continue displaying the room backend management page screen until one of the functions is selected at 1530, 1532, or 1534, the return control is selected at 1536, or the "Go to Room" control is selected at 1538. When a selection of the return control is detected at 1536 or a selection of the "Go to Room" control is detected at 1538, the network device may display the room / area screen at 1522.
[0235] When a selection of energy function on the room backend management page screen is detected at 1530, the network device can display the room energy screen of the selected room / area at 1540 (e.g., ...). Figure 14E The room energy screen shown is 1440. The room energy screen can display information about energy usage and savings for electrical loads in the selected room / area. The room energy screen may include a return control and a "Go to Room" control. The network device may continue displaying the room energy screen until a selection of the return control is detected at 1542 or a selection of the "Go to Room" control is detected at 1544. When the return control is selected at 1542, the network device may display the room background management page screen at 1528. When the "Go to Room" control is selected at 1544, the network device may display the room / area screen at 1522.
[0236] When a selection of a control light function on the room backend management page screen is detected at point 1532, the network device can display the room control screen of the selected room / area at point 1546 (e.g., ...). Figure 14FThe room control screen shown is 1450. The room control screen may display controls (e.g., buttons, linear sliders, knobs, etc.) for controlling control devices and / or electrical loads in the selected room / area. The room control screen may include a return control and a "Go to Room" control. The network device may continue displaying the room control screen until control input is received at 1548, at 1550 the return control is selected, or at 1552 the "Go to Room" control is selected. When 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 may transmit a message indicating the actuated control to the system controller at 1554, which may 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 / area. When a selection of the return control is detected at 1550, the network device may display the room background management page screen at 1528. When a selection of the "Go to Room" control is detected at 1552, the network device may display the room / area screen at 1522.
[0237] When a selection of device and settings functions on the room's backend management page screen is detected at point 1534, the network device can display the selected room's device and settings screen at point 1556 (e.g., ...). Figure 14G The device and settings screen 1460 is shown. The device and settings screen can display configuration options for configuring the selected room / area (e.g., room occupancy configuration options, room lighting configuration options, and / or room adjustment configuration options). The device and settings screen can also display a list of previously discovered and / or associated control devices in the selected room / area. The display of the device and settings screen may include a return control and a "Go to Room" control. The network device may continue displaying the device and settings screen until a selection of one of the configuration options is detected at 1558, a selection of the return control is detected at 1560, or a selection of the "Go to Room" control is detected at 1562. When a selection of the return control is detected at 1560, the network device may display the room backend management page screen at 1528. When a selection of the "Go to Room" control is detected at 1562, the network device may display the room / area screen at 1522.
[0238] When a selection of one of the configuration options on the device and setup screen is detected at 1558, the network device may display a configuration screen for the selected configuration option (e.g., such as...) at 1564. Figure 14H The room occupancy configuration screen 1470 is shown. For example, if a selection of the room occupancy configuration option is detected, then... Figure 14HThe room occupancy configuration screen 1470 shown can be displayed and can show multiple configuration options for the occupancy settings in the selected room / area. The configuration screen for the selected configuration option may include a return control and a "Go to Room" control. The network device may continue to display the configuration screen for the selected configuration option until a selection of configuration input is received at 1566, a selection of the return 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 may transmit a message indicating the adjusted configuration settings to the system controller at 1572, which may then transmit one or more messages for configuring the control device in the selected room / area. When a selection of the return control is detected at 1568, the network device may display the device and settings screen at 1556. When a selection of the "Go to Room" control is detected at 1570, the network device may display the room / area screen at 1522.
[0239] It will be recognized that Control Program 1500 is an instance, and it is possible to include other instances using the “Go to Room” control as described herein.
[0240] As described herein, a user can communicate with a system controller using a network device to configure a load control system. Configuring a load control system may result in the creation of configuration information stored in one or more files. (It will be appreciated that the information may be stored in one or more files. For descriptive purposes only, it will be assumed that the configuration information is stored in multiple files.) These files may be stored at the system controller's memory and may be stored as flat files, as one or more database files as part of a database management system, etc., although other instances are possible (it will be appreciated that portions of the configuration information may also be communicated to various control source devices and control target devices of the load control system (if applicable) for the operation of such devices) (For descriptive purposes only, it will be assumed that the configuration information is stored in multiple database files.) As described herein, the configuration information may include association information. Association information may include defined areas of the load control environment (e.g., rooms), load control devices associated with the corresponding defined areas, and information defining the associations between 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 may also include clock event information, or in other words, commands that the system controller may automatically send to control target devices at set times and dates to control the control target devices. Configuration information may also include configuration options and / or control configuration information, which may include, for example, occupancy settings for occupancy sensors (e.g., sensitivity, timeout settings, etc.), light-gathering settings for daylight sensors (e.g., light-gathering gain, etc.), and definitions of how one or more control target devices should control source devices (e.g., regarding...). Figures 12A to 12C and Figure 13The described remote control device (or similar device) responds to the actuation of one or more preset buttons with preset control commands and zone configurations that can define one or more zones for controlling target devices. It will be appreciated that configuration information may include other types of information. Once the configuration information is defined at the system controller, the user can adjust the configuration information via a network device, which may 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 the defined zones; and / or deassociating associated control devices. Adjusting the configuration information may also include adjusting clock event information and configuration options. According to another aspect 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 user configuring the load control system, such as different parts of the system (such as different zones of the load control environment). It will be appreciated that these are merely examples, and the system controller / load control system may include other, different, and / or additional configuration information.
[0241] As can be discerned in this document, the configuration information stored in the database file of the system controller can be complex and somewhat time-consuming to create. Therefore, if, for example, the system controller experiences a hardware failure requiring replacement with a new system controller, reclassifying the load control system (i.e., recreating the configuration information stored in the failed system controller) via one or more network devices may be a challenging task for one or more users. As an example, because users may need to recreate the configuration information, it may take some time to get the fully functional load control system working and running again. Therefore, it may be desirable for the system controller to create or generate a backup file (also referred to herein as a backup or backup copy) of its configuration information file, and additionally, to store this backup file at one or more locations / computing systems or servers (such as remote servers) 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). Furthermore, because the configuration information is subject to change, it may be desirable for the system controller to create or generate a backup file of its configuration information file, for example, when a change occurs. In this way, if the system controller encounters a hardware failure requiring replacement 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 faster recovery of a fully functional load control system. As described herein, the system controller creating or generating backup files of its configuration information files may include making copies of the configuration information files in the system controller's memory, may include reducing these copies into a single backup file (e.g., a compressed file) (or possibly multiple files), may include reducing or compressing a backup file (or multiple backup files), may include encrypting all or part of a backup file (or multiple backup files), or a combination thereof. Further examples are possible.
[0242] As described herein, the system controller can communicate with the control devices of the load control system on a first communication network. As further described herein, the system controller and network devices can communicate on a second communication network, which may be different from the first communication network. The network devices and system controller may be able to access public networks, such as the Internet, through this second communication network. In this configuration, the system controller can create backup files of its configuration information files and communicate with a remote server on the second communication network to, for example, store a copy of the backup files on the remote server. According to another example, the second communication network may alternatively be a private network that cannot access public networks. This second communication network may be specifically used for the purposes for which the network devices and system controller can communicate as described herein, and is not a network that includes other systems, such as a remote server for storing backups. An example of this configuration is configuring 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 subsequently communicate with the system controller as described herein to configure, monitor, and control the load control system. It will be appreciated that other forms of private networks can be configured and used. One advantage of this private network is that it provides a level of security to the system controller, preventing unauthorized access from devices on the public network. However, a disadvantage of this configuration is that, due to the lack of access to remote servers on either the public or private network, the system controller may lack a mechanism for storing backup copies of configuration information files on a separate system / server. As further described below, the network device can act as a conduit to such a remote server. For example, the network device can request the system controller to generate a backup of the configuration information files. In response to this request, the system controller can supply, communicate, or deliver a copy of the backup to the network device. The network device can then communicate or deliver the backup to a remote server.
[0243] Now for reference Figures 16A to 16CAn exemplary flowchart of an exemplary procedure or process 1600 is shown, through 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 that is separate from the system controller (e.g., the separation is because the system controller and the remote server may not be able to communicate directly with each other over the network). According to this example, the system controller 1684 may 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 the control devices of the load control system as described herein via 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 network device 1680) via a second communication network (such as a private network as described above) separate from the first network (it will be appreciated that, as yet another example, the first and second communication networks may be the same network). According to another aspect of this example, the network device can communicate with the remote server 1690 via a third communication network (such as a public network) that is separate from the first and second communication networks (e.g., because the remote server may not be able to access and / or transmit messages via the third communication network on the first and / or second communication networks). The network device 1680 can be configured to communicate simultaneously (e.g., similar to how mobile phones can communicate on cellular and WiFi-based networks) or at different times on both the second and third communication networks.
[0244] according to Figures 16A to 16CIn this example, system controller 1684 may include a server application that can be executed as one or more software-based processes providing the features and functions described herein. As an example, processes may include, for instance, server process 1686 and platform process 1688, but other, additional, and / or different processes may be used to provide the features and functions described herein. According to one example, the system controller may be configured as a web server, allowing network device 1680 to interface with the system controller as a web client and configure, control, and monitor the load control system through the web client. In this example, system controller 1680 may generate a GUI provided to user 1632 via the web client of the network device. In this way, the network device may display information received from the system controller and / or may receive user input from user 1632 to convey information and commands to the system controller for the user to configure, monitor, and control the load control system as described herein. According to this example, system controller 1684 may similarly or alternatively be configured to allow network device 1680 to execute a control application and interface with the system controller through this application. For example, a control application may be initiated or launched by user 1632 of network device 1680. Once initiated, the control application may execute as one or more software-based processes including control process 1682, but it will be appreciated that other, additional, and different processes may be used to provide the features and functions described herein. In such an example, control process 1682 may generate a GUI provided to user 1632. In this way, control process 1682 may (e.g., through a GUI generated by the control process) display information received from system controller 1684 and / or may (however, such a GUI) receive user input from the user to convey 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 connecting to the system controller 1684 via a web client on the network device may not cause the system controller to generate a backup of the configuration information file, as described below. The system controller may only generate a backup of the configuration information file when a user connects to the system controller interface via a control application of one or more network devices. This is described from the perspective of network device 1680 connecting to the system controller 1684 via a control application. Figures 16A to 16CThe exemplary procedure is as follows. Regarding the remote server 1690, it can be a standard computing server including a storage application that can be executed as one or more software-based processes providing the backup features described herein. As an example, the process may include, for example, stored procedure 1692, but other, additional, and / or different processes may be used to provide the features and functionality described herein. As further described below, the system controller 1684 may 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 may receive a copy of the backup from the network device 1680 via stored procedure 1692 and store the backup within, for example, a memory storage system.
[0245] Turn now Figure 16AThe server process 1686 of the system controller 1684 may include one or more defined "trigger points" that can be considered events. The server process may monitor 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 may communicate a message to the control process 1682 of the network device 1680. The message may include a command to cause the control process 1682 to request the server process 1686 to generate a backup, as described below. Each trigger point of the server process 1686 may include a defined trigger level, such as a value from 0 to 4. The trigger level provides 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 appreciated that these levels are merely examples, and other indications of level / importance may be used, including fewer or additional levels. As an example, one of the defined trigger points may include user 1632 successfully logging into system controller 1684 via network device 1680 (where successful login may include, for example, providing a username and / or password). This trigger point may have level 1. As another example, one of the defined trigger points may include user 1632 of the network device selecting a backup feature (such as a backup feature via a GUI) that causes control process 1682 to transmit a message to server process 1686, the message including commands for generating a backup and delivering or provisioning that backup to the network device. This trigger point may have level 0. As an example, this backup selection feature may be the only trigger point with this level 0, such that when a user requests to generate a backup, the backup is always generated as described below. As another example, one of the defined trigger points may include control process 1682 automatically generating a message (such as based on a clock schedule) and transmitting the message to server process 1686, the message including commands for generating a backup and delivering or provisioning that backup to the network device. This trigger point may have level 1. As another example, certain changes to the configuration information of the system controller may have associated trigger points. For example, removing a control source device or control target device from a load control system may have an associated trigger point of level 3. Adding or creating a new zone within a load control system, and possibly adding one or more control devices to said zone, may have an associated trigger point of level 1. Removing a zone from a load control system having at least one control device may have an associated trigger point of level 3. Changing the preset settings of a remote control device may have an associated trigger point of level 2. Changing the dimming range settings (e.g., high-end correction, low-end correction, etc.) of one or more zone / lighting control devices may have an associated trigger point of level 3.Changing the daylighting settings of one or more zone / daylight sensors can have an associated trigger point of level 3. Changing an occupied sensor from occupied to idle can have an associated trigger point of level 2. Changing, for example, the sensitivity setting or timeout setting of an occupied sensor can have an associated trigger point of level 3. Activating and / or deactivating load shedding can have an associated trigger point of level 4. Changing the load shedding setting can have an associated trigger point of level 1. Adding and / or deleting clock events can each have an associated trigger point of level 3, or a higher level such as 1. Updating the time, date, or enable / disable status of a clock event can have an associated trigger point of level 3. Modifying the way the control device is controlled during a clock event can have an associated trigger point of level 1. These are merely examples, and other, additional, and different examples of trigger points and levels are possible.
[0246] Turn now Figure 16AIn step 1602, user 1632 can log in to the system controller via control process 1682 (step 1602A). Logging in to the system controller may require passing an OR message between the system controller and the network device. Once logged in, the user can select backup features via, for example, a GUI provided by the control process, which allows the user to specifically instruct the system controller to generate backups and / or provision, communicate, deliver, or offer backups (each of these terms is used interchangeably herein) to the network device. When selecting this backup feature, control process 1682 may communicate a message to server process 1686, wherein the message may include a command for causing the server process to generate and / or provision or deliver a backup (step 1602b). (It will be appreciated that multiple messages may actually be communicated when messages are communicated between network device 1680 and system controller 1684 as described at each step or operation of process 1600, and / or between network device 1680 and remote server 1690 as described at each step or operation of process 1600. For ease of description, the discussion of process 1600 may refer to one message at each step or operation. However, it will be appreciated that multiple messages may be communicated.) As another example, the control process may execute a timer that is started when a user logs into the system controller. At a set time that can be configured by the user 1632 (such as every 30 minutes), the control process can automatically transmit a message to the server process 1686, wherein the message may include commands for causing the server process to generate backups and / or provision backups to network devices (step 1602c). As another example, via a GUI provided by the control process 1682, the control process can cause the server process 1686 (e.g., as a result of user interaction with the GUI) to make one or more changes to configuration information and store these changes in one or more database files of the system controller (step 1602d) (i.e., update the configuration information file). As noted, when any of these events (1602a to 1602d) occur, the server process 1686 can monitor the event and determine at step 1604 that one or more trigger point / limited event has occurred. Upon detecting or determining that one or more trigger points have occurred, at step 1606, the server process can transmit a message to the control process 1682. The message may include commands. The command may be a request, suggestion, or instruction to control the process by requesting the server process to generate a backup file of the configuration information file and / or to provide / provision a copy of the current backup file or a new backup file (as described below) to the network device. At step 1606, this message may also include one or more trigger levels associated with one or more trigger points that cause the server process to generate the message at step 1606.On one hand, this message can be seen as the system controller suggesting to the network device that the network device may wish for the system controller to generate a backup of the configuration information file and / or provide / deliver said backup to the network device. By having the system controller / server process 1686 generate the message at step 1606, the server process can be seen as leaving the actual decision regarding whether the server process should generate and / or provide / deliver the backup to the network device / control process 1682. On the other hand, the features provided by the system controller within the load control system can be considered time-sensitive. For example, the system controller may assist in conveying commands from control source devices to control target devices, and / or may convey one or more commands to one or more control target devices in response to clock events. For example, timely processing of such commands may be necessary in terms of the user's perception of the operation of the load control system. For example, due to limited computing resources, the system controller generating or repeatedly generating backups of the configuration information file and providing such backups to the network device may affect the timeliness of such load control commands. By having the system controller provide the network device with an indication that a backup may be needed but then reserving the actual decision regarding whether to complete / generate the backup, the network device's user can control the extent to which the system controller bears the burden of backup processing.
[0247] As noted above, user 1632 can also communicate with the system controller via a web client on the network device. When interacting with the system controller in this manner, server process 1686 can continue to monitor trigger points and can continue to generate messages at step 1606 when a trigger point occurs. According to this example, the web client can be configured to ignore the message at step 1606, thereby never causing the system controller to generate a backup, as described below. Alternatively, when user 1632 communicates with the system controller via a web client on the network device, server process 1686 may not generate a message at step 1606.
[0248] When a message is received at step 1606, control process 1682 may determine at step 1608 whether a backup should be generated at the system controller and / or provisioned or delivered to the network device. This determination may be made manually by user 1632 and / or automatically without user 1632. As an example of a manual process, when a message is received at step 1606, control process may provide an instruction to user 1632 of network device 1680. This instruction may indicate that the system controller is suggesting the generation and storage of a backup at remote server 1690. For example, a GUI-based window may be displayed to the user via the network device. The window may include two options from which the user can select, such as “Continue Backup” and “Do Not Continue Backup”. Based on these options, user 1632 of the network device may decide whether to continue generating and / or provisioning the backup, for example, by selecting one of the options. Other examples are possible. If the user decides not to continue generating the backup, then... Figures 16A to 16C The process shown can be terminated. Alternatively, if the user decides to continue generating backups, control process 1682 may transmit a message to server process 1686 at step 1610, wherein the message may include commands for generating backups and / or providing / providing backups to network devices.
[0249] As an alternative to the manual process just described and / or in addition, when a message is received at step 1606, control process 1682 may automatically determine at step 1608 whether the system controller should generate a backup and / or provision the backup to the network device. Here, the control process may include a filter or threshold that runs for one or more trigger levels delivered at step 1606 along with the message from the server process. If the message at step 1606 includes multiple trigger levels, a filter may run for the lowest trigger level. As an example, the filter may include filter levels with values, for example, from 0 to 4. It will be appreciated that these levels are merely examples and other levels may be indicated, including wider and / or narrower ranges (such as 0 to 5). The filter level value may be configurable by user 1632 (e.g., via a GUI-based option). As part of the filter, control process 1682 may compare the trigger level with the filter level. If the trigger level is less than or equal to (or exactly less than) the filter value, the control process may 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, the control process can determine that a backup should not be generated / provisioned. If the control process decides not to continue generating backups, then Figures 16A to 16CThe process shown can terminate. Alternatively, if the control process decides to continue generating backups, it may communicate a message to the server process at step 1610, wherein the message may include commands for generating backups and / or providing or supplying backups to network devices. By using a filter level, user 1632 can configure control process 1682 to control when backups should be generated / supplyed. For example, if the user sets the filter level to 4, the control process may always request to generate / supply backups (i.e., 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 may only request to generate backups when the trigger level is 0, or in other words, assuming that there are few trigger points with a trigger level of 0, backups should rarely be generated / supplyed (again, when the trigger level is less than or equal to the filter value). By setting the filter level to 2, the control process may only request to generate backups when the trigger level is 2 or lower (again, when the trigger level is less than or equal to the filter value). Here, the user may instruct, for example, that backups should not be generated / supplyed when certain "less" significant changes are made to configuration information. As another example, the control process may allow the user to disable filters, thereby causing the control process to never request the generation / provision of backups. It will be recognized that these are merely examples, and other mechanisms can be used to enable the control process to automatically determine whether a backup should be generated based on the trigger level.
[0250] Referring now to step 1610, as indicated, control process 1682 may communicate a message to the server process at this step, wherein the message may include commands for generating backups and / or providing / providing backups to network devices. The message may also include a signature of the last backup received by control process from system controller 1684 and successfully uploaded or communicated to remote server 1690, and / or a signature of a backup received by control process from system controller 1684 that it intends to attempt and / or attempts to upload to remote server 1690. If control process does not have a stored signature, this value / field may be left blank in the message communicated at step 1610.
[0251] Specifically, whenever the system controller generates a backup of the configuration information file, it can associate a signature with the backup, which uniquely identifies the backup. The system controller can store both the backup and its signature in its memory. As an example, the signature can be a hash value generated by applying a hash function (e.g., 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 it can be in RFC3339Nano format, possibly without nanosecond precision (e.g., RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"), but other forms are possible. Here, whenever the system controller saves the configuration information to a database file, it can update the timestamps of the configuration information file to the current date / time. These timestamps can be used as signatures. For example, assuming configuration information is stored in a single file, the system controller can use the file's timestamp as a signature associated with backups of that file. As another example, assuming configuration information is stored in multiple files, the system controller can use the timestamp of the most recently updated file as a signature associated with backups of those files. As yet another example, assuming configuration information is stored in a single file, the system controller can apply a hash function to the file's timestamp and use the resulting hash value as a signature associated with backups of that file. As yet another example, assuming configuration information is stored in multiple files, the system controller can apply a hash function to the timestamp of the most recently updated file and use the resulting hash value as a signature associated with backups of that file. As yet another example, assuming configuration information is stored in multiple files, the system controller can use the timestamp of each file to form a string (e.g., "YYYY-MM-DD HH:MM:SS YYYY-MM-DD HH:MM:SS ……"), and apply a hash function to the string of timestamps, where the resulting hash value is a signature associated with backups of the files (this string may also include the name of each file, where the hash function is applied to both the timestamp and the name; similarly, other variations can be used). It will be recognized that other instances of the signature are possible / can be used. Whenever server process 1686 supplies or delivers a backup to control process 1682, the server process may also provide a signature associated with the backup. Control process 1682 may store or record this signature in the memory of the network device (e.g., non-volatile and / or volatile memory). In this way, control process 1682 may record the last "version" of the backup received from server process 1686 of system controller 1684.(It will be recognized that network device 1680 can communicate with multiple different system controllers, and can store the signature of each system controller whenever it supplies or delivers a backup to control process 1682.) Whenever control process 1682 receives another / new backup from server process 1686, control process can again store the signature associated with the new backup, thereby replacing the previous backup and its corresponding signature with the new backup and its corresponding signature.
[0252] According to one example, the system controller 1684 may store a backup of the configuration information file in memory at any given time (and, as noted above, in addition to the creation time, etc., discussed below, also, for example, a signature of this backup). This backup may be stored in the volatile or non-volatile memory of the system controller 1684. This backup may be referred to herein as the current backup, the previous backup, or the last / latest backup. Whenever the system controller generates a new backup of the configuration information file, the current backup can be replaced / overwritten with the new backup, thereby 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 an example, and the system controller may alternatively store more than one version of the backup at a time.
[0253] Proceeding to step 1612, in response to receiving a message from control process 1682 at step 1610, server process 1686 may determine whether the system controller is currently generating a backup (i.e., a new backup). As an example, and as noted above, multiple network devices may communicate with the system controller simultaneously in a manner similar to that described for network device 1680. As a result of these interactions with different corresponding network devices, the server process (or an instance of this process for each network device) may be instructed by the respective network device to generate a backup. It will be understood that this is just one example of why the system controller may generate a backup when it receives a message from network device 1680 at step 1610. If the server process determines that a backup is currently being generated, the server process may convey a message to the control process at step 1614. This message may include, for example, a code such as an error code, which instructs the control process that the server process will not generate a backup and / or supply / deliver the backup to network device 1680. Process 1600 may then terminate. Alternatively, the process may proceed to another step, such as step 1616 or step 1622, and attempt to deliver the current backup to the network device. Other instances are possible.
[0254] Alternatively, if the server process determines at step 1612 that no backup is currently being generated, then at step 1616 the server process may determine whether the system controller is currently supplying, delivering, or communicating a copy of the backup (i.e., the current backup copy) to another network device (i.e., a network device other than network device 1680). If so, the server process may also determine how many network devices are currently supplying copies of the backup. Similarly, generating and supplying backups to network devices can consume system controller resources (such as processing time / resources), which may impair the system controller and prevent it from operating in a timely manner within the load control system. Therefore, it may be desirable to limit the number of network devices to which the system controller can supply copies of the backup simultaneously. The number of network devices may be a predefined maximum number / threshold. This number may be, for example, one at a time, two at a time, etc. If the server process determines at step 1616 that copies of the backup are being supplied to the maximum number of network devices, then the server process may communicate a message to the control process at step 1618. The message may include, for example, an error code that instructs the control process that the server process will not generate a backup and / or provision / deliver the backup to network device 1680. Process 1600 may then terminate.
[0255] Alternatively, if at step 1616 the server process determines that copies of the current backup are not currently being supplied to the maximum number of network devices (or that copies of the current backup are not currently being supplied to any network devices at all), the server process may continue with a different variation. As an example, if the server process is supplying copies of the current backup to at least one other network device (i.e., less than the maximum number), the server process may proceed to step 1622. Figure 16B The process also determines whether a copy of the current backup should be provided to network device 1682. Alternatively, the server process may proceed to step 1620 even if it is providing a copy of the current backup to another network device (or not providing a copy of the current backup to any network device at all). Figure 16BThe system controller can determine whether a backup should be generated (i.e., the system controller can continue to provision copies of the current backup to other network devices and begin generating new backups that may be provisioned to network device 1680 without deleting, for example, the current backup, until the current backup is fully provisioned to other network devices). Starting from step 1620a of step 1620, the server process can determine whether the configuration information in one or more configuration information files has changed since the last / latest backup was generated. (As noted above, the control process 1682 may request the generation of a backup due to various trigger points (including trigger points that do not include changes to the configuration information), such as user 1632 requesting a backup. Therefore, it is possible to receive a backup request from the control process 1682 even if the configuration information file has not changed since the last time the backup was generated). As an example, the server process can determine whether the configuration information has changed by comparing the signature of the last / latest (e.g., current) backup generated by the system controller with the signature that could be generated from a backup of the current configuration information file. Similarly, the latest / current backup and its signature can be maintained in the system controller's memory (such as non-volatile memory) (as discussed below, whenever the system controller generates another or new backup and its signature, the previous backup and its signature can be removed or deleted). If the server process determines that the signatures are the same, the server process can determine that no backup needs 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 the signature provided by control process 1682 at step 1610 with the signature that can be generated from the backup of the current configuration information file. If the server process determines that the signatures are the same, the server process can determine that no backup needs 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. Referring to another specific example discussed above, where the backup signature could be the timestamp (without hashing) of the most recently updated configuration information file constituting the backup, the server process can compare this timestamp-based signature of the most recent / latest backup with the timestamps of each file in the configuration information file. If any file has a timestamp newer than (or exactly different from) the signature of the most recent / latest backup, the server process can determine at step 1620a that the configuration information has changed and a backup of the configuration information file 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 / latest backup, the server process can proceed to step 1622.As another similar example, where the backup signature could be the timestamp (without hashing) of the most recently updated configuration information file constituting the backup, the server process can compare the timestamp-based signature of the most recent backup with the timestamp of the latest configuration information file. If they differ, the server process can determine at step 1620a that the configuration information has changed and 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 appreciated that other instances are possible / can be used in determining whether a backup should be generated.
[0256] Turning now to step 1620b, before the server process generates the backup, the server process may then use the creation time associated with the most recently generated / current backup to determine the last time the backup was generated (i.e., the time the current backup was generated). (For example, whenever the system controller generates and saves a backup, the system controller may associate the current date / time (i.e., timestamp) with the backup file, such as when any file is created or updated.) The server process 1686 may compare the creation time associated with the most recently generated / current backup with the current date / time, such as that maintained by the system controller (collectively referred to as the current timestamp). As an example, the current timestamp may be relative to the time the message was received from the control process at step 1610 and the time that the server process could record when the message was received (however, it will be appreciated that the server process may record the current timestamp at some other point in time). When comparing the creation time of the current backup with the current timestamp, the server process may determine the difference between these timestamps and may further compare this difference with an "expiration time." The expiration time may be a predefined 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) an expiration time, for example, the server process may determine not to generate a backup and may 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) an expiration time, for example, the server process may determine to generate a backup and proceed to step 1620c and the generation of the backup. By using an "expiration time" in this way, the server process can prevent the system controller from generating multiple backups in a short period of time. For example, if the system controller is going to create multiple backups in a short period of time, resources (such as processor resources) can be diverted to generating backups instead of efficiently operating the load control system. The expiration time may, for example, be a value that can be configured by the user 1632.
[0257] Assuming a backup is to be generated, proceeding to step 1620c, the server process may communicate a message to platform process 1688, which may include a command for generating the backup. The message may be communicated, for example, via inter-process communication. In response to receiving the message at 1620c, the platform process may generate a backup of the current configuration information file at step 1620d and store the backup in the system controller's memory (e.g., non-volatile memory), thereby replacing and / or deleting the previous backup. Similarly, the creation time may be associated with the backup file when it is stored. At step 1620e, the platform process may next generate a signature for the new backup (as described herein) and store the signature in the system controller's memory (e.g., non-volatile memory), thereby replacing and / or deleting the signature of the previous backup. Again, the new backup may now be referred to as the current backup. Subsequently, at step 1620f, platform process 1688 may communicate a message indicating that a new backup has been generated to server process 1686. The message may include the location of the backup in memory. The message may also include, for example, a signature associated with the backup and, for example, its creation time.
[0258] Now proceeding to step 1622, assuming, for example, no new backup was generated at step 1620, server process 1686 can determine whether 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 server process 1686 by control process 1682 at step 1610 (assuming said signature was provided). If the server process determines that the signatures match, then at step 1624, the server process can communicate a message to control process 1682 that no backup is needed because 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 does not provide a signature at step 1610, and / or (iii) a new backup is generated at step 1620, then at step 1626 the server process may supply, communicate, or provide a copy of the backup to the control process (this copy is the current backup if no backup is generated, or the new backup if a backup is generated). The manner in which the copy of the backup is supplied, communicated, or provided between the system controller and the network device may vary. As an example, the server process may send a copy of the backup to the control process / network device. As another example, the server process may cause the control process to retrieve a copy of the backup from the server process / system processor. It will be appreciated that other variations are possible / can be used. As part of communicating the backup to the control process at step 1626, the server process may also send the signature of the backup. Subsequently, at step 1628, the control process may store the backup and its signature in the memory of the network device, thereby replacing or deleting any previous backup and its corresponding signature that may be stored at the network device.
[0260] Turn now Figure 16COnce a copy of the backup is received from the server process, the control process 1682 may then attempt to upload, communicate, or provide the backup to the remote server 1690. Before attempting to upload, the control process may first wait for a predetermined period of time (referred to herein as the waiting time or waiting period) (step 1630). This period of time may be a user-configurable period. During this period of time, the control process may continue to receive messages from the server process similar to the message received at step 1606, i.e., a command from the server process requesting the server process to generate a backup file. As an example, this may occur because the user 1632 may 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 waiting period, the control process may continue to return to step 1608, as described above, to determine whether it needs to receive a new backup from the system controller and, if necessary, receive the new backup 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 waiting time is that if user 1632 changes the configuration information file within a short period (e.g., less than the waiting time), the network device may not need to continuously upload the new backup to the remote server 1690. Instead, once 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 waiting time expires at step 1630, the control process may then attempt to upload a backup stored in the network device's memory to the remote server 1690. On the one hand, at the time of this attempt, the network device 1680 may not be connected to the third communication network and therefore may not be able to communicate with the remote server 1690. This could be the case, for example, if the network device is not within range of a public cellular network. In this case, the control process may continue operating as described herein, potentially receiving one or more new backups from the system controller, thereby overwriting the previous backup stored in the network device's memory. For example, once the network device is connected to the third communication network, the control process may determine whether it needs to upload the backup to the remote server, as the remote server may already have the backup or a more recent / updated backup. For example, this could happen because another network device may have completed uploading the same backup that network device 1680 attempted to upload to the remote server (or another network device may have completed uploading a more recent backup than the one network device 1680 attempted to upload). Similarly, this could happen, for example, because network device 1680 may not be able to immediately access the remote server.
[0262] According to one example, at step 1633, control process 1682 may determine, for example, the hash / hash value of the backup file it is attempting to upload (e.g., the MD5 sum / hash of the entire file) (this hash value may also be referred to herein as a signature, and may be a second signature different from the signature generated by the system controller when the backup is created. The signature generated by the system controller may be referred to herein as a first signature). It will be appreciated that other values / signatures may be used. At step 1634, control process 1682 may communicate a message to stored process 1692 of remote server 1690, wherein the message may include the calculated hash (i.e., the second signature) and a request regarding whether the stored process has received and / or stored a backup with the calculated hash / second signature (the message may include other and / or additional values, including, for example, the creation time of the backup and / or the first signature of the backup as determined by the system controller). When the message is received at step 1634, the stored process may determine at step 1636 whether it has stored a backup with the calculated hash / second signature. The stored procedure can do this in various ways, including, for example, comparing a hash / second signature, as calculated by control procedure 1682, with a hash / second signature of one or more backups stored at a remote server on system controller 1684 (as an example, the remote server may partition its storage / memory on a system controller basis, such that backups are stored and therefore searchable on a system controller basis). At step 1638, the stored procedure may relay a message back to control procedure 1682, which may include an indication of whether a backup has been stored at the remote server. This message may 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 a backup that the network device is attempting to upload, the control procedure may clear / delete the backup currently stored therein from its memory (step 1640). The control procedure may then continue to store the first signature of the backup just cleared from memory in the memory of the network device (e.g., non-volatile memory) to use this value as described herein (e.g., regarding steps 1610 and 1620a). As another example, the control process may store a signature (i.e., a first signature) returned by the stored procedure at step 1638. For example, this returned first signature may be used as discussed above with respect to steps 1610 and 1620a. In other words, when a 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 / provided to the network device. Process 1600 may then terminate.
[0263] Alternatively, if the message at step 1638 indicates that the remote server does not have the backup that the network device is attempting to upload, exemplary process 1600 may continue in one of several variations. As an example, if stored process 1692 indicates at step 1638 that it does not have a copy of the backup that network device 1680 / control process 1682 will attempt to upload, but it has a more recent / updated backup (e.g., determined based on creation time), the control process may not upload the backup, thus clearing / deleting the backup from its storage (step 1640), and continues to store the signature of that backup (i.e., the first signature) or, as returned by the stored process at step 1638 (i.e., the first signature). Process 1600 may then terminate. Alternatively, if the remote server does not have the backup that the network device will attempt to upload, the control process may proceed to step 1642, regardless of whether it has a more recent backup of system controller 1160, in which the control process may upload a copy of the backup stored at the network device to stored process 1692. The way a backup copy is uploaded or transmitted between the remote server and the network device can vary. As one example, the control process / network device may send a copy of the backup to the stored process / remote server. As another example, the control process may cause the stored process to retrieve a copy of the backup from the control process / network device. It will be appreciated that other variations are possible / can be used. As part of transmitting the backup to the stored process at step 1640, the control process may also send a first signature of the backup and a calculated hash / second signature of the backup. Subsequently, at step 1644, the stored process may store the new backup from network device 1680, the first signature of the backup, and / or the calculated hash / second signature of the backup in the memory / storage system of the remote server. At the network device, the control process 1682 may clear / delete the backup that was just uploaded to the remote server from its memory (step 1646). The control process may continue to store in the network device's memory a signature of the backup that has just been uploaded to the remote server (i.e., the first signature) or a 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). Typically, the control process may continue to periodically attempt to upload the backup stored in the network device's memory until the backup is deleted.
[0264] It will be recognized that this is one example of how network device 1680 can upload a backup to remote server 1690, and other examples are possible / can be used. For example, once the wait time expires at, for example, step 1630, control process 1682 may first communicate a message to stored process 1692 of remote server 1690, wherein the message may include a request for the stored process to return the creation time of the most recent backup stored at the remote server for system controller 1684. In response to this message, the stored process may communicate a message to control process, wherein the message may include the creation time of the most recent backup stored at the remote server. The message may also include a signature of the backup (i.e., a first signature). Control process 1682 may compare the creation time returned by the stored process with the creation time of the backup that control process is attempting to upload to the remote server. If the creation time of the backup that 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 may have an expired backup or the same backup already at the remote server. In this case, control process may clear / delete the backup currently stored therein from its memory. The control process may continue to store the signature of the backup that has just been cleared from memory (i.e., the first signature) in the memory of the network device to use the values as described herein. As another example, the control process may store the signature of the most recent backup (i.e., the first signature) stored at a remote server.
[0265] Alternatively, if the backup that the control process is attempting to upload to the remote server has a creation time more recent than the creation time of the most recent backup stored on the remote server, the control process may upload a copy of the backup stored on the network device to the stored process. As part of communicating the backup to the stored process, the control process may also send the first signature of the backup and the backup's creation time. The stored process may then store the new backup, the first signature of the backup, and the creation time of the backup in the remote server's memory. At the network device, the control process may clear / delete the backup that was just uploaded to the remote server from its memory. The control process may continue to store the first signature and creation time of the backup that was just uploaded to the remote server in the network device's memory.
[0266] As an alternative, stored procedure 1692 and control procedure 1682 may skip steps 1633 to 1646, and the control procedure may only upload backups to the stored procedure. In this example, the stored procedure may determine whether the uploaded backup is newer than its currently stored backup, and store the uploaded backup only if it is newer (e.g., based on creation time). As another alternative, the stored procedure may store all backups received from the network device. It will be appreciated that other variations are possible / can be used.
[0267] It will be appreciated that the load control environment may include multiple load control systems (e.g., each load control system covering a different area of the load control environment), wherein each load control system has its own system controller, such as a first system controller and a second system controller. Network device 1680 may interface with the first system controller and receive a backup from the first system controller, along with a signature (i.e., a first signature) and creation time of this backup. The network device may then store the signature and creation time and upload the backup to a remote server 1690. This upload may occur when the network device receives the backup from the first system controller, or at a later time when the network device is not communicating with the remote server. After interfaceling with the first system controller, network device 1680 may then interface with the second system controller and receive a different backup from the second system controller, along with a signature (i.e., a first signature) and creation time of this backup. The network device may then store the signature and creation time of this backup from the second system controller, while also maintaining the signature and creation time of the backup from the first system controller. The network device can upload backups from the second system controller to the remote server 1690, which can occur when the network device receives a backup, or at a later time when the network device is no longer communicating with the remote server. It will also be appreciated that the remote server 1690 can separately (i.e., without overwriting each other) store each backup, signature, and / or creation time from the first and second system controllers. The remote server can also separately store each backup it receives from a given system controller, possibly as if the network device received different backups from the system controller over time and uploaded each backup to the remote server. Other variations are possible / can be used.
[0268] Although process 1600 has been described as a series of steps or operations, it will be appreciated that the order of steps / operations may vary, not all steps / operations may be necessary, and process 1600 may include additional and / or other process steps / operations.
[0269] Now for reference Figures 16D to 16EReferring to another exemplary process 1650, which may 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 operations / steps may be necessary, and additional and / or other operations / steps may be included, and the order of operations / steps may vary. According to this example, the system controller may have stored one or more files in its memory, such as configuration information files and current backups of these one or more files. Process 1650 may begin at step 1651. Thereafter, at step 1652, the system controller may receive a first message from the network device. This message may, for example, be any message described regarding 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 may determine whether one or more of a plurality of defined trigger points (or trigger points) have occurred (e.g., been triggered). Each of the trigger points may include a trigger level. If no trigger point has occurred, process 1650 may end at step 1654. Alternatively, if one or more trigger points have occurred, the system controller may communicate a second message to the network device at step 1655. The second message may include one or more trigger levels that determine the trigger points. The second message may include a request or command to cause the network device to request a backup of one or more files from the system controller. Based at least in part on communicating the second message to the network device, the system controller may receive a third message from the network device at step 1656, the third message including a command to cause the system controller to generate a backup of one or more files. Based at least in part on receiving the third message from the network device, at step 1657, the system controller may determine whether a backup of one or more files is currently being generated. If a backup is currently being generated, the system controller may proceed to step 162 and communicate a message (e.g., an error message) to the network device, and process 1650 may 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 no backup of one or more files is to be generated, the system controller may proceed to step 1667 and determine whether the current backup has been previously delivered to the network device. If the system controller determines that the current backup has been previously delivered to the network device, the system controller may proceed to step 1672 and deliver a message to the network device, wherein the message may include an indication that the network device has the current backup. Thereafter, process 1650 may end at step 1673. Alternatively, if the system controller determines at step 1667 that the current backup has not been previously delivered to the network device, the system controller may deliver a copy of the current backup (and its signature) to the network device at step 1674. Thereafter, the network device may upload (a step not shown) the current backup to a remote server (such as remote server 1690). Process 1650 may then end at step 1675.
[0273] Return to step 1663 ( Figure 16D If the system controller determines that there has been no change to one or more of the files since the time the current backup of the file was generated, the system controller may proceed to step 1667 again and proceed as described above.
[0274] It will be recognized that process 1650 is an instance and other instances are possible. It will also be recognized that the use of first, second, etc., in this instance and elsewhere in this document means, for example, to distinguish between different messages, signatures, etc., and does not imply a minimum or maximum number of such messages, signatures, etc., or necessarily an order of messages, etc.
[0275] Turn Figure 17 The diagram illustrates an exemplary system controller 1700 as described herein. The system controller 1700 may include, for example... Figures 1A to 1C The system controller 160 shown Figure 3 The system controller 306 shown Figures 9A to 9C The system controller 906 and / or shown Figures 16A to 16CThe system controller 1684 is shown. The system controller 1700 may 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 controller or processing device or the like (collectively referred to below as one or more processors or one or more control circuits 1702). The control circuit 1702 may be configured to execute one or more software-based application programs, which include instructions that, when executed by the control circuit, configure the control circuit to perform signal encoding, data processing, power control, input / output processing, or, for example, any other function, process, and / or operation that enables the system controller 1700 to perform as described herein. It will be appreciated that, in addition to and / or as an alternative to software-based instructions, the functions, features, processes, and / or operations of the system controller 1700 described herein may be provided equally and / or alternatively by firmware and / or hardware. Control circuitry 1702 may store and / or retrieve information from memory 1704, including configuration information / one or more configuration information files, one or more backup files, creation time, and one or more signatures, as described herein. Memory 1704 may also store software-based instructions for execution by control circuitry 1702 and may also provide execution space when the control circuitry executes the instructions. Memory 1704 may be implemented as an external integrated circuit (IC) or as internal circuitry of control circuitry 1702. Memory 1704 may include volatile and non-volatile memory modules / devices and may be non-removable and / or removable memory modules / devices. Non-removable memory may include random access memory (RAM), read-only memory (ROM), hard disk, or any other type of non-removable memory storage device. Removable memory may include a subscriber identity module (SIM) card, memory stick, memory card, or any other type of removable memory. It will be understood that the memory used to store one or more configuration information files and / or one or more backup files and / or software-based instructions, etc., may be the same and / or different memory modules / devices of the system controller. As an example, one or more configuration information files and software-based instructions may be stored in a non-volatile memory module / device, while one or more backups may be stored in volatile and / or non-volatile memory modules / devices.
[0276] System controller 1700 may include one or more communication circuits / network interface devices or cards 1706 for transmitting and / or receiving information. Communication circuit 1706 may be configured to perform wireless and / or wired communication. System controller 1700 may similarly or alternatively include one or more communication circuits / network interface devices / cards 1708 for transmitting and / or receiving information. Communication circuit 1708 may be configured to perform wireless and / or wired communication. Communication circuits 1706 and 1708 may communicate with control circuit 1702. Communication circuits 1706 and / or 1708 may include radio frequency (RF) transceivers or other communication modules configured to perform wireless communication via one or more antennas. Communication circuits 1706 and 1708 may be configured to perform communication via the same or different communication channels. For example, communication circuit 1706 may be configured to communicate via a wireless communication channel (e.g., BLUETOOTH®, Near Field Communication (NFC), WIFI®, WI-MAX®, cellular, etc.) (e.g., with network devices on a network), and communication circuit 1708 may be configured to communicate via another wireless communication channel (e.g., WI-FI® or a dedicated communication channel such as CLEAR CONNECT™) (e.g., with control devices and / or other devices in a load control system).
[0277] Control circuitry 1702 may communicate with one or more LED indicators 1712 to provide indications to a user. Control circuitry 1702 may also communicate with one or more actuators 1714 (e.g., one or more buttons), which may be actuated by the user to convey user selections to control circuitry 1702. For example, actuators 1714 may be actuated to put control circuitry 1702 into an associated mode and / or convey associated messages from system controller 1700.
[0278] Each module within the system controller 1700 can be powered by a power supply 1710. The power supply 1710 may include, for example, an AC power supply or a DC power supply. The power supply 1710 can generate a power supply voltage V. CC The power supply voltage is used to power the modules within the system controller 1700. It will be appreciated that the system controller 1700 may include other, fewer, and / or additional modules.
[0279] Figure 18This is a block diagram illustrating an exemplary control target device 1800 (e.g., a load control device) as described herein. The control target device 1800 may 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 an electric curtain, or other load control device. The control target device 1800 may include one or more communication circuitry / network interface devices or cards 1802. The communication circuitry 1802 may include a receiver, an RF transceiver, and / or other communication modules configured to perform wired and / or wireless communication via a communication link 1810. The control target device 1800 may 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 controller or processing device or the like (collectively, one or more processors or one or more control circuitry 1804). Control circuitry 1804 can be configured to execute one or more software-based application programs, which include instructions that, when executed by control circuitry, configure control circuitry to perform signal encoding, data processing, power control, input / output processing, or any other function, feature, process, and / or operation, such as enabling target device 1800 to perform as described herein. It will be appreciated that, in addition to and / or as an alternative to software-based instructions, the functions, features, processes, and / or operations described herein for target device 1800 can be provided equally and / or alternatively by firmware and / or hardware. Control circuitry 1804 can store and / or retrieve information from memory 1806. For example, memory 1806 can maintain a registry and / or control configuration information associated with the control device. Memory 1806 can also store software-based instructions for execution by control circuitry 1804 and can also provide execution space when the control circuitry executes the instructions. Memory 1806 can be implemented as an external integrated circuit (IC) or as internal circuitry of control circuitry 1804. Memory 1806 may include volatile and non-volatile memory modules / devices and may be non-removable memory modules / devices and / or removable memory modules / devices. Non-removable memory may include random access memory (RAM), read-only memory (ROM), hard disk, or any other type of non-removable memory storage device. Removable memory may include a subscriber identity module (SIM) card, memory stick, memory card, or any other type of removable memory. Control circuitry 1804 may also communicate with communication circuitry 1802.
[0280] The control target device 1800 may include a load control circuit 1808. The load control circuit 1808 may receive commands from the control circuit 1804 and may control the electrical load 1816 based on the received commands. The load control circuit 1808 may send status feedback regarding the state of the electrical load 1816 to the control circuit 1804. The load control circuit 1808 may receive power through a thermal connection 1812 and a neutral connection 1814, and may provide a certain amount of power to the electrical load 1816. The electrical load 1816 may include any type of electrical load.
[0281] Control circuitry 1804 may communicate with actuator 1818 (e.g., one or more buttons), which may be actuated by a user to convey user selections to control circuitry 1804. For example, actuator 1818 may be actuated to put control circuitry 1804 into association or discovery mode and may convey association or discovery messages from target device 1800. It will be appreciated that target device 1800 may include other, fewer, and / or additional modules.
[0282] Figure 19This is a block diagram illustrating an exemplary control source device 1900 as described herein. The control source device 1900 may be a remote control device, an occupancy sensor, a daylight sensor, a window sensor, a temperature sensor, and / or the like. The control source device 1900 may 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 controller or processing device or the like (collectively, one or more processors or one or more control circuits 1902). The control circuit 1902 may be configured to execute one or more software-based application programs, which include instructions that, when executed by the control circuit, configure the control circuit to perform signal encoding, data processing, power control, input / output processing, or, for example, any other function, feature, process, and / or operation that enables the control source device 1900 to perform as described herein. It will be appreciated that, in addition to and / or as an alternative to software-based instructions, the functions, features, processes, and / or operations described herein with respect to control source device 1900 may be provided equally and / or alternatively by firmware and / or hardware. Control circuitry 1904 may store information in memory 1904 and / or retrieve information from memory 1904. Memory 1904 may also store software-based instructions for execution by control circuitry 1902 and may also provide execution space when the control circuitry executes the instructions. Memory 1904 may be implemented as an external integrated circuit (IC) or as internal circuitry of control circuitry 1904. Memory 1904 may include volatile and non-volatile memory modules / devices and may be non-removable and / or removable memory modules / devices. Non-removable memory may include random access memory (RAM), read-only memory (ROM), hard disk, or any other type of non-removable memory storage device. Removable memory may include a subscriber identity module (SIM) card, memory stick, memory card, or any other type of removable memory.
[0283] The control source device 1900 may include one or more communication circuitry / network interface devices or cards 1908 for transmitting and / or receiving information. The communication circuitry 1908 may transmit and / or receive information via wired and / or wireless communication. The communication circuitry 1908 may include a transmitter, an RF transceiver, and / or other circuitry configured to perform wired and / or wireless communication. The communication circuitry 1908 may communicate with the control circuitry 1902 for transmitting and / or receiving information.
[0284] Control circuitry 1902 may also communicate with one or more input circuits 1906. Input circuitry 1906 may include one or more actuators (e.g., one or more buttons) and / or sensor circuitry (e.g., occupancy sensor circuitry, sunlight sensor circuitry, or temperature sensor circuitry) for receiving inputs that may be sent to a control target device for controlling an electrical load. For example, a control source device may receive inputs from input circuitry 1906 to put control circuitry 1902 into an associated mode and / or to convey associated messages from the control source device. Control circuitry 1902 may receive information from input circuitry 1906 (e.g., indication that a button has been actuated or sensed information). Each of the modules within control source device 1900 may be powered by power supply 1910. It will be appreciated that control source device 1900 may include other, fewer, and / or additional modules.
[0285] Figure 20 This is a block diagram illustrating an exemplary network device 2000 as described herein. The network device 2000 may include, for example... Figures 1A to 1C The network device 128 shown Figure 3 The network device 308 shown Figures 9A to 9C The network device 908 and / or shown Figures 16A to 16CThe network device 1680 is shown. Network device 2000 may 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 controller or processing device or the like (collectively, "one or more processors" or "one or more control circuits 2002"). Control circuit 2002 may be configured to execute one or more software-based application programs, which include instructions that, when executed by the control circuit, configure the control circuit to perform signal encoding, data processing, power control, input / output processing, or, for example, any other function, feature, process, and / or operation that enables network device 2000 to perform as described herein. It will be appreciated that, in addition to and / or as an alternative to software-based instructions, the functions, features, processes, and / or operations described herein may be provided equally and / or alternatively by firmware and / or hardware. Control circuitry 2002 may store and / or retrieve information from memory 2004, including one or more backup files, creation time, hash value, and one or more signatures as described herein. Memory 2004 may also store software-based instructions for execution by control circuitry 2002 and provide execution space when the control circuitry executes the instructions. Memory 2004 may be implemented as an external integrated circuit (IC) or as internal circuitry of control circuitry 2002. Memory 2004 may include volatile and non-volatile memory modules / devices and may be non-removable and / or removable memory modules / devices. Non-removable memory may include random access memory (RAM), read-only memory (ROM), hard disk, or any other type of non-removable memory storage device. Removable memory may include a subscriber identity module (SIM) card, memory stick, memory card, or any other type of removable memory. It will be understood that the memory used to store one or more backup files and / or software-based instructions, etc., may be the same and / or different memory modules / devices of the network device. As an example, software-based instructions may be stored in a non-volatile memory module / device, while one or more backups may be stored in volatile and / or non-volatile memory modules / devices.
[0286] Network device 2000 may include one or more communication circuits / network interface devices or cards 2008 for transmitting and / or receiving information. One or more communication circuits 2008 may perform wireless and / or wired communication. One or more communication circuits 2008 may include an RF transceiver or other circuitry capable of performing wireless communication via one or more antennas. One or more communication circuits 2008 may communicate with control circuitry 2002 for transmitting and / or receiving information.
[0287] The control circuitry 2002 may also communicate with one or more displays 2006 to provide information to a user (such as user 132 or 1632). The control circuitry 2002 and / or the displays 2006 may generate a GUI for display on the network device 2000. The displays 2006 and the contro...
Claims
1. An electrical load control system controller, communicatively coupled to a plurality of control devices via a first network, the controller comprising: The first communication interface circuit can be coupled to the first network; The second communication interface circuit can be coupled to a second network that is different from the first network; Memory circuits; The control circuit is communicatively coupled to the first communication interface circuit, the second communication interface circuit, and the memory circuit. The control circuit is used to: Receive configuration backup request from network device via the second communication interface circuit. In response to receiving the configuration backup request, determine whether a backup trigger point has occurred. In response to determining that the backup trigger point has occurred, a backup availability message is sent to the network device via the second communication interface circuit. Receive backup request command from the network device via the second communication interface circuit. Determine if one or more backup error conditions exist. Determine if any configuration changes have occurred since the last backup. Determine whether the period of invalidity has elapsed since the last backup. A configuration backup file will be generated in response to the following situations: It has been determined that configuration changes have occurred since the last backup, or Determine the elapsed time period since the last backup. This causes the configuration backup file to be stored in the memory circuit, and Generate a signature for the configuration backup file.
2. The controller of claim 1, wherein, To determine whether the backup trigger point has appeared, the control circuit is further configured to: Determine whether the backup trigger point has occurred since the last backup.
3. The controller of claim 1, wherein, To determine whether the one or more backup error conditions exist, the control circuit is further configured to: Determine whether the configuration backup file is currently being generated.
4. The controller according to claim 1, wherein, To determine whether the one or more backup error conditions exist, the control circuit is further configured to: Determine whether the configuration backup file is currently being sent to the maximum number of network devices.
5. The controller according to claim 1, wherein the control circuit is further configured to: Determine whether the network device can access the most recently configured backup file.
6. The controller according to claim 5, wherein, To determine whether the network device can access the most recently configured backup file, the control circuit is further configured to: The system controller control circuitry determines whether the network device can access the recently configured backup file, which is a file stored in the network device's memory.
7. The controller according to claim 5, wherein, To determine whether the network device can access the most recently configured backup file, the control circuit is further configured to: The system controller control circuitry determines whether the network device can access the most recently configured backup file, which is stored as a file on a network server.
8. The controller according to claim 5, wherein the control circuit is further configured to: In response to determining that the network device can access the most recently configured backup file, a message indicating that no backup is required is transmitted to the network device via the second communication interface circuit.
9. The controller according to claim 8, wherein the control circuit is further configured to: In response to determining that the network device cannot access the most recently configured backup file, the generated configured backup file is transmitted to the network device via the second communication interface circuit.
10. A method for configuring an electrical load control system controller, the electrical load control system controller being communicatively coupled to a plurality of control devices via a first communication interface, the method comprising: The system controller circuit receives a configuration backup request from the network device via the second communication interface circuit. The system controller control circuit, in response to receiving the configuration backup request, determines whether a backup trigger point has occurred; In response to determining that the backup trigger point has occurred, the system controller control circuit sends a backup availability message to the network device via the second communication interface circuit. The system controller control circuit receives a backup request command from the network device via the second communication interface circuit. The system controller control circuit determines whether one or more backup error conditions exist; The system controller control circuitry determines whether a configuration change has occurred since the last backup; The system controller control circuit determines whether a period of failure has elapsed since the last backup. The system controller control circuit generates a configuration backup file in response to the following conditions: The system controller control circuitry determines that a configuration change has occurred since the last backup, or The system controller control circuit determines the time period of failure that has elapsed since the last backup; The system controller control circuit causes the configuration backup file to be stored in a communication-coupled memory circuit; as well as The system controller controls the circuitry to generate a configuration backup file signature.
11. The method according to claim 10, wherein, Determining whether the backup trigger point has appeared also includes: The system controller control circuit determines whether the backup trigger point has occurred since the last backup.
12. The method according to claim 10, wherein, Determining whether one or more backup error conditions exist also includes: The system controller control circuit determines whether the configuration backup file is currently being generated.
13. The method according to claim 10, wherein, Determining whether one or more backup error conditions exist also includes: The system controller control circuitry determines whether the configuration backup file is currently being sent to the maximum number of network devices.
14. The method of claim 10, further comprising: Determine whether the network device can access the most recently configured backup file.
15. The method according to claim 14, wherein, Determining whether the network device can access the most recently configured backup file also includes: The system controller control circuit determines whether the network device can access the recently configured backup file, which is a file stored in the network device's memory.
16. The method of claim 14, wherein, Determining whether the network device can access the most recently configured backup file also includes: The system controller control circuitry determines whether the network device can access the most recently configured backup file, which is stored as a file on a network server.
17. The method of claim 14, further comprising: In response to determining that the network device contains the most recently configured backup file, the system controller control circuit sends a no-backup message to the network device via the second communication interface circuit.
18. The method of claim 17, further comprising: In response to determining that the network device does not contain the most recent configuration backup file, the system controller control circuit sends the generated configuration backup file to the network device via the second communication interface circuit.
Citation Information
Patent Citations
Electrical load system controller and electrical load network configuration backup method
CN116248426A
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