Positioning routers of a network around noise sources

By identifying the range around the noise source in the load control system and assigning router device roles based on signal strength and measurement data, communication problems caused by noise source interference are solved, improving the system's communication quality and network efficiency.

CN115804151BActive Publication Date: 2026-07-21LUTRON TECHNOLOGY COMPANY LLC
View PDF 16 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
LUTRON TECHNOLOGY COMPANY LLC
Filing Date
2021-05-15
Publication Date
2026-07-21

Smart Images

  • Figure CN115804151B_ABST
    Figure CN115804151B_ABST
Patent Text Reader

Abstract

A load control system can include control devices configured to communicate via a network. The network can include router devices (e.g., a leader device and other router devices) for enabling communication of messages throughout the network. A boundary router device can be assigned to assist in communication around a noise source. The boundary router device can be identified as being outside a first range from the noise source and inside a second range from the noise source. Control devices closer to the noise source within the first range can be assigned as end devices. The boundary router device outside the first range can be close enough to the end devices within the first range to assist the end devices in communication around the noise source.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 025,861, filed May 15, 2020, the contents of which are incorporated herein by reference in their entirety. Background Technology

[0003] User environments (such as residential or office buildings) can be configured using various types of load control systems. Lighting control systems can be used to control lighting loads that provide artificial light in the user environment. Electric window covering control systems can be used to control natural light provided to the user environment. Heating, ventilation, and air conditioning (HVAC) systems can be used to control the temperature in the user environment.

[0004] Each load control system may include various control devices, including input devices and load control devices. The control devices may receive messages for controlling the electrical load from one or more of the input devices, the messages including load control commands. The control devices may be able to directly control the electrical load. The input devices may be able to indirectly control the electrical load via the load control devices. Examples of load control devices may include lighting control devices (e.g., dimmer switches, electronic switches, ballasts, light-emitting diode (LED) drivers), power window covers, temperature control devices (e.g., thermostats), AC plug-in load control devices, etc. Examples of input devices may include remote control devices, occupancy sensors, daylight sensors, glare sensors, color temperature sensors, temperature sensors, etc. Remote control devices may receive user input for performing load control. Summary of the Invention

[0005] A load control system may include a control device configured to communicate via a network. The network may include router devices (e.g., a leader device and other router devices) for enabling message communication throughout the network. The control device may operate as a router device within the network. The control device may receive advertising messages from the leader device. Based on the advertising messages received from the leader device, the control device may determine the health status of the network.

[0006] A border router device can be assigned to assist communication around a noise source. The border router device can be identified as being outside a first range of the noise source but within a second range. A control device closer to the noise source within the first range can be assigned as a terminal device. A border router device outside the first range can be sufficiently close to a terminal device within the first range to assist the terminal device's communication around the noise source.

[0007] Router device roles and terminal device roles can be assigned in response to user selections on a graphical user interface. The mobile device can display the first range and the second range on the graphical user interface. The first range may have a first radius. The second range may be defined by the first radius and a second radius. The router device role and terminal device role can be defined prior to the debugging process and stored in configuration data for uploading to the control device during the debugging process. The configuration data can be uploaded from the processing device executing the design software to the mobile device configured to utilize the configuration data during the debugging process.

[0008] Terminal device roles can be automatically assigned to control devices. For example, a router device role can be automatically assigned in the design software after the control device is identified as being within a first range. A router device role can also be automatically assigned to the control device after it is identified as being closer to other control devices in the network that are outside the second range than other control devices in the network that are also outside the first range but within the second range.

[0009] The role of the control device can be assigned based on the signal strength of radio frequency (RF) signals transmitted to and / or received from the control device. The control device in the first range can be identified based on the received signal strength of a corresponding control device beacon message from a control device in the first range. The control device in the second range can be identified based on the received signal strength of a corresponding control device beacon message from a control device in the second range. Location beacon messages can be transmitted from an identification device configured to trigger the transmission of control device beacon messages from the control device.

[0010] After assigning a router device role to the control device, a no-entry distance from the control device can be identified. Once it is determined that the second control device is at least at a no-entry distance from the first control device in the network, the second control device can be assigned as a router device. This no-entry distance can be used to space router devices at predefined distances around noise sources.

[0011] The role of the control device can be assigned based on measurement data from the control device. The measurement data may include communication quality metrics associated with background noise levels and / or messages received at the control device. A threshold can be defined for comparison with the communication quality metrics in the measurement data to determine whether the control device is assigned a different role in a first or second range. Attached Figure Description

[0012] Figure 1A This is a diagram of an exemplary load control system.

[0013] Figure 1B This indicates that it can handle things such as Figure 1AA block diagram illustrating an example of a load control system and / or a device for communicating within the load control system.

[0014] Figure 1C This means that it is possible to achieve, for example, Figure 1A A block diagram illustrating an example of a load control device operating in a load control system.

[0015] Figure 2A Is it permissible? Figure 1A A diagram of an exemplary network for communication between devices in a load control system.

[0016] Figure 2B Is it allowed? Figure 1A A diagram illustrating an exemplary network or network partition (e.g., a network or subnetwork) for communication between devices in a load control system.

[0017] Figure 2C and Figure 2D Is it allowed in Figure 1A A diagram of another exemplary network for communication between devices in a load control system.

[0018] Figure 2E It is an explanation and Figure 1A A diagram of another exemplary network illustrating the costs and network overhead associated with communication between devices in a load control system.

[0019] Figure 2F This is an exemplary table illustrating exemplary link costs that can correspond to different link qualities on a network communication link.

[0020] Figure 3 It is a system diagram illustrating a representative control system used to configure and / or control one or more control devices.

[0021] Figure 4 It is a flowchart depicting an exemplary procedure (e.g., a debugging procedure) for debugging a control system.

[0022] Figure 5 This is a top view of an exemplary space of a building, showing the location of lighting equipment and noise sources.

[0023] Figure 6A It is a flowchart of an exemplary program (e.g., a router tuning program) that can be executed to assign the control device to operate as a router device based on the distance of the control device from the noise source in the space where the network is deployed.

[0024] Figure 6B This section describes a sequence flowchart illustrating exemplary messages transmitted between the identification device and the control device.

[0025] Figure 7It is a flowchart of an exemplary program (e.g., a router tuning program) that can be executed to assign the control device as a terminal device or router device before installing and / or commissioning the control device of a network that is accessible to the noise source and / or located within a predefined transmission range of the noise source.

[0026] Figure 8 It is a flowchart of an exemplary program (e.g., a router tuning program) that can be executed to assign the control device as a terminal device or router device after installing and / or debugging a network that is accessible to the noise source and / or located within a predefined transmission range of the noise source.

[0027] Figure 9A and Figure 9B It is a flowchart of an exemplary program (e.g., a router tuning program) that can be executed to assign roles to network control devices (e.g., those that can be located near a noise source or are within a predefined transmission range of the noise source). Detailed Implementation

[0028] Figure 1A This is a diagram of an exemplary load control system 100 for controlling the amount of power supplied from an alternating current (AC) power source (not shown) to one or more electrical loads. The load control system 100 may be installed in a load control environment 102. The load control environment 102 may include a space in a residential or commercial building. For example, the load control system 100 may be installed on one or more floors in one or more rooms within a building.

[0029] The load control system 100 may include a plurality of control devices. These control devices may include load control devices configured to control one or more electrical loads in the load control environment 102 (also referred to as the user environment). For example, a load control device may control one or more electrical loads in response to inputs from one or more input devices or other devices in the load control system 100.

[0030] The load control device in the load control system 100 may include a lighting control device. For example, the load control system 100 may include a lighting control device 120 for controlling the lighting load 122 in a corresponding lighting fixture 124. The lighting control device 120 may include a light-emitting diode (LED) driver, and the lighting load 122 may include an LED light source. Although each lighting fixture 124 is shown as having a single lighting load 122, each lighting fixture may include one or more individual light sources (e.g., lamps and / or LED emitters), which may be individually and / or uniformly controlled by a corresponding lighting control device. While an LED driver is provided as an exemplary lighting control device, other types of lighting control devices may be implemented as load control devices in the load control system 100. For example, the load control system 100 may include a dimmer switch, an electronic dimming ballast for controlling a fluorescent lamp, or other lighting control devices for controlling a corresponding lighting load. The lighting control device 120 may be configured to directly control the electrical power supplied to the lighting load 122. The lighting control device 120 may be configured to receive messages (e.g., via wired or wireless communication) via radio frequency (RF) signals 108, 109, and control the lighting load 122 in response to the received messages. It will be appreciated that the lighting control device 120 and the lighting load 122 may be integrated and therefore part of the same fixture or bulb, or they may be separate.

[0031] The load control device in the load control system 100 may include one or more appliances capable of receiving RF signals 108 (e.g., wireless signals) for performing load control. In one example, the load control system may include a speaker 146 (e.g., part of an audio / visual or intercom system) capable of generating audible sounds, such as alarms, music, intercom functionality, etc., in response to the RF signal 108.

[0032] The load control device in the load control system 100 may include one or more daylight control devices, such as motorized window covers 150, like motorized honeycomb blinds, for controlling the amount of daylight entering the load control environment 102. Each motorized window cover 150 may include a window cover fabric 152 suspended from a curtain box 154 in front of the corresponding window 104. Each motorized window cover 150 may also include a motor drive unit (not shown) located inside the curtain box 154 for raising and lowering the window cover fabric 152 to control the amount of daylight entering the load control environment 102. The motor drive unit of the motorized window cover 150 may be configured to receive messages via RF signal 108 and adjust the position of the corresponding curtain fabric 152 in response to the received messages. For example, the motorized blinds may be battery powered. The load control system 100 may include other types of daylight control devices, such as honeycomb blinds, canopies, Roman blinds, Venetian blinds, boutonnieres, pleated blinds, tension roller blind systems, electrochromic or smart windows, and / or other suitable daylight control devices. Examples of battery-powered motorized blinds are described in more detail in U.S. Patent No. 8,950,461 entitled "MOTORIZED WINDOW TREATMENT," published February 10, 2015, and U.S. Patent No. 9,488,000 entitled "INTEGRATED ACCESSIBLE BATTERY COMPARTMENTFOR MOTORIZED WINDOW TREATMENT," published November 8, 2016, the entire disclosure of which is incorporated herein by reference.

[0033] The load control device in the load control system 100 may include a plug-in load control device 140 for controlling plug-in electrical loads, such as plug-in lighting loads (e.g., floor lamp 142 or table lamp) and / or electrical appliances (e.g., television or computer monitor). For example, floor lamp 142 may be plugged into plug-in load control device 140. Plug-in load control device 140 may be plugged into a standard power outlet 144 and is therefore series-coupled between the AC power supply and the plug-in lighting load. Plug-in load control device 140 may be configured to receive messages via RF signal 108 and, in response to the received messages, turn floor lamp 142 on and off or adjust the intensity of the floor lamp.

[0034] The load control device in the load control system 100 may include one or more temperature control devices, such as a thermostat 160 for controlling the room temperature in the load control environment 102. The thermostat 160 may be coupled to the heating, ventilation, and air conditioning (HVAC) system 162 via a control link 161 (e.g., an analog control link or a wired digital communication link). The thermostat 160 may be configured to wirelessly transmit messages to the controller of the HVAC system 162. The thermostat 160 may include a temperature sensor for measuring the room temperature of the load control environment 102 and may control the HVAC system 162 to adjust the room temperature to a setpoint temperature. The load control system 100 may include one or more wireless temperature sensors (not shown) located in the load control environment 102 for measuring the room temperature. The HVAC system 162 may be configured to turn on and off the compressor to cool the load control environment 102 and to turn on and off the heating source to heat the room in response to a control signal received from the thermostat 160. The HVAC system 162 may be configured to turn on and off the fans of the HVAC system in response to a control signal received from the thermostat 160. Thermostat 160 and / or HVAC system 162 may be configured to control one or more controllable airflow regulators to control airflow in load control environment 102. Thermostat 160 may be configured to receive messages via RF signal 108 and adjust heating, ventilation, and cooling in response to the received messages.

[0035] The load control system 100 may include one or more other types of load control devices, such as, for example, screw-in luminaires including dimmer circuitry and incandescent or halogen lamps; screw-in luminaires including ballasts and compact fluorescent lamps; screw-in luminaires including LED drivers and LED light sources; electronic switches, controllable circuit breakers, or other switching devices for turning the appliance on and off; controllable electrical outlets or controllable power boards for controlling one or more plug-in loads; motor control units for controlling motor loads (such as ceiling fans or exhaust fans); drive units for controlling projection screens; motorized internal or external blinds; and devices for adding... Thermostats for heating and / or cooling systems; temperature control devices for controlling setpoint temperatures in HVAC systems; air conditioners; compressors; electric kickboard heater controllers; controllable dampers; variable air volume controllers; fresh air intake controllers; ventilation controllers; hydraulic valves for radiator and radiant heating systems; humidity control units; humidifiers; dehumidifiers; water heaters; boiler controllers; pool pumps; refrigerators; freezers; television or computer monitors; cameras; audio systems or amplifiers; elevators; power supplies; generators; chargers, such as electric vehicle chargers; and / or alternative energy controllers.

[0036] The load control system 100 may include one or more input devices capable of receiving input events for controlling one or more load control devices in the load control system 100. The input devices and load control devices may be collectively referred to as control devices in the load control system 100. The input devices in the load control system 100 may include one or more remote control devices, such as remote control device 170. The remote control device may be battery powered. Remote control device 170 may be configured to transmit messages via RF signal 108 to one or more other devices in the load control system 100 in response to input events such as actuation of one or more buttons or rotation of a knob on remote control device 170. For example, remote control device 170 may transmit messages via RF signal 108 to lighting control device 120, plug-in load control device 140, electric window regulator 150, and / or temperature control device 160 in response to actuation of one or more buttons located thereon. Remote control device 170 may also communicate with other devices in the load control system 100 via a wired communication link. In response to an input event at remote control device 170, a device connected to remote control device 170 may be triggered to transmit a message to one or more other devices in load control system 100. Remote control device 170 may include a keypad. In another example, remote control device 170 may include a knob configured to transmit a message to one or more other devices in response to rotation of the knob (e.g., rotation over a predefined distance or rotation over a predefined time period). Remote control device 170 may be mounted to a structure such as a wall, a toggling actuator of a mechanical switch, or a base located on a horizontal surface. In another example, remote control device 170 may be handheld. Remote control device 170 may provide feedback (e.g., visual feedback) to the user of remote control device 170 on a visual indicator such as a status indicator. The status indicator may be illuminated by one or more light-emitting diodes (LEDs) to provide feedback. The status indicator may provide different types of feedback. The feedback may include feedback indicating the following: actuation by the user or other user interface events, the status of the electrical load controlled by the remote control device 170, and / or the status of the load control device controlled by the remote control device 170. The feedback may be displayed in response to user interface events and / or in response to received messages indicating the status of the load control device and / or the electrical load.Examples of battery-powered remote control devices are described in more detail in co-assigned U.S. Patent No. 8,330,638 entitled "WIRELESS BATTERY-POWERED REMOTE CONTROLHAVING MULTIPLE MOUNTING MEANS" published on December 11, 2012, and U.S. Patent Application Publication No. 2012 / 0286940 entitled "CONTROL DEVICE HAVING A NIGHTLIGHT" published on November 15, 2012, the entire disclosure of which is incorporated herein by reference.

[0037] The input devices of the load control system 100 may include one or more sensor devices, such as sensor device 141. Sensor device 141 may be configured to transmit messages via RF signal 108 to one or more other devices in the load control system 100 in response to an input event such as a sensor measurement event. Sensor device 141 may also be configured to transmit messages via a wired communication link to one or more other devices in the load control system 100 in response to an input event such as a sensor measurement event. Sensor device 141 may operate as an ambient light sensor or a daylight sensor and may be able to perform a sensor measurement event by measuring the total light intensity in the space surrounding sensor device 141. Sensor device 141 may transmit messages including the measured light level or control commands via RF signal 108 in response to the measured light level. Examples of RF load control systems with daylight sensors are described in more detail in commonly assigned U.S. Patent No. 8,410,706, entitled "METHOD OF CALIBRATING ADAYLIGHT SENSOR," issued April 2, 2013; and U.S. Patent No. 8,451,116, entitled "WIRELESS BATTERY POWERED DAYLIGHT SENSOR," issued May 28, 2013, the entire disclosure of which is incorporated herein by reference.

[0038] Sensor device 141 can operate as an occupancy sensor, configured to detect occupancy and vacancy conditions in the load control environment 102. Sensor device 141 may be able to perform sensor measurement events by measuring occupancy or vacancy conditions in response to user 192's occupancy or vacancy of the load control environment 102. For example, sensor device 141 may include an infrared (IR) sensor capable of detecting occupancy or vacancy conditions in response to the presence or absence of user 192. Sensor device 141 may transmit messages including occupancy or vacancy conditions or control commands generated in response to occupancy / vacancy conditions via RF signal 108. Similarly, sensor device 141 may also, or alternatively, transmit messages including occupancy or vacancy conditions or control commands generated in response to occupancy / vacancy conditions via a wired communication link. Examples of load control systems with occupancy and vacancy sensors are described in more detail in commonly assigned U.S. Patent No. 8,228,184 entitled "BATTERY-POWERED OCCUPANCY SENSOR" issued July 24, 2012; U.S. Patent No. 8,009,042 entitled "RADIO-FREQUENCY LIGHTING CONTROL SYSTEM WITH OCCUPANCY SENSING" issued August 30, 2011; U.S. Patent No. 8,199,010 entitled "METHOD AND APPARATUS FOR CONFIGURING AWIRELESS SENSOR" issued June 12, 2012; and the entire disclosure of these documents is incorporated herein by reference.

[0039] Sensor device 141 may operate as a visible light sensor (e.g., including a camera or other device capable of sensing visible light). Sensor device 141 may be able to perform sensor measurement events by measuring the amount of visible light within load control environment 102. For example, sensor device 141 may include visible light sensing circuitry having image recording circuitry (such as a camera) and image processing circuitry. The image processing circuitry may include a digital signal processor (DSP), microprocessor, programmable logic device (PLD), microcontroller, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or any suitable processing means capable of processing an image or multiple levels of visible light. Sensor device 141 may be positioned toward load control environment 102 to sense one or more environmental characteristics within load control environment 102. The image recording circuitry of sensor device 141 may be configured to capture or record an image. The image recording circuitry of sensor device 141 may provide the captured image to an image processor. The image processor may be configured to process the image into one or more sensed signals representing the sensed environmental characteristics. The control circuitry of sensor device 141 can interpret sensed environmental characteristics from the sensed signals, or can transmit the sensed signals to one or more other devices (e.g., computing devices in the load control environment) via RF signals 108, 109 to interpret the sensed environmental characteristics. For example, sensed environmental characteristics interpreted from the sensed signals may include the occurrence of movement, the amount of movement, the direction of movement, the speed of movement, the number of occupants, occupancy status, vacancy status, light intensity, the color of visible light, the color temperature of visible light, the amount of direct sunlight penetration, or another environmental characteristic in the load control environment 102. In another example, sensor device 141 can provide raw or processed (e.g., pre-processed) images to one or more other devices (e.g., computing devices) in the load control system 100 for further processing. Sensor device 141 can operate as a color temperature sensor when sensing the color temperature of visible light. Examples of load control systems with visible light sensors are described in more detail in commonly assigned U.S. Patent No. 10,264,651 entitled "LOAD CONTROL SYSTEM HAVING A VISIBLE LIGHT SENSOR" published on April 16, 2019, and U.S. Patent Publication No. 2018 / 0167547 entitled "CONFIGURATION OF A VISIBLE LIGHT SENSOR" published on June 14, 2018, the entire disclosure of which is incorporated herein by reference.

[0040] Sensor device 141 may be external to lighting fixture 124 (e.g., attached to or affixed to the ceiling or wall of load control environment 102). Sensor device 141 may be positioned toward load control environment 102 and may be able to perform sensor measurement events within load control environment 102. In one example, sensor device 141 may be attached to or affixed to window 104 of load control environment 102 and operate as a window sensor capable of performing sensor measurement events on light entering load control environment 102 through window 104. For example, sensor device 141 may include an ambient light sensor capable of detecting when sunlight directly enters sensor device 141, is reflected onto sensor device 141, and / or is blocked by external components such as clouds or buildings, based on measured light levels received by sensor device 141 from outside the window. Sensor device 141 may send a message indicating the measured light level. Although described as external to the lighting fixture 124, one or more sensor devices 141 may be mounted to one or more of the lighting fixture 124 (e.g., the lower surface or outward-facing surface of the lighting fixture 124). For example, one or more sensor devices 141 may be electrically coupled to a control circuit or a load control circuit of a load control device 120 for performing control in response to a sensor measurement event of the sensor device 141.

[0041] The load control system 100 may include other types of input devices, such as temperature sensors, humidity sensors, radiometers, cloudy sensors, shading sensors, pressure sensors, smoke detectors, carbon monoxide detectors, air quality sensors, motion sensors, safety sensors, proximity sensors, stationary sensors, zone sensors, keypads, multi-zone control units, slider control units, motion or solar-powered remote controls, remote keys, mobile phones, smartphones, tablet computers, personal digital assistants, personal computers, laptop computers, clocks, audio-visual controls, safety devices, power monitoring devices (e.g., power meters, energy meters, public utility submeters, public utility rate meters, etc.), central control transmitters, residential, commercial or industrial controllers and / or any combination thereof.

[0042] Input devices and load control devices can be configured to transmit messages to each other over a communication link within the load control system 100. The communication link between control devices in the load control system may include one or more network communication links through which messages can be transmitted for performing end-to-end communication within the load control system 100. For example, input devices and load control devices may be able to transmit messages directly to each other via RF signal 108. Proprietary RF protocols, such as the CLEAR CONNECT protocol (e.g., CLEAR CONNECT TYPE A and / or CLEAR CONNECT TYPE X), may be used to transmit RF signal 108. Alternatively, different RF protocols may be used to transmit RF signal 108, such as standard protocols, such as Wi-Fi, cellular (e.g., 3G, 4G LTE, 5G NR, or other cellular protocols), Bluetooth, Bluetooth Low Energy (BLE), ZigBee, Z-Wave, Thread, KNX-RF, ENOCEAN RADIO, Near Field Communication (NFC), or one of these protocols. In one example, the input device may transmit messages to the load control device via RF signal 108. These messages include input events (e.g., button presses, sensor measurement events, or other input events) or control commands generated in response to said input events for performing control over an electrical load controlled by the load control device. The input device and the load control device may be configured to communicate via RF signal 108 on a first wireless communication link via a first wireless communication protocol (e.g., THREAD, CLEAR CONNECT TYPE A, CLEAR CONNECT TYPE X, WIFI, cellular, etc.), and via RF signal 109 on a second wireless communication link via a second wireless communication protocol (e.g., short-range wireless communication protocols such as Bluetooth, BLE, NFC, etc.). While the communication link may be described as a wireless communication link, a wired communication link can be similarly implemented to achieve the communication described herein.

[0043] To enable devices in the load control system 100 to recognize messages directed to and / or directed to responding devices, the devices can associate with each other by executing an association procedure. For example, for a load control device that will respond to a message from an input device, the input device may first associate with the load control device. As an example of an association procedure, devices can be placed in an association mode to share unique identifiers associated with and / or stored at other devices in the load control system 100. For example, the input device and the load control device can be placed in an association mode by user 192 actuating a button on the input device and / or the load control device. Actuation of the button on the input device and / or the load control device places the input device and / or the load control device in an association mode to associate with each other. In the association mode, the input device can transmit association messages to the load control device (directly or via one or more other devices as described herein). The association message from the input device may include the input device's unique identifier. The load control device may store the input device's unique identifier locally in association information, enabling the load control device to recognize messages (e.g., follow-up messages) from the input device that may include load control instructions or commands. The association information stored at the load control device may include unique identifiers of the load control device and its associated devices. The load control device can be configured to respond to messages from associated input devices by controlling the corresponding electrical load according to load control instructions received in the message. The input device may also store a unique identifier of the load control device, which is associated with the unique identifier in the association information stored locally thereon. A similar association procedure can be performed between other devices in the load control system 100 to enable each device to communicate messages with its associated devices. This is merely one example of how devices can communicate and associate with each other, and other examples are possible.

[0044] According to another example, one or more devices may receive system configuration data (e.g., or subsequent updates to system configuration data) uploaded to the devices and specify association information including unique identifiers of the devices being associated. The system configuration data may include a load control dataset defining the devices and operating settings of the load control system 100. The system configuration data may include information about the devices and / or load control system 100 in the user environment 102, including configuration identifiers for control devices (e.g., equipment identifiers or load control device identifiers, groups, zones, areas, and / or location identifiers). For example, the system configuration data may include association information indicating defined associations between devices in the load control system 100. The association information may be updated using any of the association procedures described herein.

[0045] One or more intermediate devices may also maintain association information, which includes unique identifiers that constitute associations between other devices in the load control system 100. For example, input devices and load control devices may communicate on a communication link in the load control system 100 via one or more other intermediate devices, such as router devices or other devices in a network. The intermediate devices may include input devices, load control devices, central processing units, or another intermediate device capable of enabling communication between devices in the load control system. The association information maintained on the intermediate devices may include unique identifiers of the devices associated with each other for identifying and / or enabling communication of messages between devices in the load control system 100. For example, the intermediate device may identify unique identifiers transmitted in association messages between devices during an association process and store the unique identifiers of the devices as associations in the association information. The intermediate devices may use the association information to monitor and / or route communication on the communication link between devices in the load control system 100. In another example, association information of other devices may be uploaded to and / or transmitted from the intermediate devices to other devices for local storage thereon (e.g., at the input device and / or load control device).

[0046] The load control system 100 may include a system controller 110. The system controller 100 may operate as an intermediate device, as described herein. For example, the system controller 110 may operate as a central processing unit for one or more other devices in the load control system 100. The system controller 110 may be operable to transmit messages to and from control devices (e.g., input devices and load control devices). For example, the system controller 110 may be configured to receive messages from input devices and, in response to messages received from input devices, transmit messages to load control devices. The system controller 110 may route the messages based on associated information stored thereon. The input devices, load control devices, and system controller 110 may be configured to transmit and receive RF signals 108 and / or transmit and receive over wired communication links. The system controller 110 may be coupled to one or more networks, such as wireless or wired local area networks (LANs), for example, to access the Internet. The system controller 110 may connect wirelessly to the network using one or more wireless protocols. The system controller 110 may be coupled to the network via a wired communication link such as a network communication bus (e.g., an Ethernet communication link).

[0047] System controller 110 may be configured to communicate via a network with one or more computing devices, such as mobile devices 190, including personal computing devices and / or wearable wireless devices. Mobile device 190 may be located on an occupant 192, for example, attached to the occupant's body or clothing, or held by the occupant. Mobile device 190 may be characterized by a unique identifier (e.g., a serial number or address stored in memory) that uniquely identifies mobile device 190 and therefore uniquely identifies occupant 192. Examples of personal computing devices may include smartphones, laptop computers, and / or tablet computers. Examples of wearable wireless devices may include activity tracking devices, smartwatches, smart clothing, and / or smart glasses. Additionally, system controller 110 may be configured to communicate via a network with one or more other control systems (e.g., building management systems, security systems, etc.).

[0048] Mobile device 190 may be configured to transmit messages to system controller 110, for example, in one or more Internet Protocol (IP) packets. For example, mobile device 190 may be configured to transmit messages to system controller 110 over a LAN and / or via the Internet. Mobile device 190 may be configured to transmit messages to external services over the Internet, and then the messages may be received by system controller 110. Mobile device 190 may transmit and receive RF signal 109. RF signal 109 may be of the same signal type and / or transmitted using the same protocol as RF signal 108. Alternatively, or additionally, mobile device 190 may be configured to transmit RF signals according to a different signal type and / or protocol. Mobile device 190 and / or system controller 110 may be able to communicate with other devices on a communication link via RF signals 108, 109.

[0049] The load control system 100 may include other types of computing devices coupled to a network, such as a desktop personal computer (PC), a television with wireless communication capabilities, or any other suitable Internet Protocol-enabled device. Examples of load control systems operable to communicate with mobile and / or computing devices on a network are described in more detail in co-assigned U.S. Patent Application Publication No. 2013 / 0030589, entitled LOAD CONTROL DEVICE HAVING INTERNET CONNECTIVITY, published January 31, 2013, the entire disclosure of which is incorporated herein by reference.

[0050] The operation of the load control system 100 can be programmed and configured using, for example, a mobile device 190 or other computing device (e.g., when the mobile device is a personal computing device). The mobile device 190 can execute graphical user interface (GUI) configuration software to allow user 192 to program how the load control system 100 will operate. For example, the configuration software can run as a PC application or a network interface. The configuration software and / or system controller 110 (e.g., via instructions from the configuration software) can generate system configuration data, which may include a load control dataset defining the operation of the load control system 100. For example, the load control dataset may include information about the operating settings of different load control devices of the load control system (e.g., lighting control device 120, plug-in load control device 140, power window seat 150, and / or thermostat 160). The load control dataset may include information about how the load control devices respond to inputs received from input devices. Examples of configuration procedures for load control systems are described in more detail in the following documents: U.S. Patent No. 7,391,297, entitled "HANDHELD PROGRAMMER FOR A LIGHTING CONTROL SYSTEM," published June 24, 2008; U.S. Patent Application Publication No. 2008 / 0092075, entitled "METHOD OF BUILDING A DATABASE OF ALIGHTING CONTROL SYSTEM," published April 17, 2008; and U.S. Patent Application Publication No. 2014 / 0265568, entitled "COMMISSIONING LOAD CONTROL SYSTEMS," published September 18, 2014.

[0051] Figure 1B This indicates that it can handle things such as Figure 1A This is a block diagram of an example of a load control system 100 and / or a device 130 communicating within the load control system. In one example, device 130 may be a control device capable of transmitting or receiving messages. The control device may be an input device, such as sensor device 141 (e.g., an occupancy sensor or another sensor device), remote control device 170, or another input device that transmits messages to the load control device or other devices in the load control system 100. Device 130 may be a computing device, such as mobile device 190, system controller 110, processing device, or another computing device in the load control system 100.

[0052] Device 130 may include control circuitry 131 for controlling the functionality of device 130. Control circuitry 131 may include one or more general-purpose processors, special-purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, integrated circuits, programmable logic devices (PLDs), application-specific integrated circuits (ASICs), etc. Control circuitry 131 may perform signal encoding, data processing, image processing, power control, input / output processing, or any other functionality that enables device 131 to perform as described herein in a load control system (e.g., load control system 100).

[0053] Control circuitry 131 may be communicatively coupled to memory 132 to store information in and / or retrieve information from memory. Memory 132 may include device datasets, network information, and / or computer-readable or machine-readable storage media for maintaining associated device identifiers and for executing computer-executable instructions as described herein. For example, memory 132 may include computer-executable or machine-readable instructions containing one or more portions of a router tuning or debugging program as described herein for assigning roles to control devices on a network. Control circuitry 131 may access the instructions from memory 132 to execute the instructions to cause control circuitry 131 to operate as described herein, or to operate one or more devices as described herein.

[0054] Memory 132 may include non-removable memory and / or removable memory. 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. Memory 132 may be implemented as an external integrated circuit (IC) or as internal circuitry of control circuitry 131.

[0055] Device 130 may include one or more communication circuits 134 that communicate with control circuitry 131 for transmitting and / or receiving information as described herein. Communication circuitry 134 may perform wireless and / or wired communication. Communication circuitry 134 may be a wired communication circuit capable of communicating over a wired communication link. The wired communication link may include an Ethernet communication link, an RS-485 serial communication link, a 0-10 volt analog link, a pulse width modulation (PWM) control link, a Digital Addressable Lighting Interface (DALI) digital communication link, and / or another wired communication link. Communication circuitry 134 may be configured to communicate via power line carrier (PLC) communication technology using a power line (e.g., a wire from which device 130 receives power). Communication circuitry 134 may be a wireless communication circuit that includes one or more RF or infrared (IR) transmitters, receivers, transceivers, or other communication circuits capable of performing wireless communication.

[0056] While a single communication circuit 134 may be described, multiple communication circuits may be implemented in device 130. Device 130 may include communication circuits configured to communicate via one or more wired and / or wireless communication networks and / or protocols, and at least one other communication circuit configured to communicate via one or more other wired and / or wireless communication networks and / or protocols. For example, a first communication circuit may be configured to communicate via a wired or wireless communication link, while another communication circuit may be able to communicate on another wired or wireless communication link. The first communication circuit may be configured to communicate via a first wireless communication link (e.g., a wireless network communication protocol, such as CLEAR CONNECT (e.g., CLEAR CONNECT A and / or CLEAR CONNECT X) and / or THREAD protocol) using a first wireless protocol, and the second communication circuit may be configured to communicate via a second wireless communication link (e.g., a short-range wireless communication protocol, such as Bluetooth, Bluetooth Low Energy (BLE), or NFC protocol) using a second wireless protocol.

[0057] One of the communication circuits 134 may include a beacon transmission and / or reception circuit capable of transmitting and / or receiving beacon messages via short-range RF signals. Control circuit 131 may communicate with the beacon transmission circuit (e.g., a short-range communication circuit) to transmit beacon messages. For example, the beacon transmission circuit may transmit beacons via RF communication signals. The beacon transmission circuit may be a one-way communication circuit (e.g., the beacon transmission circuit is configured to transmit beacon messages) or a two-way communication circuit capable of receiving information on the same network and / or protocol used to transmit beacons (e.g., the beacon transmission circuit is configured to transmit and receive beacon messages). Information received at the beacon transmission circuit may be provided to control circuit 131.

[0058] Control circuitry 131 can communicate with one or more input circuits 133 and can receive input from said one or more input circuits. Input circuitry 133 may be included in a user interface for receiving input from the user. For example, input circuitry 133 may include an actuator (e.g., a momentary switch actuated by one or more physical buttons), which the user can actuate to transmit user input or selection to control circuitry 131. In response to actuation of the actuator, control circuitry 131 may enter an association mode, transmitting association messages from device 130 via communication circuitry 134, and / or receiving other information (e.g., control instructions for performing control of an electrical load). Control is performed in response to actuation of the actuator by transmitting control instructions instructing actuation on the user interface and / or control instructions generated in response to said actuation. The actuator may include a touch-sensitive surface, such as a capacitive touch surface, a resistive touch surface, an inductive touch surface, a surface acoustic wave (SAW) touch surface, an infrared touch surface, an acoustic pulse touch surface, or another touch-sensitive surface configured to receive input (e.g., touch actuation / input), such as a point actuation or gesture from a user. The control circuitry 131 of device 130 may enter an associated mode in response to actuation on the touch-sensitive surface or input from a user; transmit associated messages; transmit control commands; or perform other functionalities.

[0059] Input circuitry 133 may include sensing circuitry (e.g., a sensor). Sensing circuitry may be occupancy sensing circuitry, temperature sensing circuitry, color (e.g., color temperature) sensing circuitry, visible light sensing circuitry (e.g., a camera), sunlight sensing circuitry, or ambient light sensing circuitry, or another sensing circuitry for receiving input (e.g., sensing environmental characteristics in the environment of the device 130). Control circuitry 131 may receive information from one or more input circuits 133 and process the information to perform the functions described herein.

[0060] Control circuitry 131 may communicate with one or more output sources 135. Output sources 135 may include one or more indicators (e.g., visible indicators, such as LEDs) for providing indications (e.g., feedback) to a user. Output sources 135 may include displays (e.g., visible displays) for providing information (e.g., feedback) to a user. Control circuitry 131 and / or displays may generate a software-generated graphical user interface (GUI) for display on device 130 (e.g., on a display of device 130).

[0061] The user interface of device 130 can combine features of input circuitry 133 and output source 135. For example, the user interface may have buttons that actuate the actuator of input circuitry 133 and may have indicators (e.g., visibility indicators) that can be illuminated by a light source from output source 135. In another example, the display and control circuitry 131 may be in bidirectional communication, as the display can show information to the user and includes a touchscreen capable of receiving information from the user. Information received via the touchscreen may enable the control circuitry 131 to provide indicated information received from the touchscreen as information for performing functions or controls.

[0062] Each of the hardware circuits within device 130 may be powered by power supply 136. For example, power supply 136 may include a power supply configured to receive power from an alternating current (AC) power supply or a direct current (DC) power supply. Alternatively, power supply 136 may include one or more batteries. Power supply 136 may generate a supply voltage V. CC To supply power to the hardware within device 130.

[0063] Figure 1C This is a block diagram illustrating an exemplary load control device 180. The load control device 180 may be a lighting control device (e.g., lighting control device 120), an electric upholstery (e.g., an electric window upholstery 150), a plug-in load control device (e.g., plug-in load control device 140), a temperature control device (e.g., temperature control device 160), a dimmer switch, an electronic switch, an electronic ballast for a lamp, and / or another load control device.

[0064] The load control device 180 may include control circuitry 181 for controlling the functionality of the load control device 180. Control circuitry 181 may include one or more general-purpose processors, special-purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, integrated circuits, programmable logic devices (PLDs), application-specific integrated circuits (ASICs), etc. Control circuitry 181 may perform signal encoding, data processing, image processing, power control, input / output processing, or any other functionality that enables the load control device 180 to perform as described herein in the apparatus of a load control system (e.g., load control system 100).

[0065] The load control device 180 may include a load control circuit 185, which may be electrically coupled in series between a power source 187 (e.g., an AC power source and / or a DC power source) and an electrical load 188. A control circuit 181 may be configured to control the load control circuit 185 for controlling the electrical load 188, for example, in response to a received command. The electrical load 188 may include a lighting load, a motor load (e.g., for a ceiling fan and / or exhaust fan), an electric motor for controlling appliances on electric windows, components of a heating, ventilation, and cooling (HVAC) system, a speaker, or any other type of electrical load. The electrical load 188 may be included within or external to the load control device 180. For example, the load control device 180 may be a dimmer switch or LED driver capable of controlling an external lighting load. The electrical load 188 may be integrated with the load control device 180. For example, the load control device 180 may be included in an LED of a controllable light source, in a motor of a motor drive unit, or in a speaker of a controllable audio device.

[0066] Control circuitry 181 may be communicatively coupled to memory 182 to store information in and / or retrieve information from memory. Memory 182 may include device datasets, network information, and / or computer-readable or machine-readable storage media for maintaining associated device identifiers and for executing computer-executable instructions as described herein. For example, memory 182 may include computer-executable or machine-readable instructions containing one or more portions of a router tuner or debugger as described herein for assigning roles to control devices on a network. Control circuitry 181 may access the instructions from memory 182 to execute the instructions to cause control circuitry 181 to operate as described herein, or to operate one or more devices as described herein. Memory 182 may include non-removable memory and / or removable memory. The 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. The removable memory may include a subscriber identity module (SIM) card, memory stick, memory card, or any other type of removable memory. The memory 182 can be implemented as an external integrated circuit (IC) or as internal circuitry of the control circuit 181.

[0067] The load control device 180 may include one or more communication circuits 184 that communicate with the control circuit 181 to send and / or receive information as described herein. The communication circuits 184 may perform wireless and / or wired communication. The communication circuits 184 may be wired communication circuits capable of communicating over a wired communication link. The wired communication link may include an Ethernet communication link, an RS-485 serial communication link, a 0-10 volt analog link, a pulse width modulation (PWM) control link, a Digital Addressable Lighting Interface (DALI) digital communication link, and / or another wired communication link. The communication circuits 184 may be configured to communicate via power line carrier (PLC) communication technology using a power line (e.g., a wire from which the device 180 receives power). The communication circuits 184 may be wireless communication circuits that include one or more RF or IR transmitters, receivers, transceivers, or other communication circuits capable of performing wireless communication.

[0068] While a single communication circuit 184 may be described, multiple communication circuits may be implemented in device 180. Device 180 may include communication circuits configured to communicate via one or more wired and / or wireless communication networks and / or protocols, and at least one other communication circuit configured to communicate via one or more other wired and / or wireless communication networks and / or protocols. For example, a first communication circuit may be configured to communicate via a wired or wireless communication link, while another communication circuit may be able to communicate on another wired or wireless communication link. The first communication circuit may be configured to communicate via a first wireless communication link (e.g., a wireless network communication protocol, such as CLEAR CONNECT (e.g., CLEAR CONNECT A and / or CLEAR CONNECT X) and / or THREAD protocol) using a first wireless protocol, and the second communication circuit may be configured to communicate via a second wireless communication link (e.g., a short-range wireless communication protocol, such as Bluetooth, Bluetooth Low Energy (BLE), or NFC protocol) using a second wireless protocol.

[0069] One of the communication circuits 184 may include a beacon transmission and / or reception circuit capable of transmitting and / or receiving beacon messages via short-range RF signals. Control circuit 181 may communicate with the beacon transmission circuit (e.g., a short-range communication circuit) to transmit beacon messages. For example, the beacon transmission circuit may transmit beacon messages via RF communication signals. The beacon transmission circuit may be a one-way communication circuit (e.g., the beacon transmission circuit is configured to transmit beacon messages), or a two-way communication circuit capable of receiving information on the same network and / or protocol used for transmitting beacon messages (e.g., the beacon transmission circuit is configured to transmit and receive beacon messages). Information received at the beacon transmission circuit may be provided to control circuit 181.

[0070] Control circuitry 181 can communicate with one or more input circuits 183 and can receive input from said one or more input circuits. Input circuitry 183 may be included in a user interface for receiving input from the user. For example, input circuitry 183 may include an actuator (e.g., a momentary switch actuated by one or more physical buttons), which the user can actuate to transmit user input or selection to control circuitry 181. In response to actuation of the actuator, control circuitry 181 may enter an association mode, transmitting association messages from load control device 180 via communication circuitry 184, and / or receiving other information. In response to actuation of the actuator, control can be performed by controlling load control circuitry 185 to control electrical load 188 and / or by transmitting control commands instructing actuation on the user interface and / or control commands generated in response to said actuation. The actuator may include a touch-sensitive surface, such as a capacitive touch surface, a resistive touch surface, an inductive touch surface, a surface acoustic wave (SAW) touch surface, an infrared touch surface, an acoustic pulse touch surface, or another touch-sensitive surface configured to receive input (e.g., touch actuation / input), such as a point actuation or gesture from a user. The control circuitry 181 of the load control device 180 may enter an associated mode in response to actuation on the touch-sensitive surface or input from a user; transmit associated messages; control the load control circuitry 185; transmit control commands; or perform other functionalities.

[0071] Input circuitry 183 may include sensing circuitry (e.g., a sensor). Sensing circuitry may be occupancy sensing circuitry, temperature sensing circuitry, color (e.g., color temperature) sensing circuitry, visible light sensing circuitry (e.g., a camera), sunlight sensing circuitry, or ambient light sensing circuitry, or another sensing circuitry for receiving input (e.g., sensing environmental characteristics in the environment of the load control device 180). Control circuitry 181 may receive information from one or more input circuits 183 and process the information to perform the functions described herein.

[0072] Control circuitry 181 can illuminate light source 186 (e.g., an LED) to provide feedback to the user. Control circuitry 181 can be operable to illuminate light source 186 in different colors. Light source 186 can be illuminated, for example, by one or more light-emitting diodes (LEDs).

[0073] See again Figure 1AA network can be used to facilitate communication between corresponding devices (e.g., control devices) of the load control system 100. To enable corresponding control devices to communicate via the network, a control device can join the network, for example, by initiating a commissioning procedure. The commissioning procedure may include a declaration procedure, a joining procedure, and / or an attachment procedure. The declaration procedure can be used to discover and declare control devices for addition to the network. For example, a user's mobile device (e.g., mobile device 190) can be used to declare the load control system (e.g., in…) Figure 1A The load control system 100 shown herein includes control devices. A user's mobile device 190 may declare each control device for joining a network (e.g., via a joining procedure, as described herein) and / or attaching to other devices on the network. Each control device may transmit a beacon (e.g., a control device beacon) via a short-range wireless communication link. The mobile device 190 may discover (e.g., receive) beacons transmitted by control devices in the load control system. Each beacon may include a unique beacon identifier of the control device transmitting the corresponding beacon. The unique beacon identifier may include a unique device identifier (e.g., a serial number) of the control device itself.

[0074] Mobile device 190 can identify one or more control device beacons that have received a corresponding beacon from it with a communication quality metric (e.g., Received Signal Strength Indicator (RSSI) or other communication quality metric) higher than a predefined value. For example, mobile device 190 can identify one or more beacons among those received with the strongest RSSI, and mobile device 190 can transmit a connection message to the control device. The control device can receive the connection message from mobile device 190, which can be configured to establish a connection (e.g., a bidirectional communication connection) with mobile device 190.

[0075] A connection message may indicate to the control device that the control device has been selected for declaration. The connection message may operate as a declaration message, or it may be sent as a separate declaration message after a connection is established between the mobile device 190 and the control device. The declaration message may indicate that the control device has been declared for adding to the network. In response to receiving the declaration message, the control device may transmit a declaration confirmation message to the mobile device 190. The declaration confirmation message may include configuration information that can be used to enable the control device to join the network. For example, the configuration information may include a unique device identifier (e.g., a serial number) and / or a network certificate for joining the network. The network certificate may include a network key, a network address (e.g., a network address), and / or a joiner identifier for the control device. The network address and / or joiner identifier may be used during the joining process to allow the control device to join the network.

[0076] User 192 may continue to move mobile device 190 around the load control environment 102 where the load control system is installed to perform the declaration process with additional control devices. When user 192 completes the declaration of control devices (e.g., mobile device 190 has declared each or a portion of the control devices in the load control system), mobile device 190 may upload configuration information from the declared devices to a central computing device, such as a system controller (e.g., system controller 110). The uploaded configuration information can be used to identify devices for joining the network. As described herein, system controller 110 may be mounted in the space being declared or may be a remote computing device. Although mobile device 190 is described as a device performing communication with control devices, other devices in the load control system 100 may perform similar communication with control devices during the declaration process. For example, system controller 110 or another computing device in the load control system 100 may be implemented as described herein.

[0077] During the joining process, the control device may search for networks to join. For example, the control device may begin the joining process after a declaration procedure has been performed. As described herein, during the joining process, the control device may transmit and / or receive joining messages (e.g., messages for joining a wireless network, such as join request messages and / or join response messages). Due to the joining process, and as further described herein, the control device may be configured with a network key that allows the device to send and / or receive messages on the network.

[0078] After the control device joins the network, it may attempt to attach to another device on the network (e.g., a leader device or a router device) to form a mesh network (e.g., network formation). In order to attach to another device on the network, the control device may send and receive several attachment messages via the network.

[0079] Figure 2A This is an illustration of an exemplary network 200 that allows communication between control devices in a load control system (e.g., load control system 100). Network 200 may include any suitable network to facilitate communication within the load control system. For example, network 200 may be a mesh network on which control devices communicate using a mesh network wireless communication protocol (e.g., the THREAD protocol or other suitable protocol). Various control devices of load control system 100 may communicate with each other via network 200. Figure 2AAs shown, network 200 may include a single network partition. Furthermore, network 200 may be an example of a network partition (e.g., a subnetwork or branch network) within a larger network. For example, network 200 may be an example of a network partition within a larger network consisting of multiple network partitions. Network 200 is an exemplary network, and the techniques described herein can be applied to other networks, for example, that include more or fewer control devices than network 200.

[0080] Figure 2A The circular nodes can represent devices attached to other devices on network 200 (e.g., various control devices of the load control system 100). A control device attached to at least one other control device on network 200 can communicate with other control devices (e.g., other control devices attached to another control device on network 200). Communication within network 200 can be facilitated by establishing network communication links (e.g., attachments) within network 200. See also... Figure 2A Network communication links between devices can be indicated by lines (e.g., solid and dashed lines) connecting the respective control devices.

[0081] A control device attached to at least one other device on network 200 may assume and / or be assigned a corresponding role in the network. For example, such roles may include: a leader device (e.g., leader device 210), a router device (e.g., router devices 220a-220d), a terminal device (e.g., terminal devices 230a and 230b), a router-compliant terminal device (REED) (e.g., router-compliant terminal device 240), a parent device, a child device, and / or a dormant terminal device (e.g., dormant terminal device 250). The role of the control device may indicate the functionality and / or capabilities of the control device relative to network 200. As described herein, a terminal device may include terminal devices (e.g., terminal devices 230a and 230b), router-compliant terminal devices (e.g., router-compliant terminal device 240), and / or a dormant terminal device (e.g., dormant terminal device 250).

[0082] like Figure 2AThe description indicates that network 200 may include a leader device 210 and one or more router devices 220a-220d. The leader device 210 can manage other control devices on network 200. For example, the leader device 210 may assign and maintain a router identifier (e.g., router ID) for each of the router devices 220. For example, a unique router identifier may be assigned to each of the router devices 220a-220d. The leader device 210 may assign and maintain the roles of other devices. The leader device 210 may be configured as a gateway for network 200. For example, the leader device may be a control device that facilitates communication (e.g., routing and receiving round-trip messages) between network 200 and other networks or network segments. See also... Figure 1A System controller (e.g., in) Figure 1A The system controller 110 shown can be an example of a leader device 210. Furthermore, a control device within the load control system that can be assigned the role of a router device can be assigned to the leader device role.

[0083] Leader device 210 can support and be attached to multiple router devices (e.g., 64 router devices, 32 router devices, or another number of router devices can be defined for network 200). Leader device 210 can operate as a router device. Router devices 220a-220d on network 200 (e.g., leader device 210 attached to network 200) can communicate with each other, for example, to form a mesh network. Router devices 220a-220d can communicate with each other via network communication links (e.g., as indicated by solid lines connecting router devices 220a-220d). Router devices 220a-220d can communicate with leader device 210 directly or through one or more other router devices (e.g., as indicated by solid lines connecting leader device 210 to router devices 220a and 220c). Router devices 220a-220d can receive messages and route them to other devices on network 200 (e.g., terminal devices 230a, 230b, router-compliant terminal device 240, and / or hibernating terminal device 250). For example, router devices 220a-220d can receive and / or transmit messages between or to each other for forwarding messages received from an attached device to another device attached to another router device. Referring now to load control system 100, externally powered devices (e.g., non-battery powered devices) can be assigned the role of router devices, such as system controller 110, dimmer switch 120, LED driver 130, plug-in load control device 140, electric window seat 150, and / or thermostat 160.

[0084] Network 200 may include one or more terminal devices 230a, 230b (e.g., a complete or minimal set of terminal devices). Terminal devices 230a, 230b may be attached to another device on network 200 (e.g., a parent device, such as leader device 210 and / or router devices 220a, 220b, 220c, 220d) and may transmit and / or receive messages via their attached parent device (e.g., leader device and / or router device). Although in Figure 2A Two terminal devices 230a and 210b are shown, and each terminal device is attached to a different router device, but each router device 220a-220d can support multiple terminal devices (e.g., more than 500 terminal devices). System controller 110, input devices (e.g., remote control device 170) and / or load control devices (e.g., dimmer switch 120, LED driver 130, plug-in load control device 140, power window 150 and / or thermostat 160) can be examples of terminal devices 230a and 230b.

[0085] See again Figure 2A Network 200 may include a router-qualified terminal device 240. The router-qualified terminal device 240 may be a terminal device capable (e.g., possessing hardware and / or software capabilities) of becoming a leader device and / or a router device. In some cases, the role of the router-qualified terminal device 240 may be updated to that of a leader device and / or a router device. For example, when the router-qualified terminal device 240 identifies itself as being within range of a terminal device attempting to attach to network 200, the router-qualified terminal device 240 may upgrade itself to a router device role. The router-qualified terminal device 240 may transmit and / or receive messages via the attached router device 220d. Figure 2A As shown, the router-compliant terminal device 240 can be one of the terminal devices attached to the router device 220d. System controller 110, dimmer switch 120, LED driver 130, plug-in load control device 140, power window regulator 150, and / or thermostat 160 can be examples of the router-compliant terminal device 240. Referring now to the load control system 100, externally powered control devices (e.g., non-battery powered control devices) can be assigned to the router-compliant terminal device roles, such as system controller 110, dimmer switch 120, LED driver 130, plug-in load control device 140, power window regulator 150, and / or thermostat 160.

[0086] Network 200 may include a hibernation terminal device 250. The hibernation terminal device 250 may include or resemble a terminal device. For example, the hibernation terminal device 250 may be a terminal device powered by a limited power source (e.g., a battery). The hibernation terminal device 250 may know its role as a hibernation terminal device based on, for example, instructions stored at the hibernation terminal device 250. Communication with the hibernation terminal device 250 may be performed so that the limited power source is maintained and / or efficiently consumed. For example, the hibernation terminal device 250 may periodically disable its communication circuitry between message transmissions. The hibernation terminal device 250 may transmit and / or receive messages via an attached router device 220a. Figure 2A As shown, the hibernation terminal device 250 may be one of the terminal devices attached to the router device 220a. Input devices (e.g., remote control device 170) and / or load control devices (e.g., power window regulator 150 when powered by battery) may be examples of the hibernation terminal device 250. In addition, sensors and / or battery-powered devices may be examples of the hibernation terminal device 250.

[0087] The leadership device 210 may update the roles of devices communicating within network 200, for example, based on changes to network 200 (e.g., or confirm role updates). In one example, when a control device is attached to network 200, the device may be assigned a specific role, and the leadership device 210 may update the device's role based on changes in network conditions. Changes in network conditions may include increased message traffic, the attachment of other devices, changes in signal strength, etc. Updates to the assigned roles of the control device may be based on the device's capabilities. For example, the leadership device 210 may update the control device's role from a terminal device meeting router criteria to a router device (e.g., because a terminal device meeting router criteria is a terminal device qualified to perform the role of a router device). The leadership device 210 may update the control device's role to a router device by assigning a router identifier (ID) to the device.

[0088] As the leader device 210 updates the roles of devices in network 200, it can maintain the number of router devices in network 200 and / or router identifiers used in network 200. For example, the leader device 210 can store and / or maintain a bitmap 217 that can be used to indicate the number of router devices and / or router identifiers used in network 200. Bitmap 217 may include a number of bits, each corresponding to a different router identifier used in network 200. In an example, the leader device 210 may support 64 router devices, and the leader device 210 may store a 64-bit bitmap to track router identifiers used in network 200. Each bit in the bitmap may indicate whether a router identifier is identified by the leader device 210 as being in use (e.g., having a value "1") or unused (e.g., having a value "0"). The leader device 210 can determine that a device should be upgraded to a router device and assign a router identifier to a router device whenever a router identifier is available. The leader device 210 may downgrade a router device (e.g., downgrade it to an end device) or remove a router device from network 200. As router devices are added or removed, bitmap 217 can be updated to indicate the number of router devices and / or router identifiers used in network 200.

[0089] The leader device 210 can send bitmap 217 to other router devices in network 200. Each router device, including leader device 210, can maintain network information about each of the router devices identified as being used in network 200. For example, each router device can maintain network information about each of the router devices in a router table such as router table 219. For example, the network information in router table 219 can identify the router devices in network 200 and the communication quality of the corresponding router devices with other router devices maintained in router tables stored locally thereon. Each router table, such as router table 219, can include a row of each router identifier indicated in bitmap 217. Each router device in the network, including leader device 210, can perform communication on network 200 based on the network information stored and maintained in the router tables stored locally thereon. For example, router devices such as router devices 220a-220d and / or leader device 210 can transmit messages differently within network 200 based on the communication quality with the corresponding router devices identified in the router tables stored locally thereon.

[0090] The control device attached to network 200 can also operate as a parent device and / or a child device. A leader device (e.g., leader device 210) and router devices (e.g., router devices 220a-220d) attached to one or more terminal devices (e.g., terminal devices 230a, 230b, router-compliant terminal device 240, and / or dormant terminal device 250) can operate as parent devices. Terminal devices (e.g., terminal devices 230a, 230b, router-compliant terminal device 240, and / or dormant terminal device 250) attached to a leader device (e.g., leader device 210) or router device (e.g., one of router devices 220a-220d) can operate as child devices. As parent devices, leader device 210 and router devices 220a-220d can each be attached to one or more child devices (e.g., one or more of terminal devices 230a, 230b, router-qualified terminal device 240, and / or dormant terminal device 250, as described herein). Furthermore, leader device 210 and router devices 220a-220d can store and / or relay messages sent by their respective attached child devices. For example, leader device 210 and router device 220 can receive messages from their respective child devices and route the received messages to the intended receiving device (e.g., directly to the intended receiving device via the corresponding parent device of the intended receiving device, and / or to a router device or leader device on the path to the intended receiving device). Similarly, leader device 210 and router devices 220a-220d can receive messages for their respective child devices and route the messages to the appropriate child device. When the communication circuitry of a dormant terminal device is enabled, the parent device of the corresponding dormant terminal device can schedule communication with the dormant terminal device.

[0091] like Figure 2AThe relationship (e.g., attachment) between a sub-device and its corresponding parent device is indicated by dashed lines. For example, router device 220a may be configured as the parent device of terminal device 230a and dormant terminal device 250. Similarly, router device 220b may be configured as the parent device of terminal device 230b. Router device 220a may receive messages for terminal device 230a and forward the messages to terminal device 230a. Since router device 220a is configured as the parent device of terminal device 230a, terminal device 230a may transmit messages to router device 220a, and router device 220a may route the messages to the intended recipient. For example, when terminal device 230a intends to transmit a message to terminal device 230b, terminal device 230a may initially transmit the message to router device 220a. Router device 220a may then route the message to router device 220b (e.g., the parent device of terminal device 230b). For example, router device 220a can route messages to router device 220b via router device 220c or router device 220d, and router device 220b can then forward the messages to terminal device 230b. Furthermore, as described herein and in... Figure 2A As explained, router device 220a can route messages to terminal device 230b via router device 220c (e.g., an auxiliary parent device of router device 230b).

[0092] Sub-devices can be configured to transmit unicast messages to their respective parent devices. Control devices can transmit unicast messages directly or via hops across other devices in the network to another control device in the network. Each unicast message can be individually addressed to another control device by including a unique identifier of the control device to which it is transmitting the unicast message. Control devices can generate separate unicast messages for each control device they are communicating with and address the unicast messages independently to each control device. Unicast messages may also include a unique identifier of the control device transmitting the unicast message. A control device can determine that it is the intended recipient of a unicast message by identifying itself in the unique identifier within the unicast message.

[0093] Messages can be sent in a network using multicast and / or broadcast messages. Multicast messages can be sent to a group of control devices in the network. A multicast message may include a group identifier. Control devices that are members of the group can identify the group identifier and process the message accordingly. Broadcast messages can be sent to each control device in the network capable of receiving the message. The broadcast message may include an indication that the message is a broadcast message (e.g., a broadcast address). Each device receiving the broadcast message can process the message accordingly. The network can use either multicast or broadcast messages, and both terms are used herein without instruction.

[0094] Messages transmitted by a child device to its corresponding parent device may include indications of the intended recipient (e.g., a unique identifier), and the parent device may route the messages accordingly. See again Figure 2A Terminal device 230a can transmit messages to router device 220a (e.g., a parent device of terminal device 230a), and router device 220a can route the messages based on the intended recipient. For example, if terminal device 230a transmits a message for terminal device 230b, router device 220a can route the message to router device 220b (e.g., a parent device of terminal device 230b that meets router criteria) via router device 220c or router device 220d. For example, if router device 220a routes the message via router device 220d, router device 220d can forward the message to router device 220b, which can then forward the message to terminal device 230b. Router device 220a can identify that router device 220b is a parent device to which terminal device 230b is attached via a lookup table. Figure 2A The description states that there may be multiple paths routing messages on network 200, and the router device can identify the shortest path (e.g., the fewest hops) to transmit the message to the appropriate device.

[0095] A child device can be configured to communicate with an auxiliary parent device (e.g., configured to communicate with more than one parent device). See also Figure 2A For example, terminal device 230b may be configured to communicate with a parent device (e.g., a primary parent device) (such as router device 220b) (e.g., to transmit messages to and from it). Terminal device 230b may also be configured to communicate with an auxiliary parent device (such as router device 220c) (e.g., to receive messages from it). Figure 2A (The long and short dashed lines in the diagram illustrate this). A child device may receive unicast messages from its parent device (e.g., the primary parent device). A child device may also receive multicast messages (e.g., and / or broadcast messages) from its parent device (e.g., the primary parent device) and one or more auxiliary parent devices, which can increase the efficiency and reliability of message reception by the child device. For example, a child device may receive network advertising messages via auxiliary parent devices. The number of auxiliary parent devices synchronized with the child device may be limited to a threshold number of auxiliary parent devices (e.g., 3, 5, 10, etc.).

[0096] A child device may be attached to a single parent device and synchronized with one or more auxiliary parent devices. For example, a child device may send and / or receive unicast messages via a parent device. Similarly, a child device may receive multicast messages via one or more synchronized auxiliary parent devices. The number of auxiliary parent devices synchronized with a given child device may be limited to a threshold number of synchronized auxiliary parent devices, which may be predefined and / or configured. A child device may attempt to synchronize with an auxiliary parent device by transmitting a message (referred to herein as a link request message) to the auxiliary parent device. For example, see... Figure 2A Terminal device 230b may have transmitted a link request message to router 220c. A link request message can be used to request a network communication link between two devices. As described herein, messages can be transmitted between devices sharing a network communication link. In response to receiving a link request message, router device 220c may transmit a message (referred to herein as a link accept message) to terminal device 230b. The link accept message may include information (e.g., frame count) allowing the corresponding child device to decrypt messages from the auxiliary parent device. As described herein, when a child device is synchronized with an auxiliary parent device, the child device can receive multicast messages via the synchronized auxiliary parent device. For example, see... Figure 2A Terminal device 230b can receive multicast messages via a parent device (e.g., router device 220b) and an auxiliary parent device (e.g., router device 220c), which can improve the efficiency and reliability of the sub-device 230b receiving multicast messages.

[0097] The sub-device may receive advertising messages from router devices other than its parent device or auxiliary parent device. For example, a router device may transmit advertising messages to enable other control devices to determine that a network has been established, and that devices hearing the advertising messages may attempt to attach to the router device (e.g., for communication via the network). Devices may receive and track advertising messages transmitted by router devices to determine whether they are capable of communicating via the network. Furthermore, or alternatively, advertising messages transmitted by the respective router devices may provide other router devices with the ability to measure communication quality metrics (e.g., via Received Signal Strength Indicator values) between the respective routers attached to the network (e.g., which router devices can use to update their respective routing tables or routing information). As described herein, the sub-device may measure another communication quality metric of the received signal strength indicator (RSSI) or the received advertising messages.

[0098] Specific messages can be propagated and broadcast by multiple devices in network 200, which increases the likelihood that the corresponding sub-devices will hear the message. For example, instead of sending multiple transmissions, substantially similar multicast messages (e.g., messages including the same load control instructions sent to multiple load control devices) can be broadcast. Referring again to load control system 100, actuation of a button on remote control device 170 can adjust the intensity of multiple lighting loads (e.g., lighting load 122 and plug-in lighting load 142) and a message can be broadcast to adjust the corresponding lighting load. Furthermore, devices receiving broadcast transmissions can be configured to process and repeat (e.g., forward messages on the network or otherwise act as repeaters) messages in response to receiving said broadcast transmissions.

[0099] A child device may create and maintain an auxiliary parent device table. The auxiliary parent device table may include a list of auxiliary parent devices from which the corresponding child device is configured to communicate (e.g., synchronize with and / or receive multicast messages). Furthermore, the auxiliary parent device table may include an indication of a communication quality metric (e.g., RSSI) of the received signal strength of each of the child device's auxiliary parent devices. For example, the auxiliary parent device table may include a moving average of the received signal strength indicators of each of the child device's auxiliary parent devices. Similarly, a child device may create and / or maintain a router table. The router table may include router devices from which the corresponding child device has received messages (e.g., advertising messages). Furthermore, the router table may include an indication of the RSSI or other communication quality metrics of messages received from each of the router devices in the router table. Moreover, or alternatively, the child device may maintain a general router table. The router table may include each of the router devices from which the corresponding child device has received messages and the received signal strength indicator of each of the corresponding router devices. The router table may also include an indication of whether a corresponding router device is a parent device of the child device or an auxiliary parent device of the child device. As used herein, the term auxiliary parent device table may refer to a table separate from the router table or a subset of the router table, which includes router devices that serve as auxiliary parent devices for synchronization with child devices.

[0100] As described in this article, Network 200 can allow load control systems (e.g., in...) Figure 1A Communication between devices in the load control system 100 shown herein. Terminal devices 230a and 230b may include load control devices and / or input devices (e.g., input devices) that communicate with other devices in the load control system. For example, terminal device 230a may communicate with another terminal device and / or router device in the load control system via RF communication.

[0101] See Figure 1AThe remote control device 170 can operate as a terminal device or a dormant terminal device to transmit messages including user input instructions and / or control commands for controlling another terminal device (e.g., dimmer switch 120, LED driver 130, plug-in load controller 140, power window trim 150, and / or thermostat 160). For example, the remote control device 170 can communicate via one or more intermediate parent devices such as leader devices and / or router devices. The leader device and / or router device can communicate with one or more other leader devices and / or router devices in the network to route messages to another terminal device (e.g., dimmer switch 120, LED driver 130, plug-in load controller 140, power window trim 150, and / or thermostat 160) for performing load control.

[0102] The control device can be attached to a network or network partition (e.g., in...). Figure 2A Another control device on the network 200 shown in the diagram enables the device to communicate via the network (e.g., transmit and / or receive messages). The control device can initiate attachment to another control device on the network to discover potential parent devices by transmitting a parent request message (e.g., a multicast parent request message). The parent request message can be transmitted by the control device to discover and / or attach to a parent device (e.g., a router device and / or a leader device). The control device can transmit the parent request message as a multicast message, for example, to identify devices attached to a network that can act as a parent device of the control device.

[0103] A potential parent device (e.g., the leader device 210 and / or router device 220 of network 200) that receives a parent request message (e.g., a multicast parent request message) may respond by transmitting a parent device response message. For example, a potential parent device that receives a multicast parent request message may each transmit a parent response message (e.g., as a unicast message) to the control device that transmitted the parent request message. The parent response message may indicate that the control device that transmitted the parent response message is available as a parent device. Therefore, the control device that transmitted the parent request message may receive multiple responses to the parent request message and determine the parent to synchronize with based on the received parent response messages. The control device that transmitted the parent request message may identify the received communication quality metric (e.g., RSSI) associated with the response message and attempt to attach to the parent device that has the maximum received signal strength indicator of the response message.

[0104] Figure 2B This is an exemplary illustration of a network 200a having multiple network partitions 201, 202, 203 (e.g., individual network partitions). Figure 2BThe description indicates that network partition 201 may include the following parent devices: leader device 211 and router devices 221a, 221b, 221c, and 221d. Furthermore, network 201 may include sub-devices such as: terminal devices 231a and 231b; a router-qualified terminal device 241; and a dormant terminal device 251. For example, a unique router identifier may be assigned to each of the router devices 221a-221d in network partition 201. Network partition 202 may include the following parent devices: leader device 212 and router devices 222a, 222b, 222c, and 222d. Furthermore, network 202 may include sub-devices such as: terminal devices 232a and 232b; a router-qualified terminal device 242; and a dormant terminal device 252. For example, a unique router identifier may be assigned to each of the router devices 222a-222d in network partition 202. Network partition 203 may include a single parent device, leader device 213, and a single terminal device, terminal device 223.

[0105] like Figure 2B The description indicates that network partition 203 may include a leader device 213 and a terminal device 223. However, network partition 203 may not include router devices. Instead, leader device 213 may serve as the sole router device within network partition 203. A leader device not connected to or synchronized with a router device may be referred to as a singleton device. For example, leader device 213 may be a singleton device. Figure 2B The description states that a single device can be connected to one or more sub-devices (e.g., terminal device 223). Network partition 203 can be a singleton partition. Figure 2B The documentation states that a singleton partition may include a leader device (e.g., leader device 213). Furthermore, a singleton partition may include one or more terminal devices (e.g., terminal device 223). However, as... Figure 2B The documentation states that a singleton partition may not include router devices.

[0106] Network 200a allows communication between control devices in a load control system (e.g., load control system 100). Furthermore, network partitions 201, 202, and 203 may be formed because some control devices cannot attach to an already formed network partition. For example, as described herein, a control device may attempt to attach to another control device on a network partition by transmitting a parent request message (e.g., a multicast parent request message). However, if a control device fails to receive a response to the parent request message (e.g., because the control device is outside the communication range of a router device in an already formed network partition), the control device may attempt to form its own network partition (e.g., become the leader of the new network partition).

[0107] A control device that cannot be attached to a network partition may create another network partition. For example, see Figure 2B The leader device 213 may be unable to attach to the router devices on network partitions 201 and 202 (e.g., because the leader device 213 is outside the communication range of the router devices on network partitions 201 and 202). Therefore, the leader device 213 may form network partition 203 and the terminal device 223 may be attached to network partition 203. Similarly, the leader device 212 may no longer be able to attach to network partitions 201 and 203 (e.g., because the leader device 212 is outside the communication range of the router devices on network partitions 201 and 203) and has formed network partition 202.

[0108] A network partition can be associated with a partition identifier (e.g., a partition ID). The partition identifier can be randomly or pseudo-randomly assigned (e.g., randomly assigned from a range or list of identifiers). For example, the priority of a corresponding network partition can be based on its partition identifier. A partition identifier can be assigned by randomly selecting a number from a range of partition identifier values. The partition identifier can be selected at the leader device and transmitted in the advertising message to other devices that can be attached to the leader device. See now. Figure 2B Network partitions 201, 202, and 203 can each be associated with a corresponding partition identifier. For example, partition identifier 1 can be assigned to network partition 202, partition identifier 2 can be assigned to network partition 203, and partition identifier 3 can be assigned to network partition 201. Although the partition identifiers of network partitions 201, 202, and 203 are consecutive (e.g., for the sake of simplicity), the assignment of partition identifiers to network partitions can be consecutive, non-consecutive, and / or random. As described herein, the partition identifier can also be an indication of the priority of the corresponding network partitions 201, 202, and 203. For example, the partition identifier can also be the priority value of the corresponding network partitions 201, 202, and 203 (e.g., the corresponding priorities of network partitions 201, 202, and 203 could be 3, 1, and 2). Higher or lower partition identifiers can indicate a higher priority value for the network partition (e.g., based on the partition identifier, network partition 201 can be a network partition with a higher priority than network partitions 202 and 203).

[0109] Priorities can be assigned to network partitions based on control devices (e.g., router devices and / or terminal devices) within the partition. For example, a network partition that has at least one router device in addition to a leader device can be given a higher priority than a network partition that only has a leader device and no other router devices. See also Figure 2BNetwork partition 201 can be given a higher priority than network partition 203 because network partition 201 has router devices 221a-221d, while network partition 203 has no router devices other than the leader device. Additionally, priority can be assigned to the appropriate network partition based on the number of control devices (e.g., router devices and / or terminal devices) in the network partition. See also Figure 2B Network partition 201 can be given a higher priority than network partition 203 because network partition 201 can have a larger number of control devices. Each control device in the network partition can locally store the number of control devices in the network partition. As described herein, different partition identifiers can be used to assign different priorities to network partitions with the same number of control devices. For example, as... Figure 2B As shown, network partition 201 and network partition 202 may have the same number of control devices (e.g., router devices and / or terminal devices). Based on the higher or lower partition identifier, network partition 201 may have a higher priority.

[0110] As the control device is attached to each of network partitions 201, 202, and 203, the effective communication range of each network partition can be increased. Furthermore, a control device that was initially unable to be attached to one or more of network partitions 201, 202, and 203 (e.g., because the control device was previously outside the communication range of all network partitions) may subsequently be able to be attached to one of network partitions 201, 202, and 203. Additionally, when multiple network partitions are formed (e.g., as...), Figure 2B The description states that network 200 has multiple network partitions 201, 202, 203. Compared to when a single network partition is formed (e.g., as shown in the diagram), this is different. Figure 2A The description indicates that network 200 (having a single network partition) can better facilitate communication within the load control system. For example, forming a single network partition better facilitates communication within the load control system because devices in one network partition may not be able to transmit messages to control devices attached to another network partition (e.g., devices in one network partition may not be able to communicate with other devices outside that network partition). Therefore, if a control device attached to the first network partition is also within communication range of the second network partition, the device may attempt to detach from the first network partition and attach to the second network partition. For example, when the second network partition has a higher priority than the first network partition, the control device may detach from the first network partition and attach to the second network partition.

[0111] Each router device attached to network partitions 201 and 202 can be associated with a communication range. The communication range of each of the respective router devices can be predefined and / or preconfigured. For example, the communication range of each of the respective router devices can be predefined and / or preconfigured based on the hardware components of each of the respective router devices. The effective communication range of a respective network or network partition can be based on the communication range of the router devices attached to the respective network (e.g., the sum of the communication ranges of each of the router devices attached to the respective network). Therefore, the communication range of a respective network or network partition can increase as the number of router devices attached to the respective network increases.

[0112] As described herein, a control device attached to a lower-priority network partition may attempt to attach to a higher-priority network partition. For example, a control device attached to network partition 202 may attempt to attach to network partition 201 (e.g., because network partition 201 has a priority value of 3 and network partition 202 has a priority value of 1). Router device 222a may receive an advertising message from a device attached to network partition 201 (e.g., from router device 221d). The advertising message may include an indication of the partition identifier (e.g., 3) of network 201, which may be greater than the partition identifier of network partition 202 and may indicate that network partition 201 is a higher-priority network partition than network 202. Router device 222a may determine to attach to network partition 201 (e.g., because network partition 201 has a higher priority).

[0113] Router device 222a may attempt to attach to network partition 201 by transmitting a request to the leader device (e.g., leader device 211) of network partition 201. The request may include, for example, a request to attach to network partition 201 and be assigned a specific router identifier. For instance, router device 222a may request to attach to network partition 201 and be assigned the router identifier assigned to router device 222a in network partition 202. In response, if another router device 212a-212d attached to network partition 201 has already been assigned the requested router identifier, the leader device 211 may reject the request. If none of the router devices 212a-212d attached to network partition 201 have been assigned the requested router identifier, the leader device 211 may accept the request. If router device 222a is attached to network partition 201 and assigned the requested router identifier, then sub-devices of router device 222a (e.g., terminal device 232a and hibernating terminal device 252) may automatically attach to network partition 201. For example, when a sub-device communicates with router device 222a using the router identifier. If the leader device 211 of network partition 201 assigns the requested identifier to router device 222a (e.g., the router identifier assigned in network partition 202), then the sub-device may continue to communicate with router device 222a using the same router identifier.

[0114] Figure 2C and Figure 2D This is a diagram illustrating an exemplary network 200b as it advances or evolves during network formation. (See diagram for example.) Figure 2C The description indicates that network 200b may include a leader device 214 and a terminal device 234a. Since network 200b is in the initial stage of network formation, it may not yet include router devices. Therefore, terminal device 234a may be attached to leader device 214 (e.g., because no other router devices exist on network 200b yet). However, the network communication link (e.g., parent / child link) between leader device 214 and terminal device 234a may be weak (e.g., the received signal strength indicator of messages received by terminal device 234a may be approximately -60 dB). For example, the network communication link between leader device 214 and terminal device 234a may be weak because they are not located close to each other. If the network communication link between leader device 214 and terminal device 234a is weak, the possibility of message transmission and / or reception failures between them may increase.

[0115] Figure 2D This shows that it is more than in Figure 2CThe network formation phase described in the text refers to network 200b, which occurs during a later network formation phase. (For example...) Figure 2D The description explains that as the network develops (e.g., over time), network 200b may evolve to include additional control devices. For example, network 200b may evolve to include router devices 224a and 224b. Furthermore, router devices 224a and 224b may be positioned closer to terminal device 234a (e.g., positioned closer to terminal device 234a than leader device 214). Additionally, the received signal strength indication of messages transmitted by router devices 224a and 224b and received by terminal device 234a may be stronger (e.g., stronger than the received signal strength indication of messages transmitted by leader device 214 and received by terminal device 234a, such as -35dB and -30dB respectively). Therefore, the potential network communication link (e.g., potential parent / child link) between router devices 224a and 224b and terminal device 234a may be stronger than the network communication link between leader device 214 and terminal device 234a. Furthermore, as... Figure 2D As explained, the potential network communication link between router device 224b and terminal device 234a may be stronger than the potential network communication link between router device 224a and terminal device 234a (e.g., because router device 224b is located closer to terminal device 234a than router device 224a).

[0116] As the network develops or progresses, additional devices may be attached to the network. Consequently, if terminal device 234a determines to detach from the initial parent device (e.g., leader device 214) and attach to a newer parent device (e.g., router device 224a or router device 224b), terminal device 234a may experience better communication on network 200b. For example, as described herein, the newer parent device may be positioned closer to terminal device 234a than the initial parent device (e.g., allowing for a stronger network communication link between the newer parent device and terminal device 234a), which can increase the likelihood of successful message transmission and / or reception. As a result, as the network develops, the terminal device can determine whether to attach to the newer parent device. This is illustrated using an example where the relative positioning of the devices can increase or decrease the network communication link shared between the two devices. Figure 2C and Figure 2D However, other conditions may affect the shared network communication link between the two devices (e.g., line of sight, interference, signal obstruction, etc.). To that extent, Figure 2C and Figure 2D The scenario is merely an example to illustrate that networks can change over time and that changes in networks can be considered in an attempt to improve communication on the network.

[0117] Figure 2E This is a diagram of an exemplary network 200c. Figure 2E The description indicates that network 200c may include a leader device 215 and router devices 225a, 225b, 225c, 225d, 225e, and 225f. In network 200c, the router devices (e.g., leader device 215 and router devices 225a, 225b, 225c, 225d, 225e, and 225f) may periodically transmit advertising messages, which can be used to calculate communication costs and / or quality in network 200c. For example, router device 225c may send advertising messages received by leader device 215, and leader device 215 may send advertising messages received by router device 225c. Each router device may measure the received communication quality metric (e.g., RSSI) of the received advertising messages and calculate the link quality (e.g., Link Quality Index (LQI)) for receiving the advertising messages.

[0118] Each router device (e.g., leader device 215 and router devices 225a, 225b, 225c, 225d, 225e, 225f) can send advertising messages as multicast messages. Advertising messages transmitted by the router devices can be received by neighboring router devices that share a single-hop network communication link with the router device transmitting the advertising messages. The single-hop network communication link may be able to directly transmit messages from one router device to another via unicast and / or multicast communication. For example, router devices 225a and 225c may be neighboring devices that share a single-hop network communication link with leader device 215 because router devices 225a and 225c can directly send messages to and / or directly receive messages from leader device 215. The single-hop network communication link may be a network communication link on which router devices can directly receive advertising messages with a quality higher than a given link quality (e.g., LQI greater than 0).

[0119] After a router device receives periodic advertising messages from another router device, the router device can calculate the link quality (e.g., LQI) of the network communication link through which the advertising messages were received. The LQI can be calculated as a predefined number within a range indicating different link qualities of the network communication link between the two devices. For example, the LQI can be indicated by values ​​of 0, 1, 2, or 3. Different indicators of the LQI can be assigned based on the RSSI of the received advertising messages and a link margin relative to a predefined receive level. The receive level can be a predefined minimum receive level. The receive level can be established as a predefined RSSI value for communication on the network. For example, the receive level can be defined by a noise floor set to the average RSSI value of noise generated on the network over a period of time. In an example using the receive level as the noise floor, when the RSSI values ​​of one or more advertising messages (e.g., the average RSSI of advertising messages over a period of time) are at least 2 dB higher than the noise floor, the router device (e.g., leader device 215 or router device 225c) can calculate an LQI of 1 for communication received from the adjacent router device on the link. When the RSSI values ​​of one or more advertising messages (e.g., the average RSSI of advertising messages over a period of time) are at least 10 dB above the noise floor, a router device (e.g., leader device 215 or router device 225c) can calculate a link quality of 2 for received communication with neighboring router devices on the network communication link. When the RSSI values ​​of one or more advertising messages (e.g., the average RSSI of advertising messages over a period of time) are at least 20 dB above the noise floor, a router device (e.g., leader device 215 or router device 225c) can calculate a link quality of 3 for received communication with neighboring router devices on the network communication link. When the RSSI values ​​of one or more advertising messages (e.g., the average RSSI value of advertising messages over a period of time) cannot be determined to be above the noise floor, a link quality value of zero can indicate that the link quality is unknown or infinite. Although examples of predefined numbers indicating different levels of link quality and / or different link margins that can be assigned to those levels are provided, other indicators and / or values ​​can be used to define the link quality between two routing devices. Additionally, while a separate routing device may be provided as an example (e.g., leader device 215 or router device 225c), other routing devices can similarly calculate the link quality of the network communication link between adjacent routing devices.

[0120] The LQI of the network communication link, measured locally at each control device (e.g., leader device 215 and router device 225c), can be exchanged with other devices on the network communication link. For example, the LQI can be measured locally at each control device and transmitted to other devices via advertising messages. The LQI measured by another router device (e.g., on the other side of the network communication link) and received at the router device can be stored as the link quality output (LQO) of the network communication link. The LQI and / or LQO can be stored in the local router table at each router device. For example, leader device 215 can store the LQI and / or LQO of the network communication link with each router device in network 200c in router table 229. Similarly, router device 225c can store the LQI and LQO used for communication with each router device in network 200c in router table 261.

[0121] As described herein, from the perspective of the apparatus storing router tables 229 and 261, router tables 229 and 261 can each identify network information used for communication with each router in network 200c. As described herein, the number of router devices in network 200c and / or router identifiers used in network 200c can be determined from bitmap 227. Bitmap 227 can be maintained by the leader device 215 and distributed to other routing devices for maintaining their routing tables locally. For example, router devices 225a and 225c can receive bitmap 227 and update their local router tables. Bitmap 227 can indicate the number of rows in the router table (e.g., indicating the number of identified router devices in the network) and / or router identifiers to be included in the router table. Router devices can maintain updated network information for the indicated router identifiers in the router table. The updated network information in the router table may include LQI and / or LQO of the network communication links between the router devices identified in bitmap 227. For example, router 225c may receive bitmap 227 from leader device 215 and update router table 261 to include router devices in table 261 indicated in bitmap 277, or remove router devices in table 261 that are indicated in bitmap 277 as unusable in the network.

[0122] Leader device 215 and router devices 225a, 225b, 225c, 225d, 225e, and 225f can each use the LQI and LQO in their respective router tables to calculate the link cost for communicating with other router devices on a network communication link. The link quality of the network communication link between two router devices can be the smaller of the link quality value for outgoing messages (e.g., LQO) and the link quality value for receiving messages on a single-hop network communication link between the two devices (e.g., LQI). A zero LQO or LQI indicates that a router device cannot have a direct network communication link with a router device listed in its router table.

[0123] The link cost used to transmit communication between devices on a network communication link directly corresponds to the link quality of communication on that network communication link. Link cost can indicate the relative cost or loss of communication on a network communication link. Figure 2F This is an example table 262 illustrating exemplary link costs that can correspond to different link qualities. For example... Figure 2F As shown, for communication on a network communication link between two adjacent devices, higher link quality corresponds to lower link cost.

[0124] A router device can use the link cost of each network communication link to calculate the path cost of communication between the router device and another router device in network 200c. The path cost can indicate the relative cost or loss of communication over the entire communication path, which may include one or more router devices. The path cost of one communication path can be compared with another communication path to determine a higher quality communication path for sending digital communications that may have a lower relative cost associated with message transmission.

[0125] Path cost indicates the total cost of transmitting a message from an originating router device to an end router device. For example, path cost can be calculated as the sum of the link costs for each hop between the originating router device from which the message may originate and the end router device in network 200c that can receive the message. Each router device can calculate the path cost on a single-hop network communication link to an adjacent device as equal to the link cost and store the path cost in a locally stored router table. For example, router device 225c can set the path cost for communicating with leader device 215 to be equal to the link cost on the network communication link (e.g., the lower of LQI and LQO) and store the path cost in router table 261. Similarly, router device 225c can set the path cost for communicating with router device 225b to be equal to the link cost on the network communication link (e.g., the lower of LQI and LQO) and store the path cost in the router table.

[0126] Each router device (e.g., leader device 215 and router devices 225a, 225b, 225c, 225d, 225e, 225f) can update the path cost for transmitting messages to / from each router device in their respective router tables based on path cost information received from another router device. For example, since router device 225b may not be able to communicate directly with leader device 215, router device 225b can receive path cost information for transmitting messages through another router in network 200c. Router 225c can transmit the path cost (e.g., path cost = 2) for transmitting messages to / from leader device 215 in a multicast message received by other router devices. For example, the multicast message may be an advertising message. Router device 225b can receive the path cost (e.g., path cost = 2) for transmitting messages between leader device 215 and router device 225c. To calculate the total path cost of transmitting messages between router device 225b and leader device 215 to router device 225c, router device 225b can add the link cost of communication between router device 225b and router device 225c (e.g., link cost = 1) to the path cost received from router device 225c (e.g., path cost = 1) to obtain the total path cost (e.g., path cost = 3). The communication link cost between router device 225b and router device 225c can be determined based on the link quality of the network communication link between router device 225b and router device 225c, which can be the smaller of the LQI and LQO of the network communication link (e.g., link quality = 3).

[0127] Each router device can send / broadcast an advertising message including path costs to one or more other router devices in network 200c. Router devices that receive path cost information from a router device that previously sent the advertising message can update their corresponding path cost information in their local router tables (e.g., by adding the link costs of their communication with the router device that previously sent the advertising message to the path cost in the received message). Each router device can use locally stored path cost information to identify paths that can be used to transmit messages. For example, a message from router device 225b to leader device 215 can be transmitted via router device 225a or router device 225c. Router device 225b can receive corresponding advertising messages from router devices 225a and 225c, the advertising messages indicating that the path cost of message communication between router device 225a and leader device 215 is the same as the path cost of message communication between router device 225c and leader device 215 (e.g., path cost = 2 on each network communication link). Router device 225b may add the link cost calculated for transmitting messages between router device 225b and router device 225c (e.g., link cost = 1) to the path cost information received in the advertising message from router 225c (e.g., path cost = 2) to determine the total path cost (e.g., total path cost = 3) for communication between router device 225c and leader device 215. Similarly, router device 225b may add the link cost calculated for transmitting messages between router 225b and router 225a (e.g., link cost = 2) to the path cost information received in the advertising message from router 225a (e.g., path cost = 2) to determine the total path cost (e.g., total path cost = 4) for communication between router device 225a and leader device 215. Router device 225b may update its locally stored router table using the calculated lowest path cost for communication with leader device 215 and / or the identifier of the router device (e.g., router 225c) through which messages will be transmitted. Each router device can similarly update its locally stored router table using the calculated lowest path cost for communicating with other router devices in network 200c. For example, as Figure 2E As shown, the leader device 215 and the router device 225c can each calculate the minimum path cost for communicating with other router devices in the network 200c and store the path cost in the corresponding router tables 229 and 261. The router tables 229 and 261 can also store the router identifier of the next hop from the corresponding device 215 and 225c for transmitting messages, so as to realize the calculated path cost for communication to the destination router device.

[0128] By periodically updating link quality (e.g., LQI and / or LQO), link cost, and / or path cost, and transmitting the path cost to other router devices in periodic advertising messages, each router device may have up-to-date path cost information for transmitting messages to other router devices in network 200c. A router device may use the optimal communication path (e.g., the lowest-cost path) to transmit a message to another device. The routing mechanism may allow a router device to detect when other router devices have gone offline from network 200c, or when the path cost between router devices has changed, and calculate the next lowest-cost path to maintain connectivity with other router devices in network 200c.

[0129] To distinguish relatively older data transmitted in periodic advertising messages from relatively newer data transmitted in periodic advertising messages, the advertising messages may be transmitted along with a sequence number. A leader device, such as leader device 215, may be responsible for updating the sequence number and distributing the updated sequence number to other router devices in the network (e.g., router devices 225a, 225b, 225c, 225d, 225e, 225f in network 200c). For example, leader device 215 may periodically (e.g., after transmitting one or more advertising messages) and / or increment the sequence number after a router device is added to the network. The sequence number may be updated to allow router devices in the network (e.g., leader device 215 and / or router devices 225a, 225b, 225c, 225d, 225e, 225f in network 200c) to recognize the updated network information transmitted in the advertising messages. For example, since router devices (e.g., leader device 215 and / or router devices 225a, 225b, 225c, 225d, 225e, 225f in network 200c) can periodically transmit advertising messages including path cost information indicating the path cost of communicating with other router devices in the network, the serial number can be updated to identify the updated path cost information.

[0130] After the leader device 215 updates the serial number, it can distribute the serial number to other router devices in the network. For example, the leader device 215 can use the serial number in its own advertising messages. Upon receiving the updated serial number, each router device can use the updated serial number in subsequent advertising messages transmitted from router devices on the network. Each serial number transmitted from the leader device 215 to other router devices can be used in advertising messages for router devices until the leader device 215 distributes subsequent serial numbers. For example, router device 225c can receive a serial number directly from the leader device 215 and use it in subsequent advertising messages. Router device 225b can receive a serial number in an advertising message transmitted from router device 225c and use it in subsequent advertising messages transmitted from router device 225b. Each router device can use its current serial number until it receives an updated serial number originating from and distributed by the leader device 215. When a router device receives an advertising message with an updated sequence number from a non-leader router device (e.g., router devices 225a, 225b, 225c, 225d, 225e, 225f), each router device may update the locally stored network information in its router table. If a router device receives an advertising message with the same sequence number as a previously received advertising message and / or an advertising message previously received from the same non-leader router device, the router device may be unable to process the advertising message. If a router device fails to receive an updated sequence number within a predefined period of time (e.g., minutes, seconds, etc.), the router may assume that the leader device 215 is unavailable for communication (e.g., offline, power outage, disconnected from the network, changed role, or otherwise unable to communicate with the router device) and attempt to form another network or network partition with another leader device 215.

[0131] Figure 3 This illustrates an exemplary control system 300 (e.g., in...). Figure 1A The system diagram of the load control system 100 shown is as follows. Figure 3 As shown, the control system 300 may include load control devices for commissioning, such as lighting control device 310 (e.g., LED driver 130). The lighting control device 310 can be commissioned by configuring it for lighting control. The lighting control device 310 can be configured to control lighting by: being declared; different equipment, groups, zones, and / or locations in configuration data assigned to the control system 300; and / or joining a communication link 312, such as a wireless communication network. The lighting control device 310 can be configured by defining preset scenes or other lighting control parameters that can be used to control it.

[0132] The control system 300 may include a system controller 340 (e.g., system controller 140). The system controller 340 may communicate with the lighting control device 310 via a communication link 312 to perform lighting control based on lighting control configuration information that may have been previously stored on it during operation (e.g., stored on the system controller 340). The lighting control configuration information may include preset configurations, zone configurations, occupancy configurations, and / or schedule configurations for controlling the lighting control device 310.

[0133] Lighting control configuration information may be generated by a computing device such as processing device 360 ​​(e.g., a personal computer or laptop computer). Processing device 360 ​​may be a computing device on which design software can be executed to configure (e.g., declare, diagnose, correlate, etc.) and / or control the design of a load control system within a load control environment. Processing device 360 ​​may generate a control database including lighting control configuration information (e.g., load control parameters) based on the floor plan and design of the lighting control system. Processing device 360 ​​may generate project code identifiers for identifying the project, and the floor plan and / or the control database for controlling devices in the floor plan are stored within the project. The lighting control configuration information in the control database may be stored at lighting fixture 310 or system controller 340 for enabling lighting control based on the information. Processing device 360 ​​may communicate with system controller 340 via communication link 342. For example, communication link 342 may be a wired or wireless communication link, such as an Ethernet link and / or a local network HTTPS communication link. The system controller 340 can send lighting control configuration information to the lighting control device 310, and / or control the lighting control device 310 according to the lighting control configuration information (e.g., via communication link 312).

[0134] After generating lighting control configuration information at processing device 360, processing device 360 ​​can share the lighting control configuration information with other devices for updating and / or assisting in debugging control system 300. For example, processing device 360 ​​can store the lighting control configuration information on a remote data source such as cloud server 370 for access by other devices. Processing device 360 ​​can communicate with cloud server 370 via communication link 372. Communication link 372 can be implemented via wired and / or wireless signals (e.g., using Internet Protocol (IP) and / or Hypertext Transfer Protocol (HTTP)). The lighting control configuration information can be stored at processing device 360 ​​and / or cloud server 370 along with a project identifier used to distinguish it from other projects.

[0135] The control system 300 may include a computing device such as a mobile device 350 (e.g., a smartphone or tablet computer) that can be implemented to declare (e.g., discover) control devices (e.g., lighting control device 310) for debugging the control system 300. The mobile device 350 may allow a user to access a control database to search for items in the control system 300 and discover the lighting control device 310 configured for those items. The mobile device 350 may discover the lighting control device 310 via a wireless communication link 352 (e.g., a short-range wireless communication link). The wireless communication link 352 may allow communication of beacon messages or other short-range RF communications. The wireless communication link 352 may include RF signals transmitted using a short-range RF protocol communication protocol.

[0136] Mobile device 350 can access lighting control configuration information in a control database from cloud server 370 and / or from processing device 360. Mobile device 350 can communicate with cloud server 370 via communication link 372. Mobile device 350 can communicate with processing device 360 ​​via wireless communication link 352. Mobile device 350 can also, or alternatively, access lighting control configuration information in the control database via a direct wired connection, such as a Universal Serial Bus (USB) cable and / or computer-readable media, such as a USB drive or other external storage.

[0137] Mobile device 350 can run an application locally to assist in debugging control system 300. Users can select buttons on the application to synchronize lighting control configuration information within the application with lighting control configuration information stored on cloud server 370 for the project. Users of mobile device 350 can access area and zone information in the lighting control configuration information to assign discovered lighting control devices 310.

[0138] When a lighting control device 310 is assigned to equipment, group, zone, and / or location at mobile device 350, lighting control configuration information can be updated and sent to cloud server 370. For example, a lighting control device identifier and / or beacon identifier for each lighting control device 310 can be stored along with an associated area, zone, and / or location within the zone for appropriate control. Processing device 360 ​​can then access the lighting control configuration information to send it to system controller 340 and / or lighting control device 310 for enabling lighting control based on the updated assignment.

[0139] Figure 4This is a flowchart of an exemplary method 400 (e.g., a debugging procedure) for debugging a control system, such as a load control system (e.g., load control system 100, 300). Method 400 may be implemented by one or more devices. For example, method 400 may be implemented by: a system controller (e.g., system controller 110, 340); a cloud server (e.g., cloud server 370); and / or computing devices, such as mobile devices (e.g., mobile devices 190, 350) and / or processing devices (e.g., processing device 360). Method 400 may begin at 402.

[0140] At 404, a load control system can be designed (e.g., as part of a design process). For example, design software running on a processing device can be used to design the load control system. The design software can be configured to generate configuration data that defines the operation and / or functionality of the load control system. This configuration data can be stored in a configuration database (e.g., on a processing device, cloud server, mobile device, and / or system controller). The processing device can store the configuration data (e.g., the configuration database) in a project (e.g., the project may include other identification information about the building in which the load control system can be installed). The configuration data may include representations of control devices (e.g., lighting fixtures, occupancy sensors, remote control devices, etc.) in the load control system, and configuration identifiers for the control devices (e.g., equipment, group, zone, area, and / or location identifiers). For example, the configuration data can define the functionality of the control devices (e.g., how lighting fixtures respond to occupancy sensors and / or remote control devices). The configuration data can indicate the role of one or more control devices on a network. The configuration data can define lighting control configuration information, which includes control parameters (e.g., as described below at 414) that can be stored in the control device and / or system controller. The control device and / or system controller may use control parameters to control the electrical load during normal operation (e.g., after completing method 400).

[0141] At 406, configuration data (e.g., all or part of a configuration database) can be transferred from a processing device to a mobile device (e.g., as part of a configuration data transfer procedure). For example, the processing device can be configured to transfer configuration data to the mobile device via a cloud server. When ready to transfer configuration data (e.g., when ready to declare a control device of the control system and / or said control device associated with a configuration identifier (e.g., a zone or group identifier for joining a network) of the configuration data), the processing device can transfer the configuration data to the cloud server via the Internet (e.g., via communication link 372 using IP and / or HTTP communication). The processing device can display an item code (e.g., a unique code for an item in a load control system being debugged). For example, the item code may include an alphanumeric sequence. The user can enter the item code into a configuration application running on the mobile device. The mobile device can transfer the item code to the cloud server, which can then transfer the configuration data to the mobile device. Additionally, the processing device can display machine-readable codes, such as barcodes and / or quick response (QR) codes, and the mobile device can scan the machine-readable codes to determine the item code. When the processing device and / or mobile device do not have internet access, at point 406, configuration data can be transferred (e.g., directly transmitted) from the processing device to the mobile device via a direct wired connection, such as a Universal Serial Bus (USB) cable and / or a computer-readable medium, such as a USB drive or other external storage. Alternatively, configuration data can be transferred (e.g., directly transmitted) from the processing device to the mobile device via a short-range wireless communication link.

[0142] At 408, a control device of the load control system can be declared and / or associated with a configuration identifier of configuration data (e.g., equipment, group, area, region, and / or location defined by the configuration data). For example, at 408, a mobile device can declare a control device and / or associate the control device with a configuration identifier of configuration data as part of a configuration procedure (e.g., a declaration procedure and / or an association procedure). For example, a mobile device can begin transmitting (e.g., periodically transmitting) mobile device beacon messages via a short-range wireless communication link (e.g., via communication link 352 using BLE technology). A control device that receives a mobile device beacon message and is within the mobile device's detection range can be configured to transmit a corresponding control device beacon message. The mobile device can receive control device beacon messages from multiple control devices and can select to declare a control device from which it has received control device beacon messages (e.g., the control device with the strongest received signal strength indicator from which it has received control device beacon messages). The installer can select the configuration identifier currently associated with the control device from the mobile device to initiate a declaration of the control device. The installer can move a mobile device around a building where the load control system is installed to declare and associate each of the control devices. In declaring each control device, the declared control device can transmit a unique identifier (e.g., a serial number) to the mobile device, and the mobile device can store the unique identifier, along with information about the association between the configuration identifier and the control device, in configuration data. The configuration process can end when the installer has completed declaring the control devices (e.g., the mobile device has declared all or part of the control devices of the load control system).

[0143] Prior to the declaration at 408, the control device may listen (e.g., continuously listen) for mobile device beacon messages on a short-range wireless communication link (e.g., communication link 352). After the declaration at 408, the control device may enter join mode. In join mode, the control device may periodically switch between listening for mobile device beacon messages (e.g., using BLE technology) and listening for requests to join the wireless communication network (e.g., communication link 312). Switching between listening for mobile device beacon messages and listening for requests to join the wireless communication network allows the control device to be ready to join the wireless communication network while still allowing the mobile device to connect to one or more of the control devices (e.g., to correct errors made when declaring the control device, or to cancel the declaration of the control device).

[0144] At 410, configuration data (e.g., updated during the configuration procedure at 408) can be transferred from the mobile device to the system controller. For example, the configuration data can be transferred from the mobile device to the system controller via a processing device. For example, the mobile device can be configured to transfer the configuration data to the processing device via a cloud server, via a direct wired connection, and / or via a short-range wireless communication link (e.g., as described above at 406). The processing device can then transmit the configuration data (e.g., all or part of a configuration database) to the system controller or another debugger device (e.g., via communication link 342). The debugger device can be a device on a wireless communication network used to enable other devices to join the network. For example, the debugger device can be a system controller, a lighting control device, an input device, etc. Alternatively, the mobile device can be configured to transmit configuration data to the system controller via a cloud server (e.g., not transmit configuration data to the processing device). Furthermore, the mobile device can be configured to transmit configuration data (e.g., directly) to the system controller via a direct wired connection and / or via a short-range wireless communication link.

[0145] The configuration data may include device identification data received from a control device, such as a lighting fixture. The configuration data may include roles for devices on a network stored locally for operation on the network. A system controller or other debugger device may receive device identification data for multiple devices. For example, multiple devices may have participated in a declaration process executed at 408. For each device participating in the declaration process, the computing device may pass device identification data to the system controller or other debugger device. Device identification data for each device may be passed individually (e.g., not simultaneously). The system controller or other debugger device may indicate to the user (e.g., via an application executed on a separate computing device) how many devices have declared to join the network and / or how many more devices have declared to join the network. For example, the computing device may display a list of each control device in a region (e.g., in text or graphical form). Once the system controller or other debugger device has received device identification data for a lighting fixture, the color of that lighting fixture may change. The system controller or other debugger device may aggregate device identification data received from devices and may generate a single list of lighting fixtures.

[0146] The system controller or other debugger device can operate in offline mode (e.g., the debugger device may be disconnected from the Internet or otherwise unable to access specific online services used during debugging). The computing device can transmit device identification data to the system controller or other debugger device via, for example, RF signals, USB transfer, etc. (e.g., directly to the debugger device). Alternatively, the computing device can transmit device identification data to the system controller or other debugger device via a processing device. The computing device can be physically connected to the processing device (e.g., via USB). For example, the computing device and the processing device can be connected via a cable with USB connectors at both ends. The computing device can transmit device identification data to the processing device via a physical connection. The computing device can be physically connected to the system controller or other debugger device via a wired digital communication link (e.g., via an Ethernet link). The processing device can transmit device identification data to the system controller or other debugger device via a wired digital communication link. The computing device can transmit device identification data by transferring (e.g., copying) the device identification data to an external drive (e.g., removable memory). The external drive can be connected to a processing device, which can transfer device identification data (e.g., a copy) from the external drive to local memory. The processing device can then store the device identification data in memory. The processing device can then transmit the device identification data to a debugger device via a wired digital communication link. The debugger device can also store the device identification data in memory.

[0147] At 412, the control device declared at 408 can be added to the wireless communication network (e.g., communication link 312). The system controller can operate as a debugger device to add the control device to the wireless communication network. For example, the debugger device can add the control device to the wireless communication network as part of the joining procedure. After the control device is added to the wireless communication network, the control devices can communicate with each other via the wireless communication network during normal operation. Additionally, the control device can stop monitoring the network on which mobile device beacon messages are received and can communicate on the wireless communication network (e.g., exclusively). At 414, configuration data can be transferred to the control device. For example, the system controller can transfer a portion of the configuration database related to the corresponding control device to that control device.

[0148] Noise sources (e.g., noise generating devices) may be located in the space where the network is deployed. For example, noise sources that may be located near the network could be wireless access points (WAPs), microwaves, cameras, security tag readers, and other noise generating devices. When adding noise sources to the space that may degrade the quality of communication on a communication link, or adding other control devices that may improve the quality of communication on a communication link, the roles of devices in the network can be updated to improve communication quality. For example, the roles of control devices located near noise sources can be assigned in a way that optimizes or otherwise improves the quality of communication in the space where the network is deployed. Control devices located near noise sources may have a higher probability of experiencing communication errors. Therefore, a network that assigns control devices near noise sources to the role of router devices may not be optimized and may experience an increased probability of communication failures. In networks such as mesh networks that rely on router devices to receive messages, the router devices themselves may be unable to receive messages due to their proximity to noise sources. Furthermore, other sub-devices may also be negatively affected by the proximity of a router device to a noise source, as this router may not receive messages repeatedly because it initially fails to receive them. Control devices located near a noise source can be supported by assigning a router device role to devices that are far enough from the noise source to experience fewer communication errors, but close enough to provide support for improved network communication to other control devices near the noise source with a signal strength strong enough to potentially overcome the noise source.

[0149] Figure 5 This is a top view of an exemplary space 500 of building 502. Space 500 may include multiple lighting fixtures 510. Each of the lighting fixtures 510 may include a lighting load (e.g., an LED light source 132) and a lighting control device (e.g., an LED driver 130) for controlling the intensity level and / or color (e.g., color temperature) of the lighting load. The lighting control device of the lighting fixture 510 may be configured to transmit and receive messages (e.g., digital messages) via wireless signals (e.g., RF signals 108, 109). The lighting control device of the lighting fixture 510 may be configured to communicate via a network (e.g., via networks 200, 200a, 200b, 200c and / or via communication link 312). For example, the fixture 510 may be as follows: Figure 5 The square device is shown in the grid pattern layout. However, the device 510 can be of different sizes or shapes and / or laid out in different ways.

[0150] The space 500 of building 502 may also include one or more noise sources 520 (e.g., noise generating devices), such as wireless access points (WAPs), microwaves, cameras, security tag readers, and / or other noise generating devices. Lighting control devices in lighting fixtures 510 located near or within a predefined transmission range of a noise source may have difficulty communicating on the network. Communication problems may worsen when lighting control devices in lighting fixtures 510 located near or within a predefined transmission range of a noise source operate as router devices in the network.

[0151] An executable router tuning program can be used to adjust lighting control devices operating as router devices in a network to improve communication on the network. Lighting devices within a first range 522 surrounding each of the noise sources 520 can be configured to operate in a role other than as router devices (e.g., prevented from operating as router devices). Lighting devices within the first range 522 can be configured to operate as terminal devices. The first range 522 can be characterized by a minimum radius R1. For example, as... Figure 5 As shown, the lighting control device in the lighting fixture 512 located in the first range 522 surrounding each of the noise sources 520 can be configured to operate in a role other than a router device and can operate as a terminal device in the network (e.g., limited to operation).

[0152] Additionally, some lighting devices within a second range 524 surrounding each of the noise sources 520 may be configured to operate as router devices (e.g., border router devices and / or terminal devices compliant with border router conditions). The second range 524 may be between a minimum radius R1 and a maximum radius R2 greater than the minimum radius R1. For example, as... Figure 5 As shown, the lighting control device in the lighting fixture 514 located in the second range 524 surrounding each of the noise sources 520 can be configured to operate as a border router device in the network (e.g., limited to operation).

[0153] The first range 522 and the second range 524 can be characterized by the intensity of the radio frequency signal around the noise source 520. For example, the distance between the minimum radius R1 and / or the maximum radius R2 can vary depending on the transmission power from the noise source 520 (e.g., different WAP transmission powers can result in different distances between the minimum radius R1 and / or the maximum radius R2). The control device can be determined to be within the minimum radius R1 and / or the maximum radius R2 based on the noise floor at each control device. The user can adjust the values ​​of the minimum radius R1 and / or the maximum radius R2 in the design software at the processing device, and / or can transmit the minimum radius R1 and / or the maximum radius R2 to the control device or system controller. In the design software, the user can select the type of noise source and / or the transmission power of the noise source, and can set the minimum radius R1 and / or the maximum radius R2 based on the type of noise source and / or the transmission power of the noise source.

[0154] A first range 522 can be used to align border router devices at least at a minimum distance from the noise source, thus limiting the impact of the noise source on communication to / from the border router devices. A second range 524 can be used to align border router devices not more than a maximum distance from the noise source, because the border router devices can transmit messages to terminal devices closer to the noise source at signal strengths high enough to exceed those of the noise source. The border router devices can be appropriately positioned around each of the noise sources, enabling them to communicate with terminal devices within the first range 522 (e.g., lighting controls in lighting fixture 512) and with other controls in the network outside the second range 524. The border router devices can be configured to facilitate communication between lighting controls located near the noise source 520 and those located further away from the noise source. A router adjustment procedure can assign a predetermined number of border router devices (e.g., 2 to 4 border router devices) around each of the noise sources 520. The number of border router devices for each noise source 520 may depend on the total area of ​​the space 500 where the network will be deployed (e.g., building area), the total number of control devices in the network, the noise floor or transmission power of the noise source 520, and / or the total number of noise sources 520 in the space 500. The number of border router devices may be increased for noise sources with higher transmission power that could cause greater interference. The number of border devices may be increased or decreased based on the type of noise source 520 that can be selected as described herein. The border router devices may be spaced apart from each other (e.g., approximately 3 to 4 feet apart). For example, as... Figure 5As shown, the second range 524 can be divided into four quadrants 526a, 526b, 526c, and 526d. A border router device may be located in each of quadrants 526a-526d. Multiple border router devices may also be located in each of quadrants 526a-526d. For example, when a noise source 520 with greater transmission power is indicated to be in the space, more border router devices may be located in each of quadrants 526a-526d. For example, border router devices may be located on the side of the second range 524 pointing towards most of the network's control devices (e.g., at the center of the network and / or space 500), as indicated by... Figure 5 The direction indicator 528 (e.g., a directional arrow) for each of the noise sources 520 is indicated by the noise source 520. Additionally, the total number of border router devices in the network can be limited to, for example, approximately nine border router devices. The number of border router devices can be limited to leave enough room for other router devices in the rest of the network. As described herein, the total number of supported router devices can be limited for a given network. Therefore, the number of border router devices can be limited to a defined portion of those router devices, such that the rest of the network has a sufficient number of router devices. The number of border router devices can be increased or decreased based on the available space.

[0155] Figure 6A This is a flowchart of an exemplary program 600 (e.g., a router tuning program) that can be executed to configure a control device (e.g., a lighting control device for lighting fixture 510) to operate as a router device based on the distance of the control device (e.g., a lighting control device for lighting fixture 510) from a noise source (e.g., noise source 520) in the space where the network is deployed (e.g., space 500). The control device configured with the role of a router device or a terminal device can be a device compliant with router conditions (e.g., a terminal device compliant with router conditions) capable of operating as a router device or a terminal device.

[0156] Procedure 600 may begin at 602. A control device within a first range (e.g., a first range 522 within a minimum radius R1) may be identified at 604, and the identified control device may be assigned as a terminal device at 606. A control device within a second range (e.g., a second range 524 between the minimum range R1 and the maximum radius R2) may be identified at 608, and the identified control device may be assigned as a router device at 610. Procedure 600 may exit at 612.

[0157] Control devices can be identified in various ways at 604 and 608 as belonging to a first and / or second range. For example, they can be identified as part of a design process prior to the installation and / or commissioning of the control devices and / or network (e.g., as described at 404 of procedure 400). For instance, the control circuitry of a processing device (e.g., processing device 360) can execute design software that displays a floor plan of the space and / or building where the network will be deployed. The floor plan can be displayed in a graphical user interface that resembles a top view of space 500 of building 502. The graphical user interface displayed by the design software can display markers or icons on the floor plan indicating the locations of lighting fixtures (e.g., lighting fixture 510) and / or noise sources (e.g., noise source 520). The graphical user interface displayed by the design software can also display a first and second range around the noise source (e.g., indicated by dashed circles with a minimum range R1 and a maximum radius R2). The graphical user interface may display indicators (e.g., quadrants 526a-526d) for segments of the area between the first and second ranges. The graphical user interface may also display directions toward the center position of the control device and / or the center position of the floor plan (e.g., direction indicator 528). The user of the design software can visually identify the control device within each of the first and second ranges, and / or the design software can automatically identify the control device falling within each of the first and second ranges.

[0158] Additionally, control devices within a first and / or second range can be identified after installation and / or commissioning of the control device. For example, a control device may be identified as being within a first and / or second range during the configuration procedure (e.g., declaration procedure and / or association procedure) at 408 of procedure 400 or after the joining procedure at 412 of procedure 400. Control devices within the first and / or second range can be identified based on their distance from an identification device located in the space and / or building where the network is deployed. The identification device may be an apparatus capable of executing the instructions described herein for: performing router tuning procedures to identify the range from a noise source; selecting a control device for assigning a role within the network; and / or assigning the role to the control device. For example, the identification device may be a control device that has been determined to be located in a noisy environment (e.g., has experienced communication errors due to proximity to a noise source or being within a predefined transmission range of the noise source). Figure 5The identification device may be one of the lighting control devices in the lighting equipment 512 shown, or a mobile device (e.g., mobile device 190 and / or mobile device 350) that is close to or within a predefined transmission range of the noise source. The identification device may be a system controller, mobile device, control device, or another computing device capable of executing router adjustment procedures or portions thereof, described herein based on information measured locally or at a mobile device or control device close to or within a predefined transmission range of the noise source. When the identification device is a control device, a control device close to the noise source may be selected as the identification device. The control device closest to the noise source may be selected to identify the control device within the noise source's range. The control device closest to the noise source may have a higher number of communication errors than other control devices. Communication errors can be detected by the control device identifying the number of lost messages over a period of time. The control device may determine its location in a noisy environment by measuring the background noise or the link quality (e.g., link quality in and / or link quality out) of communications transmitted to and / or received from the control device. Control devices may share their noise floor, link quality, or number of lost messages with each other or with another device (e.g., a system controller) to aggregate the noise floor or link quality from each of the control devices. A control device may identify itself as having the highest noise floor value, the lowest link quality value, or the highest number of lost messages and become the identification device. If another device (e.g., a system controller) aggregates the noise floor, link quality information, or number of lost packets from each of the control devices, it may select an identification device and send a message that causes the selected control device to become the identification device.

[0159] The first and / or second ranges can be identified based on network quality indicators received from the control device itself. For example, the control device can measure background noise and calculate thresholds for the first and / or second ranges at the identification device based on the background noise. The thresholds for the first and / or second ranges can be determined based on communication quality metrics of background noise measured at one or more devices. Alternatively, the thresholds for the first and / or second ranges can be determined based on communication quality metrics (e.g., RSSI values) of messages transmitted on network communication links between control devices. For example, a control device communicating over a network can transmit one or more link messages (e.g., via unicast, multicast, and / or broadcast messages) to other control devices on a network communication link. The control device receiving these link messages can measure the communication quality metrics of the link messages and store the communication quality metrics, along with an indication (e.g., a unique identifier) ​​of the control device that transmitted the link messages, in communication quality metric data at the control device. This communication quality metric data identifies the number and quality of possible network communication links that the control device can establish on the network. As described herein, communication quality metrics may include the RSSI value of a received link message, a link margin value associated with the received link message (e.g., link margin relative to the noise floor value), and / or the signal-to-noise ratio value of a link message received from the corresponding control device, or calculated based on the RSSI value, the link margin value, and / or the signal-to-noise ratio value.

[0160] Figure 6B The flowchart 620 illustrates exemplary messages transmitted between identification device 622 and control devices 624a, 624b. Identification device 622 may transmit a trigger message 626 (e.g., in response to entering router adjustment mode) to trigger control devices 624a, 624b to transmit link messages with other control devices on the network communication link. Identification device 622 and / or control devices 624a, 624b may collect measurement data including communication quality metrics of link messages received on the network and / or background noise levels measured at the devices. Measurement data may include background noise levels or noise floor values ​​measured at each device. Background noise levels or noise floor values ​​may include average communication quality metrics (e.g., RSSI values) of noise generated on the network over a period of time.

[0161] Upon receiving trigger message 626, the control device may transmit one or more link messages. For example, after receiving trigger message 626 from identification device 622, control device 624a may transmit link message 628. A control device receiving link messages from another control device may measure a communication quality metric of the link messages and store the communication quality metric along with an indication from a device that previously transmitted the link messages (e.g., a network address). The communication quality metric may include a Received Signal Strength Identifier (RSSI) of the link messages. The communication quality metric may be calculated based on the RSSI of the link messages. For example, the communication quality metric may include link headroom or a signal-to-noise ratio (SNR) value. Link headroom may be a value relative to a predefined reception level. The link headroom may, for example, indicate a relative value higher than the noise floor value measured at the control device. Each link headroom value may indicate whether a link message higher or lower than a link quality threshold is received at the control device. The link margin and / or signal-to-noise ratio (SNR) of a message can be calculated by subtracting the noise floor at the control device from the received signal strength (e.g., RSSI) of the received message. Alternatively, the communication quality metric may include the link quality value (e.g., link quality in or link quality out) itself, which may also be calculated as a predefined value higher than the noise floor. The communication quality metric can be calculated for each received link message or averaged over multiple link messages received over time.

[0162] At 630, control device 624b can measure and store a communication quality metric for the link message 628 transmitted by control device 624a. At 632, identification device 622 can measure and store a communication quality metric for the link message 628 transmitted by control device 624a. The communication quality metric for the link message 628 can be measured and stored for each device at identification device 622 and control device 624b to identify the quality of communication received from control device 624a. In addition to the communication quality metric, control device 624b and identification device 622 can store indications of the link message source, such as the network identifier of control device 624a.

[0163] In response to trigger message 626, control device 624b may transmit link message 634, including its network identifier, to control device 624a and identification device 622. At 638, control device 624a may measure and store a communication quality metric of the link message 634 transmitted by control device 624b. At 636, identification device 622 may measure and store a communication quality metric of the link message 634 transmitted by control device 624b. The communication quality metric of the link message 634 may be measured and stored for each device at identification device 622 and control device 624a to identify the quality of communication received from control device 624b. In addition to the communication quality metric, control device 624a and identification device 622 may store indications of the link message source, such as the network identifier of control device 624a.

[0164] Identification device 622 can transmit link message 640 to control devices 624a and 624b. At 644, control device 624a can measure and store a communication quality metric of the link message 640 transmitted by identification device 622. At 642, control device 624b can measure and store a communication quality metric of the link message 640 transmitted by identification device 622. The communication quality metric of the link message 640 can be measured and stored for each device at control devices 624a and 624b to identify the quality of communication received from identification device 622. In addition to the communication quality metric, control devices 624a and 624b can store indications of the source of the link message, such as the network identifier of identification device 622.

[0165] As described herein, a control device receiving link messages can aggregate communication quality metrics of the received link messages into link quality information and generate measurement data that includes the link quality information. Measurement data from a given control device can indicate the number of control devices receiving link messages from it and the quality of the network links on which the link messages are received. For example, the measurement data may include the network address of each control device from which link messages have been received and the corresponding communication quality metric for the link messages received from that control device. Similarly, the communication quality metric for a link message may be the RSSI of the link message or a value calculated based on the RSSI of the link message. For example, the communication quality metric may include a link margin or signal-to-noise ratio value relative to a noise floor or background noise level measured at the control device. Alternatively, the communication quality metric may include the link quality value (e.g., link quality in or link quality out) itself, which may also be calculated as a predefined value higher than the noise floor.

[0166] After generating the measurement data, the control device can transmit the measurement data 646, 648 to another control device for processing and analysis. The measurement data 646, 648 may include communication quality metrics received at the respective control devices 624a, 624b for link messages and / or background noise values ​​or levels measured at the respective control devices 624a, 624b. The device to which the measurement data 646, 648 is transmitted may be the same device that previously transmitted the trigger message 626, or another device. For example, control devices 624a, 624b may transmit the measurement data 646, 648 to identification device 622 or another device (e.g., a system controller or other computing device). The measurement data 646, 648 may include the network identifier of the device from which the link messages are received, each measurement data having a corresponding communication quality metric for the link message. The measurement data 646, 648 may include one or more link quality thresholds and / or background noise values ​​measured at the respective control devices 624a, 624b.

[0167] At 650, identification device 622 and / or another device receiving measurement data may process the measurement data, for example, to determine the quality of communication experienced at the device. For example, the identification device may process communication quality metrics in the measurement data to determine thresholds for a first range and / or a second range of noise sources. Identification device 622 may determine the background noise value or background noise level at each of control devices 624a, 624b from the measurement data. The identification device may also, or alternatively, process the communication quality metrics in the data to determine control devices within one or more ranges of noise sources. In processing the measurement data, identification device 622 may determine that a control device capable of communicating with other devices on a lower quality network communication link is closer to the noise source than a control device capable of communicating on a higher quality communication link. For example, when identifying communication quality metrics received from each control device that indicate the quality of possible network links that the corresponding control device can establish with other control devices on the network, identification device 622 may identify the relative distance of the device to the noise source in order to assign a terminal device role or a router device role, as described herein. The defining thresholds used to establish a first and / or second range of noise sources can be set as communication quality metrics, such as link quality values ​​or link quality indicators (e.g., link quality 3, 2, 1, etc.). In another example, identification device 622 can receive an RSSI value from measurement data indicating the signal strength of a received link message and compare the RSSI value with a noise floor value or one or more link quality thresholds to identify the link margin of the link message relative to the noise floor. Identification device 622 can then determine the strength of the network communication link based on the link quality indicated by the calculated link margin. As described herein, identification device 622 can directly receive a link quality indicator from the communication quality metrics received in the measurement data, indicating the link quality of the network communication link on which it receives link messages from the control device, or it can perform the calculation based on a noise floor value (e.g., or background noise level) and the received RSSI value from the measurement data received from the control device.

[0168] See again Figure 6AA range can be identified based on the distance to the identification device using beacon messages. For example, a router device can be assigned at 610 based on the distance between identification devices, and a control device can be determined using beacon messages transmitted over a short-range wireless communication link (e.g., wireless communication link 352). The identification device can periodically transmit location beacon messages, and those control devices that receive location beacon messages can transmit control device beacon messages in response to receiving location beacon messages. A control device can be identified as being within a first or second range based on the signal strength values ​​(e.g., received signal strength indicators) of the location beacon messages received by the control device and / or the control device beacon messages received by the identification device. For example, if the average received signal strength indicator value of the control device beacon messages received by the identification device is greater than a maximum signal strength threshold, the control device can be identified as being within a first range. Additionally, if the average received signal strength indicator value of the control device beacon messages received by the identification device is between a minimum signal strength threshold and a maximum signal strength threshold, the control device can be identified as being within a second range.

[0169] Control devices within a first and / or second range may be configured to provide visible feedback. For example, a lighting control device in lighting fixture 510 may provide visible feedback by causing the lighting load to blink and / or controlling the light emitted by the lighting load to a specific color. In some embodiments, a control device within the first range may be turned off, and a control device within the second range may be blue. Control devices may determine that they are within the first or second range and begin providing visible feedback, or an identification device may determine that a control device is within the first or second range and send a message configured to cause the control device to provide visible feedback.

[0170] The identified control devices can be assigned as terminal devices or router devices (e.g., border router devices and / or terminal devices compliant with border router conditions) in various ways at locations 606 and 610. For example, as part of a design procedure prior to the installation and / or commissioning of the control devices (e.g., as described at location 404 of procedure 400), control devices in a first and / or second range can be assigned as terminal devices or border router devices. For example, a user of the design software can manually select control devices in the first range to be assigned as terminal devices and control devices in the second range to be assigned as border router devices. The user can select a predetermined number of control devices to be assigned as border router devices around each of the noise sources. The user can select one control device in each quadrant of the second range as a border router device. For example, the user can select one device in each quadrant located in the direction of the center of the control device and / or the floor plan as a border router device. Alternatively, the design software can automatically select control devices in the first range as terminal devices and control devices in the second range as border router devices. Configuration data, which may be transmitted to control devices already assigned as border router devices or terminal devices, may be transmitted during the configuration procedure (e.g., declaration procedure and / or association procedure) at 408 of procedure 400 or after the join procedure at 412 of procedure 400. This configuration data directs the assigned roles to those control devices. The control devices may then assume their assigned roles after joining the network (e.g., after the join procedure at 412 of procedure 400).

[0171] Additionally, control devices within a first and / or second range can be assigned as terminal devices or border router devices after installation and / or commissioning. For example, the identified control devices can be assigned as terminal devices or router devices during the configuration process (e.g., declaration process and / or association process) at 408 of program 400 or after the joining process at 412 of program 400. The identification device can be configured to automatically assign control devices within the first range as terminal devices and several devices (e.g., 2 to 4 control devices) as border router devices, while ensuring a no-entry distance (e.g., 3 to 4 feet) between the border router devices around a specific noise source. This no-entry distance allows for a minimum distance between each of the border router devices located around the noise source. Alternatively, a user can manually select control devices in the first range to be assigned as terminal devices and several control devices (e.g., 2 to 4 control devices) in the second range to be assigned as border router devices using an application running on a mobile device. The mobile device can transmit configuration data to the selected control devices so that the control devices operate as terminal devices or border router devices.

[0172] Border router devices can be configured to adjust their configurations based on other router devices to better operate in light of interference from noise sources. For example, a border router device can perform Carrier-Sensitive Multiple Access (CSMA) technology to increase the reliability of communications on the network. A border router device can use a CSMA threshold to perform Level-Before-Sleep (LBT) technology. The CSMA threshold can be compared with a measured Received Signal Strength Indicator (RSSI) to determine if the channel is sufficiently "quiet" for transmitting packets. The CSMA threshold used by the border router device can be increased by a predetermined amount (e.g., from 70 dBm to -64 dBm) from the CSMA threshold used by other router devices. The border router device can increase the number of retransmission attempts from other router devices in response to each instance of LBT failure. For example, the border router device can increase the number of retransmission attempts for multicast messages from 2 to 3. LBT failure can occur when the measured RF traffic on a frequency is not equal to or below the predetermined threshold. The CSMA threshold and / or the number of retransmission attempts may differ for different types of noise sources.

[0173] Figure 7 This is a flowchart of an exemplary program 700 (e.g., a router tuning program) that can be executed to assign a control device as a terminal device or router device before installation and / or commissioning of a network (e.g., which may be located near a noise source or within a predefined transmission range of the noise source). Program 700 may be executed as part of design software by one or more processing devices (e.g., processing device 360) and / or mobile devices (e.g., mobile device 350). For example, program 700 may be executed at 404 of program 400 by one or more control circuits of the processing device and / or mobile device. The control device configured with a router device or terminal device role may be a device conforming to router conditions (e.g., a terminal device conforming to router conditions). Program 700 may include a manual procedure for identifying control devices within each range in order to assign different roles in the network. While program 700 may be described as being implemented by a single device, one or more parts of program 700 may be implemented by other devices. For example, program 700 may be distributed across multiple processing devices.

[0174] Program 700 may begin at 702, for example, when a user opens design software on a processing device and the control circuitry of the processing device executes the design software. At 704, the control circuitry of the processing device may display a graphical user interface including a floor plan of the space and / or buildings to which the network will be deployed. The floor plan may be loaded into the design software from external files such as image files, blueprint files, drafting files, or other suitable files. At 706, the user may place icons (e.g., signs) of control devices (e.g., lighting control devices of lighting fixture 510) at appropriate locations on the floor plan. The processing device may store configuration identifiers (e.g., identifiers indicating the equipment, group, zone, area, and / or location of the control device as defined by configuration data generated by the design software) of the control devices installed at or to be installed at the locations of the icons, such that the configuration identifiers may be associated with roles for transmission to the control devices. The configuration identifiers may be entered by the user or uploaded along with the floor plan data. When the control devices are placed on the floor plan at point 706, the control circuitry of the processing device can also store position data indicating the relative positions of the control devices on the floor plan within the space in memory. At point 708, the control circuitry of the processing device can determine the number of border router devices to be placed around each noise source. For example, the number of border router devices for each noise source can be approximately two to four. The number of border router devices can be predetermined and stored in memory on the processing device. Alternatively, the user can manually input the number of border router devices for each noise source via design software, for example, by selecting from two, three, or four border router devices. Furthermore, the processing device can be configured to automatically select the number of border router devices for each noise source based on other configuration data regarding the network and / or the space where the network will be deployed, such as the total area of ​​the space where the network will be deployed (e.g., building area), the total number of control devices in the network, the type of noise source, and / or the total number of noise sources in the space. For example, additional configuration data regarding the network and / or the space where the network will be deployed can be retrieved from a database in the cloud and / or manually entered by the user via design software.

[0175] Next, the user can place an icon (e.g., a marker) of a noise source (e.g., noise source 520) on the floor plan. The icon of the noise source can indicate the location of a wireless access point (WAP), microwave, camera, security tag reader, and other noise sources in the space where the network will be deployed. At 710, the user can place the icon of the noise source on the floor plan, and the processing device can store location data indicating the location of the noise source on the floor plan in its memory. At 712, the processing device can display a first range and a second range of the noise source, as well as quadrants. For example, the control circuitry of the processing device can display circles (e.g., symbols) representing the first and second ranges around the noise source. Figure 5 The dashed circles in the diagram indicate the minimum radius R1 and the maximum radius R2. Additionally, the control circuitry of the processing device can display the lines between quadrants (e.g., by...). Figure 5 (The dashed lines between quadrants 526a and 526d in the diagram represent this).

[0176] At 714, the control circuitry of the processing device can identify control devices within a first range of the noise source (e.g., within a range defined by a minimum radius R1). The processing device can identify control devices using configuration identifiers (e.g., identifiers indicating the equipment, group, area, region, and / or location of the control device, defined by configuration data generated by design software). For example, a user can manually select control devices appearing in circles with a minimum radius R1 on a floor plan to allow the processing device to identify control devices within the first range. If the control device icon overlaps with the boundary of the first and second ranges, the control device may be selectable within the first range, or the control device may be selectable within the second range, or one of the first or second ranges may be the default. If the control device icon overlaps with the boundary of the first and second ranges, the control device may be selectable based on the center point of the icon representing the equipment within the first or second range. If the center point of the control device icon is on the boundary of the first and second ranges, the control device may be selectable within the first range, or the control device may be selectable within the second range.

[0177] The control circuitry of the processing device may also, or alternatively, automatically, use the storage location of the control device (e.g., relative position in space), the storage location of the noise source, and the minimum radius R1 to identify the control device within the first range. The control circuitry of the processing device may highlight or otherwise indicate the control device within the first range of the noise source on a graphical user interface. At 716, the control circuitry of the processing device may assign the identified control device as a terminal device. For example, at 716, the processing device may store a configuration identifier along with an indication that the control device has been assigned as a terminal device in configuration data.

[0178] At point 718, the control circuitry of the processing device can identify control devices within a second range of the noise source (e.g., within the range defined between the minimum radius R1 and the maximum radius R2). The processing device can identify control devices using configuration identifiers. For example, a user can manually select control devices appearing in the annular band between the minimum radius R1 and the maximum radius R2 on a plan view using a graphical user interface, allowing the processing device to identify control devices within the second range. Alternatively, the processing device can automatically identify control devices within the second range using the storage location of the control device, the storage location of the noise source, the minimum radius R1, and the maximum radius R2. The processing device can highlight or otherwise indicate control devices within the second range of the noise source on the graphical user interface.

[0179] At 720, the control circuitry of the processing unit can identify a direction indicator representing the direction from the noise source toward the network (e.g., toward the center of the space where most of the control devices of the network and / or will be deployed). For example, a user can manually set the direction indicator by drawing or selecting the direction indicator at the icon of the noise source on the floor plan (e.g., in...). Figure 5 (Direction indicator 528 shown in the diagram). Alternatively, the processing device may automatically use the location of the noise source on the floor plan and the location of the center of the group of control devices representing the network or the location of the center of the indicating space to set and display the direction indicator.

[0180] At 722, the control circuitry of the processing device may stop identifying control devices in the far quadrants (e.g., those quadrants in the second range opposite the direction indicator determined at 720). For example, the processing device may stop identifying control devices by no longer highlighting them or otherwise preventing them from being selected as router devices. If the number of boundary router devices for each noise source is determined to be two at 708, the processing device may stop identifying control devices in both quadrants of the second range opposite the direction indicator. If the number of boundary router devices for each noise source is determined to be three at 708, the processing device may stop identifying control devices in a single quadrant of the second range opposite the direction indicator. If the number of boundary router devices for each noise source is determined to be four at 708, the processing device may not stop identifying any of the control devices (e.g., it may skip 722).

[0181] At point 724, the control circuitry of the processing device can assign one of the identified control devices as a router device (e.g., a border router device). For example, a user can manually select one of the identified control devices within a second range to be assigned as a border router device. Alternatively, the processing device can automatically select one of the control devices in a quadrant to be assigned as a border router device. For example, when executing 724 for the first time for a specific noise source, the processing device can select the control device in the quadrant where the direction indicator is located (e.g., the one closest to the...). Figure 5 (The direction indicator 528 shown is for the control device). At 724, the processing device may store a configuration identifier along with an indication that the control device has been assigned as a border router device in the configuration data. At 726, the control circuitry of the processing device may stop recognizing control devices in the same quadrant as the assigned border router device. At 728, the processing device may stop recognizing control devices within a forbidden distance (e.g., approximately 3 to 4 feet) from the assigned border router device. The processing device may be configured to use the storage location of the assigned border router device, the storage location of other control devices, and the forbidden distance to determine control devices within a forbidden distance from the assigned border router device. At 726 and 728, the processing device may stop recognizing control devices by no longer highlighting them or otherwise preventing those control devices from being selected as border router devices.

[0182] If there are more border router devices to assign to the noise source at 730 (e.g., the number of border router devices identified at 708 has not yet been reached), then at 724 the processing device may assign one of the control devices (e.g., still identified as a potential border router device) as a border router device. If there are no more border router devices to assign to the noise source at 730, but there are more noise sources to place in the space where the network will be deployed at 732, then at 710 the user may place an icon indicating another noise source.

[0183] When no further noise sources need to be identified at 732, at 734, the control circuitry of the processing device can store configuration data identifying which control devices will be border router devices and terminal devices (e.g., based on their configuration identifiers) in memory, and program 700 can end at 736. For example, at 408 of program 400, configuration data can be transferred from the mobile device to the control device during the configuration program (e.g., the declaration program and / or association program).

[0184] Figure 8This is a flowchart of an exemplary procedure 800 (e.g., a router tuning procedure) that can be executed to assign a control device as a terminal device or a border router device after installation and / or commissioning of a network (e.g., which may be located near a noise source or within a predefined transmission range of the noise source). For example, procedure 800 may be executed during a configuration procedure (e.g., a declaration procedure and / or an association procedure) at 408 of procedure 400 or after an add procedure at 412 of procedure 400. The control device configured with the role of a router device or terminal device may be a router-compliant device (e.g., a router-compliant terminal device) capable of operating as a router device or terminal device on the network. Procedure 800 may be executed by control circuitry identifying the device (e.g., control circuitry 131 of device 130 and / or control circuitry 181 of load control device 180), which can be used to locate the center of a first range and a second range around a noise source where the control device may be located. For example, the identification device can be a control device that has been identified as having a communication error (e.g., located close to or within a predefined transmission range of a noise source) or a mobile device that has been located close to or within a predefined transmission range of a noise source (e.g., due to a user physically positioning the mobile device near the noise source (e.g., above, below, or adjacent)). The distance between the mobile device and the noise source can be used to determine the wireless range of the control device from the noise source. For example, the net height of the room can be input into the mobile device, and the distance between the floor and the ceiling can be used to determine the range of the control device from the noise source, since the control device and / or the noise source may be located in the ceiling. Although procedure 800 may be described as being implemented by a single device, one or more portions of procedure 800 may be implemented by other devices. For example, procedure 800 may be distributed across multiple identification devices.

[0185] Program 800 may begin at 802, for example, when a user opens design software on a mobile device and the mobile device executes the design software. When the identification device is a control device, program 800 may be triggered at the control device in response to a message received from another device in the load control system, such as the mobile device or the system controller. The control device may also automatically start program 800 at 802 in response to a timer expiration or a change in network conditions, so as to enter router adjustment mode at 804. At 804, the control circuitry of the identification device may enter router adjustment mode. For example, when the control device identifies, as described herein, that it is in a noisy environment (e.g., has experienced communication errors due to proximity to a noise source or being within a predefined transmission range of a noise source), at 804, the control circuitry of the control device may automatically enter router adjustment mode. Communication errors can be detected by the control device identifying that it has a number of lost messages exceeding a threshold over a period of time. A control device can determine that it is located in a noisy environment by having high noise floor (e.g., above a threshold) or low link quality (e.g., link quality in and / or link quality out below a threshold) in communications transmitted to and / or received from the control device. When the identification device is a control device, it can be the control device with the highest noise floor or the lowest link quality within the wireless range of the noise source. Control devices can each transmit their noise floor and link quality to other control devices to determine the control device with the highest noise floor or the lowest link quality. Additionally, when the identification device is a mobile device, the control circuitry of the mobile device can enter a router adjustment mode in response to actuation of a button in an application running on the mobile device. At 806, the control circuitry of the identification device can determine the number of border router devices placed around each noise source. The number of border router devices for each noise source can be stored in a memory in the identification device and can be transmitted to each of the control devices in the network during network debugging (e.g., from system controllers 110, 340 and / or mobile devices 190, 350). For example, the number of border router devices for each noise source can be approximately two to four. The number of border router devices can be predetermined and stored in the memory of the identification device. For example, additional configuration data regarding the network and / or the space where the network will be deployed can be retrieved from a database in the cloud and / or manually entered by the user through design software. Furthermore, the number of border router devices for each noise source can be selected based on other configuration data regarding the network and / or the space where the network will be deployed, such as the total area of ​​the space where the network will be deployed (e.g., building area), the total number of control devices in the network, the noise floor or transmission power of the noise source, and / or the total number of noise sources in the space.Furthermore, when the identification device is a mobile device, the user can manually enter the number of border router devices for each noise source by using an application running on the mobile device, for example, by selecting from 2, 3, or 4 border router devices.

[0186] At 808, the identification device may begin transmitting (e.g., periodically transmitting) location beacon messages on a short-range wireless communication link (e.g., wireless communication link 352). Location beacon messages may be triggered from the mobile device in response to user actuation of the mobile device. Location beacon messages may be triggered at the control device in response to a message from the mobile device. Upon receiving a location beacon message, the control device may begin transmitting (e.g., periodically transmitting) control device beacon messages. For example, each control device may be configured to begin transmitting control device beacon messages when the signal strength value (e.g., received signal strength indicator value) of the location beacon message is greater than a signal strength threshold, which may be stored in memory at the control device and / or included in the location beacon messages received by the control device. At 810, the identification device may receive one or more control device beacon messages from the control device. For example, the identification device may store a unique identifier and the signal strength value (e.g., received signal strength indicator value) of the control device beacon message.

[0187] At 812, the control circuitry of the identification device can identify control devices within a first range, for example, based on the signal strength value of a control device beacon message. For instance, the identification device can identify a control device as being within the first range if the signal strength value is greater than a maximum signal strength threshold. A signal strength value greater than the maximum signal strength threshold indicates that the control device is within the defined range of the identification device. At 814, the control circuitry of the identification device can assign a control device as a terminal device, for example, by transmitting configuration data to the control devices within the first range, wherein the configuration data indicates that the control device will operate as a terminal device. For example, after the identification device identifies those control devices in the first range at 812, at 814 the identification device can automatically transmit configuration data for causing the control device to become a terminal device.

[0188] Additionally, when the identification device is a mobile device, at point 812, the mobile device can transmit a feedback message configured to cause the control device to provide visible feedback of a first feedback type (e.g., by controlling the light emitted by the lighting load to a first color), and the user can select a control device within a first range to be assigned as a terminal device at point 812. For example, the mobile device can identify a control device within the first range that has received a control device beacon message with the highest signal strength value from it at the mobile device, and transmit a feedback message configured to cause that control device to provide visible feedback of a second feedback type (e.g., by controlling the light emitted by the lighting load to a second color). The second feedback type can indicate to the user a control device within the first range with the strongest signal strength to the mobile device, making the control device identifiable and / or allowing the mobile device's position to be adjusted in space to measure the signal strength of different control devices relative to a noise source for identification. The user can confirm, via an application running on the mobile device, that the control device providing visible feedback of the second feedback type will be assigned as a terminal device, and the mobile device can transmit configuration data to the control device to cause the control device to operate as a terminal device. The control device can stop providing visible feedback after being configured as a terminal device. Furthermore, the control device can automatically determine whether to become a terminal device and / or automatically provide visible feedback of a first feedback type based on the signal strength value of the location beacon message. For example, the control device can receive the location beacon message, compare the location beacon message with a maximum signal strength threshold (e.g., pre-defined at the control device or received in the location beacon message), and determine whether to become a terminal device if the signal strength value of the location beacon message is greater than the maximum signal strength threshold.

[0189] At point 816, the identification device can identify a control device within the second range, for example, based on the signal strength value of the control device beacon message. For example, the identification device can identify a control device within the second range if the signal strength value is between a minimum signal strength threshold and a maximum signal strength threshold. At point 818, the identification device can assign a control device as a border router device, for example, by transmitting configuration data to one of the control devices in the second range, wherein the configuration data indicates that the control device will operate as a border router device. For example, once the identification device identifies a control device in the second range at point 816, at point 818 the identification device can automatically select a first control device to become a border router device and transmit configuration data to cause the selected control device to become a border router device. The identification device can select a control device within the second range, but outside the first range, that has the strongest received signal strength value of the control device beacon message to be assigned as a border router device. The identification device can select a control device within the second range, but outside the first range, based on the noise floor or the link quality to other router devices in the network. For example, control devices may transmit their noise floor and / or link quality to other router devices to an identification device (e.g., in response to an inquiry message). The identification device may select a first border router device by choosing a control device with the lowest noise floor or the highest link quality to one or more other router devices. The border router devices may then begin transmitting control device beacons to assign other border router devices around the noise source.

[0190] At 820, a control device within the restricted range of the control device just assigned as a border router device at 818, in the second range, may cease to be identified as a potential border router device. For example, the identification device may transmit a message including a unique identifier of the new border router device, and / or the new border router device may be configured to transmit a message indicating that it has been assigned as a border router device. This message may be a control device beacon message from the new border router device. The control device may be configured at 820 to determine, based on the signal strength values ​​of control device beacon messages transmitted by the new border device and received at various control devices (e.g., before the new border router device was assigned at 818), that they are within the restricted area of ​​the new border router device. For example, each control device may be configured to determine that it is within the restricted area if the signal strength value of the control device beacon message received from the new border router device is greater than a restricted signal strength threshold. The signal strength of the received control device beacon signal may be sent to the identification device for selecting the next border router device outside the restricted signal strength threshold of the previously selected border router device. The identification device can select the next border router device by choosing a control device that has the lowest background noise or the highest link quality to one or more other router devices, outside of the previously selected border router device's no-entry signal strength threshold.

[0191] Additionally, when the identification device is a mobile device, at point 816 the mobile device can transmit a feedback message configured to cause the control device to provide visible feedback of a third feedback type (e.g., by controlling the light emitted by the lighting load to a third color), and at point 818 the user can select one of the control devices in the second range to be assigned as a border router device. For example, the mobile device can identify a control device in the second range that has received a control device beacon message with the highest signal strength value from the mobile device, and transmit a feedback message configured to cause that control device to provide visible feedback of a fourth feedback type (e.g., by controlling the light emitted by the lighting load to a fourth color). The fourth feedback type can indicate to the user the control device in the second range with the strongest signal strength to the mobile device, making the control device identifiable and / or allowing the mobile device's position to be adjusted in space to measure the signal strength of different control devices relative to noise sources for identification. The user can confirm, via an application running on the mobile device, that the control device providing visible feedback of the fourth feedback type will be assigned as a border router device. A single control device may be limited to providing visible feedback of the fourth feedback type only once. The user can move the mobile device around the space and / or actuate buttons on an application running on the mobile device to select other control devices in the second range to be assigned as border router devices. After selecting one of the control devices in the second range, the mobile device can transmit configuration data to the control device so that the control device operates as a border router device. The control device may stop providing visible feedback after being configured as a border router device. In addition, the control device may automatically provide visible feedback of a third type based on the signal strength value of the location beacon message (e.g., if the signal strength value is between a minimum signal strength threshold and a maximum signal strength threshold). Each control device may stop providing visible feedback and / or otherwise prevent itself from being selected as a border router device during the remainder of procedure 800 in response to determining at 820 that it is within the no-entry zone of the control device.

[0192] If at 822 there are more border router devices to assign to the noise source (e.g., the number of border router devices identified at 806 has not yet been reached), then at 818 the processing device may assign one of the control devices (e.g., still identified as a potential border router device) as a border router device. If at 822 there are no more border router devices to assign to the noise source, the procedure may end at 824.

[0193] Figure 9AThis is a flowchart of an exemplary procedure 900 (e.g., a router tuning procedure) that can be executed to assign roles to control devices in a network (e.g., those that can be located near a noise source or are within a predefined transmission range of the noise source). For example, procedure 900 may be executed during a configuration procedure (e.g., a declaration procedure and / or an association procedure) at 408 of procedure 400 or after a joining procedure at 412 of procedure 400. The control device configured during procedure 950 may be a router-qualified device (e.g., a router-qualified terminal device) capable of being assigned the role of a router device or a terminal device in the network. Procedure 900 may be executed by control circuitry of an identification device (e.g., control circuitry 131 of device 130, control circuitry 181 of load control device 180). For example, the identification device may be a mobile device or another computing device (e.g., a system controller or another computing device) capable of identifying the control device to be assigned as a border router device based on a background noise value measured at the control device. While procedure 900 may be described as being implemented by a single device, one or more portions of procedure 900 may be implemented by other devices. For example, program 900 can be distributed across multiple identification devices. Border router devices can be assigned using program 900, which can be a partially automated program that allows selection of border router devices based on measurement data received from a control device.

[0194] Program 900 may begin at 902. The identification device may begin program 900 at 902 in response to input received from the user. At 904, the control circuitry of the identification device may enter a router adjustment mode. When the identification device is a mobile device, the control circuitry of the mobile device may enter the router adjustment mode in response to actuation of a button in an application running on the mobile device. When the identification device is another computing device (e.g., a system controller), it may receive input in a message from the mobile device in response to actuation of a button in an application running on the mobile device.

[0195] At 908, the control circuitry of the identification device can determine thresholds for a first range and / or a second range. These thresholds can be set as a communication quality metric for the background noise level. They can also be set as a communication quality metric for messages received at the control device. The thresholds can be determined by calculation based on measurements performed on the network or can be predetermined. For example, the thresholds can be based on measurement data generated at the identification device and / or received from the control device itself. The measurement data can include a communication quality metric for the background noise level and / or a communication quality metric value for messages received from other devices on the network. As described herein, the communication quality metric can include the Received Signal Strength Identifier (RSSI) or background noise level of received link messages. The communication quality metric can be calculated based on the RSSI value. For example, the communication quality metric can include link headroom or a signal-to-noise ratio (SNR) value. Link headroom can be a value relative to a predefined reception level. The link headroom can, for example, indicate a relative value higher than the background noise value measured at the control device or identification device. Each link headroom value can indicate whether messages (e.g., link messages) higher or lower than the link quality threshold are received at the control device. The link margin and / or signal-to-noise ratio (SNR) of a message can be calculated by subtracting the noise floor value at the control or identification device from the received signal strength (e.g., RSSI) of the received message. Alternatively, the communication quality metric may include the link quality value (e.g., link quality in or link quality out) itself, which may also be calculated as a predefined value higher than the noise floor value. The communication quality metric can be calculated at a given moment for an individual message or for the background noise level, or it can be averaged over time.

[0196] When identifying range based on a communication quality metric of background noise level, the control circuitry of the identification device can determine a baseline background noise level. For example, this baseline background noise level can be measured at the identification device. When the identification device is a mobile device, the mobile device may be located close to or within a predefined transmission range of the noise source (e.g., due to the user physically positioning the mobile device near the noise source, such as above, below, or adjacent to it). The baseline background noise level can be measured as a communication quality metric of the measured background noise (e.g., RSSI value). The baseline background noise level may include a noise floor value, which is set as the average communication quality metric (e.g., RSSI value) of noise generated on the network over a period of time.

[0197] A baseline background noise level can be determined based on one or more messages received from another device. For example, the control circuitry of an identification device can receive one or more messages from a control device that measures the baseline background noise level. The baseline background noise level can be measured at the control device or another device on the network and transmitted to the identification device to establish the baseline background noise level at the identification device. The baseline background noise level can be transmitted from a control device that has been identified as having a communication error greater than a threshold (e.g., it can be located near a noise source or within a predefined transmission range of the noise source). In another example, a user can select a control device on a graphical user interface to report one or more communication quality metrics, and the baseline background noise level can be determined at the identification device based on said one or more communication quality metrics. The control circuitry of the identification device can transmit a message requesting a communication quality metric from one or more devices via a communication circuit and determine the baseline background noise based on the communication quality metric received in a response message. The control circuitry of the identification device can collect communication quality metrics from multiple control devices and determine a baseline based on the communication quality metric (e.g., the control device with the worst background noise). In another example, the baseline background noise level can be predefined at the identification device.

[0198] The threshold can be determined at 908 based on a predefined value or the Nth percentile value of the baseline background noise level. For example, the control circuitry of the identification device can calculate the threshold TH for a first range based on the Nth percentile value (e.g., the 95th percentile value) of the baseline background noise level. R1 The control circuitry of the identification device can calculate a second range of threshold TH based on another Nth percentile value (e.g., the 75th to 85th percentile values) of the baseline background noise level. R2 In another example, the control circuitry of the identification device can calculate the first threshold TH by adding or subtracting a corresponding margin value (e.g., 2dB, 10dB, etc.) from a previously calculated baseline background noise level. R1 and / or the second threshold TH R2 The control circuit of the identification device can set the first threshold TH. R1 The Nth percentile value of the baseline background noise level is calculated, and the second threshold is calculated by adding or subtracting a corresponding margin value (e.g., 2 dB, 10 dB, etc.) from the previously calculated threshold. The percentile value and / or margin value may vary based on network size, spatial size, number of control devices, intensity of noise sources, and / or number of available border router devices. Although described as being calculated at the identification device, the thresholds for the first and second ranges may be calculated at the control device itself and may be transmitted to the identification device.

[0199] When the range is based on measurement data generated at the control device itself, the threshold can be determined at 908 as a predefined value or the Nth percentile of a communication quality metric in the measurement data received from the control device. For example, the control circuit of the identification device can set the threshold TH of the first range. R1 and / or the threshold TH of the second range R2 The calculation is performed using a predefined RSSI threshold, a predefined link margin or signal-to-noise ratio value (e.g., a relative value above the noise floor), a predefined link quality threshold, or another predefined threshold. The control circuitry of the identification device can calculate a threshold TH within a first range based on measurement data received from the control device. R1 and / or the threshold TH of the second range R2 For example, the threshold TH of the first range can be... R1 This is set as a first average or first percentage of communication quality metrics received from the control device or a subset of the control device. For example, a second range of threshold TH can be used. R2 The second average value or second percentage of the communication quality metric received from the control device or a subset of the control device is set. The control circuit of the identification device can set a threshold TH within a first range. R1 and / or the threshold TH of the second range R2 The message (e.g., link message) is received at the control device at the percentile value relative to the background noise level measured at the control device. For example, a threshold TH within a first range can be used. R1 Set to the first Nth percentile (e.g., the 95th percentile) of the background noise level measured at each control device. The threshold TH of the second range can be... R2 Set as the second Nth percentile (e.g., the 75th to 85th percentile) of the background noise level measured at the control device.

[0200] In another example, the threshold TH of the first range R1 It can be predefined. The threshold TH for the second range. R2 Based on the threshold TH of the first range R1 To calculate. For example, the threshold TH of the second range can be used. R2 Calculated as the threshold TH of the first range R1 Multiples of. Threshold (e.g., TH) R1 and / or TH R2 The threshold can be scalable. Users can select or grasp thresholds on a graphical user interface displayed by the recognition device and move the positions of the thresholds. Users can change each threshold independently. In another example, where thresholds can be set based on a function of each other, a user can change the position of one threshold and a second threshold can be updated based on said function.

[0201] At 912, the control circuit of the identification device may, for example, be based on a threshold TH within a first range determined at 908. R1 The control circuitry identifies the control device within a first range by receiving measurement data from the control device. For example, the control circuitry of the identification device may receive measurement data from the control device and compare the channel quality metric in the measurement data with a threshold TH for the first range. R1 Comparisons can be made. Measurement data can be received via a communication network and / or protocol different from the network on which it is assigned a role. For example, measurement data can be received via a short-range or direct wireless communication link implementing a short-range wireless communication protocol.

[0202] When the range is identified based on a communication quality metric of background noise level, the identification device can identify a range where the communication quality metric of background noise level in the measurement data is greater than a threshold TH for the first range. R1 The configuration identifier of the control device within the first range is identified. In one example, a communication quality metric (e.g., RSSI) of the noise level measured at the control device can be compared with a threshold TH based on the first range of baseline background noise levels. R1 Compare to identify the threshold TH in the first range. R1 The control device within the network. When the range is identified based on the communication quality metric of messages received by the control device on the network, the identification device can identify the range if the communication quality metric of messages (e.g., link messages) received by the control device on the network is less than a threshold TH of the first range. R1 The configuration identifier of the control device within the first range is identified. A communication quality metric for messages (e.g., link messages) measured at the control device can be compared with a threshold TH for the first range. R1 Compare to identify the threshold TH in the first range. R1 The device inside.

[0203] At 913, the control circuitry of the identification device may, for example, assign the control device as a terminal device by storing configuration data and / or transmitting configuration data to control devices in the first range, wherein the configuration data indicates that the control device will operate as a terminal device. The configuration data may include one or more configuration identifiers of the control devices identified as being in the first range, and the configuration identifiers may be associated with a terminal device role or have a router qualification flag set to false. After the identification device identifies those control devices in the first range at 912, at 913 the identification device may automatically transmit configuration data to cause the control device to become a terminal device. In another example, the identification device may wait for additional configuration (e.g., user selection of the control device as a terminal device, assignment of a router device role, and / or other configurations) before transmitting the configuration data. The identification device may provide feedback to the user on a graphical user interface to identify control devices in the first range at 912, and the user may select a control device in the first range to be assigned as a terminal device 913. Users can confirm, through an application running on a mobile device, that a control device identified as being within the first range will be assigned as a terminal device, and the mobile device can transmit configuration data to the control device so that the control device operates as a terminal device.

[0204] At 914, the control circuit of the identification device may, for example, be based on a threshold TH within a first range. R1 The threshold TH of the second range R2 The control device is identified within a second range by measurement data received from the control device. For example, the control circuitry of the identification device may receive measurement data from the control device and compare the communication quality metric in the measurement data with a threshold TH for a first range. R1 The threshold TH of the second range R2 The comparison is performed. When the range is identified based on a communication quality metric of background noise level, the identification device can identify the range if the communication quality metric of background noise level in the measurement data is less than a threshold TH for the first range. R1 And greater than the threshold TH of the second range R2 The configuration identifier of the control device in the second range is identified. In one example, a communication quality metric (e.g., RSSI) of the noise level measured at the control device can be compared with a threshold TH of the first range. R1 The threshold TH of the second range R2 A comparison is made to identify control devices within a threshold range. When the range is identified based on communication quality metrics of messages received by control devices on the network, the identification device can be identified if the communication quality metric of messages (e.g., link messages) received by control devices on the network is greater than the threshold TH of the first range. R1 And less than the threshold TH of the second range R2The configuration identifier of the control device in the second range is identified. The communication quality metric of messages (e.g., link messages) measured at the control device can be compared with the threshold TH of the first range. R1 The threshold TH of the second range R2 Compare to identify the threshold TH in the first range. R1 The threshold TH of the second range R2 The device inside.

[0205] At point 916, feedback may be provided to the user to indicate a control device identified as meeting the criteria for a router device within a second range and outside a first range. For example, the identification device may provide feedback to the user on a graphical user interface to identify a control device within a second range and outside a first range. In one example, the control circuitry of the identification device may execute software that causes the graphical user interface to display a floor plan of the space, as described herein. The floor plan may include icons (e.g., signs) of the control devices at appropriate locations on the floor plan. The identification device may store configuration identifiers (e.g., identifiers indicating the equipment, group, zone, area, and / or location of the control device located at the icon locations) such that the configuration identifiers can be associated with roles used to transmit to the control device. The control circuitry of the identification device may store location data in memory indicating the spatial relative positions of the control devices on the floor plan. The graphical user interface may highlight or otherwise indicate control devices within a first and / or second range of the noise source. The graphical user interface (GUI) can display the first and / or second ranges (e.g., represented by dashed lines or other indicators of control devices within the ranges) based on measurement data received from the control device. Additionally, the control circuitry of the identification device can display lines between quadrants (e.g., represented by dashed lines between quadrants). The control circuitry of the identification device can calculate the center position of the devices within the first and / or second ranges on the GUI and display the lines between quadrants based on the calculated center position. The GUI may include an icon (e.g., a sign) of a noise source placed at the center position. The GUI may display a direction indicator indicating the direction from the noise source toward the network (e.g., toward the center of most control devices in the network and / or the space where the network will be deployed). The identification device can automatically set and display a direction indicator starting from the center position of the control devices in the first range, and / or the direction of the second range of the noise source on the plan view indicating the center position of a group of control devices in the network or the center position of the space. The identification device can display a forbidden distance to allow the user to identify devices within a predefined range of each other.

[0206] Visible feedback can also be provided by the control device itself to indicate a control device identified as being within a first range and / or within a second range but outside the first range. For example, the identification device may transmit one or more feedback messages configured to cause the identified control device (e.g., a control device identified as being within a first range and / or within a second range but outside the first range) to provide visible feedback. This visible feedback may be provided by a message instructing the identified control device to control the light emitted by the illumination load to a certain color or intensity or to cause the illumination load to flash. Different types of feedback (e.g., different colors, intensities, flash rates) may be used to indicate control devices within the first range and control devices within the second range but outside the first range.

[0207] A graphical user interface (GUI) including a floor plan can be provided to the visible feedback, or another GUI including configuration identifiers for the identified devices within each range and / or icons representing the control devices identified within each range. Users may have difficulty identifying control devices in space corresponding to the icons or configuration identifiers on the GUI. Users can select configuration identifiers or corresponding icons on the GUI and actuate buttons on the GUI, causing the identification device to transmit one or more messages to the selected control device or apparatus, thereby causing the control device or apparatus to individually identify itself in space. The control device or apparatus that identifies itself can use different types of feedback (e.g., different colors, intensities, flashing rates) to indicate the control device that identifies itself in space.

[0208] The number of router-qualified devices that can be assigned to the vicinity of the noise source can be limited because the number of router devices on the network can be limited. Therefore, the number of router-qualified control devices within the second range but outside the first range can exceed the number of router devices that can be assigned to the vicinity of the noise source. Providing feedback to the user at 916 allows the user to select router-qualified devices to be assigned as router devices, which allows the user to select the location of the border router devices around the noise source (e.g., the spacing between border router devices, the location on the side pointing towards most of the control devices in the second range, etc.). If the number of router-qualified devices within the second range but outside the first range does not exceed the number of router devices that can be assigned to the vicinity of the noise source, the identification device can select each of the router-qualified devices and / or assign it as a border router device.

[0209] As described herein, the control circuitry of the identification device can determine the number of border router devices for each noise source at 918. This number can be determined to prevent the number of border router devices assigned around the noise source from exceeding a predefined number of router devices. The number of border router devices can vary based on network size, space size, the number of control devices, and / or the intensity of the noise source. At 920, the identification device can receive a user selection that one or more control devices are assigned as border router devices. For example, when the mobile device is the identification device, the user selection can be received via actuation on a graphical user interface. When the system controller is the identification device, the system controller can receive configuration identifiers for one or more selected control devices from the mobile device.

[0210] At 922, the control circuitry of the identification device may assign one or more selected control devices within a second range and outside a first range as router devices in configuration data. The configuration data may include one or more configuration identifiers of the control devices identified as being within the second range and outside the first range, and the configuration identifiers may be associated with a router device role or have a router qualification flag set to true. The identification device may automatically transmit the configuration data in one or more messages, causing one or more control devices to store the router device role in local memory. In another example, the identification device may wait for additional configuration (e.g., user selection for other control devices to be assigned as router devices, assignment of other control devices to the role of terminal devices, and / or other configurations) before transmitting the configuration data. Configuration data may be transmitted to a control device operating as a leader device on the network to transfer a role to the control device, enabling the control device to operate in the assigned role. Configuration data may also be transmitted directly to the control device itself to enable the control device to operate in the assigned role. Configuration data can be broadcast to control devices in a list of control devices (e.g., indicating only router device roles, or assigning both router device roles and terminal device roles), allowing the control devices to identify their device roles based on the list. In another example, role assignment can be transmitted directly from the identification device to the control device. Roles can be transmitted via the same communication link from which the control device transmits measurement data. After receiving the message assigning their respective roles, each control device can transmit an acknowledgment message to the identification device and / or provide visible feedback indicating that the role has been stored (e.g., by controlling the light emitted by the lighting load to a certain color and / or intensity, or by causing the lighting load to flash). The control device can stop providing visible feedback after storing the role in memory.

[0211] If there are more border router devices to assign to the noise source at 924 (e.g., the number of border router devices identified at 918 has not yet been reached), the identification device may continue to assign roles as border router devices to one or more control devices within the second range and outside the first range in response to the user selection at 920. If there are no more border router devices to assign to the noise source at 924, the procedure 924 may end at 924. If there are more noise sources in the space, the user may execute a procedure similar to 900 to configure the roles of control devices around the next noise source.

[0212] Although Figure 9A The description describes a program 900 that can be executed to identify control devices (e.g., router devices or terminal devices) that are assigned specific roles around a noise source based on user selection, but a similar type of program can be executed by automatically selecting control devices and assigning roles to control devices around the noise source. Figure 9B This is a flowchart of another exemplary procedure 950 (e.g., a router tuning procedure) that can be executed to assign roles to control devices in a network (e.g., those that can be located near a noise source or are within a predefined transmission range of the noise source). For example, exemplary procedure 950 can be implemented to automatically select control devices and / or assign roles to control devices, as described herein. Procedure 950 can be executed during a configuration procedure (e.g., a declaration procedure and / or an association procedure) at 408 of procedure 400 or after an add procedure at 412 of procedure 400. The control device configured during procedure 950 can be a router-qualified device (e.g., a router-qualified terminal device) capable of being assigned the role of a router device or terminal device in the network. Procedure 950 can be executed by an identification device. For example, the identification device can be a mobile device or another computing device (e.g., a system controller or another computing device) capable of identifying the control device to be assigned as a border router device based on measurements performed at the control device. While procedure 950 may be described as being implemented by a single device, one or more portions of procedure 950 can be implemented by other devices. For example, program 950 can be distributed across multiple identification devices.

[0213] Program 950 may begin at 952. The identification device may begin program 950 at 952 in response to input received from the user. At 954, the control circuitry of the identification device may enter a router adjustment mode. When the identification device is a mobile device, the control circuitry of the mobile device may enter the router adjustment mode in response to actuation of a button in an application running on the mobile device. When the identification device is another computing device (e.g., a system controller), it may receive input in a message from the mobile device in response to actuation of a button in an application running on the mobile device.

[0214] Steps 908-914 of procedure 950 can be similar to those in Figure 9A Steps 908-914 of procedure 900 as described herein. At 908, the control circuitry of the identification device may determine thresholds for a first range and / or a second range (e.g., TH). R1 and / or TH R2 As described herein, the threshold can be determined by calculation based on measurements performed on the network, or it can be predetermined. For example, the threshold may be based on measurement data received at the identification device and / or from the control device itself. When identifying a range based on a communication quality metric of background noise level, the control circuitry of the identification device may determine a baseline background noise level and calculate a threshold (e.g., TH) for the first and / or second range based on that background noise level. R1 and / or TH R2 As described herein, thresholds for the first and / or second ranges can also be calculated based on communication quality metrics of messages received over the network (e.g., TH). R1 and / or TH R2 For example, the thresholds for the first and / or second ranges (e.g., TH) can be set at 908. R1 and / or TH R2 This is a predefined value or Nth percentile value for the communication quality metric of messages received at a control device on the network.

[0215] At 912, the control circuit of the identification device may, for example, be based on a threshold TH within a first range calculated at 908. R1 The control device is identified within a first range using measurement data received from the control device. In one example, a communication quality metric (e.g., RSSI) of the noise level measured at the control device can be compared with a threshold TH for the first range. R1 Compare to identify the threshold TH in the first range. R1 The control device within. When the range is identified based on a communication quality metric of background noise level, the identification device can identify the range if the communication quality metric of background noise level in the measurement data is greater than a threshold TH for a first range. R1 The configuration identifier of the control device in the first range is identified. In another example, the communication quality metric of messages (e.g., link messages) measured at the control device can be compared with a threshold TH of the first range. R1 Compare to identify the threshold TH in the first range. R1 Within the device. When the range is identified based on the communication quality metric of messages received by control devices on the network, the identification device may identify messages (e.g., link messages) received by control devices on the network where the communication quality metric is less than a threshold TH of the first range. R1 The configuration identifier of the control device in the first range is identified.

[0216] At 913, as described herein, the control circuitry of the identification device can assign the control device in the first range as the terminal device. As further described herein, at 914, the control circuitry of the identification device can, for example, base its actions on a threshold TH of the first range. R1 The threshold TH of the second range R2 The control device is identified within a second range using measurement data received from the control device. When the range is identified based on a communication quality metric of background noise level, the identification device can identify the control device if the communication quality metric of background noise level in the measurement data is less than a threshold TH for the first range. R1 And greater than the threshold TH of the second range R2 The configuration identifier of the control device in the second range is identified. When the range is identified based on the communication quality metric of messages received by the control device on the network, the identification device can identify the control device if the communication quality metric of messages (e.g., link messages) received by the control device on the network is greater than the threshold TH of the first range. R1 And less than the threshold TH of the second range R2 The configuration identifier of the control device in the second range is identified.

[0217] Because the number of control devices meeting router criteria within the second range but outside the first range may exceed the number of router devices that can be assigned around the noise source, the identification device can automatically determine the control devices that can be selected for assignment as border router devices around the noise source. As described herein, the control circuitry of the identification device can determine the number of border router devices for each noise source at 918. The control circuitry of the identification device can automatically select the first border router device at 952.

[0218] The control circuitry of the identification device can automatically select a first border router device at 952 based on the signal strength of messages received from control devices that meet router criteria within a second range but outside a first range. For example, the identification device can transmit a message to a control device that meets router criteria within a second range but outside a first range, causing the control device to respond with message transmission. Messages can be transmitted over a communication network and / or protocol different from the network on which roles are assigned. For example, messages (e.g., beacon messages) can be transmitted via short-range or direct wireless communication networks implementing short-range wireless communication protocols. Messages transmitted by the identification device can trigger control devices that meet router criteria within a second range but outside a first range to transmit one or more beacon messages. The identification device can select a first border router device at 952 based on a communication quality metric (e.g., RSSI value) of the messages received on the short-range or direct wireless communication network. For example, the control circuitry of the identification device can select at 952 a control device that receives one or more messages with the highest communication quality metric value as the first border router device. This option allows a terminal device within a first range and affected by a noise source to attach to the nearest router device or a router device capable of transmitting the strongest communications to devices within a first range around the noise source.

[0219] At 954, the control circuitry of the identification device may assign selected control devices within a second range and outside a first range as router devices in configuration data. The configuration data may include configuration identifiers for control devices identified as being within the second range and outside the first range, and these configuration identifiers may be associated with a router device role or have a router qualification flag set to true. The identification device may automatically transmit the configuration data in one or more messages, causing one or more control devices to store the router device role in local memory. In another example, the identification device may wait for additional configuration (e.g., other control devices being automatically assigned as router devices and / or other configurations) before transmitting the configuration data. After receiving a message assigning them their respective roles, each control device may transmit an acknowledgment message to the identification device and / or provide visible feedback indicating that the role has been stored (e.g., by controlling the light emitted by the lighting load to a certain color and / or intensity, or by causing the lighting load to flash).

[0220] If at 956 there are more border router devices to assign to the noise source (e.g., the number of border router devices determined at 918 has not yet been reached), the identification device may continue to automatically assign roles to one or more control devices within the second range and outside the first range to become border router devices at 954. The next border router device may be automatically selected by the control circuitry of the identification device at 958, and the identification device may assign the selected control device as a router device at 954. For example, the control circuitry of the identification device may select at 958 a control device that receives one or more messages (e.g., beacon messages) with the next highest communication quality metric value from a short-range or direct wireless communication network as the next border router device. The control circuitry of the identification device may continue to select and assign border router devices based on the strength of the communication quality metric of the messages received on the short-range or direct wireless communication network.

[0221] The control circuitry of the identification device may attempt to isolate a border router device selected within a second range and outside the first range. For example, a control device within the second range and outside the first range may receive messages transmitted by other control devices over a short-range or direct wireless communication network. The control device may generate communication quality metrics (e.g., RSSI values) for messages received from each of the other control devices and report these communication quality metrics to the identification device. After selecting a first border router device at 952, the control circuitry of the identification device may use the communication quality metrics received from the first border router device to identify the next device selected as a border router device at 958. For example, the identification device may select the first border router device at 958 as the next border router device from the control device that received the message with the weakest communication quality metric. The identification device may continue to use the weakest communication quality metric at the previously assigned border router device to select the next border router device to isolate border router devices around noise sources.

[0222] Control devices can be selected in priority based on device type. For example, a particular type of control device may have a greater transmission capacity than other devices and may be preferentially selected as a border router device at 952 and 958. For example, based on the device's hardware and / or location, a system controller may have a greater transmission capacity than a lighting control device. A lighting control device may be considered to be located near more metal and / or surrounded by more metal due to being installed in a ceiling, which may reduce transmission success rate. Prioritization based on device type can be combined with other embodiments described herein for selecting border router devices. For example, a control device of the highest priority type can be selected based on a communication quality metric of messages received at the identification device on a short-range or direct wireless communication network. If there are still border router devices to select after the highest priority device has been assigned as a router device, a control device of the next highest priority type can be selected based on a communication quality metric of messages received at the identification device on a short-range or direct wireless communication network, until border router devices have been assigned around the noise source.

[0223] If no further border router devices need to be assigned to the noise source at point 956, procedure 950 can end at point 960. If more noise sources exist in the space, the user can execute a similar procedure 950 to configure the roles of control devices around the next noise source.

[0224] When configuring border router devices around different noise sources using automated procedures, the identification device may be able to communicate with one or more of the same control devices. Such communication can lead to issues in selecting and / or assigning roles to devices on the network. For example, the identification device may receive measurement data (e.g., communication quality metrics including background noise levels and / or communication quality metrics of link messages received at the control device) from the same control device when configuring a first noise source and a second noise source. While the background noise level measured at the control device may be caused by the first noise source, the identification device may configure the roles of the control device and / or other control devices based on the background noise level measured at the second noise source. To limit the devices configured for a given noise source, the identification device may be configured with a third range of threshold TH. R3 The threshold defines a control device capable of being assigned a role during the procedures described herein (e.g., procedures 900 and / or 950). In one example, in Figure 9A 904 or Figure 9B Before or after the 954 identification devices in the router enter the adjustment mode, the identification devices can include a third range of threshold TH. R3 The message is transmitted to the control device that meets the router's conditions. A message exceeding the threshold TH of the third range is received. R3The control devices that receive the messages can respond with messages including their configuration identifiers. These control devices can be those considered by the identification device when selecting and assigning roles to control devices at the identification device. Messages can be transmitted over a different communication network and / or protocol than the network on which roles are assigned. For example, messages (e.g., beacon messages) can be transmitted via short-range or direct wireless communication networks implementing short-range wireless communication protocols. In another example, a threshold TH for a third range can be transmitted in the same message as a request for background noise information from the control device. R3 This causes the received threshold TH to be higher than the third range. R3 The control devices for the messages can respond using their background noise levels.

[0225] Although features and elements are described herein in specific combinations, each feature or element may be used individually or in any combination with other features and elements. The methods described herein may be implemented in a computer program, software, instructions, or firmware stored on one or more non-transitory computer-readable or other machine-readable media for execution by a computer or machine or parts thereof. For example, a computer-readable or machine-readable medium may be executed by control circuitry such as a processor. Examples of computer-readable or machine-readable media include electronic signals (transmitted via a wired or wireless connection) and computer-readable storage media. Examples of computer-readable storage media include, but are not limited to, read-only memory (ROM), random access memory (RAM), removable disks, and optical media such as CD-ROM disks and digital versatile disks (DVDs). Control circuitry may access computer programs, software, instructions, or firmware stored on a computer-readable or machine-readable medium to execute them to cause the control circuitry to operate as described herein or to operate one or more devices as described herein.

Claims

1. A method for assigning roles to control devices capable of communicating over a wireless communication network in a load control system, the method comprising: Identify noise sources that can degrade the quality of communication on the wireless communication network; Identify control devices within a first range of the noise source, wherein the control devices within the first range of the noise source are identified based on a corresponding communication quality metric measured for beacon messages transmitted by the control devices within the first range of the noise source. A control device is identified within a second range of the noise source and outside the first range of the noise source, wherein the control device is identified based on a corresponding communication quality metric measured for beacon messages transmitted by the control device within the second range of the noise source and outside the first range of the noise source. Each of the control devices within the first range of the noise source is assigned the role of a terminal device. as well as At least one of the control devices located within the second range of the noise source and outside the first range of the noise source is assigned the role of a router device.

2. The method of claim 1, wherein identifying the noise source comprises: A graphical user interface that displays a floor plan of a space, wherein the floor plan of the space indicates one or more of the control devices in the space; as well as The location of the noise source on the floor plan of the space is identified within the graphical user interface.

3. The method of claim 2, further comprising displaying the first range of the noise source and the second range of the noise source on the plan view displayed within the graphical user interface.

4. The method of claim 2, wherein assigning at least one of the control devices located within the second range of the noise source and outside the first range of the noise source as the terminal device role comprises: Identify the center location of the space; The first control device among the control devices within the second range of the noise source is assigned the role of the router device, wherein the first control device is the control device closest to the center position of the space.

5. The method of claim 4, wherein assigning at least one of the control devices located within the second range of the noise source and outside the first range of the noise source as the terminal device role further includes assigning a second control device as the router device role, wherein the second control device is at least a no-entry distance from the first control device.

6. The method of claim 1, wherein the number of at least one of the control devices within the second range of the noise source and outside the first range of the noise source is less than a threshold number of router devices for each noise source.

7. The method of claim 6, wherein the number of thresholds for each noise source's router device is based on user input received at the mobile device.

8. The method of claim 1, further comprising receiving a beacon message from a control device within a first range of the noise source and from a control device within a second range of the noise source but outside the first range of the noise source.

9. The method of claim 8, wherein the beacon message is transmitted from the control device in response to a location beacon message transmitted from the mobile device.

10. The method of claim 1, further comprising: Measurement data is received from the control device, wherein the measurement data includes a communication quality metric of messages received at each of the control devices, wherein when the communication quality metric is less than a threshold of the first range, each of the control devices within the first range of the noise source is assigned the role of the terminal device, and wherein when the communication quality metric is greater than the threshold of the first range and less than the threshold of the second range, at least one of the control devices within the second range of the noise source and outside the first range of the noise source is assigned the role of the router device.

11. The method of claim 1, further comprising: Measurement data is received from the control device, wherein the measurement data includes a communication quality metric of the background noise level measured at each of the control devices, wherein when the communication quality metric is greater than a threshold of the first range, each of the control devices within the first range of the noise source is assigned the role of the terminal device, and wherein when the communication quality metric is less than the threshold of the first range and greater than a threshold of the second range, at least one of the control devices within the second range of the noise source and outside the first range of the noise source is assigned the role of the router device.

12. The method of claim 1, further comprising: The baseline background noise level is measured at the identification device in the load control system. At least one of a threshold for the first range originating from the noise source or a threshold for the second range originating from the noise source is determined based on the baseline background noise level measured at the identification device.

13. The method of claim 12, wherein the threshold of the first range is determined based on the Nth percentile value of the baseline background noise level.

14. The method of claim 13, wherein the Nth percentile value is a first Nth percentile value, and wherein the threshold of the second range is determined based on a second Nth percentile value of the baseline background noise level.

15. The method of claim 13, wherein the threshold of the second range is determined by adding a margin value to the threshold of the first range or subtracting the margin value from the threshold of the first range.

16. The method of claim 12, further comprising: Receive communication quality metrics of the measured background noise level at each control unit; The control device is selected within the first range of the noise source based on the communication quality metric value of the control device being greater than the threshold of the first range; as well as The control device is selected within the second range of the noise source based on the fact that the communication quality metric value of the control device is greater than the threshold of the second range and lower than the threshold of the first range.

17. The method of claim 16, wherein background noise data is received via a different communication protocol than that of the network on which the role is assigned.

18. The method according to claim 16, further comprising: Provide feedback to the user to indicate that the control device is identified as being within the second range and outside the first range.

19. The method of claim 18, wherein the feedback is provided on a graphical user interface displayed at the identification device.

20. The method of claim 18, wherein the feedback is provided via a lighting load controlled by the control device identified as being within the second range and outside the first range.

21. The method of claim 16, wherein the wireless communication network is a first wireless communication network configured to communicate via a first wireless communication protocol, and wherein at least one of the control devices located within the second range of the noise source and outside the first range of the noise source is automatically assigned the role of the router device based on a communication quality metric of one or more messages received at the identification device via a second wireless communication network configured to communicate via a second wireless communication protocol.

22. The method of claim 21, wherein at least one of the control devices assigned the role of the router device is a first control device, the method further comprising: At the identification device, a communication quality metric is received from the first control device in association with a message received from another control device at the first control device on the second wireless communication network. as well as A second control device, located within the second range of the noise source and outside the first range of the noise source, is assigned the role of the router device, wherein the second control device is associated with the weakest communication quality metric among the communication quality metrics.

23. An apparatus for assigning roles to control devices in a load control system capable of communicating over a wireless communication network, the apparatus comprising: A control circuit, configured to perform the following operations: Identify noise sources that can degrade the quality of communication on the wireless communication network; Identify control devices within a first range of the noise source, wherein the control devices within the first range of the noise source are identified based on a corresponding communication quality metric measured for beacon messages transmitted by the control devices within the first range of the noise source. A control device is identified within a second range of the noise source and outside the first range of the noise source, wherein the control device is identified based on a corresponding communication quality metric measured for beacon messages transmitted by the control device within the second range of the noise source and outside the first range of the noise source. Each of the control devices within the first range of the noise source is assigned the role of a terminal device. as well as At least one of the control devices located within the second range of the noise source and outside the first range of the noise source is assigned the role of a router device.

24. The apparatus of claim 23, wherein the apparatus further comprises a communication circuit, and wherein the control circuit is configured to assign the at least one of the control devices to the router device role, and wherein the control circuit is configured to transmit a message including the router device role to the at least one control device via the communication circuit.

25. The apparatus of claim 23, wherein the apparatus further comprises a memory, and wherein the control circuitry configured to assign the at least one of the control devices to the router device role further comprises the control circuitry being configured to store, via the memory, configuration identifiers of the router device role and the at least one of the control devices.

26. The apparatus of claim 23, wherein the apparatus is a mobile device.

27. The apparatus of claim 23, wherein the apparatus is a system controller.

28. The apparatus of claim 23, wherein the apparatus is a computing device.

29. An apparatus comprising: A control circuit, configured to perform the following operations: Receives an instruction of a first user selection on the graphical user interface of at least one control device within a first range from the noise source; Based on the first user selection, at least one control device within the first range is identified; At least one control device within the first range is assigned to operate as a terminal device in the network. Receives an instruction for a second user selection on the graphical user interface of at least one control device located outside a first range from the noise source and within a second range from the noise source; Based on the second user selection, at least one control device is identified outside a first range from the noise source and within a second range from the noise source; as well as The at least one control device, located outside the first range but within the second range, is assigned to operate as a router device in the network.

30. The apparatus of claim 29, wherein the apparatus further includes a display, and wherein the control circuitry is further configured to perform the following operations: The first range and the second range are displayed on the graphical user interface via the display, wherein the first range has a first radius, and wherein the second range is defined by the first radius and the second radius.

31. The apparatus of claim 29, wherein the control circuitry is further configured to store the roles of the router device and the terminal device in configuration data for uploading to the control device during debugging.

32. The apparatus of claim 31, wherein the control circuitry is configured to transmit the configuration data to a mobile device, the mobile device being configured to utilize the configuration data during the debugging process.

33. The apparatus of claim 29, wherein the control circuitry is configured to automatically assign a role to the terminal device after identifying the at least one control device as being within the first range.

34. The apparatus of claim 33, wherein the control circuitry is configured to automatically assign a role to the router device after identifying the at least one control device as being outside the first range and within the second range.

35. The apparatus of claim 29, further comprising: A communication circuit configured to receive corresponding control device beacon messages from at least one control device in a first range and at least one control device in a second range but outside the first range, wherein the control circuit is configured to identify at least one control device in the first range based on the received signal strength of the control device beacon messages, and wherein the control circuit is configured to identify at least one control device in the second range based on the received signal strength of the control device beacon messages.

36. The apparatus of claim 35, wherein the control circuitry is further configured to perform the following operations: The location beacon message is transmitted via the communication circuit, and the location beacon message is configured to trigger the transmission of the control device beacon message.

37. The apparatus of claim 35, wherein the control circuitry is further configured to perform the following operations: A first feedback message is transmitted via the communication circuit, the first feedback message being configured to cause at least one control device within the first range to provide a first feedback type; and A second feedback message is transmitted via the communication circuit, the second feedback message being configured to cause the at least one control device within the second range to provide a second feedback type.

38. The apparatus of claim 37, wherein the control circuitry is further configured to perform the following operations: Determine the control device beacon received from the control device in the first range with the maximum signal strength of the control device beacon in the first range; and The first feedback message is transmitted to the control device.

39. The apparatus of claim 37, wherein the control circuitry is further configured to perform the following operations: Determine the control device beacon received from the control device in the second range with the maximum signal strength of the control device beacon in the second range; and The second feedback message is transmitted to the control device.

40. The apparatus of claim 29, wherein the control circuitry is further configured to perform the following operations: Identify the direction from the noise source toward the center of the network; and Before assigning the router device role to the at least one control device, the at least one control device is identified as being in the direction from the noise source toward the center of the network.

41. The apparatus of claim 40, wherein the number of boundary control router devices assigned the role of the router device is greater than one, and wherein the control circuitry is further configured to perform the following operations: Before assigning the router device role to the at least one control device, the at least one control device is identified as one of a predefined number of segments in the direction from the noise source toward the center of the network.

42. The apparatus of claim 29, wherein the at least one control device assigned the role of the router apparatus comprises a first control device and a second control device, and wherein the control circuitry is further configured to perform the following operations: Identify the no-entry distance from the first control device; and Before assigning the role of the second control device to the router device in the network, the second control device is identified as being at least at the forbidden distance from the first control device.

43. The apparatus of claim 42, further comprising a display configured to display the first control device, the second control device, and the third control device, wherein the third control device is within the restricted distance from the first control device, and wherein the control circuitry is further configured to perform the following operations: Based on the fact that the second control device is at least at the forbidden distance from the first control device, the user can select the second control device to be assigned the role of the router device; and Based on the fact that the third control device is within the forbidden distance from the first control device, the user cannot select the third control device to be assigned the role of the router device.

44. The apparatus of claim 29, further comprising a memory and communication circuitry, wherein the control circuitry is further configured to perform the following operations: The role of the at least one control device and the identifier of the at least one control device in the configuration data are stored in the memory; and The configuration data is transmitted to the at least one control device via the communication circuit.

45. The apparatus of claim 30, wherein the control circuit is configured to: Receive control configuration information indicating the floor plan of the designated space; and The control circuit is configured to display the first range and the second range on the plan view in the graphical user interface via the display.

46. ​​The apparatus of claim 45, wherein the control circuitry is configured to display the first range and the second range on the plan view with corresponding minimum radii.

47. The apparatus of claim 30, wherein the at least one control device, located outside the first range but within the second range and designated to operate as a router device, comprises a plurality of control devices, wherein the control circuitry is configured to: Determine the number of control devices assigned as router devices in the network; and The plurality of control devices designated as router devices that are outside the first range but within the second range are limited to the number of control devices designated as router devices in the network.

48. The apparatus of claim 47, wherein the control circuitry is configured to receive, in different predefined quadrants outside the first range and within the second range, an indication of the second user selection of each of the plurality of control devices outside the first range and within the second range.

49. The apparatus of claim 47, wherein the control circuit is configured to: The system receives a manual input indicating the number of control devices assigned as router devices in the network and determines the number of control devices to be assigned as router devices in the network based on the manual input.

50. The apparatus of claim 47, wherein the control circuitry is configured to determine the number of router devices based on network size, space size, number of control devices, or intensity of noise sources.

51. The apparatus of claim 29, wherein the control circuitry is configured to receive, in different predefined quadrants outside the first range and within the second range, an indication of the second user selection of each of the plurality of control devices outside the first range and within the second range.

52. The apparatus of claim 40, wherein the control circuit is configured to: The instruction selected by a third user is received on the graphical user interface; and The direction from the noise source toward the center of the network is identified based on the instruction selected by the third user on the graphical user interface.

53. A method, the method comprising: Receives an instruction of a first user selection on the graphical user interface of at least one control device within a first range from the noise source; Based on the first user selection, at least one control device within the first range is identified; At least one control device within the first range is assigned to operate as a terminal device in the network. Receives an instruction for a second user selection on the graphical user interface of at least one control device located outside a first range from the noise source and within a second range from the noise source; Based on the second user selection, at least one control device is identified outside a first range from the noise source and within a second range from the noise source; as well as The at least one control device, located outside the first range but within the second range, is assigned to operate as a router device in the network.

54. The method of claim 53, further comprising: The first range and the second range are displayed on the graphical user interface, wherein the first range has a first radius, and wherein the second range is defined by the first radius and the second radius.

55. The method of claim 53, further comprising: The roles of the router device and the terminal device are stored in configuration data so that they can be uploaded to the control device during the debugging process.

56. The method of claim 55, further comprising: The configuration data is transmitted to a mobile device, which is configured to utilize the configuration data during the debugging process.

57. The method of claim 53, wherein the role of the terminal device is automatically assigned after the at least one control device is identified as being within the first range.

58. The method of claim 57, wherein the role of the router device is automatically assigned after the at least one control device is identified as being outside the first range and within the second range.

59. The method of claim 53, further comprising: The at least one control device in the first range is identified based on the received signal strength of the corresponding control device beacon message from the at least one control device in the first range; as well as The at least one control device in the second range is identified based on the received signal strength of the corresponding control device beacon message from the at least one control device in the second range.

60. The method of claim 59, further comprising: Transmit a location beacon message, which is configured to trigger the transmission of the control device beacon message.

61. The method of claim 59, further comprising: Transmit a first feedback message, the first feedback message being configured to cause the at least one control device within the first range to provide a first feedback type; as well as A second feedback message is transmitted, the second feedback message being configured to cause the at least one control device within the second range to provide a second feedback type.

62. The method of claim 61, further comprising: Determine the control device beacon received from the control device in the first range with the maximum signal strength of the control device beacon in the first range; as well as The first feedback message is transmitted to the control device.

63. The method of claim 61, further comprising: Determine the control device beacon received from the control device in the second range with the maximum signal strength of the control device beacon in the second range; as well as The second feedback message is transmitted to the control device.

64. The method of claim 53, further comprising: Identify the direction from the noise source toward the center of the network; as well as Before assigning the router device role to the at least one control device, the at least one control device is identified as being in the direction from the noise source toward the center of the network.

65. The method of claim 64, wherein the number of boundary control router devices assigned the role of the router device is greater than one, the method further comprising: Before assigning the router device role to the at least one control device, the at least one control device is identified as one of a predefined number of segments in the direction from the noise source toward the center of the network.

66. The method of claim 53, wherein the at least one control device assigned the role of the router device comprises a first control device and a second control device, the method further comprising: Identify the no-entry distance from the first control device; as well as Before assigning the role of the second control device to the router device in the network, the second control device is identified as being at least at the forbidden distance from the first control device.

67. The method of claim 66, further comprising: The first control device, the second control device, and the third control device are displayed, wherein the third control device is within the prohibited distance from the first control device: Based on the fact that the second control device is at least at the forbidden distance from the first control device, the user is able to select the second control device to be assigned the role of the router device; as well as Based on the fact that the third control device is within the forbidden distance from the first control device, the user cannot select the third control device to be assigned the role of the router device.

68. The method of claim 53, further comprising: The role and identifier of the at least one control device are stored in the configuration data. as well as The configuration data is transmitted to the at least one control device.

69. The method of claim 53, further comprising: Determine the number of border routers that will be configured around the noise source in the network; as well as The number of control devices assigned to operate as router devices is limited based on the number of border routers.

70. A non-transitory computer-readable storage medium storing program instructions that, when executed by a control circuit, cause the control circuit to perform the method as described in any one of claims 1-22.

71. An apparatus comprising components for performing the method as described in any one of claims 1-22.

72. A non-transitory computer-readable storage medium storing program instructions that, when executed by a control circuit, cause the control circuit to perform the method as described in any one of claims 45-69.

73. An apparatus comprising components for performing the method as described in any one of claims 45-69.