Maintenance planning for load control system
By using local maintenance supervisors and cloud maintenance supervisors in the load control system to coordinate maintenance tasks, identify and execute trigger standards, the problem that maintenance tasks may interrupt user control is solved, and an efficient maintenance solution that does not affect the normal operation of the system is achieved.
Patent Information
- Application Number
- CN202380050790.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-11-08
- Filing Date
- 2023-11-08
- Publication Date
- 2025-02-14
AI Technical Summary
In a load control system, maintenance tasks may result in automatic control of electrical loads or inability to be used as intended, and certain maintenance tasks need to be performed during a specific period of time, which may interrupt the control of occupants or other users.
The local maintenance supervisor and cloud maintenance supervisor coordinate the maintenance tasks of the load control device, identifying trigger criteria to determine when maintenance tasks are performed, and ensuring that the results of maintenance tasks are monitored and reported.
It realizes efficient execution of the maintenance tasks of the load control device without interrupting the control of occupants or other users, ensuring that the maintenance work does not affect the normal operation of the system.
Smart Images

Figure CN119452317A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 423,791, filed on November 8, 2022, the disclosure of which is incorporated herein by reference in its entirety. Background Art
[0003] A user environment, such as, for example, a residence or an office building or a hotel, can be configured using various types of load control systems. A lighting control system can be used to control lighting loads in a user environment. An electric window shade control system can be used to control the natural light provided to the user environment. An HVAC system can be used to control the temperature in the user environment. Each load control system can include various control devices. Summary of the invention
[0004] Controls in a load control system may require maintenance, and maintenance of controls may cause electrical loads in a user environment to be automatically controlled according to settings that were not input into the system by an occupant or another user, or cause electrical loads to be unusable for their intended purpose by an occupant or other user. Certain maintenance may even need to be performed during specific time periods or at specific times of day, which may be challenging to perform without disrupting controls for occupants or other users.
[0005] Systems, methods, and apparatus for implementing the execution of a maintenance task on one or more load control devices in a load control system are described herein. A maintenance task may be received at a local maintenance supervisor on a local controller configured to control one or more load control devices in one or more rooms of a building. The local maintenance supervisor on the local controller may identify triggering criteria for triggering the execution of the maintenance task on the one or more load control devices in the one or more rooms of the building. The local maintenance supervisor on the local controller may determine that the triggering criteria have been met and execute the maintenance task on the one or more load control devices in the one or more rooms of the building. The local maintenance supervisor on the local controller may determine the results of the maintenance task executed on the one or more load control devices.
[0006] The maintenance task may be received from a cloud maintenance supervisor executing on a cloud server. The cloud maintenance supervisor may be configured to coordinate the scheduling of maintenance tasks at multiple local controllers. The local maintenance device may send the results of the maintenance task to the cloud maintenance supervisor.
[0007] A local controller may control one or more load control devices in a single room of a building. The local controller may be a first local controller and the single room of the building may be a first room of the building. A local maintenance supervisor on a second local controller may receive a maintenance task configured to control one or more load control devices in a second room of the building. The local maintenance supervisor on the second local controller may identify triggering criteria for triggering performance of the maintenance task on the one or more load control devices in the second room of the building. The local maintenance supervisor on the second local controller may determine that the triggering criteria of at least one rule has been met. The maintenance task may be performed on the one or more load control devices in the second room of the building.
[0008] The cloud maintenance supervisor may determine that a maintenance event has been scheduled in response to input from a user device. The maintenance event may include a maintenance task and trigger criteria. The maintenance task and trigger criteria may be transmitted from the cloud maintenance supervisor to a local maintenance supervisor on a local controller.
[0009] Maintenance tasks may include programming updates, firmware updates, recalibration of control devices, or tests to verify system performance. Triggering criteria may include rules defined by one or more parameters including one or more of a check-in status, an occupancy status, a time period since last occupancy, a time period since a change in check-in status, a time period since the last maintenance task was performed, an override indication, a daylight intensity value, a room temperature, a temperature outside a room / building, a lighting intensity value, a state of a load control device, a state of an electrical load, and / or a state of an occupant. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 A representative environment for controlling one or more electrical loads is depicted.
[0011] FIG. 2A to FIG. 2D is a flow chart of an example procedure that may be executed to enable maintenance tasks to be performed on one or more devices in a load control system.
[0012] Figure 3 is a flow chart of an example procedure that may be executed to perform maintenance tasks on one or more control devices in a load control system.
[0013] Figure 4 is a flow chart of an example procedure that may be executed to apply a firmware update on one or more control devices in a load control system.
[0014] Figure 5 is a flow chart of an example procedure that may be executed to apply a programming update on one or more control devices in a load control system.
[0015] Figure 6 is a flow chart of an example procedure that may be executed to verify system performance of a configured time window on one or more control devices in a load control system.
[0016] Figure 7 is a block diagram of an example computing device.
[0017] Figure 8 is a block diagram of an example load control device. DETAILED DESCRIPTION
[0018] Figure 1 Depicted is a representative environment for controlling one or more electrical loads installed in one or more defined spaces, such as a room, a portion of a room (e.g., a cubicle), a building, a portion of a building (e.g., a hallway, a stairwell, a portion of a conference room, a lobby or other public area, etc.), and / or another defined space in a building. Figure 1As shown, rooms 102, 104, and 106 of a building may be installed with one or more load control devices for controlling electrical loads within a defined space. The defined space may be a room and / or a building. In one example, rooms 102, 104, and 106 may be hotel rooms, offices, rooms in a home, and / or other rooms in a residential and / or commercial building. Each load control device in rooms 102, 104, and 106 may be configured to control (e.g., directly control) the amount of electricity provided to the electrical load. For example, a load control device may control the amount of electricity provided to the electrical load from an alternating current (AC) power source or a direct current (DC) power source. The load control devices may each be controlled by one or more input devices. An example load control device may include a lighting device, such as a lighting control device 108 (e.g., a light emitting diode (LED) driver, a dimmer switch, and / or an electronic switch) for controlling the amount of electricity provided to a lighting load 110. The lighting control device 108 may be configured to control a corresponding lighting load 110 that may be installed in a corresponding lighting fixture. For example, the lighting control device 108 may include a light emitting diode (LED) driver and the lighting load 110 may include an LED light source. Although described as an LED driver, the lighting control device 108 may be a dimmer, an electronic switch, a ballast, or another type of lighting control device configured to control one or more lighting loads 110. The lighting control device 108 may be configured to directly control the amount of power provided to the corresponding lighting load 110. The lighting control device 108 may be configured to receive messages via signals 107, 109 (e.g., via wired or wireless communication) and control the corresponding lighting load 110 in response to the received message. It will be appreciated that the lighting control device 108 and the corresponding lighting load 110 may be integral and thus part of the same fixture or bulb, for example, or may be separate. The lighting control device may also control more than one lighting load in one or more fixtures.
[0019] As described herein, a lighting control device such as lighting control device 108 can control the amount of power provided from an AC power source or a DC power source to a lighting load such as a corresponding lighting load 110 (e.g., or multiple lighting loads), wherein the lighting load may include multiple multi-color LED light sources. In other words, the lighting load 110 may include, for example, multiple LEDs emitting different colors within a single package, and may be configured such that the chromaticity outputs of the LEDs are mixed to produce light having different chromaticity coordinates (e.g., color points) within a color gamut formed by the various LEDs that make up the lighting load. As an example, the lighting loads 110 may each include one or more red LEDs, one or more green LEDs, one or more blue LEDs, and one or more white LEDs (e.g., these LEDs may be collectively referred to herein as RGBW lighting loads). The white LEDs may include substantially white LEDs (e.g., such as yellow and / or mint green LEDs). Although the RGBW lighting load is described herein as a combination of four LEDs of a particular color, other combinations of LEDs (e.g., more or fewer LEDs and / or different color LEDs) may be used.
[0020] The lighting control devices 108 can each adjust various settings of the corresponding lighting loads 110 to adjust the light emitted from the lighting loads 110. For example, the lighting control devices 108 can adjust lighting settings, such as lighting intensity levels (i.e., brightness), colors (e.g., correlated color temperature (CCT) values or full color values), values of vividness parameters that affect color saturation, and / or another setting of the lighting loads, which are further described herein. In addition, the lighting control devices 108 can each adjust the settings of the lighting loads over time (e.g., according to a timeclock schedule, which schedule can be referred to as a natural show or natural lighting). For example, the lighting control devices 108 can adjust the settings (e.g., color and / or intensity) of the corresponding lighting loads 110 over time to simulate sunrise and / or sunset, which can be based on the local sunrise and / or sunset times of the load control system 100.
[0021] Each lighting control device 108 and corresponding lighting load 110 can be configured to generate white light or near-white light of different brightness / intensity within a CCT range from "warm white" (e.g., approximately 2600 Kelvin (K)-3700K) to "neutral white" (e.g., approximately 3700K-5000K) to "cool white" (e.g., approximately 5000K-8300K). For example, lighting control device 108 and corresponding lighting load 110 can be configured to generate light of different chromaticity coordinates along a black body locus or curve. As another example, such lighting control device 108 and its corresponding lighting load 110 can also be configured to generate any of a plurality of colors of different brightness / intensity within the color gamut formed by the various LEDs constituting lighting load 110.
[0022] Each lighting control device 108 and its corresponding lighting load 110 can be configured to increase and / or decrease the color saturation of objects in the corresponding room 102, 104, or 106. For example, the lighting control device 108 can control or be responsive to a vividness parameter that is configured to control the color saturation of objects in the corresponding room 102, 104, or 106. The vividness parameter can allow the lighting control device 108 to tune the individual colors of light emitted at a given color (e.g., full color or CCT). The vividness parameter can cause the lighting control device 108 to control the power provided to the LEDs of the corresponding lighting load 110 to adjust the wavelength of light emitted by the lighting load 110, which can affect the color of light (e.g., reflected light) on objects within the corresponding room 102, 104, or 106. Increasing and decreasing the value of the vividness parameter can increase / decrease the color saturation of objects in the area without changing the color of the visible light output (e.g., the color of the emitted light) when the user 132 looks at the light. In an example, the vividness parameter may be a relative value (e.g., between zero and one hundred percent) for increasing / decreasing the color saturation of objects in the corresponding room 102, 104, or 106. Changing the relative value of the vividness parameter may cause the lighting control device 108 to decrease or increase the intensity of one or more white LEDs (e.g., white and / or substantially white LEDs) that constitute the corresponding lighting load 110. For example, increasing the value of the vividness parameter may thereby decrease the intensity of one or more white LEDs that constitute the corresponding lighting load 110, and thereby increase the color saturation of objects in the corresponding room 102, 104, or 106. Decreasing the value of the vividness parameter may thereby increase the intensity of one or more white LEDs that constitute the corresponding lighting load 110, and thereby decrease the color saturation of objects in the corresponding room 102, 104, or 106. Changing the vividness parameter in this manner can also include changing the intensity of other LEDs (e.g., red, green, and / or blue LEDs) of the lighting load 110 to maintain the same color output of the lighting load 110 (e.g., to maintain the same chromaticity coordinates (or approximately the same chromaticity coordinates within one or more MacAdam ellipses) of the mixed color output of the lighting load 110). However, adjusting the vividness value can adjust the light reflected off objects in the space. In addition, adjusting the vividness value can adjust the spectral power distribution (SPD) of the light. For example, as the vividness value increases, the SPD curve (e.g., relative intensity versus wavelength) of the emitted light can become clearer and / or can cause individual colors on an object to appear more vivid when the light reflects off the object.One example of a lighting control device and corresponding lighting load is described as a lighting device 38 in U.S. Patent No. 10,237,945, issued on March 19, 2019, entitled "ILLUMINATION DEVICE, SYSTEM AND METHOD FOR MANUALLY ADJUSTING AUTOMATED PERIODIC CHANGES IN EMULATION OUTPUT", the contents of which are incorporated herein by reference in their entirety. It will be appreciated that other example lighting control devices and corresponding lighting loads are possible.
[0023] The light emitted by the lighting load 110 can be measured by a color rendering index (CRI) value. The CRI value can be a measurement of the ability of the lighting load 110 to reveal the actual color of an object compared to an ideal light source (e.g., natural light). A higher CRI value may be a desired feature of the user. For example, a lighting load with a higher CRI value can provide light so that objects in the space reflect light in natural colors. With respect to the lighting loads described herein, each of the corresponding LEDs included in the RGBW lighting load can be defined by a certain CRI value. In addition, for example, the RGBW lighting load itself can be defined by a CRI value (e.g., a CRI value indicating a summary or average CRI of each of the corresponding LEDs included in the lighting load). The CRI value can be in the range of 0 to 100 (including 0 and 100). For example, the lowest possible CRI value can be 0, and the highest possible CRI value can be 100. A CRI value greater than or equal to a threshold value (e.g., a CRI value of 90) may be desired and may be referred to as "optimal", "optimized" or "maximized" in this article. That is, other ranges (e.g., smaller and / or larger ranges) may also be considered "optimal," "optimized," or "maximized." In some cases, the CRI value of the lighting load may be increased to a value greater than or equal to a threshold CRI value. For example, the threshold CRI value may be 90. However, it will be understood that the threshold CRI value may be other values. Conversely, the CRI threshold may be a value that may be considered a desired threshold that the system may attempt to achieve given certain characteristics of the load control system 100 and / or the lighting control device 108 (e.g., the quality of the LEDs used in the lighting load). As described herein, optimizing a CRI value toward a threshold CRI value or optimizing a CRI value to be above a threshold CRI value may be referred to as optimizing the CRI value.
[0024] Each lighting control device 108 may be configured to receive messages via radio frequency (RF) signals (such as RF signals 107, 109) and / or via a wired communication link. Each lighting control device 108 may adjust one or more settings of a corresponding lighting load 110 in response to the received messages. Each lighting control device 108 may transmit a status message indicating the status of one or more settings of the corresponding lighting load 110 to other devices in the load control system via RF signals 107, 109 and / or a wired communication link.
[0025] One or more of the lighting control devices 108 may be installed in emergency lighting fixtures in the load control system 100. In these emergency lighting fixtures, the lighting control devices 108 may need to utilize battery power to control the corresponding lighting loads 110. In an emergency, or during a maintenance task performed to test the emergency lighting fixtures, the lighting control devices 108 controlling the emergency lighting fixtures may utilize battery power to control the lighting loads to a predefined intensity and / or color. After the battery power has been discharged and / or power is restored from the AC power source, the lighting control device 108 may recharge the battery power from the AC power source.
[0026] With respect to other load control devices in the load control system 100, the load control system 100 may include one or more daylight control devices, such as motorized curtains 120. The motorized curtains 120 may include motorized cellular shades for controlling the amount of daylight entering the corresponding room 102, 104, or 106. Each motorized curtain 120 may include a curtain fabric 122 hung on a curtain box in front of the corresponding window. Each motorized curtain 120 may also include a motor drive unit (not shown) located inside the curtain box, for example, for raising and lowering the curtain fabric 122 to control the amount of daylight entering the corresponding room 102, 104, or 106. The motor drive unit of the motorized curtain 120 may be configured to receive messages via the RF signals 107, 109 and adjust the position of the corresponding curtain fabric 122 in response to the received messages. The motor drive unit of the motorized curtain 120 may also or alternatively be configured to receive messages via a wired communication link and adjust the position of the corresponding curtain fabric 122 (e.g., raise, lower, etc.) in response to the received messages. The motorized curtain may be battery powered or AC powered. The load control system 100 may include other types of daylight control devices, such as, for example, cellular shades, draperies, Roman shades, Venetian shades, Persian shades, pleated shades, tensioned roller blind systems, electrochromic or smart windows, and / or other suitable daylight control devices, any of which may be motorized and controlled via a wired or wireless communication link. Examples of battery-powered motorized window shades are described in more detail in U.S. Patent Nos. 8,950,461, issued on February 10, 2015, entitled "MOTORIZED WIN DOW TREATMENT," and 9,488,000, issued on November 8, 2016, entitled "INTEGRATED ACCESSIBLE BATTERY COMPARTMENT FOR MOTORIZED WINDOW TREATMENT," the entire disclosures of which are incorporated herein by reference. A daylight control device (such as a motorized window covering 120) may transmit status messages indicating the level of the covering material 122, the fully open / fully closed state, and / or another state of the covering material 122 and / or the motorized window covering 120 to other devices in the load control system via a wired communication link and / or RF signals 107, 109.
[0027] The load control device in the load control system 100 may include one or more plug-in load control devices, such as a plug-in load control device 124, for controlling one or more plug-in electrical loads. The plug-in electrical load may include a plug-in lighting load, such as a floor lamp 126 or a table lamp. The plug-in electrical load may include an appliance (such as a television or a computer monitor). The floor lamp 126 may be plugged into the plug-in load control device 124 for receiving power and / or enabling control. The plug-in load control device 124 may be plugged into a standard electrical outlet and may thus be coupled in series, for example, between an AC power source and a plug-in electrical load. The plug-in load control device 124 may be configured to receive a message via a wired communication link and / or RF signals 107, 109 to control the plug-in electrical load so as to turn the floor lamp 126 on and off or adjust the intensity, color, vividness, and / or another setting of the floor lamp in response to the received message. The plug-in load control device 124 can transmit status messages indicating the status of the plug-in electrical load (such as on / off status, intensity, brightness and / or another setting of the floor lamp 126) to other devices in the load control system via a wired communication link and / or via RF signals 107, 109.
[0028] The load control device in the load control system 100 may include one or more temperature control devices, such as thermostats 136, for controlling the temperature in the corresponding rooms 102, 104, and 106. The thermostat 136 may be coupled to a heating, ventilation, and air conditioning (HVAC) system via a control link. The control link may be an analog control link or a wired or wireless digital communication link. The thermostats 136 may also each be configured to transmit messages to a controller of the HVAC system via the control link. The thermostat 136 may include a temperature sensor for measuring the room temperature of the corresponding rooms 102, 104, and 106 and may control the HVAC system to adjust the temperature in the corresponding rooms 102, 104, and 106 to a set point temperature. The load control system 100 may include one or more wireless and / or wired temperature sensors (not shown) located in the corresponding rooms 102, 104, and 106 for measuring the room temperature via the temperature control device. The HVAC system may be configured to turn the compressor on and off to cool the corresponding rooms 102, 104, and 106 and turn the heating source on and off to heat the corresponding rooms 102, 104, and 106 in response to control signals received from a temperature control device, such as a thermostat 136. The HVAC system may be configured to turn the fan of the HVAC system on and off in response to control signals received from a temperature control device, such as a thermostat 136. The temperature control device, such as a thermostat 136, and / or the HVAC system may be configured to control one or more controllable dampers to control airflow in the corresponding rooms 102, 104, and 106. The temperature control device, such as a thermostat 136, may be configured to receive messages via a wired communication link and / or RF signals 107, 109 and adjust heating, ventilation, and cooling in response to the received messages. A temperature control device, such as thermostat 136 , may transmit status messages indicating a set point temperature, on / off status, or another status of the HVAC system to other devices in the load control system via a wired communication link and / or RF signals 107 , 109 .
[0029] The load control environment 100 may include one or more other types of load control devices that may be controlled via a wired communication link and / or RF signals 107, 109, such as, for example: a screw-in light fixture that includes a dimmer circuit and an incandescent or halogen lamp; a screw-in light fixture that includes a ballast and a compact fluorescent lamp; a screw-in light fixture that includes an LED driver and an LED light source; an electronic switch, a controllable circuit breaker, or other switching device for turning an appliance on and off; a motor control unit for controlling a motor load, such as a ceiling fan or exhaust fan; a drive unit for controlling a projection screens; electrically powered interior or exterior window guards; air conditioners; compressors; electrically powered baseboard heater controls; controllable dampers; variable air volume controls; fresh air intake controls; ventilation controls; hydraulic valves for use with radiant heating systems; humidity control units; humidifiers; dehumidifiers; water heaters; boiler controls; pool pumps; refrigerators; freezers; television or computer monitors; video cameras; amplifiers; elevators; power supplies; generators; chargers, such as electric vehicle chargers; alternative energy controllers; and / or another type of load control device.
[0030] The load control system 100 may include one or more input devices configured to receive input events for controlling one or more load control devices in the load control system 100. The input devices and the 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 control devices 116, such as remote control devices. The control devices 116 may each be AC or DC powered, such as battery powered. The control devices 116 may each be configured to transmit a message to one or more other devices in the load control system 100 via a wired communication link and / or an RF signal 107 in response to an input event (such as actuation of one or more buttons of the control device 116 or rotation of a knob). For example, the control devices 116 may each include a keypad. In another example, the control devices 116 may each include a knob configured to transmit a message to one or more other devices via a wired communication connection and / or an RF signal 107 in response to a rotation on the knob (e.g., a rotation of a predefined distance or a rotation of a predefined time period). The control device 116 can be mounted to a structure such as a wall, a toggle actuator of a mechanical switch, or a base located on a horizontal surface. In another example, one or more control devices 116 can be handheld. The control devices 116 can each provide feedback (e.g., visual feedback) to the user of the control device 116 on a visual indicator (such as a status indicator). The status indicator can be illuminated by one or more light emitting diodes (LEDs) for providing feedback. The status indicator can provide different types of feedback. The feedback can include feedback indicating the following items: actuation or other user interface events by the user, the state of the electrical load controlled by the remote control device 116, and / or the state of the load control device controlled by the control device 116. The feedback can be displayed in response to a user interface event and / or in response to a received message indicating the state of the load control device and / or the electrical load. Examples of battery-powered remote control devices are described in more detail in commonly assigned U.S. Patent No. 8,330,638, issued on December 11, 2012, entitled “WIRELESS BATTERY-POWERED REMOTE CONTROL HAVING MULTIPLE MOUNTIN G MEANS,” and U.S. Patent Application Publication No. 2012 / 0286940, published on November 15, 2012, entitled “CONTROL DEVICE HAVING A NIGHTLIGHT,” the entire disclosures of which are incorporated herein by reference.
[0031] The input devices of the load control system 100 may include one or more sensor devices, such as an occupancy sensor device 112 and / or a daylight sensor device 150. The sensor device may be configured to transmit a message to one or more other devices in the load control system 100 via the RF signal 107 in response to an input event such as a sensor measurement event. The sensor device may also or alternatively be configured to transmit a message to one or more other devices in the load control system 100 via a wired communication link in response to an input event such as a sensor measurement event. The daylight sensor devices 150 may each function as an ambient light sensor or a daylight sensor, and may be configured to perform a sensor measurement event by measuring the total light intensity in the corresponding room 102, 104, 106. The daylight sensor devices 150 may each transmit a message including the measured light level or a control instruction via the wired communication link and / or the RF signal 107 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, issued on April 2, 2013, entitled “METHOD OF CALIBRATING A DAYLIGHT SENSOR,” and U.S. Patent No. 8,451,116, issued on May 28, 2013, entitled “WIRELESS BATTERY POWE RED DAYLIGHT SENSOR,” the entire disclosures of which are incorporated herein by reference.
[0032] The occupancy sensor devices 112 may each function as an occupancy sensor configured to detect an occupancy condition, a vacancy sensor configured to detect a vacancy condition, and / or both in each of the corresponding rooms 102, 104, 106. The occupancy sensor devices 112 may be configured to perform sensor measurement events by measuring an occupancy condition and / or a vacancy condition in response to occupancy or vacancy of the corresponding room 102, 104, or 106 by a user 132, respectively. For example, the occupancy sensor devices 112 may each include an infrared (IR) sensor configured to detect an occupancy condition and / or a vacancy condition in response to the presence or absence of the user 132, respectively. The occupancy sensor devices 112 may each transmit a message including an occupancy condition or a vacancy condition or a control instruction generated in response to the occupancy / vacancy condition via the RF signal 107. Likewise, the occupancy sensor devices 112 may also or alternatively transmit a message including an occupancy condition or a vacancy condition or a control instruction generated in response to the occupancy / vacancy condition via a wired communication link. Examples of load control systems with occupancy and vacancy sensors are described in more detail in the following patents: commonly assigned U.S. Patent No. 8,228,184, entitled “BATTERY-POWERED OCCUPA NCY SENSOR,” issued on July 24, 2012; U.S. Patent No. 8,009,042, entitled “RADIO-FREQUENCY LIGHTING CONTROL SYSTEM WITH OCCUPANCY SENSING,” issued on August 30, 2011; and U.S. Patent No. 8,199,010, entitled “METHOD AND APPARAT US FOR CONFIGURING A WIRELESS SENSOR,” issued on June 12, 2012, the entire disclosures of which are hereby incorporated by reference into this document.
[0033] The input device in the room 102, 104, 106 may include an access point device 136. The access point device 136 may be activated by an access key, such as a key card or other type of access key. The user device 128 may be used as an access key for activating the access point device 136. For example, when the access key enters within a certain distance from the access point device, the signal of the access key may be received by the access point device 136 at a certain signal strength, or the signal of the access point device 136 may be received by the access key at a certain signal strength, and the access point device 136 may receive the unique identifier of the access key and determine that the access key includes the correct unique identifier to open the door of the corresponding room 102, 104, 106. In one example, the access key and the access point device 136 may detect each other's signal strength using an RFID or NFC signal. Each activation of the access key to the access point device 136 may be tracked in the system configuration data, which may include the configuration / control of the load control system 100, as further described herein. The activation of the access point device 136 may indicate that the corresponding room 102, 104, 106 is occupied. The load control devices in the load control system 100 may be automatically controlled to a pre-configured state in response to activation of the access point device 136 .
[0034] The load control system 100 may include other types of input devices, such as, for example, wall controls configured to receive messages via RF or wired communications and hardwired to control electrical loads (e.g., lighting loads, motorized window treatments, etc.), visible light sensors, temperature sensors, humidity sensors, radiometers, cloudy sky sensors, shadow sensors, pressure sensors, smoke detectors, carbon monoxide detectors, air quality sensors, motion sensors, security sensors, proximity sensors, fixed sensors, partition sensors, multi-zone control units, slider control units, motion or solar powered remote controls, key fobs, cell phones, smart phones, tablets, personal digital assistants, personal computers, laptops, clocks, audio-visual controls, security devices, power monitoring devices (e.g., such as power meters, energy meters, public service submeters, public service rate meters, etc.), central control transmitters, residential controllers, commercial controllers, industrial controllers, and / or another type of input device.
[0035] The input device and the load control device may be configured to communicate messages between each other over a communication link within the load control system 100. For example, the input device and the load control device may be configured to communicate messages directly to each other via the RF signal 107. The RF signal 107 may be transmitted using a proprietary RF protocol, such as a CLEAR CONNECT protocol (e.g., a CLEAR CONNECT TYPE A protocol and / or a CLEAR CONNECT TYPE X protocol). Alternatively, the RF signal 107 may be transmitted using a different RF protocol, such as a standard protocol, for example, WIFI, cellular (e.g., 3G, 4G LTE, 5G NR, or any other cellular protocol), Bluetooth, Bluetooth Low Energy (BLE), ZIGBEE, Z-WAVE, THREAD, KNX-RF, ENOCEAN RADIO protocol, or one of a different proprietary protocol. In one example, the input device may transmit a message to the load control device via the RF signal 107, the message including an input event (e.g., a button press, a sensor measurement event, or other input event) or a control instruction generated in response to the input event for executing control of an electrical load controlled by the load control device. Although the communication link may be described as a wireless communication link, a wired communication link may be similarly implemented to achieve communication herein.
[0036] In order for the devices in the load control system 100 to recognize the messages directed to the devices and / or directed to the devices that will respond, the devices can be associated 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 can first be associated with the load control device. As an example of an association procedure, the device can be placed in an association mode to share a unique identifier associated with other devices in the load control system 100 and / or stored at the other devices. For example, the input device and the load control device can be placed in an association mode by actuating a button on the input device and / or the load control device by the user 132. The actuation of the button on the input device and / or the load control device can place the input device and / or the load control device in an association mode to associate with each other. The input device and / or the load control device can also (or alternatively) enter the association mode in response to a trigger message received from another device (such as the user device 128). In the association mode, the input device and / or the load control device can exchange messages. For example, the input device can transmit an association message to the load control device (directly or through one or more other devices as described herein). The association message from the input device may include a unique identifier of the input device. The load control device may locally store the unique identifier of the input device in the association information so that the load control device may be configured to recognize a message (e.g., a subsequent message) from the input device that may include the unique identifier of the input device and a load control instruction or command. The association information stored at the load control device may include the unique identifier of the device with which the load control device is associated. The load control device may be configured to respond to a message from the associated input device by controlling the corresponding electrical load according to the load control instruction received in the message. The input device may also store the unique identifier of the load control device, which is associated with the unique identifier in the association information stored locally thereon. Similar association procedures may be performed between other devices in the load control system 100 to enable each device to perform message transmission with an associated device. This is merely one example of how devices may communicate and associate with each other, and other examples are possible.
[0037] According to another example, one or more devices may receive system configuration data (e.g., or a subsequent update to the system configuration data) that was uploaded to the device and specifies association information including a unique identifier for the associated device. The system configuration data may include a load control data set that defines devices and operating settings for the load control system 100. The system configuration data may include information about one or more of the rooms 102, 104, or 106 and / or devices in the load control system 100. The system configuration data may include association information indicating defined associations between devices in the load control system. The association information may be updated using any of the association procedures described herein.
[0038] The load control system 100 may include one or more intermediate devices that may maintain system configuration data including unique identifiers that constitute device associations and / or device configurations in the load control system 100. For example, input devices and load control devices may communicate over a communication link in the load control system 100 through one or more intermediate devices. The association information maintained in the system configuration data may include unique identifiers of devices associated with each other in each room 102, 104, 106 for identifying and / or enabling message transmission between devices in the load control system 100. For example, each intermediate device may recognize a unique identifier transmitted in an association message between devices during an association procedure, and store the unique identifier of the device as an association in the association information. In another example, the intermediate device may receive the unique identifier of the associated device in the association information from one or more other devices in the load control system 100.
[0039] The load control system 100 may include one or more local controllers 162 (e.g., local hub devices) that may function as intermediate devices. For example, each local controller 162 may function as a central processing device for one or more control devices (e.g., input devices and / or load control devices) in one or more rooms 102, 104, 106 in the load control system 100. Figure 1As shown, each of the rooms 102, 104, 106 may include a separate local controller 162 that stores system configuration data for input devices and load control devices in the room. In some examples, one of the local controllers 162 may be configured with system configuration data for input devices and load control devices in multiple rooms. Each of the local controllers 162 may be configured to transmit messages to and from control devices (e.g., input devices and load control devices) using the system configuration data stored thereon. For example, each of the local controllers 162 may be configured to receive messages from input devices using the system configuration data and transmit messages to load control devices in response to messages received from input devices. Each of the local controllers 162 may include system configuration data for one or more input devices and load control devices of one or more rooms (such as rooms 102, 104, 106). Each of the local controllers 162 may transmit messages based on the associated information stored in the system configuration data stored thereon. The input devices, load control devices, and local controllers 162 may be configured to transmit and receive messages via RF signals 107 and / or via wired communication links. Although the local controllers 162 are each provided as a central processing device for one or more control devices in the rooms 102, 104, 106, the local controllers 162 can be programmed to control one or more control devices installed in one or more predefined other spaces or areas of the building, such as a room, multiple rooms (e.g., including rooms and common areas), a portion of a room (e.g., a cubicle, a portion of a conference room, or other portion of a room), and / or another portion of the building (e.g., a corridor, a stairwell, a portion of a conference room, a lobby or other common area, etc.).
[0040] Each of the local controllers 162 may receive information (e.g., input data from an input device) in a message from a device in the load control system 100, for example, via the RF signal 107, and generate corresponding control instructions (e.g., commands) for performing control at one or more load control devices. For example, one of the local controllers 162 may receive a button press indication in a message from the control device 116 or a sensor measurement indication from a sensor device, and interpret the input data in these messages to generate control instructions based on configuration settings defined in the system configuration data of the load control system 100. For example, the control device 116 in the room 102 may transmit a message indicating the actuation of a button to the local controller 162 in the room 102, which may receive the message indicating the actuation and identify the button that was actuated to generate corresponding control instructions based on the control settings defined in the system configuration data stored at the local controller 162 in the room 102. The local controller 162 in the room 102 may then transmit one or more messages including the control instructions to one or more load control devices in the room 102, so that the load control devices in the room 102 then control their corresponding electrical loads in the room 102. In another example, the local controller 162 in the room 102 can then forward the input data received from the input device to one or more load control devices in the room 102. Thus, the local controllers 162 can each transmit a message including the input data based on the associated information stored thereon, and the input device and / or the load control device itself can interpret the input data to generate control instructions. According to another example, the input device can communicate directly with the load control device without the assistance of the local controller 162. The local controller 162 can still monitor such communication between the control devices by receiving and analyzing the messages transmitted between the control devices.
[0041] According to another example, the local controllers 162 can each transmit messages to input devices and / or load control devices. Such communications performed by the local controllers 162 can include system configuration data (e.g., including control settings) for control devices, such as configuration scene buttons on light switches. Communications from the local controllers 162 can be generated based on the system configuration data and also include, for example, messages directed to the local control devices and including control instructions or commands that cause the local control devices to control the corresponding electrical loads in response to the received messages. For example, the local controllers 162 can transmit messages to change the lighting intensity level, change the lighting color, change the position of the window fabric 122, control the temperature via HVAC settings, etc. Therefore, each local controller 162 itself can be used as a control device or input device by generating control instructions thereon in response to one or more triggering events (e.g., clock events and / or other local triggering events) to transmit messages to the load control devices to control the corresponding electrical loads in the load control system 100. The local controllers 162 can also or alternatively send messages to the load control devices, which cause the load control devices to operate the locally stored settings or control instructions.
[0042] Figure 1 The load control system 100 may be configured such that the local controllers 162 are each configured to communicate with one or more user devices 128. The user device 128 may be a computing device executing software for implementing configuration and / or control of one or more devices in the load control system 100. The user device 128 may be used in the vicinity of the local controller 162 so that the two may communicate directly in a point-to-point manner and / or communicate through a network 163. For example, the network 163 may be provided by a router located near one or more of the rooms 102, 104, 106. It may be advantageous to allow the user 132 to communicate with the system controller 162 via the user device 128 and control the devices of the load control system 100 in the rooms 102, 104, 106 from a remote location, such as via the network 163 or other public or private network. Similarly, it may be advantageous to allow third-party integrators to communicate with the local controller 162 in order to control the devices in the rooms 102, 104, 106 and / or provide services to the occupants of the rooms 102, 104, 106. Different occupants or users having corresponding user devices 128 may be assigned user identifiers or user types so that the user devices communicate with corresponding local controllers 162. For example, a user may be assigned a user identifier or user type so as to communicate with a local controller 162 configured to control a load control device in a room 102, 104, 106 in which the user is occupied.
[0043] The local controller 162 may be configured to communicate with the user device 128 via the network 163. The user device 128 may be a personal computing device, such as a laptop, a smart phone, and / or a tablet device. The user device 128 may be characterized by a unique identifier (e.g., a serial number or address stored in a memory) that uniquely identifies the user device 128 and thus uniquely identifies the occupant 132. The user device 128 may be configured to transmit messages to one or more local controllers 162 in one or more messages transmitted, for example, via Internet protocol packets and / or another wireless communication protocol (e.g., Bluetooth, etc.). The user device 128 may be configured to transmit messages to an external service via the network 163, and then the message may be received by one or more local controllers 162. The user device 128 may transmit and receive messages via RF signals 109 and / or wired communication links. The RF signal 109 may be the same wireless frequency as the RF signal 107, and / or transmitted using the same protocol as the RF signal 107. Alternatively or in addition, the user device 128 may be configured to transmit the RF signal 109 according to another signal type and / or protocol. The user device 128 may be configured to transmit messages via the RF signal 107 and / or the RF signal 109. The load control system 100 may include other types of computing devices coupled to the network 163, 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 commonly assigned U.S. Patent No. 10,271,407, entitled “LOAD CONTROL DEVICE HAVING INTERNET CONNECTIVITY,” published on April 23, 2019, the entire disclosure of which is incorporated herein by reference.
[0044] The load control system 100 may be responsive to a cloud service 164 that may be provided on one or more cloud servers 165, to which the local controller 162 and / or the user device 128 may be configured to communicate, for example, via a network 163. For example, a cloud server 165 operating the cloud service 164 may communicate with the local controller 162 and / or the user device 128 via the network 163 and the RF signal 109. The cloud service 164 may include or have access to one or more portions of system configuration data generated by a user of the cloud service 164 and stored in the cloud server 165 from which the cloud service 164 is provided. For example, one or more portions of the system configuration data may be generated at the computing device 128 or the local controller 162 and transmitted to the cloud server 165, on which the cloud service 164 operates to enable configuration and / or control of the load control system 100. Additionally or alternatively, one or more portions of the system configuration data may be generated by a user of the cloud service 164 and stored in a providing cloud server 165, from which the cloud service 164 is provided and transmitted to the local controller 162 and / or the user device 128 for use in performing configuration and / or control of the load control system 100. The cloud service 164 may be located on a cloud server 165, which may be located at a location remote or local to the building in which the rooms 102, 104, 106 are located.
[0045] The operation of the load control system 100 may be programmed and configured using, for example, a user device 128 or other computing device (e.g., when the user device is a personal computing device). The user device 128 may provide the user with access to a control / configuration application (e.g., via a graphical user interface (GUI)) to allow the user 132 to program how the load control system 100 will operate and / or be controlled. For example, the control / configuration application may be executed as a local application on the user device 128, or as a remote application or service accessed via a local application (e.g., a web browser or other local application that enables a web interface) (e.g., via a cloud service 164 on a cloud server 165, a local controller 162, and / or another remote computing device). The control / configuration application and / or the local controller 162 (e.g., via instructions from the control / configuration application) may generate and / or store system configuration data for implementing control of devices in the load control system 100. The system configuration data may include a load control database that defines the operation of the load control system 100. Examples of configuration programs for load control systems are described in more detail in the following patents: commonly assigned U.S. Patent No. 7,391,297, issued on June 24, 2008, entitled “HANDHELD PROGRAMMER FOR A LIGHTING CONTROL SYSTEM”; U.S. Patent No. 10,666,060, issued on May 26, 2020, entitled “COMMISSIONING LOADCONTROL SYSTEMS”, the entire disclosure of each of which is hereby incorporated by reference.
[0046] The user device 128 may be used by the user 132 to update the system configuration data according to which the load control system 100 operates. For example, the user 132 may request the system configuration data or a portion thereof to be displayed on the user device 128, for example, via a control / configuration application executed on the user device 128. The control / configuration application may request the system configuration data from one or more other devices in the load control system 100, such as one or more of the cloud servers 165 on which the local controller 162 and / or the cloud service 164 operate. After receiving the system configuration data from the control / configuration application on the user device 128, the local controller 162 and / or the cloud service may respond by transmitting the requested system configuration data to the user device 128. Although the user device 128 and / or the user 132 are provided as examples, other user devices and / or users may also operate as described herein with respect to the user device 128 and / or the user 132. For example, the user 132 may be a user, such as a resident or guest, who may operate the user device 128 to control the electrical loads in the load control system 100. In another example, the user 132 may be a user who can configure devices in the load control system 100 .
[0047] The control / configuration application executed on the user device 128 may also allow the user device 128 to transmit a message to the local controller 162 and / or the cloud service 164 to modify, edit, or change system configuration data, such as a scenario configuration stored therein, as further described herein. In one example, the user 132 may provide input on the user device 128 to schedule a maintenance event for performing a maintenance task to update the system configuration data with settings for controlling one or more control devices in the load control system. For example, the control / configuration application may cause the user device 128 to display a maintenance settings screen that allows the user to provide input for scheduling a maintenance event. The control / configuration application may communicate with or include maintenance supervision software that is configured to perform and / or manage maintenance events on one or more devices in the load control system 100. A user may schedule a maintenance event by scheduling a maintenance task to be performed. Maintenance tasks can include test events to verify system performance (e.g., verifying the performance or status of a control device, such as verifying the performance of emergency lighting equipment), automatic recalibration procedures for updating operating settings of control devices (e.g., such as sensors), firmware updates, programming data updates for updating control settings to be uploaded to system configuration data, based on which load control devices can be controlled in a load control system.
[0048] The user may schedule a maintenance event to verify system performance by scheduling a test event, such as testing to verify performance of emergency equipment (e.g., testing emergency equipment using a digital addressable lighting interface (DALI) protocol) as a maintenance task via a maintenance settings screen for configuring system configuration data. The user 132 may update a lighting scene for one or more rooms in a building, and the user device 128 may schedule (e.g., automatically schedule) a maintenance event to update control settings stored at a lighting control device that is part of the lighting scene for controlling the one or more control devices in response to a triggering event. Changes to the lighting scene may be uploaded to update system configuration data for controlling one or more control devices in a load control system.
[0049] Verification of system performance may be performed by a verification procedure executed at one or more local controllers 162 that verifies the responsiveness, functionality, and / or state of one or more control devices. For example, a verification procedure may be executed to query one or more control devices to identify whether the one or more control devices are responsive to a message. The verification procedure may be performed by querying one or more control devices to identify whether the one or more control devices have received a message from other control devices in the load control system 100. The verification procedure may be performed by querying one or more control devices to identify whether the one or more control devices are configured to perform a given function. The verification procedure may be performed by sending a control instruction to one or more control devices to cause the one or more control devices to perform control of the corresponding electrical load and respond with an indication of whether the one or more control devices are configured to perform the control. The verification procedure may be performed by querying one or more control devices to determine the state of the one or more control devices (e.g., battery state or control level or state, such as an open / closed state, intensity level, cover material level, set point temperature, and / or another control level or state).
[0050] One example of verifying system performance may be implemented to verify the performance of a lighting control device installed in an emergency lighting fixture. The emergency lighting fixture may be located in one or more rooms and / or public areas (e.g., corridors, stairwells, halls, and / or other public areas). One or more of the lighting control devices 108 may be installed in or connected to a specific emergency lighting fixture as an additional lighting fixture in a high-risk area and / or a public area that may be occupied at any time of the day (e.g., corridors, stairwells, halls, and / or other public areas). The verification procedure may be implemented by a triggering event, such as a predefined time period scheduled for the verification procedure and / or one or more messages for triggering the verification procedure. For example, one or more local controllers 162 may send a message to the lighting control device 108 in the emergency lighting fixture to initiate the verification procedure at the emergency lighting fixture, thereby verifying the performance of the emergency lighting fixture. The message may cause the lighting control device 108 to turn on the lighting load to a predefined intensity level and / or color and operate for at least a predefined time period or until the battery is discharged (e.g., fully discharged or discharged to a predefined level). A verification procedure may be performed to test whether each lighting control device 108 in the emergency lighting fixture can operate on battery power for at least a predefined period of time. At the end of the verification procedure performed at each emergency lighting fixture, the lighting control device 108 may each send the results of the verification procedure to the local controller 162. The results may include an indication of whether the lighting control device 108 is able to operate within the predefined period of time and / or whether the battery is discharged (e.g., fully discharged or discharged to a predefined level) before the predefined period of time expires. The results may include an indication of whether the lighting control device 108 is still able to operate on battery power after the predefined period of time and / or an amount of time for further operation estimated based on battery power. The results may include an indication of the remaining battery power after the verification procedure. The results may include an indication of the success or failure of the verification procedure based on one or more results described herein. The lighting control device 108 may cause the battery to be recharged after the verification procedure. The lighting control device 108 may not be able to properly control the emergency lighting fixture during the recharging period of time (e.g., approximately 15 to 25 hours), which may make the arrangement of the verification procedure difficult.
[0051] A recalibration procedure may be performed to adjust and / or update operational settings of one or more devices (e.g., such as sensors). The recalibration procedure may be implemented by a triggering event at one or more local controllers 162, such as a predefined time period scheduled for a firmware update procedure and / or one or more messages for triggering the recalibration procedure. For example, one or more local controllers 162 may send a message to one or more control devices to initiate a recalibration procedure at one or more control devices. The message may cause one or more control devices to be inoperable for the duration of the recalibration procedure. The message may cause the control devices to recalibrate sensor input parameters or control parameters that may have changed over time. At the end of the recalibration procedure performed at each control device, the control devices may each send feedback to the local controller 162 indicating the results of the recalibration procedure. The results may include an indication of whether the recalibration procedure was successfully completed. The control device may be inoperable while being updated, which may make it difficult to schedule a recalibration procedure.
[0052] The firmware update may include updated features or security updates for one or more control devices. The firmware update may be installed during a firmware update procedure, which may be implemented by a triggering event at one or more local controllers 162, such as a predefined time period scheduled for the firmware update procedure and / or one or more messages for triggering the firmware update procedure. For example, one or more local controllers 162 may send a message to one or more control devices to initiate a firmware update procedure at one or more control devices to perform one or more firmware updates. The message may cause one or more control devices to be inoperable for the duration of the firmware update procedure. The message may cause the control device to control the corresponding electrical load during the firmware update procedure. At the end of the execution of the firmware update procedure at each control device, the control device may each send feedback to the local controller 162 indicating the results of the firmware update procedure. The results may include an indication of whether the firmware update was successfully installed and / or whether the control device is operating normally based on the firmware update. The control device being updated may be inoperable and / or automatically controlled during the firmware update to test the control settings, which may make the scheduling of the firmware update procedure difficult.
[0053] The programming updates may include updated control settings for controlling control devices in the load control system, such as updates to zone control settings for controlling collectively controlled electrical zones, updates to scenarios for controlling one or more control devices in the load control system 100 in response to a triggering event, and / or other updates for controlling control devices in the load control system. The programming updates may be installed during a programming update procedure, which may be implemented by a triggering event at one or more local controllers 162, such as a predefined time period scheduled for a firmware update procedure and / or one or more messages for triggering the programming update procedure. For example, one or more local controllers 162 may send a message to one or more control devices to initiate a programming update procedure at one or more control devices to perform one or more programming updates. The message may cause one or more control devices to be inoperable for the duration of the programming update procedure. The message may cause the control device to control the corresponding electrical load during the programming update procedure. At the end of executing the programming update procedure at each control device, the control devices may each send feedback to the local controller 162 indicating the results of the programming update procedure. The results may include an indication of whether the programming update was successfully installed and / or whether the control device is operating normally based on the programming update. The control device being updated may not be able to operate and / or automatically control during the programming update to test the control settings, which may make scheduling of the programming update procedure difficult.
[0054] While performing a maintenance task, the load control devices of the load control system 100 may control electrical loads in the rooms 102, 104, 106, which may distract or disturb occupants, and / or may even cause the occupants to provide input to input devices, thereby interrupting the maintenance task. The maintenance task may also (or alternatively) cause the load control devices in the room 102, 104, 106 in which the maintenance task is being performed to be unable to be controlled by the occupants to achieve their intended purpose. Because certain maintenance tasks may need to be performed at specific times (e.g., emergency maintenance tasks such as those required by regulations or other circumstances), the maintenance tasks may be implemented as described herein to reduce problems that may arise from performing the maintenance tasks in the presence of a user and / or when a user may attempt to utilize the load control device being maintained.
[0055] Each local controller 162 may include hardware and / or software configured as a local service 171 that may be provided by the local controller 162. The local service 171 may be configured to transmit messages between control devices, generate control instructions configured to perform load control in response to a triggering event, and / or perform maintenance tasks. The cloud service 164 may include a cloud service that supports the local service 171 on the local controller 162. For example, the cloud service 164 may store and / or update system configuration data, which may include configuration / control of the load control system 100. The system configuration data stored at the cloud service 164 may include association information for associating devices, zone information for configuring control device zones for collective control, scene configurations or other control instructions for implementing control of one or more control devices, triggering events (e.g., time schedules, input events, etc.) operable to trigger control of one or more control devices, and / or other system configuration data. The cloud service 164 may support the scheduling and / or execution of maintenance tasks to be performed at the local controller 162.
[0056] The local service 171 and / or the cloud service 164 may include hardware and / or software (e.g., as part of a control / configuration application for operating a load control system) that can implement scheduling of maintenance tasks using defined criteria. For example, the local service 171 on each local controller 162 may include hardware and / or software that can function as a local maintenance supervisor that is configured to oversee the execution of maintenance tasks for control devices in each of the one or more rooms 102, 104, 106 for which the local service 171 is responsible. The cloud service 164 may include hardware and / or software that can function as a cloud maintenance supervisor that is configured to oversee the maintenance tasks performed by each local maintenance supervisor. For example, the cloud maintenance supervisor of the cloud service 164 may provide information related to one or more maintenance tasks to be scheduled to the local maintenance supervisor of each local service 171 and / or instruct the local maintenance supervisor when to perform the maintenance tasks. The user 132 may provide input to the cloud maintenance supervisor via the user device 128 to identify and / or queue the maintenance tasks to be provided and / or the appropriate criteria for when the maintenance tasks may be performed. The input may be communicated via software operating on the user device 128, such as via a control / communication application, for example. The input may be provided to the cloud maintenance supervisor via a local maintenance supervisor operating on a local service 171 on one or more local controllers 162.
[0057] FIG. 2A to FIG. 2D is an example flow chart illustrating one or more example procedures that may be executed to enable and perform maintenance tasks to be performed on one or more control devices in a load control system. FIG. 2A to FIG. 2DThe program can be executed by maintenance supervision software that can be executed by one or more devices. For example, the maintenance supervision software can be distributed on one or more cloud servers operating cloud services (e.g., one or more cloud servers 165 operating cloud services 164) and one or more local controllers (e.g., one or more local controllers 162 operating local services 171). As described herein, the maintenance supervision software can be executed by control circuits of one or more computing devices to execute one or more parts of the program. For example, the maintenance supervision software can be configured to be used as a cloud maintenance supervisor executed on a cloud server and / or a local maintenance supervisor executed on a local controller.
[0058] Figure 2A 2 is a flow chart of an example procedure 200 that may be executed to enable the execution of maintenance tasks on one or more control devices in a load control system. For example, the procedure 200 may be executed by one or more control circuits on one or more cloud servers operating a cloud maintenance supervisor (e.g., operating one or more cloud services 165). The cloud maintenance supervisor may, for example, periodically initiate the procedure 200 at 201. Additionally or alternatively, the cloud maintenance supervisor may initiate the procedure 200 at 201 in response to a triggering event (e.g., receiving one or more messages). For example, the message may include an instruction to schedule one or more maintenance events to perform one or more maintenance tasks. The maintenance event may include one or more maintenance tasks and / or corresponding triggering criteria for performing one or more maintenance tasks. Thus, the maintenance event may be scheduled in response to the scheduling of one or more maintenance tasks. The maintenance tasks may be performed to test system performance, recalibrate control devices, update firmware on control devices, and / or update system configuration data with control settings for controlling one or more control devices in the load control system. In response to user input, a message including an instruction may be transmitted to the cloud server to schedule a maintenance event. For example, a cloud maintenance supervisor executing on a cloud server may receive a message including an instruction to schedule a maintenance event to perform a maintenance task at 201 .
[0059] At 202, a cloud maintenance supervisor on a cloud server may determine whether the received message (e.g., received at 201) includes an indication of a new maintenance task to be scheduled that has not yet been scheduled. If not, the process 200 may end at 212. If the received message includes an indication of a new maintenance task to be scheduled at 202, the cloud maintenance supervisor may receive the new maintenance task to be scheduled at 204. For example, a maintenance task may be scheduled to implement the execution of one or more maintenance tasks on one or more control devices in a load control system. The maintenance task may be scheduled by a user or automatically scheduled. In one example, a user may access a maintenance setup screen via a user device to schedule maintenance tasks to be performed on one or more control devices in a load control system. In another example, the maintenance task may be automatically scheduled by one or more computing devices (such as a cloud server and / or a local controller). The maintenance task may include a test for verifying system performance, a recalibration procedure, a firmware update, a programming data update, or other maintenance tasks to be performed in a load control system.
[0060] Each maintenance task may include instructions for determining when to perform the corresponding maintenance task. The instructions may be generated based on one or more selections of the user. The instructions for determining when to perform the corresponding maintenance task may depend on the specific maintenance task (e.g., firmware updates, programming data updates, test procedures for verifying system performance, instructions for executing a recalibration procedure, and / or other updates of system configuration data that can be used to control the load control device in the load control system). Different times and / or frequencies of maintenance tasks may be scheduled for different types of maintenance tasks in a day, a week, a month, or a year. For example, a verification procedure may be performed once a year or at a predefined number of times (e.g., monthly or quarterly) each year to test and verify the performance of emergency equipment (e.g., testing emergency equipment using a digital addressable lighting interface (DALI) protocol), and a firmware update procedure may be performed at a higher frequency and / or irregularly based on the time when the firmware update is uploaded to the cloud server.
[0061] At 206, a cloud maintenance supervisor on the cloud server may determine trigger criteria for executing a new task (e.g., received at 204). Each received maintenance task may be characterized by a corresponding trigger criteria for executing the maintenance task. The trigger criteria may include one or more criteria for a corresponding maintenance task for triggering a maintenance event. The trigger criteria may be based on instructions for each maintenance task (e.g., received from user input). For example, a maintenance task may include a first maintenance task that is scheduled to be executed quarterly or within another predefined interval, and the trigger criteria may be set to a predefined time based on the instructions. The trigger criteria may include one or more rules for triggering the execution of the maintenance task. The rules for the trigger criteria may be generated based on one or more selections of the user. The rules for the trigger criteria may be automatically generated based on the selection of the task. The rules may be defined by one or more parameters, including a check-in state, an occupancy state, a time of day, a time period since last occupancy, a time period since a change in check-in state, a time period since a maintenance task was last performed, a coverage indication, a daylight intensity value, a room temperature, a temperature outside a room / building, a lighting intensity value, a state of a load control device, a state of an electrical load, a state of an occupant, a control device or device type, and / or another parameter. The check-in state may include a state of a room being checked in or out (e.g., a hotel room sold / checked in or unsold / checked out, an office having a meeting scheduled or not scheduled, etc.). The time period since a change in check-in state may include a time period since a room was checked out. The occupancy state may be indicated by an occupied condition or a vacant condition (e.g., received from an occupancy sensor in the space and / or derived from one or more other parameters, such as an access point, such as a door card reader, activated by an access key, the opening of a door, input from one or more sensors, user activity in the room, indications from a touch screen and application in the room, and / or other parameters). The state of a load control device or electrical load may be an on / off state, level, or other status indication. The occupant status may indicate the status of a guest, owner, or other person with a status configured to perform system configuration. Based on the status of certain occupants (e.g., owner or other person with a status capable of performing system configuration), maintenance tasks may be performed even if the space is occupied or scheduled to be occupied. Control devices or device types may indicate individual devices or device types by identifiers to trigger updates to individual devices or device types.
[0062] In one example, the maintenance event may include trigger criteria for scheduling other programming tasks, such as updates to programming data or firmware. The trigger criteria may include multiple rules for updating programming data or firmware for control devices in one or more rooms of the load control system. For example, the trigger criteria may cause the programming data or firmware of the control device to be updated in response to the receipt of an update to the programming data or firmware or within a predefined time period of receiving an update to the programming data or firmware. For example, a user may perform an update to the programming data, such as updating control settings configured for a given scene or other control settings for controlling the control device. Programming updates and / or firmware updates may be received at a cloud server and / or a local controller, and the trigger criteria may define rules for performing updates at the control device in response to the receipt of a message or within a predefined time period. The trigger criteria may include rules for performing updates to firmware or programming data when a room is vacant and / or signed out. In another example, the trigger criteria may include a rule that an update to firmware or programming data will be performed when the room is signed out and has been signed out or vacant for a predefined time period. This may allow an occupant to have some time to return to the room after leaving the room before updating the firmware or programming data. In another example, the trigger criteria may include the following rule: the update is performed when the room is checked out, and the room is scheduled to be occupied on a certain date, and the next occupant is scheduled to be the owner or other person with a status that can perform system configuration. The trigger criteria may include a time of day (e.g., the time of the maintenance task being triggered or the time period during which the maintenance task is to be performed / completed). For example, the time of day may be set to a time when the room is unlikely to be occupied, or a time when the occupant is unlikely to notice a change in the status of the electrical load (e.g., 2 a.m. in a conference room or a checked-out hotel room, etc.). The time of day may be set to a time of day when the control device is unlikely to be controlled. For example, updates may be performed on the lighting control device during the daytime period, when the lighting device is unlikely to be controlled or turned on. The time of day may be a time of day when the occupant is likely not present or when fewer occupants are likely to be present, such as during a predefined nighttime period (e.g., 11:30 p.m. to 4:30 a.m.). The time of day may be a time of day when a person outside the building is unlikely to notice the operation of the control device (e.g., the flashing of a light or the movement of a shade) within the building (e.g., 9 a.m. to 5 p.m.).
[0063] In another example, a maintenance event may include a maintenance task for a test event to verify system performance (e.g., a test to verify the performance of an emergency lighting fixture) and may include trigger criteria for scheduling a test event. A test event may be performed to verify system performance by executing a verification procedure. The verification procedure may need to be executed at a specific time of day and / or within a certain number of days of a previous test. The trigger criteria may include rules that cause the verification procedure to be executed after a firmware or programming data update. The trigger criteria may include the following rules: when an update (e.g., an update of system configuration data) operating within different predefined parameters is received, a recalibration procedure is executed. The trigger criteria may include the following rules: the room is signed out, the number of days since the last test to verify system performance is greater than a predefined number of days, and / or the time of day is within a predefined time range. The trigger criteria may also include the following rules: the room is signed out, the number of days since the last test to verify system performance is greater than a predefined number of days, and / or there is at least a predefined time period until the room is signed in. The rules may be implemented individually so that each rule can be used to trigger the execution of a maintenance task when the trigger criteria in other rules are not met. The trigger criteria may also include rules that allow an override to perform a maintenance task if other trigger criteria are not met. For example, the trigger criteria may include a rule that a room is checked out and an indication of an override is received (e.g., via an owner or other person with a status that enables the system configuration to be performed). The indication of an override may indicate that an override message may be received from a user and override the fact that other trigger criteria may not be met and result in the maintenance task being performed if those other trigger criteria are not met. The trigger criteria for the verification procedure may include a time of day (e.g., a time to trigger a maintenance task or a time period during which a maintenance task is to be performed / completed). The time of day may be a time of day when occupants are likely not to be present or when fewer occupants are likely to be present, such as during a predefined nighttime period (e.g., 11:30 p.m. to 4:30 a.m.). The time of day may be a time of day when a person outside the building is unlikely to notice the operation of a control device (e.g., the flashing of a light or the movement of a shade) within the building (e.g., 9 a.m. to 5 p.m.).
[0064] In another example, a maintenance event may include a maintenance task that includes a recalibration procedure and may include trigger criteria for scheduling the recalibration procedure. The recalibration procedure may be performed to adjust and / or update the operating settings of one or more devices (e.g., such as sensors). The trigger criteria may include a rule that causes the recalibration procedure to be performed when one or more control devices operate outside of predefined parameters. The trigger criteria may include a rule that causes the recalibration procedure to be performed when an update (e.g., an update to system configuration data) that operates within different predefined parameters is received. The trigger criteria may include a rule that causes the recalibration procedure to be performed. The trigger criteria may include a rule that the room is signed out, the number of days since the last recalibration procedure is greater than a predefined number of days, and / or the time of day is within a predefined time range. The trigger criteria for the recalibration procedure may include the time of day (e.g., the time to trigger the maintenance task or the time period during which the maintenance task is to be performed / completed). The time of day may be a time of day when occupants may not be present or when fewer occupants may be present, such as during a predefined night time period (e.g., 11:30 p.m. to 4:30 a.m.). The time of day may be a time of day when personnel outside the building are less likely to notice the operation of controls within the building (eg, the flashing of lights or the movement of shades) (eg, 9 a.m. to 5 p.m.).
[0065] The triggering criteria for each new maintenance task for performing the maintenance task may include a priority level, which indicates the priority of the task when conflicts occur between maintenance tasks that are performed simultaneously or when time overlap occurs when tasks take a long period of time. For example, the triggering criteria may indicate the priority level of different types of maintenance tasks. Recalibration and / or verification procedures may take precedence over programming updates or firmware updates because recalibration and / or verification procedures may be performed less frequently. However, the priority may also be configured and / or configured by the user in any manner. The priority of a given maintenance task may change based on the time of day or other triggering criteria for a given maintenance task. For example, when a maintenance task has a greater number of triggering criteria to meet or a more stringent triggering criteria to meet, resulting in a lower frequency of execution of the task, the maintenance task may be given a higher priority. In one example, maintenance tasks that are scheduled to be performed less frequently (e.g., once a year) and have other triggering criteria (such as a check-in state or an occupied state, requiring the space to be checked out or unoccupied for a relatively longer period of time than the triggering criteria of other maintenance tasks) may be given a higher priority than other maintenance tasks. Certain maintenance tasks may be given priority at predefined times of a day, a month, or a year. For example, certain maintenance tasks (such as verifying a procedure or programming update) that may render a control device inoperable (e.g., for a longer period of time) or that may cause the control device to change the electrical load in the space may be given a higher priority during a predefined nighttime period (e.g., 11:30 p.m. to 4:30 a.m.) when the building is less likely to be occupied or unoccupied. In another example, certain maintenance tasks (such as performing a firmware update (e.g., which may take two to five minutes)) that may render a control device operable (e.g., or inoperable for a shorter period of time) or that do not cause the control device to change the electrical load in the space may be given a higher priority during a predefined daytime period (e.g., 8:00 a.m. to 6:00 p.m.) when the building is more likely to be occupied.
[0066] If an override indication is received for a given maintenance task (e.g., via user input on a user device or other input device in the load control system), the maintenance task may be given a higher priority than other maintenance tasks that have not received an override indication. If an override indication is received for multiple scheduled maintenance tasks, the maintenance tasks may be given priority on a first-in, first-out basis, or may be prioritized based on other triggering criteria, as described herein.
[0067] Individual control devices or control device types may be prioritized over other control devices or control device types in triggering criteria for maintenance tasks performed on certain control devices or control device types. For example, when performing a maintenance task that may cause certain control devices to be inoperable, the triggering criteria may include the control devices or control device types on which the maintenance task is to be performed, rather than other control devices or control device types with lower priority. This may prevent every control device from being inoperable at the same time. In another example, when a maintenance task may cause a control device to perform communications via RF messages, prioritizing certain control devices or control device types over other control devices or control device types may prevent the control devices from all transmitting RF messages at the same time to increase the chance of successful communications (e.g., to prevent message collisions) when communicating on the same RF communication protocol and / or channel.
[0068] At 208, a cloud maintenance supervisor on the cloud server may store the maintenance tasks and / or corresponding triggering criteria for the new maintenance event in a memory (e.g., in system configuration data). For example, at 208, the maintenance tasks and / or corresponding triggering criteria may be stored in a memory of one or more cloud servers capable of providing cloud services via maintenance supervision software. The maintenance tasks and / or corresponding triggering criteria may be accessed by the cloud maintenance supervisor. The cloud maintenance supervisor may be executed as part of maintenance supervision software that is used to configure and / or control the execution of maintenance tasks for load control devices in a load control system. The cloud maintenance supervisor may coordinate tasks between various local controllers in a load control system by sending indications of maintenance tasks and / or triggering criteria to local maintenance supervisors on local controllers (e.g., in a scheduled maintenance event).
[0069] At 210, the cloud maintenance supervisor on the cloud server can transmit the indication of the maintenance task and / or the corresponding triggering criteria to one or more local controllers. For example, the cloud maintenance supervisor can transmit the indication of the maintenance task and / or the corresponding triggering criteria to the local controllers via a network (e.g., network 163) in one or more messages. In one example, the cloud maintenance supervisor can identify the maintenance tasks and / or corresponding triggering criteria to be transmitted to different local controllers based on the load control devices in the room, the load control device type, the room type, and / or other characteristics.
[0070] The cloud maintenance supervisor on the cloud server can transmit an indication of the maintenance task and / or the corresponding trigger criteria to one or more local controllers to allow the local controllers to manage the maintenance task locally. For example, an indication of the maintenance task and / or the corresponding trigger criteria can be provided to each of the local controllers to allow the local maintenance supervisor on each of the local controllers to locally manage the trigger criteria for performing each of the maintenance tasks. As described herein, maintenance tasks for control devices operating under the control of a local controller or communicating with a local controller can be managed by a local maintenance supervisor operating on the local controller. In other words, the cloud maintenance supervisor can communicate with the local maintenance supervisor to transmit the maintenance task and the trigger criteria. The local maintenance supervisor can then supervise the execution of the task based on the trigger criteria.
[0071] When the cloud server transmits the indication of the maintenance task and / or the corresponding triggering criteria to multiple local controllers, the individual local controllers may be prioritized or offset in time. The cloud maintenance supervisor on the cloud server may introduce priority levels or time offsets for certain local controllers used to perform maintenance tasks. This may prevent each of the control devices in the load control system 100 from being inoperable at the same time. In another example, when the maintenance task may cause the control device to perform communication via an RF message, the prioritization or time offset of performing the maintenance task at different local controllers may prevent the control devices and / or local controllers from all transmitting RF messages at the same time to increase the chance of successful communication (e.g., preventing message conflicts) for communicating on the same RF communication protocol and / or channel. Prioritized local controllers may be triggered to perform maintenance tasks, and lower priority control devices may be approved by the cloud maintenance supervisor on the cloud server, or the completion of the maintenance task of the prioritized local controller may be recognized when the local controller reports feedback on the results of the maintenance task. For programming or firmware updates, the update may be performed jointly by each local controller and / or the control device of each local controller to ensure compatibility between the control devices and / or local controllers within the load control system. Routine 200 may end at 212 .
[0072] Figure 2B2 is a flow chart of an example procedure 220 that can be executed to enable the execution of maintenance tasks on one or more control devices in a load control system. For example, the procedure 220 can be executed by one or more control circuits on one or more local controllers (e.g., local controller 162) that are operating an instance of a local maintenance supervisor. The cloud maintenance supervisor can, for example, periodically initiate the procedure 220 at 221. In addition, the local maintenance supervisor can initiate the procedure 220 at 221 in response to a message. For example, the message can include an indication of a maintenance event for performing a maintenance task. For example, the maintenance task can be performed to test system performance, recalibrate a control device, update firmware on a control device, and / or update system configuration data with control settings for controlling one or more control devices in a load control system. The message including the indication can be transmitted in response to a user input to schedule a maintenance event. For example, a local maintenance supervisor executing on one of the local controllers can receive a message including an indication of a maintenance event for performing a maintenance task at 221.
[0073] At 222, a local maintenance supervisor on a local controller may determine whether the received message (e.g., received at 221) includes an indication of a new maintenance event to be scheduled. If not, then the process 220 may end at 230. If the received message includes an indication of a new maintenance event to be scheduled at 222, then the local maintenance supervisor may receive a maintenance task and / or corresponding trigger criteria at 224. For example, each local controller may operate a local maintenance supervisor for supervising the performance of maintenance tasks by one or more load control devices in a load control system. At 224, the maintenance task and / or corresponding trigger criteria may be received by the local maintenance supervisor. Each local maintenance supervisor may be executed as part of maintenance supervision software that is used to configure and / or control the performance of maintenance tasks for load control devices in a load control system. Each local maintenance supervisor may supervise the performance of maintenance tasks for load control devices in one or more rooms. Each of the local maintenance supervisors operating on the local controller may store maintenance tasks and / or corresponding trigger criteria for determining when to perform maintenance tasks on load control devices in one or more rooms.
[0074] At 226, a local maintenance supervisor on the local controller may identify trigger criteria for each of the maintenance tasks that may be performed to determine whether the trigger criteria have been met. The trigger criteria for each maintenance task may include a priority level that indicates the priority of the task when conflicts occur between tasks that are performed simultaneously or overlap in time. As described herein, the priority level and the corresponding trigger criteria may be received at 224. In another example, the priority level of the maintenance task may be predefined at the local controller. As described herein, the priority level may be similarly assigned to maintenance tasks and / or control devices. For example, the priority of a given maintenance task may be based on the frequency of the maintenance task, the time period (e.g., time of day, time of month, time of year), the number of trigger criteria, whether the maintenance task will cause the control device to be inoperable or inoperable for a period of time, and / or other trigger criteria for a given maintenance task. If an override indication is received or determined to be received for a given maintenance task, the maintenance task may be given a higher priority than other maintenance tasks that have not received an override indication. As described herein, various control devices or control device types are prioritized over other control devices or control device types in triggering criteria for maintenance tasks to be performed on certain control devices or control device types.
[0075] At 228, the cloud maintenance supervisor on the cloud server can store the maintenance task and / or the corresponding triggering criteria of the new maintenance event in a memory (e.g., in the system configuration data). For example, the maintenance task and / or the corresponding triggering criteria can be stored in the memory of the local controller via the maintenance supervision software at 228. The maintenance task and / or the corresponding triggering criteria can be accessed by the local maintenance supervisor. The local maintenance supervisor can be executed as part of the maintenance supervision software, which is used to configure and / or control the execution of the maintenance task of the load control device in the load control system. The process 220 can end at 230.
[0076] Figure 2C2 is a flow chart of an example procedure 240 that may be executed to perform maintenance tasks on one or more control devices in a load control system. For example, the procedure 240 may be executed by one or more control circuits on one or more of the local controllers (e.g., the local controller 162) that are operating an instance of a local maintenance supervisor. When the local processor has a maintenance task to perform, the local maintenance supervisor may initiate the procedure 240 at 241. In some examples, the local maintenance supervisor may initiate the procedure 240 at 241, for example, periodically. For example, maintenance tasks may be performed to test system performance, recalibrate control devices, update firmware on control devices, and / or update system configuration data with control settings for controlling one or more control devices in the load control system. For example, a local maintenance supervisor running on one of the local controllers may execute the procedure 240 at 241.
[0077] A local maintenance supervisor on a local controller may select a first (e.g., initial) maintenance task at 242. For example, the first maintenance task may be a first maintenance task stored in a memory of the local controller (e.g., in a task list). At 244, the local maintenance supervisor on the local controller may determine whether a triggering criterion corresponding to the selected maintenance task has been met. If the triggering criterion for executing the maintenance task at 244 is not met, the local maintenance supervisor on the local controller may select a next maintenance task at 246 (e.g., in a task list) and determine whether the triggering criterion corresponding to the selected maintenance task has been met at 244. Each maintenance task may have a triggering criterion that includes one or more separate rules (e.g., alternative rules) that may be defined to trigger the execution of the maintenance task. When the triggering criteria for multiple maintenance tasks have been met, the maintenance tasks may be queued and executed on a first-in, first-out basis, or may be prioritized, as described herein.
[0078] If at 244, the local maintenance supervisor on the local controller determines that the triggering criteria have been met for one or more defined rules that trigger the maintenance task, the local maintenance supervisor may perform the maintenance task at 248. For example, the local maintenance supervisor may cause the local controller to transmit commands to one or more load control devices for configuring and / or controlling the load control devices. The local controller may receive feedback messages from the load control devices that include the results of the maintenance tasks that have been performed. For example, the results may include measurements and / or confirmations from the load control devices that have performed the maintenance tasks. The results may include the time when the maintenance task was completed on each of the load control devices. The results may include a pass / fail indication of the results of the tests performed on one or more control devices. The results of the programming or firmware update may indicate whether the one or more control devices are operating normally based on the update. The local maintenance supervisor on the local controller may perform the task until the task is completed at 250.
[0079] When the task is completed at 250, the local maintenance supervisor on the local controller can transmit the results of the maintenance task to the cloud maintenance supervisor. The local maintenance supervisor on the local controller can transmit the results of the maintenance task after the task is completed (e.g., immediately after completion) or at a predefined time. In some examples, the local maintenance supervisor on the local controller can transmit the results of multiple maintenance tasks at predefined times. For example, the local maintenance supervisor on the local controller can store the results of one or more maintenance tasks until a request is received from the cloud maintenance supervisor, for example, to report the results of the maintenance task to the cloud maintenance supervisor. The local maintenance supervisor on the local controller can transmit the results of multiple maintenance tasks in one message, as well as an identifier of each maintenance task performed and a corresponding result based on the response of the load control device maintained by the local maintenance supervisor.
[0080] If there are more maintenance tasks to be completed at 254, the local maintenance supervisor on the local controller can select the next maintenance task at 256. For example, the next maintenance task can be the next maintenance task stored in the memory of the local controller (e.g., in a queue or task list). The next maintenance task can be selected based on the priority of the maintenance task, as described herein. The local maintenance supervisor on the local controller can then determine at 244 whether the triggering criteria corresponding to the selected maintenance task have been met, and if so, cause the maintenance task to be performed at 248. When there are no more maintenance tasks to be completed at 246 or 254, the process 240 can end at 258.
[0081] Figure 2D2 is a flow chart of an example procedure 260 that may be executed to report the results of a maintenance task performed on one or more control devices in a load control system. For example, the procedure 260 may be executed by control circuitry on one or more cloud servers (e.g., one or more cloud services 165) that are operating a cloud maintenance supervisor. The cloud maintenance supervisor may, for example, periodically initiate the procedure 260 at 261. In some examples, the cloud maintenance supervisor may initiate the procedure 260 at 261 in response to receiving a message (e.g., from a local controller). For example, the message may include the results of the maintenance task. After the local maintenance supervisor on the local controller has completed the one or more maintenance tasks, the cloud maintenance supervisor on the cloud server may coordinate reporting of the results of the one or more maintenance tasks from each local controller. In response to performing a maintenance event at the local controller, a message including the results of the maintenance task may be received from the local controller. For example, the cloud maintenance supervisor executing on the cloud server may receive a message including the results of the maintenance task at 261. Each local maintenance supervisor may transmit one or more messages indicating the completion of the one or more maintenance tasks to the cloud maintenance supervisor. For example, the message indicating the completion of the maintenance task may include the results of the maintenance task. In some examples, the message indicating completion of the maintenance task may not include a result of the maintenance task. After receiving a message including an indication that the local maintenance supervisor has completed the maintenance task but not including a result of the maintenance task, the cloud maintenance supervisor on the cloud server may transmit a message to the user device indicating that the local maintenance supervisor of the local controller is to report the result of the maintenance task.
[0082] At 262, a cloud maintenance supervisor on the cloud server may determine whether the received message (e.g., as received at 261) includes an indication that the maintenance task has been completed for one of the local controllers (e.g., one of the local maintenance supervisors to perform the scheduled maintenance task). If not, the process 260 may end at 270. If the message includes an indication that the maintenance task has been completed for one of the local controllers (e.g., one of the local maintenance supervisors to perform the scheduled maintenance task), the cloud maintenance supervisor of the cloud server may receive the results of the maintenance task at 264 and store the results of the maintenance task in a memory (e.g., in the system configuration data) at 266. For example, at 266, the results of the maintenance task may be stored in a memory at one or more cloud servers configured to provide cloud services via maintenance supervision software. The results of the maintenance task may be accessed by the cloud maintenance supervisor. At 268, the cloud maintenance supervisor on the cloud server may transmit a message including an update to a user on a user device. The update may be presented on a maintenance settings screen or other user interface provided by a control / configuration application. The update may include the results of the maintenance task. Messages including updates may be sent to users via email or other notifications.
[0083] Figure 2B and Figure 2C The procedures 220, 240 may be performed by multiple local maintenance supervisors running at multiple local controllers (e.g., for different rooms or other defined spaces). Since each local controller determines when to perform maintenance tasks, maintenance tasks may be performed at different times, such as when one room is occupied and one room is vacant, for example. Each local maintenance supervisor on a local controller may determine occupancy status by looking at data from occupancy sensors.
[0084] Figure 3 is a flow chart of an example procedure 300 that may be executed to apply maintenance tasks on one or more control devices in a load control system. The procedure 300 may be executed by maintenance supervision software, which may be executed by one or more control circuits on one or more devices. For example, one or more portions of the procedure 300 may be executed by one or more control circuits operating the maintenance supervision software, which may be distributed across a cloud server operating a cloud service and one or more local controllers operating a local service. As described herein, the maintenance supervision software may be executed by control circuits of one or more computing devices for executing one or more portions of the procedure 300. For example, the maintenance supervision software may be configured to operate a cloud maintenance supervisor executing on a cloud server and / or a local maintenance supervisor executing on a local controller.
[0085] like Figure 3 As shown in , procedure 300 can start at 301. At 302, a cloud maintenance supervisor on a cloud server can receive and store a new maintenance task. The maintenance task can be received via a maintenance event that includes one or more trigger criteria that characterize the maintenance task. At 304, the cloud maintenance supervisor on the cloud server can coordinate the maintenance task according to the trigger criteria. For example, the cloud maintenance supervisor on the cloud server can coordinate the maintenance tasks to be performed between various local controllers according to the corresponding trigger criteria. The cloud maintenance supervisor on the cloud server can determine the trigger criteria for the maintenance task (e.g., received at 302). Each received maintenance task can be characterized using the corresponding trigger criteria for performing the maintenance task. The trigger criteria can include one or more criteria for triggering the corresponding maintenance task, as described herein.
[0086] At 306, control circuitry on the cloud server (e.g., operating a cloud maintenance supervisor) may transmit an indication of a maintenance task and / or corresponding trigger criteria to one or more local controllers. For example, the control circuitry of the cloud server may transmit the indication of the maintenance task and / or corresponding trigger criteria to the local controllers in one or more messages via a network. In one example, the control circuitry may identify maintenance tasks and / or corresponding trigger criteria to be transmitted to different local controllers based on load control devices in various rooms, load control device types, room types, and / or other characteristics. The cloud server may transmit the indication of the maintenance task and / or corresponding trigger criteria to one or more local controllers to allow the local controllers to manage the maintenance task locally.
[0087] At 308, a local maintenance supervisor on a local controller may receive a maintenance task and / or a corresponding triggering criterion. For example, each local controller may operate a local maintenance supervisor for supervising the execution of a maintenance task by one or more load control devices in a load control system. At 310, a local maintenance supervisor on a local controller may identify the triggering criterion for each maintenance task that may be executed to determine whether the triggering criterion has been met. The triggering criterion may be determined based on a message including a task indication received at 308. In another example, the triggering criterion may be predefined at a local controller for a given type of maintenance task. The local maintenance supervisor on a local controller may iterate through the triggering criterion for each of the maintenance tasks (e.g., in a first-in, first-out queue). The triggering criterion for each maintenance task may include a priority level indicating the priority of the task when a conflict occurs between simultaneously executed tasks, and determine at 312 whether the maintenance task is to be executed. If the triggering criterion for the maintenance task is not met, the local maintenance supervisor on the local controller may iterate to the next maintenance task. If the triggering criterion is determined by the local maintenance supervisor on the local controller to be met, the local maintenance supervisor may determine that the maintenance task is to be executed and may execute the maintenance task at 314. For example, maintenance tasks may be performed at 314 to test system performance, recalibrate control devices, update firmware on control devices, and / or update system configuration data with control settings for controlling one or more control devices in the load control system.
[0088] At 316, the local maintenance supervisor on the local controller may transmit a feedback message including the results of the one or more maintenance tasks that have been completed. For example, the results may include measurements and / or confirmations from the load control devices that have performed the maintenance tasks. The results may include the time when the maintenance task was completed on each of the load control devices. The results may include a pass / fail indication of the results of the tests performed on one or more control devices. The results of the programming or firmware update may indicate whether one or more control devices are operating normally based on the update. The local maintenance supervisor on the local controller may transmit the results of the maintenance task after the task is completed (e.g., immediately after completion) or at a predefined time. In some examples, the local maintenance supervisor on the local controller may transmit the results of multiple maintenance tasks at a predefined time. For example, the local maintenance supervisor on the local controller may store the results of one or more maintenance tasks until a request is received to report the results of the maintenance tasks to the cloud maintenance supervisor. The local maintenance supervisor on the local controller may transmit the results of multiple maintenance tasks in one message, as well as an identifier of each maintenance task performed and a corresponding result based on the response of the load control device maintained by the local maintenance supervisor.
[0089] The cloud maintenance supervisor on the cloud server may receive one or more feedback messages including the results of the maintenance task at 318. Each local maintenance supervisor may transmit one or more messages with the results of the one or more maintenance tasks to the cloud maintenance supervisor. The results of the maintenance tasks may be stored by the cloud maintenance supervisor in a memory at one or more cloud servers configured to provide cloud services via maintenance supervision software. The results of the maintenance tasks may be accessed by the cloud maintenance supervisor. At 320, the cloud maintenance supervisor on the cloud server may transmit a message including an update to the user via a user device. The update may be presented on a maintenance settings screen or other user interface provided by the control / configuration application. The update may include the results of the maintenance task. The message including the update may be sent to the user via email or another notification. The process 300 may end at 322.
[0090] Figure 44 is a flowchart of an example procedure 400 that can be executed to apply a firmware update on one or more control devices in a load control system. The procedure 400 can be executed by maintenance supervision software, which can be executed by one or more control circuits on one or more devices. For example, the maintenance supervision software can be distributed on an application program executed on a cloud server operating a cloud service and / or one or more local controllers. As described herein, the maintenance supervision software can be executed by one or more control circuits of one or more computing devices to perform one or more parts of the procedure 400. For example, the maintenance supervision software can be configured to operate a cloud maintenance supervisor executed on a cloud server and / or a local maintenance supervisor executed on a local controller. It should be understood that although the process 400 shows an example of applying a firmware update when the criteria of certain rules are met (e.g., the room is empty and has been signed out), the process 400 may include fewer or additional criteria for completing one or more rules (e.g., time window, time since the last firmware update, etc.).
[0091] like Figure 4 As shown, the process 400 may start at 401. At 402, a cloud maintenance supervisor on a cloud server may receive a new firmware update and store it in a memory. A new firmware update may be received at the cloud server for security updates or other firmware updates. At 403, a cloud maintenance supervisor on the cloud server may coordinate firmware updates for local controllers. For example, the cloud maintenance supervisor on the cloud server may coordinate local controllers to perform firmware updates. The cloud maintenance supervisor on the cloud server may introduce priority levels or time offsets to certain local controllers for performing firmware updates. This may prevent each of the control devices in the load control system 100 from being inoperable at the same time. In another example, when a firmware update may cause the control devices and / or local controllers to perform communications via RF messages, the priority ordering or time offsets for performing firmware updates at different local controllers may prevent the control devices and / or local controllers from all transmitting RF messages at the same time to increase the chances of successful communication (e.g., preventing message collisions) for communicating on the same RF communication protocol and / or channel.
[0092] At 404, a cloud maintenance supervisor on the cloud server may transmit an indication of a firmware update maintenance task to one or more local controllers. The cloud maintenance supervisor on the cloud server may determine trigger criteria for the firmware update maintenance task and send the trigger criteria together with the indication of the firmware update. In another example, trigger criteria for the firmware update maintenance task may be predefined at each of the local controllers. In the example provided in procedure 400, the trigger criteria may include the following rule: a room or other defined space is vacant and / or signed out to perform a firmware update. However, other trigger criteria may be included in the rule. For example, the trigger criteria for a firmware update or programming update may include determining that a firmware update or programming update is to be performed before considering any other trigger criteria. The firmware update maintenance task may have been received by the cloud server (e.g., from a user device), which may cause the cloud maintenance supervisor on the cloud server to send an indication to the local server (e.g., sent together with the firmware or a location in a memory to obtain the firmware at the cloud server).
[0093] At 406, a local maintenance supervisor on a local controller may receive an indication of a firmware update maintenance task and / or corresponding trigger criteria. For example, each local controller may operate a local maintenance supervisor to supervise the execution of a firmware update by one or more load control devices in a load control system. The local maintenance supervisor of each local controller may receive an indication of a firmware update maintenance task and / or corresponding trigger criteria from a cloud maintenance supervisor after creating one or more maintenance events at the cloud maintenance supervisor. The indication received at 406 may include an identifier of the firmware update and / or a location where the firmware update can be accessed (e.g., a storage location at a cloud server). The local maintenance supervisor at the local controller may receive the firmware update itself for downloading to the control device. At 408, the local maintenance supervisor on the local controller may store the indication of the firmware update maintenance task in a memory. The indication and / or trigger criteria of the firmware update maintenance task may be stored as a rule for determining when to perform a firmware update at a later time when the firmware update is available.
[0094] A local maintenance supervisor of a local controller may monitor triggering criteria for a firmware update maintenance task. At 409, the local maintenance supervisor of the local controller may identify triggering criteria for a firmware update maintenance task. The local maintenance supervisor on the local controller may determine that the triggering criteria include the following rule: the room or other defined space is vacant and / or has been signed out to perform the firmware update. At 410, the local maintenance supervisor of the local controller may determine whether the room is vacant. For example, the local maintenance supervisor may receive data from a sensor indicating an occupancy or vacancy event within a predefined time period and determine that the room is vacant. At 412, the local maintenance supervisor of the local controller may determine whether the room is in a signed-in state. If the room is not vacant or in a signed-in state, the local maintenance supervisor of the local controller may continue to monitor the triggering criteria. When the room is determined to be vacant at 410 by the local maintenance supervisor on the local controller and is determined to be in a signed-out state at 412, the local maintenance supervisor may update the firmware in one or more control devices when a firmware update is available. The control devices may be updated based on a priority level indicating a priority of control devices or device types to be updated before other control devices or device types. The firmware update may be performed by sending a message to the control device including an identifier of the firmware update and / or a location where the firmware update may be accessed (e.g., a storage location at a cloud server and / or a local controller).
[0095] At 415, the local maintenance supervisor of the local controller may collect feedback messages from the control devices including the results of the firmware update. For example, the results may include measurements and / or confirmations from the load control devices that the firmware update was performed. The results may include the time at which the firmware update was completed at each of the load control devices. The results may include a pass / fail indication of the results of performing the firmware update on one or more control devices. The results of the programming or firmware update may indicate whether the one or more control devices are operating normally based on the update.
[0096] The local maintenance supervisor on the local controller may transmit the results of the firmware update at 416 to the cloud maintenance supervisor on the cloud server. The results may be transmitted after the firmware update is completed (e.g., immediately after completion) and / or at a predefined time. In some examples, the local maintenance supervisor on the local controller may transmit the results of the firmware update at a predefined time. For example, the local maintenance supervisor on the local controller may store the results of one or more firmware updates until a request is received to report the results of the firmware update to the cloud maintenance supervisor (e.g., from the cloud maintenance supervisor on the cloud server).
[0097] The control circuitry on the cloud server (e.g., operating the cloud maintenance supervisor) may receive one or more feedback messages including the results of the firmware update at 418. Each local maintenance supervisor may transmit one or more messages with the results of the firmware update to the cloud maintenance supervisor. The results of the firmware update may be stored in a memory at one or more cloud servers capable of providing cloud services via maintenance supervision software. The results of the firmware update may be accessed by the cloud maintenance supervisor. At 420, the control circuitry on the cloud server (e.g., operating the cloud maintenance supervisor) may transmit a message to notify the user of the results of the firmware update. The update may be presented on a maintenance settings screen or other user interface provided by the control / configuration application. The update may include the results of the firmware update. The message including the update may be sent to the user via email or another notification. Procedure 400 may end at 422.
[0098] Figure 5 Flowchart of an example program 500 that can be executed to apply programming updates on one or more control devices in a load control system. Program 500 can be executed by maintenance supervision software, which can be executed by one or more control circuits on one or more devices. For example, the maintenance supervision software can be distributed on an application program executed on a user device, a cloud server operating a cloud service, and one or more local controllers. As described herein, the maintenance supervision software can be executed by the control circuit of one or more computing devices to perform one or more parts of program 500. For example, the maintenance supervision software can be configured to operate a control / configuration application on a cloud server, a cloud maintenance supervisor executed on a cloud server, and / or a local maintenance supervisor executed on a local controller. It should be understood that although program 500 shows an example of applying programming updates when the trigger criteria of certain rules are met (e.g., room vacancy), program 500 may include fewer or additional criteria for completing one or more trigger criteria (e.g., time window, time since the last programming update, etc.).
[0099] like Figure 5 As shown, process 500 may begin at 501. At 502, a control / configuration application on a user device may receive and store changes to programming data stored in system configuration data. For example, a user may change control settings in the system configuration data for controlling one or more control devices in one or more defined areas of a building via a graphical user interface displayed on the user device. The changes may include changes in scenes, changes in trigger criteria (e.g., a schedule, sensor events, or other trigger criteria) for controlling electrical loads, and / or other changes to system configuration data for controlling one or more electrical loads.
[0100] At 504, the control / configuration application on the user device may upload the changes to the programming data to the cloud server. For example, the user may actuate a button on a graphical user interface on the control / configuration application to upload the changes to the programming data. The control / configuration application may communicate with or include maintenance supervision software operating on the cloud server and / or the local controller. The user device may communicate directly with the cloud server to upload the changes to the programming data, or may upload the changes to the programming data via one or more other devices, such as a local controller.
[0101] At 506, maintenance supervisor software (e.g., a cloud maintenance supervisor) on the cloud server may store the changes to the programming data. At 507, the cloud maintenance supervisor on the cloud server may coordinate programming updates of the local controllers that are affected by the changes made by the user. For example, the cloud maintenance supervisor on the cloud server may coordinate the local controllers that are to perform programming updates. The cloud maintenance supervisor on the cloud server may introduce priorities or time offsets to certain local controllers used to perform programming updates. This may prevent each of the control devices in the load control system 100 from being inoperable at the same time. In another example, when a programming update may cause the control devices and / or local controllers to perform communications via RF messages, the priority sorting or time offsets used to perform programming updates at different local controllers may prevent the control devices and / or local controllers from all transmitting RF messages at the same time to increase the chances of successful communication (e.g., preventing message collisions) when communicating on the same RF communication protocol and / or channel.
[0102] At 508, the cloud maintenance supervisor on the cloud server may transmit an indication of the programming update maintenance task to one or more local controllers. The cloud maintenance supervisor on the cloud server may determine triggering criteria for the programming update and send the triggering criteria along with the indication of the programming update. In another example, triggering criteria for the programming update maintenance task may be predefined at each of the local controllers. In the example provided in process 500, the triggering criteria may include the following rule: a room or other defined space is vacant to perform a programming update. However, other triggering criteria may be included in the rule.
[0103] At 510, a local maintenance supervisor on a local controller may receive an indication of a programming update maintenance task and / or corresponding trigger criteria. For example, each local controller may operate a local maintenance supervisor to supervise the performance of a programming update by one or more load control devices in a load control system. The local maintenance supervisor of each local controller may receive an indication of a programming update maintenance task and / or corresponding trigger criteria from a cloud maintenance supervisor after one or more maintenance events are created at the cloud maintenance supervisor. The indication received at 510 may include an indication of the programming update and / or a location where the programming update can be accessed (e.g., a storage location at a cloud server). The local maintenance supervisor at the local controller may receive the programming update itself for download to the control device. At 512, the local maintenance supervisor on the local controller may store the indication of the programming update in a memory. The indication of the programming update and / or the trigger criteria may be stored as a rule for determining when to perform a firmware update at a later time when the firmware update is available.
[0104] A local maintenance supervisor of a local controller may monitor trigger criteria for a programming update maintenance task. At 513, a local maintenance supervisor on a local controller may identify trigger criteria for a programming update. The local maintenance supervisor on the local controller may determine that the trigger criteria include the following rule: a room or other defined space is vacant to perform a programming update. At 514, the local maintenance supervisor of the local controller may determine whether the room is vacant. For example, the local maintenance supervisor may receive data from a sensor indicating an occupancy or vacancy event within a predefined time period and determine that the room is vacant. If the room is not vacant, the local maintenance supervisor of the local controller may continue to monitor the trigger criteria. When it is determined at 514 that the room is vacant, the local controller may update the programming data at 516 to perform load control based on control settings stored in one or more control devices. The control device may be updated based on at least a priority level, which indicates the priority of the control device or device type to be updated before other control devices or device types. A programming update of a control setting may be performed by sending a message to the control device that includes an identifier of the updated control setting or programming update and / or a location where the programming update may be accessed (e.g., a storage location at a cloud server and / or a local controller).
[0105] At 517, the local maintenance supervisor of the local controller may collect / receive feedback messages from the control devices including the results of the programming update. For example, the results may include measurements and / or confirmations from the load control devices that have performed the programming update. The measurements and / or confirmations may indicate the control level of the load control devices that performed control in response to the programming update. The results may include the time at which the programming update was completed at each of the load control devices. The results may include a pass / fail indication of the results of performing the programming update on one or more control devices. The results of the programming update may indicate whether the one or more control devices are operating normally based on the update.
[0106] The local maintenance supervisor on the local controller can transmit the results of the programming update at 518 to the cloud maintenance supervisor of the cloud server. The results can be transmitted after the programming update is completed (e.g., immediately after completion) and / or at a predefined time. In some examples, the local maintenance supervisor on the local controller can transmit the results of the programming update at a predefined time. For example, the local maintenance supervisor on the local controller can store the results of one or more programming updates until a request is received to report the results of the programming update to the cloud maintenance supervisor.
[0107] The cloud maintenance supervisor on the cloud server may receive one or more feedback messages including the results of the programming update at 520. Each local maintenance supervisor on each local controller may transmit one or more messages with the results of the programming update to the cloud maintenance supervisor. The results of the programming update may be stored in a memory at one or more cloud servers configured to provide cloud services via maintenance supervision software. The results of the programming update may be accessed by the cloud maintenance supervisor. At 522, the cloud maintenance supervisor on the cloud server may transmit one or more messages to the user device to notify the user of the results of the programming update. The update may be presented on a maintenance settings screen or other user interface provided by the control / configuration application. The update may include the results of the programming update. The message including the update may be sent to the user via email or another notification. The procedure 500 may end at 524.
[0108] Figure 6600 is a flowchart of an example procedure 600 that can be executed to schedule tests to verify system performance (e.g., tests to verify the operation of emergency lighting equipment) within a time window configured on one or more control devices in a load control system. The procedure 600 can be executed by maintenance supervision software, which can be executed by one or more control circuits on one or more devices. For example, the maintenance supervision software can be distributed on a cloud server operating a cloud service, one or more local controllers, and / or one or more control devices. The maintenance supervision software can be executed by a control / configuration application configured for configuration and / or control of system configuration data. As described herein, the maintenance supervision software can be executed by the control circuits of one or more computing devices to perform one or more parts of the procedure 600. For example, the maintenance supervision software can be configured to operate a cloud maintenance supervisor executed on a cloud server, a local maintenance supervisor executed on a local controller, and / or an application / firmware on one or more control devices. Although the procedure 600 shows an example maintenance task triggering criteria that satisfies a single rule, the procedure 600 can include additional criteria for completing one or more additional rules before performing the maintenance task. Furthermore, while routine 600 and other routines described herein may be executed by local controllers to perform the same maintenance task on one or more rooms of a building (e.g., corresponding rooms of a hotel), each local controller may execute at different times based on criteria defining rules for performing the maintenance task.
[0109] like Figure 6 As shown, the process 600 may start at 601. At 602, a cloud maintenance supervisor on a cloud server may receive an indication to perform a verification maintenance task and store it in a memory. An indication to provide a verification maintenance task may be received at the cloud server to verify system performance at one or more local controllers 162, which verify the responsiveness, functionality and / or status of one or more load control devices. An example of verifying system performance may be implemented to verify the performance of a lighting control device installed in an emergency lighting fixture. The verification procedure may be implemented in response to one or more triggering criteria defining the verification maintenance task and is configured to initiate the verification procedure at the emergency lighting fixture to verify the performance of the emergency lighting fixture.
[0110] A cloud maintenance supervisor on a cloud server can coordinate the verification procedures of local controllers. For example, a cloud maintenance supervisor on a cloud server can coordinate local controllers to perform verification procedures. The cloud maintenance supervisor on a cloud server can introduce priorities or time offsets to certain local controllers used to perform verification procedures. This can prevent each of the control devices in the load control system 100 from being inoperable at the same time. In another example, when a verification procedure may cause a control device and / or a local controller to perform communications via an RF message, a priority sorting or time offset for performing the verification procedure at different local controllers can prevent the control devices and / or local controllers from all transmitting RF messages at the same time to increase the chances of successful communication (e.g., preventing message conflicts) when communicating on the same RF communication protocol and / or channel. Although a description is provided herein for coordinating maintenance tasks for local controllers having different priorities and / or time offsets, each of the local controllers can perform maintenance tasks at the same time or within the same time frame.
[0111] At 604, a cloud maintenance supervisor on the cloud server may transmit an indication of a verification maintenance task for performing system verification to one or more local controllers via a verification program. The cloud maintenance supervisor on the cloud server may determine triggering criteria for the verification maintenance task and send the triggering condition along with the indication of the verification maintenance task. In another example, triggering criteria for the verification maintenance task may be predefined at each of the local controllers. In the example provided in program 600, the triggering criteria may include the following rules: a room or other defined space is vacant, a room has been signed out, and / or a condition to perform a verification procedure is met within a predefined time period. However, other triggering criteria may be included in the rules.
[0112] At 606, a local maintenance supervisor on a local controller may receive an indication of a verification maintenance task and / or corresponding trigger criteria from a cloud maintenance supervisor of a cloud server. For example, each local controller may operate a local maintenance supervisor to supervise the performance of a verification maintenance task by one or more load control devices in a load control system. The indication received at 606 may include an identifier of a verification procedure to be executed when different types of verification procedures are supported. For example, the indication may be for a verification procedure for verifying the performance of a lighting control device installed in an emergency lighting fixture. The indication may be for a verification procedure for verifying correct control after a programming update. At 608, the local maintenance supervisor on the local controller may store the indication of the verification procedure in a memory.
[0113] The local maintenance supervisor of the local controller can coordinate the execution of the verification program to complete the verification maintenance task after identifying the corresponding triggering criteria. For example, the local maintenance supervisor of the local controller can monitor the triggering criteria of the verification maintenance task to determine the execution of the verification program at one or more load control devices. The local maintenance supervisor on the local controller can identify the triggering criteria for the verification maintenance task. The local maintenance supervisor on the local controller can determine that the triggering criteria include the following rules: the room or other defined space is vacant, the room or other defined space has been signed out, and / or the conditions for executing the verification program are met within a predefined time period. For example, at 610, the local maintenance supervisor of the local controller can determine whether the room is vacant. At 612, the local maintenance supervisor of the local controller can determine whether the room is in a signed-in state. At 614, the local maintenance supervisor of the local controller can determine whether the conditions of the predefined time period are met. For example, the local maintenance supervisor can identify whether a period of time has passed since the last verification procedure and / or whether the current time is within a predefined time period of a day, a week, a month, a quarter, or a year. If the room is not vacant, in a checked-in state, and / or does not meet the conditions for the predefined time period, the local maintenance supervisor of the local controller may continue to monitor the trigger criteria. When the room is determined to be vacant at 610 and the room is determined to be in a checked-out state at 612 and the conditions for the predefined time period are met at 614, the local controller may determine that a verification procedure should be performed. The control device may perform the verification procedure based on a priority level that indicates the priority of the control device or device type to be updated before other control devices or device types. The verification procedure (e.g., verifying the operation of an emergency device that relies on battery power) may be performed by sending a message to the control device including an identifier of the verification procedure to be performed.
[0114] At 616, a local maintenance supervisor of the local controller may initiate a verification procedure at one or more load control devices. For example, the local maintenance supervisor of the local controller may transmit a message at 618 that causes a control circuit of a load control device to execute a verification procedure appropriate for the control device. In one example, a verification procedure may be executed so that a lighting control device in an emergency lighting fixture turns on to a predefined intensity level and / or color and operates for at least a predefined period of time or until the battery is discharged (e.g., fully discharged or discharged to a predefined level). The verification procedure may be executed to test whether each lighting control device in the emergency lighting fixture can operate on battery power for at least a predefined period of time. However, other verification procedures may also be executed, such as verification procedures for verifying firmware updates, programming updates, or verifying other information or control settings on a control device.
[0115] After the control circuit of the load control device performs the verification procedure at 618, the control circuit can store the results of the verification procedure. The results may include a measurement and / or confirmation of the execution of the verification procedure. In one example, at the end of the verification procedure at each emergency lighting fixture, the control circuit of the lighting control device can each send the results of the verification procedure in a feedback message to the corresponding local controller at 620. The results may include an indication of whether the lighting control device is able to operate for a predefined time period and / or whether the battery is discharged (e.g., fully discharged or discharged to a predefined level) before the expiration of the predefined time period. The results may include an indication of whether the lighting control device is still able to operate on battery power after the predefined time period and / or an indication of the amount of time for further operation based on the battery power estimate. The results may include an indication of the remaining battery power after the verification procedure. The results may include the time to perform the verification procedure. The results may include a pass / fail indication of the results of the verification procedure performed on the load control device. The results may include an indication of the success or failure of the verification procedure based on one or more results described herein. The lighting control device may cause the battery to be recharged after the verification procedure.
[0116] The local maintenance supervisor on the local controller may collect feedback messages including the results of the verification procedure from the control device. For example, the results of the verification procedure may be received from each of the load control devices at 622. The local maintenance supervisor on the local controller may transmit the results of the verification procedure to the cloud maintenance supervisor of the cloud server at 624. The results may be transmitted after the verification procedure is completed (e.g., immediately after completion) and / or at a predefined time. In some examples, the local maintenance supervisor on the local controller may transmit the results of the verification procedure at a predefined time. For example, the local maintenance supervisor on the local controller may store the results of one or more verification procedures until a request is received to report the results of the verification procedure to the cloud maintenance supervisor.
[0117] The cloud maintenance supervisor on the cloud server may receive one or more feedback messages including the results of the verification procedure at 626. Each local maintenance supervisor may transmit one or more messages with the results of the verification procedure to the cloud maintenance supervisor. The results of the verification procedure may be stored in a memory at one or more cloud servers configured to provide cloud services via maintenance supervision software. The results of the verification procedure may be accessed by the cloud maintenance supervisor. At 628, the cloud maintenance supervisor on the cloud server may transmit a message to notify the user of the results of the verification procedure. The update may be presented on a maintenance settings screen or other user interface provided by the control / configuration application. The update may include the results of the verification procedure. The message including the update may be sent to the user via email or another notification. The process 600 may end at 630.
[0118] Figure 7 is a block diagram illustrating an example computing device 700. For example, computing device 700 may be a user device (such as user device 128 described herein), a local controller (such as local controller 162 described herein), a cloud server device (such as cloud server device 165 operating cloud service 164 described herein), an input device (such as control device 116, sensor devices 112, 150, or access point 136), and / or another computing device described herein.
[0119] The computing device 700 may include control circuitry 702 for controlling functionality of the computing device 700. The control circuitry 702 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. The control circuitry 702 may perform signal encoding, data processing, image processing, power control, input / output processing, or any other functionality that enables the computing device 700 to perform as one of the computing devices of a load control system (e.g., load control system 100) as described herein.
[0120] The control circuit 702 may be communicatively coupled to the memory 704 to store information in the memory 704 and / or retrieve information from the memory. The memory 704 may include non-removable memory and / or removable memory. The non-removable memory may include a random access memory (RAM), a read-only memory (ROM), a hard disk, or any other type of non-removable memory storage. The removable memory may include a subscriber identity module (SIM) card, a memory stick, a memory card, or any other type of removable memory. The memory 704 may be implemented as an external integrated circuit (IC) or an internal circuit of the control circuit 702. The memory 704 may include computer-readable or machine-readable instructions that are configured to be executed by the control circuit 702 to perform as described herein.
[0121] The device 700 may include one or more communication circuits 708 that communicate with the control circuit 702 for sending and / or receiving information as described herein. The communication circuit 708 may perform wireless and / or wired communication. The communication circuit 708 may be a wired communication circuit configured to communicate on a wired communication link. The wired communication link may include an Ethernet communication link, an RS-485 serial communication link, a 0 to 10 volt analog link, a digital addressable lighting interface (DALI) digital communication link, and / or another wired communication link. The communication circuit 708 may be configured to communicate via a wire (e.g., a wire from which the computing device 700 receives power) using a power line carrier (PLC) communication technology. The communication circuit 708 may be a wireless communication circuit that includes one or more RF transmitters, receivers, transceivers, or other communication circuits configured to perform wireless communication.
[0122] Although a single communication circuit 708 may be shown, multiple communication circuits may be implemented in the computing device 700. The computing device 700 may include a communication circuit configured to communicate via one or more wired and / or wireless communication protocols, and at least one other communication circuit configured to communicate via one or more other wired and / or wireless communication 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 configured to communicate over another wired or wireless communication link. The first communication circuit may be configured to communicate via a first wireless communication protocol over a network communication link, while the second communication circuit may be configured to communicate via a second wireless communication protocol over a short-range communication link or a direct communication link.
[0123] The control circuit 702 may communicate with one or more input circuits 714 and may receive input from the one or more input circuits. The input circuit 714 may be included in a user interface for receiving input from a user. For example, the input circuit 714 may include an actuator (e.g., one or more physical buttons) that may be actuated by a user to transmit user input or selection to the control circuit 702. The actuator may be actuated to place the control circuit 702 in an association mode and / or transmit an association message from the computing device 700 or signal other information to the control circuit 702. The actuator may be actuated to perform control by transmitting a control instruction indicating actuation on the user interface and / or a control instruction generated in response to the 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 702 of the computing device 700 may enter an association mode, transmit an association message, transmit a control instruction, or perform other functionality in response to actuation or input from a user on the touch-sensitive surface.
[0124] Input circuitry 714 may include sensor circuitry (e.g., sensors). The sensor circuitry may be occupant sensing circuitry, light sensing circuitry (e.g., ambient light sensing circuitry, daylight sensing circuitry, and / or photoelectric sensing circuitry), temperature sensor circuitry, color temperature sensing circuitry, visible light sensing circuitry (e.g., image recording circuitry, such as a camera), and / or another sensing circuitry for receiving input (e.g., sensing environmental characteristics in the environment of computing device 700). Control circuitry 702 may receive information from one or more input circuitry 714 and process the information for performing functions as described herein.
[0125] The control circuit 702 may communicate with one or more output sources 712. The output sources 712 may include one or more indicators (e.g., visible indicators such as LEDs) for providing indications (e.g., feedback) to a user. The output sources 712 may include a display (e.g., a visible display) for providing information (e.g., feedback) to a user. The control circuit 702 and / or the display may generate a graphical user interface (GUI) generated via software for display on the computing device 700 (e.g., displayed on a display of the computing device 700).
[0126] Each hardware component within the computing device 700 may be powered by a power supply 710. The power supply 710 may include, for example, an AC power supply or a DC power supply. The power supply 710 may generate a supply voltage V CC To provide power to hardware components within the computing device 700 .
[0127] Figure 8 800 is a block diagram illustrating an example load control device (e.g., load control device 800) as described herein. Load control device 800 may be a lighting control device such as a dimmer switch, an electronic switch, an electronic ballast for a lamp, an LED driver for an LED light source, or another lighting control device. Load control device 800 may be an AC plug-in load control device for controlling a plug-in electrical load, a controllable electrical outlet, a temperature control device (e.g., a thermostat), a motor drive unit for a motorized window shade, a motor drive unit for a fan (e.g., a ceiling fan), an audio device (e.g., a controllable speaker or playback device), an appliance, a security camera device, and / or other load control devices.
[0128] The load control device 800 may include a communication circuit 802. The communication circuit 802 may include a receiver, an RF transceiver, and / or other communication circuits configured to perform wired and / or wireless communications via a communication link. The wired communication link may include an Ethernet communication link, an RS-485 serial communication link, a 0 to 10 volt analog link, a digital addressable lighting interface (DALI) digital communication link, and / or another wired communication link. Although a single communication circuit 802 may be shown, multiple communication circuits may be implemented in the load control device 800. The load control device 800 may include a communication circuit configured to communicate via one or more wired and / or wireless communication protocols, and at least one other communication circuit configured to communicate via one or more other wired and / or wireless communication protocols. For example, a first communication circuit may be configured to communicate via a wired or wireless communication link, and another communication circuit may be configured to communicate on another wired or wireless communication link. The first communication circuit may be configured to communicate via a first wireless communication protocol on a network communication link, and the second communication circuit may be configured to communicate via a second wireless communication protocol on a short-range communication link or a direct communication link.
[0129] The communication circuit 802 may communicate with the control circuit 804. The control circuit 804 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. The control circuit 804 may perform signal encoding, data processing, power control, input / output processing, or any other functionality that enables the load control device 800 to perform as described herein.
[0130] The control circuit 804 may store information in and / or retrieve information from the memory 806. For example, the memory 806 may maintain a registry of associated control devices and / or control settings / configuration instructions or other control instructions for responding to a triggering event. The memory 806 may include a non-removable memory and / or a removable memory. The memory 806 may include computer-readable or machine-readable instructions that are configured to be executed by the control circuit 804 to perform as described herein. The load control circuit 808 may receive instructions from the control circuit 804 and may control the electrical load 816 based on the received instructions. The load control circuit 808 may send state feedback about the state of the electrical load 816 to the control circuit 804. The load control circuit 808 may receive power via the hot connection 812 and the neutral connection 814 and may provide a certain amount of power to the electrical load 816. The electrical load 816 may include any type of electrical load.
[0131] The control circuit 804 can communicate with an actuator 818 (e.g., one or more buttons), which can be actuated by the user to communicate the user selection to the control circuit 804. For example, the actuator 818 can be actuated to place the control circuit 804 in an association mode and / or to transmit an association message from the load control device 800.
[0132] Although features and elements are described herein in a specific combination, each feature or element may be used alone or in any combination with other features and elements. The methods described herein may be implemented in a computer program, software, instruction, or firmware stored on one or more non-transitory computer-readable media or other machine-readable media to be executed by a computer or machine or part thereof. For example, a computer-readable or machine-readable medium may be executed by a control circuit 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). The control circuit may access a computer program, software, instruction, or firmware stored on a computer-readable or machine-readable medium to execute them to cause the control circuit to operate as described herein or to operate one or more devices as described herein.
Claims
1. A method for performing a maintenance task on a plurality of load control devices in a load control system, the method comprising: receiving, at a local controller of a plurality of local controllers configured to control the plurality of load control devices, an indication of the maintenance task to be performed on the plurality of load control devices, wherein: The local controller is configured to control a first one or more load control devices of the plurality of load control devices, the first one or more load control devices being located in a first area of a building, Other local controllers of the plurality of local controllers are configured to control the remaining plurality of load control devices, The remaining plurality of load control devices are located in one or more other areas of the building, The indication of the maintenance task is received from a cloud maintenance supervisor operating at a cloud server and is configured to be received by each of the plurality of local controllers to perform the maintenance task on the plurality of load control devices, and the indication of the maintenance task comprising one or more triggering criteria for performing the maintenance task at each of the plurality of local controllers; identifying, at a local maintenance supervisor operating at the local controller, the one or more triggering criteria for triggering performance of the maintenance task on the one or more load control devices of the plurality of load control devices configured to be controlled by the local controller; determining, at the local maintenance supervisor operating at the local controller, that the one or more triggering criteria of the at least one rule are satisfied; performing the maintenance task on the first one or more load control devices configured to be controlled by the local controller; determining a result of the maintenance task performed on the first one or more load control devices controlled by the local controller; and The results of the maintenance task are sent to the cloud maintenance supervisor operating at the cloud server. 2 . The method of claim 1 , wherein the first area and the one or more other areas of the building comprise different rooms of the building.
3. The method of claim 1, wherein the local controller is a first local controller, wherein the local maintenance supervisor is a first local maintenance supervisor, the method further comprising: receiving a maintenance task at a second local controller of the plurality of local controllers, the second local controller configured to control a second one or more of the plurality of load control devices in a second area of the building; identifying, at a second local maintenance supervisor of the second local controller, the one or more triggering criteria for triggering the at least one rule to perform the maintenance task on the second one or more load control devices configured to be controlled by the second local controller; determining, at the second local maintenance supervisor of the second local controller, that the one or more triggering criteria of the at least one rule are satisfied; performing the maintenance task on the second one or more load control devices configured to be controlled by the second local controller; determining a result of said maintenance task performed on said second one or more load control devices; as well as The results of the maintenance task performed on the second one or more load control devices configured to be controlled by the second local controller are sent to the cloud maintenance supervisor.
4. The method of claim 1, further comprising: at the cloud maintenance supervisor, determining that a maintenance event has been scheduled in response to input from a user device, wherein the maintenance event includes the maintenance task and the one or more triggering criteria; and The maintenance task and the one or more triggering criteria are transmitted from the cloud maintenance supervisor to the local maintenance supervisor on the local controller.
5. The method of claim 1, wherein the maintenance task comprises at least one of a programming update, a firmware update, a test to verify system performance, or a recalibration procedure.
6. The method of claim 5, wherein the one or more trigger criteria include one or more of a check-in status, an occupancy status, a time of day, a time period since last occupancy, a time period since a change in check-in status, a time period since the last maintenance task was performed, a coverage indication, a daylight intensity value, a room temperature, a temperature outside a room / building, a lighting intensity value, a state of a load control device, a state of an electrical load, or a state of an occupant.
7. A method as claimed in claim 1, wherein the one or more trigger criteria include an occupancy status of the first area of the building, and wherein the one or more trigger criteria are determined to be met when it is determined that the first area of the building is not occupied in response to data received from an occupancy sensor.
8. The method of claim 1, wherein the one or more triggering criteria include a check-in status of the area of the building, and wherein the triggering criteria are determined to be met when the check-in status of the area of the building indicates that the area is checked out.
9. The method of claim 1, wherein the maintenance task comprises testing to verify system performance, and wherein each of the plurality of load control devices comprises a lighting device installed in an emergency lighting fixture.
10. The method of claim 9, wherein the one or more triggering criteria include at least one of a check-in status, an occupancy status, or a time period since the maintenance task was last performed.
11. The method of claim 1, wherein the maintenance task comprises a programming update or a firmware update, and wherein the one or more triggering criteria comprise at least one of a checked-in status or an occupied status.
12. The method of claim 1, wherein the one or more triggering criteria include an occupancy state, the method further comprising: determining, at the local maintenance supervisor of the local controller, the occupancy status based on data from sensors located in the first area; wherein when the occupancy status indicates that the first area is unoccupied, performing the maintenance task on the first one or more load control devices configured to be controlled by the local controller; and Wherein when the occupancy status indicates that the first area is occupied, the maintenance task is performed on the first one or more load control devices configured to be controlled by the local controller at a later time when it is determined that the first area is not occupied.
13. The method of claim 12, wherein the one or more triggering criteria include a predefined time of day, the method further comprising: determining, at the local maintenance supervisor of the local controller, a current time of day; wherein when the current time of day is within the predefined time of day and the occupancy status indicates that the first area is unoccupied, performing the maintenance task on the first one or more load control devices configured to be controlled by the local controller; and Wherein, when the current time of day is outside the predefined time of day or the occupancy status indicates that the first area is occupied, the maintenance task is performed on the first one or more load control devices configured to be controlled by the local controller at a later time when the current time of day is within the predefined time of day and when it is determined that the first area is not occupied.
14. The method of claim 1, wherein the indication of the maintenance task is a first indication of a first maintenance task, wherein the one or more triggering criteria include one or more first triggering criteria, the method further comprising: receiving, at the local controller of the plurality of local controllers configured to control the plurality of load control devices, a second indication of a second maintenance task to be performed on the plurality of load control devices, and wherein the second indication of the second maintenance task includes one or more second triggering criteria for performing the second maintenance task at each of the plurality of local controllers; identifying, at the local maintenance supervisor operating at the local controller, the one or more second triggering criteria for triggering performance of the maintenance task on the one or more load control devices of the plurality of load control devices in the area of the building configured to be controlled by the local controller; determining, based on the one or more first triggering criteria and the one or more second triggering criteria, a conflict in performing the first maintenance task and the second maintenance task on the one or more load control devices of the plurality of load control devices configured to be controlled by the local controller; as well as Execution of the first maintenance task and the second maintenance task on the one or more load control devices of the plurality of load control devices configured to be controlled by the local controller is prioritized.
15. A local controller configured to control one or more load control devices in an area of a building in which a load control system is installed, the local controller comprising: Communication circuits; as well as at least one control circuit, the at least one control circuit being configured to: receiving, via the communication circuitry, from a cloud maintenance supervisor operating at a cloud server, an indication of a maintenance task to be performed on the one or more load control devices, and wherein the indication of the maintenance task includes one or more triggering criteria for performing the maintenance task; identifying the one or more triggering criteria for triggering performance of the maintenance task on the one or more load control devices configured to be controlled by the local controller; determining that the triggering criteria have been met; performing the maintenance task on the one or more load control devices configured to be controlled by the local controller; determining a result of the maintenance task performed on the one or more load control devices configured to be controlled by the local controller; as well as The results of the maintenance task are sent to the cloud maintenance supervisor operating at the cloud server.
16. A local controller as claimed in claim 15, wherein the area of the building includes a room of the building.
17. The local controller of claim 15, wherein the maintenance task comprises at least one of a programming update, a firmware update, a test to verify system performance, or a recalibration procedure.
18. A local controller as claimed in claim 17, wherein the trigger criteria include one or more of a check-in status, an occupancy status, a time of day, a time period since last occupancy, a time period since the check-in status changed, a time period since the maintenance task was last performed, a coverage indication, a daylight intensity value, a room temperature, a temperature outside the room / building, a lighting intensity value, a state of a load control device, a state of an electrical load, or a state of an occupant.
19. A local controller as claimed in claim 15, wherein the trigger criteria include an occupancy status of the area of the building, and wherein the one or more trigger criteria are determined to be met when it is determined that the area of the building is not occupied in response to data received from an occupancy sensor.
20. A local controller as described in claim 15, wherein the triggering criteria includes a check-in status of the area of the building, and wherein the at least one control circuit is configured to determine that the triggering criteria is met when the check-in status of the area of the building indicates that the area is checked out.
21. The local controller of claim 15, wherein the maintenance task comprises testing to verify system performance, and wherein each of the plurality of load control devices comprises a lighting device installed in an emergency lighting fixture.
22. The local controller of claim 21, wherein the trigger criteria comprises at least one of a check-in status, an occupancy status, or a time period since the maintenance task was last performed.
23. The local controller of claim 15, wherein the maintenance task comprises a programming update or a firmware update, and wherein the triggering criteria comprises at least one of a checked-in status or an occupied status.
24. The local controller of claim 15, wherein the indication of the maintenance task is a first indication of a first maintenance task, wherein the one or more triggering criteria include one or more first triggering criteria, and the at least one control circuit is further configured to: receiving, via the communication circuitry, from the cloud maintenance supervisor operating at the cloud server, a second indication of a second maintenance task to be performed on the plurality of load control devices, and wherein the second indication of the second maintenance task includes one or more second triggering criteria for performing the second maintenance task; identifying the one or more second triggering criteria for triggering performance of the second maintenance task on the one or more load control devices configured to be controlled by the local controller; determining a conflict between performing the first maintenance task and the second maintenance task on the one or more load control devices configured to be controlled by the local controller based on the one or more first triggering criteria and the one or more second triggering criteria; as well as Execution of the first maintenance task and the second maintenance task on the one or more load control devices configured to be controlled by the local controller is prioritized.
25. A local controller as described in claim 15, wherein the one or more load control devices are within a plurality of load control devices configured to be controlled by a plurality of different local controllers in the load control system, and wherein the indication of the maintenance task is configured to be received by each of the plurality of different local controllers.
26. At least one computer-readable storage medium having stored thereon computer-executable instructions that, when executed by at least one control circuit, cause the at least one control circuit to: Receiving, at a local controller of a plurality of local controllers configured to control a plurality of load control devices, an indication of a maintenance task to be performed on the plurality of load control devices, wherein: The local controller is configured to control a first one or more load control devices of the plurality of load control devices, the first one or more load control devices being located in a first area of a building, Other local controllers among the plurality of local controllers are configured to control the remaining plurality of load control devices, The remaining plurality of load control devices are located in one or more other areas of the building, The indication of the maintenance task is received from a cloud maintenance supervisor operating at a cloud server and is configured to be received by each of the plurality of local controllers to perform the maintenance task on the plurality of load control devices, and the indication of the maintenance task comprising one or more triggering criteria for performing the maintenance task at each of the plurality of local controllers; identifying, at a local maintenance supervisor operating at the local controller, the one or more triggering criteria for triggering performance of the maintenance task on the one or more load control devices of the plurality of load control devices configured to be controlled by the local controller; determining, at the local maintenance supervisor operating at the local controller, that the one or more triggering criteria are satisfied; performing the maintenance task on the first one or more load control devices configured to be controlled by the local controller; determining an outcome of the maintenance task performed on the first one or more load control devices configured to be controlled by the local controller; as well as The results of the maintenance task are sent to the cloud maintenance supervisor operating at the cloud server.
27. The at least one computer-readable storage medium of claim 26, wherein the first area and the one or more other areas of the building comprise different rooms of the building.
28. The at least one computer-readable storage medium of claim 26, wherein the local controller is a first local controller, wherein the local maintenance supervisor is a first local maintenance supervisor, and wherein the computer-executable instructions are further configured to cause at least one control circuit to: receiving a maintenance task at a second local controller of the plurality of local controllers, the second local controller configured to control a second one or more of the plurality of load control devices in a second area of the building; identifying, at a second local maintenance supervisor of the second local controller, the one or more triggering criteria for triggering performance of the maintenance task on the second one or more load control devices configured to be controlled by the second local controller; determining, at the second local maintenance supervisor of the second local controller, that the triggering criteria of the at least one rule has been satisfied; performing the maintenance task on the second one or more load control devices configured to be controlled by the second local controller; determining a result of said maintenance task performed on said second one or more load control devices; as well as The results of the maintenance task performed on the second one or more load control devices configured to be controlled by the second local controller are sent to the cloud maintenance supervisor.
29. The at least one computer-readable storage medium of claim 26, wherein the computer-executable instructions are further configured to cause the at least one control circuit to: at the cloud maintenance supervisor, determining that a maintenance event has been scheduled in response to input from a user device, wherein the maintenance event includes the maintenance task and the one or more triggering criteria; and The maintenance task and the one or more triggering criteria are transmitted from the cloud maintenance supervisor to the local maintenance supervisor on the local controller.
30. The at least one computer-readable storage medium of claim 26, wherein the maintenance task comprises at least one of a programming update, a firmware update, a test to verify system performance, or a recalibration procedure.
31. At least one computer-readable storage medium as described in claim 30, wherein the one or more trigger criteria include one or more of a check-in status, an occupancy status, a time of day, a time period since last occupancy, a time period since the check-in status changed, a time period since the maintenance task was last performed, a coverage indication, a daylight intensity value, a room temperature, a temperature outside the room / building, a lighting intensity value, a state of a load control device, a state of an electrical load, or a state of an occupant.
32. At least one computer-readable storage medium as described in claim 26, wherein the one or more trigger criteria include an occupancy status of the first area of the building, and wherein the computer-executable instructions are also configured to cause the at least one control circuit to determine, in response to data received from an occupancy sensor, that the one or more trigger criteria are met when the first area of the building is not occupied.
33. At least one computer-readable storage medium as described in claim 26, wherein the one or more trigger criteria include a check-in status of the first area of the building, and wherein the computer-executable instructions are further configured to cause the at least one control circuit to determine that the one or more trigger criteria are met when the check-in status of the first area of the building indicates that the first area is checked out.
34. The at least one computer-readable storage medium of claim 26, wherein the maintenance task comprises testing to verify system performance, and wherein each of the plurality of load control devices comprises a lighting device configured to control an emergency lighting fixture.
35. The at least one computer-readable storage medium of claim 34, wherein the one or more triggering criteria include at least one of a check-in status, an occupancy status, or a time period since the maintenance task was last performed.
36. The at least one computer-readable storage medium of claim 26, wherein the maintenance task comprises a programming update or a firmware update, and wherein the one or more triggering criteria comprises at least one of a checked-in status or an occupied status.
37. The at least one computer-readable storage medium of claim 26, wherein the indication of the maintenance task is a first indication of a first maintenance task, wherein the at least one rule comprises at least one first rule, and wherein the computer-executable instructions are further configured to cause the at least one control circuit to: receiving, at the local controller of the plurality of local controllers configured to control the plurality of load control devices, a second indication of a second maintenance task to be performed on the plurality of load control devices, and wherein the second indication of the second maintenance task includes one or more second triggering criteria for performing the second maintenance task at each of the plurality of local controllers; identifying, at the local maintenance supervisor operating at the local controller, the one or more second triggering criteria for triggering performance of the second maintenance task on the one or more load control devices configured to be controlled by the local controller; determining a conflict between performing the first maintenance task and the second maintenance task on the one or more load control devices configured to be controlled by the local controller based on the one or more first triggering criteria and the one or more second triggering criteria; as well as Execution of the first maintenance task and the second maintenance task on the one or more load control devices configured to be controlled by the local controller is prioritized.
38. The at least one computer-readable storage medium of claim 26, wherein the one or more triggering criteria include an occupancy state, and the computer-executable instructions are further configured to cause the at least one control circuit to: determining, at the local maintenance supervisor of the local controller, the occupancy status based on data from sensors located in the first area; wherein when the occupancy status indicates that the first area is unoccupied, the instructions are configured to cause the control circuit to perform the maintenance task on the first one or more load control devices configured to be controlled by the local controller; and Wherein when the occupancy status indicates that the first area is occupied, the instructions are configured to cause the control circuit to perform the maintenance task on the first one or more load control devices configured to be controlled by the local controller at a later time when it is determined that the first area is not occupied.
39. The at least one computer-readable storage medium of claim 26, wherein the one or more triggering criteria include a predefined time of day, and the computer-executable instructions are further configured to cause the at least one control circuit to: determining, at the local maintenance supervisor of the local controller, a current time of day; wherein when the current time of day is within the predefined time of day and the occupancy status indicates that the first area is unoccupied, the instructions are configured to cause the control circuit to perform the maintenance task on the first one or more load control devices configured to be controlled by the local controller; and Wherein, when the current time of day is outside the predefined time of day or the occupancy status indicates that the first area is occupied, the instructions are configured to cause the control circuit to perform the maintenance task on the first one or more load control devices configured to be controlled by the local controller at a later time when the current time of day is within the predefined time of day and when it is determined that the first area is not occupied.
Citation Information
Patent Citations
Illumination device, system and method for manually adjusting automated periodic changes in emulation output
US10237945B2
Load control device having Internet connectivity
US10271407B2
Commissioning load control systems
US10666060B2
Control device having a night light
US20120286940A1
Handheld programmer for lighting control system
US7391297B2