Systems and methods are disclosed for communicating via a communications network with a load control system of a respective user environment, receiving information on the load control system via the communications network, displaying graphical user interfaces based on the received information, and controlling and configuring the load control system via graphical user interfaces by communicating via the communications network messages the load control system.
Legal claims defining the scope of protection, as filed with the USPTO.
a display screen; a communications circuit; at least one processor; and at least one memory device communicatively coupled to the at least one processor and having software instructions stored thereon that when executed by the at least one processor, direct the at least one processor to: receive via the communications circuit from a communications network information communicated by a controller, wherein the controller is configured to communicate with a lighting control device, wherein the lighting control device is configured to control a lighting load, wherein the lighting load is configured to produce light of any of a plurality of different colors, and wherein the information comprises an indication of a color the lighting load is configured to produce; display on the display screen a graphical user interface that comprises an on-off actuator to turn the lighting load on and off; and displaytogether with the on-off actuator in theon the display screen agraphical user interfacethat comprises a first color control interface configured to enable control of light produced by a lighting load within a first plurality of colors, an actuator configured to cause the graphical user interface to display a second color control interface configured to enable control of the light produced by the lighting load within a second plurality of colors, anda color indicator that indicates the color the lighting load iscurrentlyconfigured to produce, wherein the color indicator is displayed as having a first size in the graphical user interface; detect, on the first color control interface, a selection of a color from within the first plurality of colors; display the selected color from within the first plurality of colors on the color indicator at an increased second size responsive to the selection of the color on the first color control interface; subsequent to the increase of the color indicator to the second size, decrease within the graphical user interface the color indicator from the second size to the first size; communicate a message via the communications circuit to control the lighting load to the selected color from within the first plurality of colors responsive to the selection of the color on the first color control interface; detect a selection of the actuator configured to cause the graphical user interface to display the second color control interface; and remove the first color control interface from the graphical user interface and display the second color control interface along with the color indicator responsive to the selection of the actuator at the first size, wherein the at least one processor is further configured to: continue to display the selected color from within the first plurality of colors on the color indicator at the first size while the second color control interface is displayed and until selection of a color on the second color control interface is detected. . An apparatus comprising:
claim 1 detect an actuation oftheanon-off actuator to turn the lighting load off; and responsive to detecting the actuation of the on-off actuator to turn the lighting load off, remove from the graphical user interface the color indicator. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 1 display within the graphical user interface a dimming actuator to change an intensity level of the lighting load; detect an actuation of the dimming actuator to change the lighting load to a new intensity level; and responsive to detecting the actuation of the dimming actuator to change the lighting load to the new intensity level, communicate a messageto the controllervia the communications circuitto control the lighting load to the new intensity level. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 3 . The apparatus of, whereinthe at least one processor being directedto display within the graphical user interface the dimming actuator comprisesthe at least one processor being further directedto display the dimming actuator on a control line such that a position of the dimming actuator on the control line shows an intensity level of the lighting load.
claim 3 display,within the graphical user interface, the second color control interfacea pallet together with the dimming actuator, wherein the pallet enable selection of a color; detect a selected color on the pallet; and responsive to detecting the selected color on the pallet, communicate a message to the controller to control the lighting load to the selected color. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 5 display within the graphical user interface the color indicator together with the dimming actuator and the pallet; and responsive to detecting the selected color on the pallet, change the color indicator to indicate the selected color. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 6 prior to detecting the selected color on the pallet, display the color indicator as having a first size in the graphical user interface; and responsive to detecting the selected color on the pallet, increase within the graphical user interface a size of the color indicator to a second size that is greater than the first size. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 7 subsequent to increasing the size of the indicator to the second size, decrease within the graphical user interface the size of the color indicator from the second size to the first size. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 5 wherein the lighting load comprises a plurality of light emitting diodes (LEDs) including a white or a substantially white LED; and wherein the instructions, when executed by the at least one processor, further direct the at least one processor to: display a vibrancy actuator; detect an actuation of the vibrancy actuator; and responsive to detecting the actuation of the vibrancy actuator, communicate a messageto the controllervia the communications circuitto control the lighting load to reduce an intensity of the white or the substantially white LED while continuing to produce the color the lighting load is configured to produce. . The apparatus of,
claim 9 subsequent to detecting the actuation of the vibrancy actuator, detect a further actuation of the vibrancy actuator; and responsive to detecting the further actuation of the vibrancy actuator, communicate a messageto the controllervia the communications circuitto control the lighting load to increase the intensity of the white or the substantially white LED while continuing to produce the color the lighting load is configured to produce. . The apparatus of,
claim 5 . The apparatus of, wherein thepalletfirst color control interfaceenables selection of a color only along a black body curve.
5 11 wherein the lighting load comprises a plurality of light emitting diodes (LEDs) of a plurality of different colors; and wherein thepalletsecond color control interfaceenables selection of a color withinacolor gamut formed by the plurality of different colored LEDs. . The apparatus of claim,
1 12 display within the graphical user interfacea dimming actuator to change an intensity of the lighting load,a warm-cool actuator to configure the lighting load to produce a color on a black body curve, andwherein the actuator comprisesa full-color actuator to configure the lighting load to produce a color withinathecolor gamut comprising additional colors not found on the black body curve. . The apparatus of claim, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 13 detect an actuation of the dimming actuator to change the lighting load to a new intensity level; and responsive to detecting the actuation of the dimming actuator by the user to change the lighting load to the new intensity level, communicate a message to the controller to control the lighting load to the new intensity level. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 13 detect an actuation of the warm-cool actuator; responsive to detecting the actuation of the warm-cool actuator, display on the display screena palletthe first color control interfacetogether with the dimming actuator, wherein thepalletfirst color control interfaceenables selection of a color on the black body curve; detect a selected color on thepalletfirst color control interface; and responsive to detecting the selected color on thepalletfirst color control interface, communicatevia the communications circuita messageto the controllerto control the lighting load to the selected color. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
15 1 prior to detecting the selected color on the pallet,display in the graphical user interface thesecondcolorcontrol interface along with the color indicator comprises the at least one processor being further configured to display the colorindicator as indicating a first color and havingathefirst size; and wherein the instructions, when executed by the at least one processor, further direct the at least one processor to: detect on the second color control interface a selection of a color from within the second plurality of colors; and responsive to detecting the selected coloron the pallet, change within the graphical user interface the color indicator from indicating the first color to indicatefrom within the second plurality of colors on the second color control interface, display within the graphical user interfacethe selected colorfrom within the second plurality of colors, and increase within the graphical user interfacea size ofthe color indicator toathesecond size that is greater than the first size. . The apparatus of claim, wherein the instructions, when executed by the at least one processor, further directdirectingthe at least one processor to:
13 1 detect an actuation of the full-color actuator; responsive to detecting the actuation of the full-color actuator, display on the display screen a pallet together with the dimming actuator, wherein the pallet enables selection of a color on the color gamut; detecta selected coloron thepalletsecond color control interface a selection of a color from within the second plurality of colors; and responsive to detecting the selected colorfrom within the second plurality of colorson thepalletsecond color control interface, communicate a messageto the controllervia the communications circuitto control the lighting load to the selected colorfrom within the second plurality of colors. . The apparatus of claim, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 17 prior to detecting the selected colorfrom within the second plurality of colorson thepalletsecond color control interface, display in the graphical user interface the color indicator as indicating a first color and havingathefirst size; and responsive to detecting the selected colorfrom within the second plurality of colorson thepalletsecond color control interface,changedisplaywithin the graphical user interfacethe color indicator from indicating first color to indicatethe selected colorfrom within the second plurality of colors, and increase within the graphical user interfacea size ofthe color indicator toathesecond sizethat is greater than the first size. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 13 wherein the lighting load comprises a plurality of light emitting diodes (LEDs); and wherein the instructions, when executed by the at least one processor, further direct the at least one processor to: display a vibrancy actuator together with the dimming actuator, the warm-cool actuator, and the full-color actuator; detect an actuation of the vibrancy actuator; and responsive to detecting the actuation of the vibrancy actuator, communicate a messageto the controllervia the communications circuitto control the lighting load to reduce an intensity of at least one of the plurality of LEDs while continuing to produce the color the lighting load is configured to produce. . The apparatus of,
claim 19 subsequent to detecting the actuation of the vibrancy actuator, detect a further actuation of the vibrancy actuator; and responsive to detecting the further actuation of the vibrancy actuator, communicate a messageto the controllervia the communications circuitto control the lighting load to increase an intensity of at least one of the plurality of LEDs while continuing to produce the color the lighting load is configured to produce. . The apparatus of,
claim 1 display within the graphical user interface apalletthird color control interfacetogether with the color indicator, wherein thepalletthird color control interfaceenables selection of a color; detect, on the third control interface,aselectedselection of a thirdcoloron the pallet; and responsive to detecting, on the third color control interface,theselectedselection of the thirdcoloron the pallet, communicate a messageto the controllervia the communications circuitto control the lighting load to theselectedthirdcolor. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 21 responsive to detecting, on the third color control interface,theselectedselection of the thirdcoloron the pallet,changedisplaywithin the graphical user interface thecolor indicator to indicatethe selected color. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
21 1 display within the graphical user interface an auto actuator that, when enabled, causes the lighting load to produce light at a color rendering index (CRI) value that is greater than or equal to a CRI value threshold; and determine that the auto actuator is enabled; and wherein to communicate the messageto the controllervia the communications circuitto control the lighting load to the selected color comprises to communicate the messageto the controllervia the communications circuitto control the lighting load to the selected color and to further control the lighting load, based on the auto actuator being enabled, to a color rendering index(CRI)value that is greater than or equal to the CRI value threshold. . The apparatus of claim, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 23 determine that the auto actuator is disabled; responsive to determining that the auto actuator is disabled, display within the graphical user interface a vibrancy actuator to change a vibrancy level of the lighting load; detect an actuation of the vibrancy actuator to change the lighting load to a new vibrancy level; and responsive to detecting the actuation of the vibrancy actuator to change the lighting load to the new vibrancy level, communicate a messageto the controllervia the communications circuitto control the lighting load to the new vibrancy level. . The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
receive via a communications circuit from a communications network information communicated by a controller, wherein the controller is configured to communicate with a lighting control device, wherein the lighting control device is configured to control a lighting load, wherein the lighting load is configured to produce light of any of a plurality of different colors, and wherein the information comprises an indication of a color the lighting load is configured to produce; display on a display screen a graphical user interface that comprises an on-off actuator to turn the lighting load on and off; and displaytogether with the on-off actuator in theon a display screen agraphical user interfacethat comprises a first color control interface configured to enable control of light produced by a lighting load within a first plurality of colors, an actuator configured to cause the graphical user interface to display a second color control interface configured to enable control of the light produced by the lighting load within a second plurality of colors, anda color indicator that indicates the color the lighting load iscurrentlyconfigured to produce, wherein the color indicator is displayed as having a first size in the graphical user interface; detect, on the first color control interface, a selection of a color from within the first plurality of colors; display the selected color from within the first plurality of colors on the color indicator at an increased second size responsive to the selection of the color on the first color control interface; subsequent to the increase of the color indicator to the second size, decrease within the graphical user interface the color indicator from the second size to the first size; communicate a message via the communications circuit to control the lighting load to the selected color from within the first plurality of colors responsive to the selection of the color on the first color control interface; detect a selection of the actuator configured to cause the graphical user interface to display the second color control interface; and remove the first color control interface from the graphical user interface and display the second color control interface along with the color indicator responsive to the selection of the actuator at the first size, wherein the instructions stored thereon, when executed, further direct the at least one processor to: continue to display the selected color from within the first plurality of colors on the color indicator at the first size while the second color control interface is displayed and until selection of a color on the second color control interface is detected. . A non-transitory tangible computer readable medium having instructions stored thereon that when executed by at least one processor direct the at least one processor to:
receiving by at least one processor via a communications circuit from a communications network information communicated by a controller, wherein the controller is configured to communicate with a lighting control device, wherein the lighting control device is configured to control a lighting load, wherein the lighting load is configured to produce light of any of a plurality of different colors, and wherein the information comprises an indication of a color the lighting load is configured to produce; displaying by the at least one processor on a display screen a graphical user interface that comprises an on-off actuator to turn the lighting load on and off; and displayingby the at least one processor together with the on-off actuator in theagraphical user interfacethat comprises a first color control interface configured to enable control of light produced by a lighting load within a first plurality of colors, an actuator configured to cause the graphical user interface to display a second color control interface configured to enable control of the light produced by the lighting load within a second plurality of colors, anda color indicator that indicates the color the lighting load iscurrentlyconfigured to produce, wherein the color indicator is displayed as having a first size in the graphical user interface; detecting, on the first color control interface, a selection of a color from within the first plurality of colors; displaying the selected color from within the first plurality of colors on the color indicator at an increased second size responsive to the selection of the color on the first color control interface; subsequent to the increase of the color indicator to the second size, decreasing within the graphical user interface the color indicator from the second size to the first size; communicating a message via the communications circuit to control the lighting load to the selected color from within the first plurality of colors responsive to the selection of the color on the first color control interface; detecting a selection of the actuator configured to cause the graphical user interface to display the second color control interface; and removing the first color control interface from the graphical user interface and displaying the second color control interface along with the color indicator responsive to the selection of the actuator at the first size, wherein the method further comprises: continuing to display the selected color from within the first plurality of colors on the color indicator at the first size while the second color control interface is displayed and until selection of a color on the second color control interface is detected. . A method comprising:
claim 25 detect an actuation oftheanon-off actuator to turn the lighting load off; and responsive to detecting the actuation of the on-off actuator to turn the lighting load off, remove from the graphical user interface the color indicator. . The non-transitory tangible computer readable medium of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 25 display within the graphical user interface a dimming actuator to change an intensity level of the lighting load; detect an actuation of the dimming actuator to change the lighting load to a new intensity level; and responsive to detecting the actuation of the dimming actuator to change the lighting load to the new intensity level, communicate a messageto the controllervia the communications circuitto control the lighting load to the new intensity level. . The non-transitory tangible computer readable medium of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 28 display,within the graphical user interfacea pallet, the second color control interfacetogether with the dimming actuator, wherein the pallet enable selection of a color; detect a selected color on thepalletsecond color control interface; and responsive to detecting the selected color on thepalletsecond color control interface, communicate a messageto the controllervia the communications circuitto control the lighting load to the selected color. . The non-transitory tangible computer readable medium of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 29 display within the graphical user interface the color indicator together with the dimming actuator and the pallet; and responsive to detecting the selected color on the pallet, change the color indicator to indicate the selected color. . The non-transitory tangible computer readable medium of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 30 prior to detecting the selected color on the pallet, display the color indicator as having a first size in the graphical user interface; responsive to detecting the selected color on the pallet, increase within the graphical user interface a size of the color indicator to a second size that is greater than the first size; and subsequent to increasing the size of the indicator to the second size, decrease within the graphical user interface the size of the color indicator from the second size to the first size. . The non-transitory tangible computer readable medium of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 29 wherein the lighting load comprises a plurality of light emitting diodes (LEDs) including a white or a substantially white LED; and wherein the instructions, when executed by the at least one processor, further direct the at least one processor to: display a vibrancy actuator; detect an actuation of the vibrancy actuator; and responsive to detecting the actuation of the vibrancy actuator, communicate a messageto the controllervia the communications circuitto control the lighting load to reduce an intensity of the white or the substantially white LED while continuing to produce the color the lighting load is configured to produce. . The non-transitory tangible computer readable medium of,
claim 29 wherein the lighting load comprises a plurality of light emitting diodes (LEDs) of a plurality of different colors; and wherein thepalletfirst color control interfaceenables selection of a color only along a black body curveor, and wherein the second color control interfaceenables selection of a color withinacolor gamut formed by the plurality of different colored LEDs. . The non-transitory tangible computer readable medium of,
claim 25 display within the graphical user interface a dimming actuator to change an intensity of the lighting load, a warm-cool actuator to configure the lighting load to produce a color on a black body curve, andwherein the actuator comprisesa full-color actuator to configure the lighting load to produce a color within a color gamut comprising additional colors not found on the black body curve. . The non-transitory tangible computer readable medium of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 34 detect an actuation of the warm-cool actuator; responsive to detecting the actuation of the warm-cool actuator, display on the display screena palletthe first color control interfacetogether with the dimming actuator, wherein thepalletfirst color control interfaceenables selection of a color on the black body curve; detect a selected color on thepalletfirst color control interface; and responsive to detecting the selected color on thepalletfirst color control interface, communicatevia the communications circuita messageto the controllerto control the lighting load to the selected color. . The non-transitory tangible computer readable medium of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 35 prior to detecting the selected color on the pallet,display in the graphical user interface the color indicator as indicating a first color and havingathefirst size; detect on the second color control interface a selection of a color from within the second plurality of colors;and responsive to detecting the selected colorfrom within the second plurality of colorson thepalletsecond color control interface,changedisplaywithin the graphical user interfacethe color indicator from indicating the first color to indicatethe selected colorfrom within the second plurality of colors, and increase within the graphical user interfacea size ofthe color indicator toathesecond sizethat is greater than the first size. . The non-transitory tangible computer readable medium of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
34 25 detect an actuation of the full-color actuator; responsive to detecting the actuation of the full-color actuator, display on the display screen a pallet together with the dimming actuator, wherein the pallet enables selection of a color on the color gamut; detecta selected colorthe selection of the color from within the second plurality of colorson thepalletsecond color control interface; and responsive to detecting the selected coloron the palletfrom within the second plurality of colors, communicate a messageto the controllervia the communications circuitto control the lighting load to the selected colorfrom within the second plurality of colors. . The non-transitory tangible computer readable medium of claim, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
37 25 prior to detecting the selected colorfrom within the second plurality of colorson thepalletsecond color control interface, display in the graphical user interface the color indicator as indicating a first color and havingathefirst size; and responsive to detecting the selected colorfrom within the second plurality of colorson thepalletsecond color control interface,changedisplaywithin the graphical user interfacethe color indicator from indicating first color to indicatethe selected colorfrom within the second plurality of colors, and increase within the graphical user interfacea size ofthe color indicator toathesecond sizethat is greater than the first size. . The non-transitory tangible computer readable medium of claim, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 34 wherein the lighting load comprises a plurality of light emitting diodes (LEDs); and wherein the instructions, when executed by the at least one processor, further direct the at least one processor to: display a vibrancy actuator together with the dimming actuator, the warm-cool actuator, and the full-color actuator; detect an actuation of the vibrancy actuator; and responsive to detecting the actuation of the vibrancy actuator, communicate a messageto the controllervia the communications circuitto control the lighting load to reduce an intensity of at least one of the plurality of LEDs while continuing to produce the color the lighting load is configured to produce. . The non-transitory tangible computer readable medium of,
claim 25 display within the graphical user interface a pallet together with the color indicator, wherein the pallet enables selection of a color; detect a selected colorfrom within the second plurality of colorson thepalletsecond color control interface; and communicate a messageto the controllervia the communications circuitto control the lighting load to the selected color; and changedisplaywithin the graphical user interfacethe color indicator to indicatethe selected colorfrom within the second plurality of colors. responsive to detecting the selected colorfrom within the second plurality of colorson thepalletsecond color control interface: . The non-transitory tangible computer readable medium of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
40 25 display within the graphical user interface an auto actuator that, when enabled, causes the lighting load to produce light at a color rendering index (CRI) value that is greater than or equal to a CRI value threshold; and determine that the auto actuator is enabled; and wherein to communicate the messageto the controllervia the communications circuitto control the lighting load to the selected color comprises to communicate the messageto the controllervia the communications circuitto control the lighting load to the selected color and to further control the lighting load, based on the auto actuator being enabled, to a color rendering index(CRI)value that is greater than or equal to the CRI value threshold. . The non-transitory tangible computer readable medium of claim, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 41 determine that the auto actuator is disabled; responsive to determining that the auto actuator is disabled, display within the graphical user interface a vibrancy actuator to change a vibrancy level of the lighting load; detect an actuation of the vibrancy actuator to change the lighting load to a new vibrancy level; and responsive to detecting the actuation of the vibrancy actuator to change the lighting load to the new vibrancy level, communicate a messageto the controllervia the communications circuitto control the lighting load to the new vibrancy level. . The non-transitory tangible computer readable medium of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 26 detectingby the at least one processoran actuation oftheanon-off actuator to turn the lighting load off; and responsive to detecting the actuation of the on-off actuator to turn the lighting load off, removingby the at least one processorfrom the graphical user interface the color indicator. . The method of, further comprising:
claim 26 displayingby the at least one processorwithin the graphical user interface a dimming actuator to change an intensity level of the lighting load; detectingby the at least one processoran actuation of the dimming actuator to change the lighting load to a new intensity level; and responsive to detecting the actuation of the dimming actuator to change the lighting load to the new intensity level, communicatingby the at least one processora messageto the controllerto control the lighting load to the new intensity level. . The method of, further comprising:
claim 44 displayingby the at least one processorwithin the graphical user interfacea palletthe second color control interfacetogether with the dimming actuator, wherein the pallet enable selection of a color; detecting by the at least one processor a selected color on the pallet; and responsive to detecting the selected color on the pallet, communicating by the at least one processor a message to the controller to control the lighting load to the selected color. . The method of, further comprising:
claim 45 displaying by the at least one processor within the graphical user interface the color indicator together with the dimming actuator and the pallet; and responsive to detecting the selected color on the pallet, changing by the at least one processor the color indicator to indicate the selected color. . The method of, further comprising:
claim 45 wherein the lighting load comprises a plurality of light emitting diodes (LEDs) including a white or a substantially white LED; and displayingby the at least one processora vibrancy actuator; detectingby the at least one processoran actuation of the vibrancy actuator; and responsive to detecting the actuation of the vibrancy actuator, communicatingby the at least one processora messageto the controllerto control the lighting load to reduce an intensity of the white or the substantially white LED while continuing to produce the color the lighting load is configured to produce. wherein the method further comprises: . The method of,
claim 45 wherein the lighting load comprises a plurality of light emitting diodes (LEDs) of a plurality of different colors; and wherein thepalletfirst color control interfaceenables selection of a color only along a black body curveor, and wherein the second color control interfaceenables selection of a color withinacolor gamut formed by the plurality of different colored LEDs. . The method of,
claim 26 displayingby the at least one processorwithin the graphical user interface a dimming actuator to change an intensity of the lighting load, a warm-cool actuator to configure the lighting load to produce a color on a black body curve, andwherein the actuator comprisesa full-color actuator to configure the lighting load to produce a color within a color gamut comprising additional colors not found on the black body curve. . The method of, further comprising:
49 26 detectingby the at least one processoran actuation of the warm-cool actuator; responsive to detecting the actuation of the warm-cool actuator, displayingby the at least one processoron the display screena palletthe first color control interfacetogether with the dimming actuator, wherein thepalletfirst color control interfaceenables selection of a color on the black body curve; detectingby the at least one processora selected color on thepalletfirst color control interface; and responsive to detecting the selected color on thepalletfirst color control interface, communicatingby the at least one processora messageto the controllerto control the lighting load to the selected color. . The method of claim, further comprising:
49 26 detectingby the at least one processoran actuation of the full-color actuator; responsive to detecting the actuation of the full-color actuator, displayingby the at least one processoron the display screena palletthe second color control interface together with the dimming actuator, wherein thepalletsecond color control interfaceenables selection of a color on the color gamut; detectingby the at least one processora selected color on thepalletsecond color control interface; and responsive to detecting the selected color on thepalletsecond color control interface, communicatingby the at least one processora messageto the controllerto control the lighting load to the selected color. . The method of claim, further comprising:
claim 49 wherein the lighting load comprises a plurality of light emitting diodes (LEDs); and displayingby the at least one processora vibrancy actuator together with the dimming actuator, the warm-cool actuator, and the full-color actuator; detectingby the at least one processoran actuation of the vibrancy actuator; and responsive to detecting the actuation of the vibrancy actuator, communicatingby the at least one processora messageto the controllerto control the lighting load to reduce an intensity of at least one of the plurality of LEDs while continuing to produce the color the lighting load is configured to produce. wherein the method further comprises: . The method of,
claim 26 displaying by the at least one processor within the graphical user interface a pallet together with the color indicator, wherein the pallet enables selection of a color; detectingby the at least one processora selected color on thepalletsecond color control interface; and communicatingby the at least one processora messageto the controllerto control the lighting load to the selected color; and changingby the at least one processorwithin the graphical user interface the color indicator to indicate the selected color. responsive to detecting the selected color on thepalletsecond color control interface: . The method of, further comprising:
claim 53 displayingby the at least one processorwithin the graphical user interface an auto actuator that, when enabled, causes the lighting load to produce light at a color rendering index (CRI) value that is greater than or equal to a CRI value threshold; and determiningby the at least one processorthat the auto actuator is enabled; and wherein communicating the messageto the controllerto control the lighting load to the selected color comprises communicating the messageto the controllerto control the lighting load to the selected color and to further control the lighting load, based on the auto actuator being enabled, to a color rendering index(CRI)value that is greater than or equal to the CRI value threshold. . The method of, further comprising:
claim 54 determiningby the at least one processorthat the auto actuator is disabled; responsive to determining that the auto actuator is disabled, displayingby the at least one processorwithin the graphical user interface a vibrancy actuator to change a vibrancy level of the lighting load; detectingby the at least one processoran actuation of the vibrancy actuator to change the lighting load to a new vibrancy level; and responsive to detecting the actuation of the vibrancy actuator to change the lighting load to the new vibrancy level, communicatingby the at least one processora messageto the controllerto control the lighting load to the new vibrancy level. . The method of, further comprising:
claim 1 display on the display screen a graphical user interface that comprises an on-off actuator to turn the lighting load on and off; detect an actuation of an on-off actuator to turn the lighting load off; and responsive to detecting the actuation of the on-off actuator to turn the lighting load off, remove from the graphical user interface the color indicator. 56. The apparatus of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to:
claim 25 display a graphical user interface that comprises an on-off actuator to turn the lighting load on and off detect an actuation of an on-off actuator to turn the lighting load off; and responsive to detecting the actuation of the on-off actuator to turn the lighting load off, remove from the graphical user interface the color indicator. 57. The non-transitory tangible computer readable medium of, wherein the instructions, when executed by at least one processor, further direct the at least one processor to:
claim 26 displaying a graphical user interface that comprises an on-off actuator to turn the lighting load on and off detecting an actuation of an on-off actuator to turn the lighting load off; and responsive to detecting the actuation of the on-off actuator to turn the lighting load off, removing from the graphical user interface the color indicator. 58. The method of, further comprising:
a lighting control device, wherein the lighting control device is configured to control a lighting load, and wherein the lighting load is configured to produce light of any of a plurality of different colors; and a display screen; a communications circuit at least one processor; and at least one memory device communicatively coupled to the at least one processor and having software instructions stored thereon that when executed by the at least one processor, direct the at least one processor to: display on the display screen a graphical user interface that comprises a first color control interface configured to enable control of light produced by the lighting load within a first plurality of colors, an actuator configured to cause the graphical user interface to display a second color control interface configured to enable control of the light produced by the lighting load within a second plurality of colors, and a color indicator that indicates the color the lighting load is currently configured to produce, wherein the color indicator is displayed as having a first size in the graphical user interface; receive on the first color control interface a selection of a color from within the first plurality of colors; display the selected color from within the first plurality of colors on the color indicator at an increased second size responsive to the selection on the first color control interface; subsequent to the increase of the color indicator to the second size, decrease within the graphical user interface the color indicator from the second size to the first size; communicate a message via the communications circuit to control the lighting load to the selected color from within the first plurality of colors responsive to the selection of the color on the first color control interface; receive a selection of the actuator configured to cause the graphical user interface to display the second color control interface; and display the second color control interface along with the color indicator responsive to the selection of the actuator at the first size, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to: cause the color indicator to continue to display, at the first size, the color from within the first plurality of colors being produced by the lighting load in response to the selection on the first color control interface while the second color control interface is being displayed for allowing for selection of a color within the second plurality of colors. an apparatus comprising: 59. A load control system comprising:
claim 59 detect an actuation of an on-off actuator to turn the lighting load off; and responsive to detecting the actuation of the on-off actuator to turn the lighting load off, remove from the graphical user interface the color indicator. 60. The load control system of, wherein the instructions, when executed by the at least one processor of the apparatus, further direct the at least one processor to:
claim 59 61. The load control system of, further comprising a controller, wherein the controller is configured to communicate with the lighting control device to enable control of the lighting load.
claim 60 62. The load control system of, wherein the instructions, when executed by the at least one processor, further direct the at least one processor to display within the graphical user interface the second control interface together with the dimming actuator.
Complete technical specification and implementation details from the patent document.
This applicationis a broadening reissue of U.S. Pat. No. 10,874,005, issued Dec. 22, 2020, which corresponded to U.S. patent application Ser. No. 16/560,931, filed Sep. 4, 2019, and whichclaims the benefit of U.S. Provisional Patent Application No. 62/726,755, filed Sep. 4, 2018, and the benefit of U.S. Provisional Patent Application No. 62/789,412, filed Jan. 7, 2019, each of which is hereby incorporated by reference herein in its entirety.
A user environment, such as a residence, an office building, or a hotel for example, may be configured to include various types of load control systems. For example, a lighting control system may be used to control the lighting loads in the user environment. A motorized window treatment control system may be used to control the natural light provided to the user environment. A heating, ventilating, and air conditioning (HVAC) system may be used to control the temperature in the user environment.
It may be desirable to communicate with and control load control systems from a network device.
As on example, an apparatus may include a display screen, a communications circuit, and at least one processor, and may further include at least one tangible memory device communicatively coupled to the at least one processor. The at least one tangible memory device may have software instructions stored thereon that when executed by the at least one processor may direct the at least one processor to receive via the communications circuit from a communications network information communicated by a controller. The controller may be configured to communicate with a lighting control device. The lighting control device may be configured to control a lighting load. The lighting load may include a plurality of light emitting diodes (LEDs) including a red diode, a green diode, and a blue diode and may be configured to produce any of a plurality of different colors through the plurality of LEDs. The information may include an indication of a color the lighting load is configured to presently produce. The software instructions, when executed by the at least one processor, may further direct the at least one processor to display on the display screen a graphical user interface that includes an on-off actuator to turn the lighting load on and off, a dimming actuator to change an intensity of the lighting load, a warm-cool actuator to configure the lighting load to produce a color on a black body curve, and a full-color actuator to configure the lighting load to produce a color within a color gamut formed by the plurality LEDs that make up the lighting load. The software instructions, when executed by the at least one processor, may further direct the at least one processor to display with the on-off actuator in the graphical user interface an indicator that indicates the color the lighting load is configured to presently produce.
The above advantages and features are of representative embodiments only. They are not to be considered limitations. Additional features and advantages of embodiments will become apparent in the following description, from the drawings, and from the claims.
1 FIG. 100 100 150 102 102 100 shows a high-level diagram of an example load control system. Load control systemmay include a system controllerand load control devices for controlling (e.g., directly and/or indirectly) one or more electrical loads in a user environment(also referred to herein as a load control environment). Example user environments/load control environmentsmay include one or more rooms of a home, one or more floors of a building, one or rooms of a hotel, etc. As one example, load control systemmay enable the automated control of lighting systems, shades, and heating, ventilating, and air conditioning (HVAC) systems in the user environment, among other electrical loads.
100 150 108 110 120 122 112 113 116 124 126 150 154 The load control devices of load control systemmay include a system controller, control-source devices (e.g., elements,,, anddiscussed below), and control-target devices (e.g., elements,,,, anddiscussed below) (control-source devices and control-target devices may be individually and/or collectively referred to herein as load control devices and/or control devices). The system controller, the control-source devices, and the control-target devices may be configured to communicate (transmit and/or receive) messages, such as digital messages (although other types of messages may be communicated), between one another using wireless signals(e.g., radio-frequency (RF) signals), although wired communications may also be used. “Digital” messages will be used herein for discussion purposes only.
102 150 100 The control-source devices may include, for example, input devices that are configured to detect conditions within the user environment(e.g., user inputs via switches, occupancy/vacancy conditions, changes in measured light intensities, and/or other input information) and in response to the detected conditions, transmit digital messages to control-target devices that are configured to control electrical loads in response to instructions or commands received in the digital messages. The control-target devices may include, for example, load control devices that are configured to receive digital messages from the control-source devices and/or the system controllerand to control respective electrical loads in response to the received digital messages. A single control device of the load control systemmay operate as both a control-source device and a control-target device.
150 150 150 150 150 150 150 According to one example, the system controllermay be configured to receive the digital messages transmitted by the control-source devices, to interpret these messages based on a configuration of the load control system, and to then transmit digital messages to the control-target devices for the control-target devices to then control respective electrical loads. In other words, the control-source devices and the control-target device may communicate via the system controller. According to another and/or additional example, the control-source devices may directly communicate with the control-target devices without the assistance of the system controller. The system controller may still monitor such communications. According to a further and/or additional example, the system controllermay originate and then communicate digital messages with control-source devices and/or control-target devices. Such communications by the system controllermay include programming/configuration data (e.g., settings) for the control devices, such as configuring scene buttons on light switches. Communications from the system controllermay also include, for example, messages directed to control-target devices and that contain instructions or commands for the control-target devices to control respective electrical loads in response to the received messages. For example, the system controllermay communicate messages to change light levels, to change shade levels, to change HVAC settings, etc. These are examples and other examples are possible.
150 102 Communications between the system controller, the control-source devices, and the control-target devices may be via a wired and/or wireless communications network as indicated above. One example of a wireless communications network may be a wireless LAN where the system controller, control-source devices, and the control-target devices may communicate via a router, for example, that is local to the user environment. For example, such a network may be a standard Wi-Fi network. Another example of a wireless communications network may be a point-to-point communications network where the system controller, control-source devices, and the control-target devices communicate directly with one another using, for example, Bluetooth, Wi-Fi Direct, a proprietary communication channel, such as CLEAR CONNECT™, etc. to directly communicate. Other network configurations may be used such as the system controller acting as an access point and providing one or more wireless/wired based networks through which the system controller, the control-source devices, and the control-target devices may communicate.
142 150 For a control-target device to be responsive to messages from a control-source device, the control-source device may first need to be associated with the control-target device. As one example of an association procedure, a control-source device may be associated with a control-target device by a useractuating a button on the control-source device and/or the control-target device. The actuation of the button on the control-source device and/or the control-target device may place the control-source device and/or the control-target device in an association mode for being associated with one another. In the association mode, the control-source device may transmit an association message(s) to the control-target device (directly or through the system controller). The association message from the control-source device may include a unique identifier of the control-source device. The control-target device may locally store the unique identifier of the control-source, such that the control-target device may be capable of recognizing digital messages (e.g., subsequent digital messages) from the control-source device that may include load control instructions or commands. The control-target device may be configured to respond to the digital messages from the associated control-source device by controlling a corresponding electrical load according to the load control instructions received in the digital messages. This is merely one example of how control devices may communicate and be associated with one another and other examples are possible. According to another example, the system controllermay receive configuration instructions from a user that specify which control-source devices should control which control-target devices. Thereafter, the system controller may communicate this configuration information to the control-source devices and/or control-target devices.
100 112 113 112 112 114 112 154 150 114 112 114 As one example of a control-target device, load control systemmay include one or more lighting control devices, such as the lighting control devicesand. The lighting control devicemay be a dimmer, an electronic switch, a ballast, a light emitting diode (LED) driver, and/or the like. The lighting control devicemay be configured to directly control an amount of power provided to a lighting load(s), such as lighting load. The lighting control devicemay be configured to wirelessly receive digital messages via signals(e.g., messages originating from a control-source device and/or the system controller), and to control the lighting loadin response to the received digital messages. One will recognize that lighting control deviceand lighting loadmay be integral and thus part of the same fixture or may be separate.
113 115 113 113 115 113 115 113 115 113 115 The lighting control devicemay be a wall-mounted dimmer, a wall-mounted switch, or other keypad device for controlling a lighting load(s), such as lighting load. The lighting control devicemay be adapted to be mounted in a standard electrical wall box. The lighting control devicemay include one or more buttons for controlling the lighting load. The lighting control devicemay include a toggle actuator. Actuations (e.g., successive actuations) of the toggle actuator may toggle (e.g., turn off and on) the lighting load. The lighting control devicemay include an intensity adjustment actuator (e.g., a rocker switch or intensity adjustment buttons). Actuations of an upper portion or a lower portion of the intensity adjustment actuator may respectively increase or decrease the amount of power delivered to the lighting loadand thus increase or decrease the intensity of the receptive lighting load from a minimum intensity (e.g., approximately 1%) to a maximum intensity (e.g., approximately 100%). The lighting control devicemay include a plurality (two or more) of visual indicators, e.g., light-emitting diodes (LEDs), which may be arranged in a linear array and that may illuminate to provide feedback of the intensity of the lighting load.
113 154 150 113 115 The lighting control devicemay be configured to wirelessly receive digital messages via wireless signals(e.g., messages originating from a control-source device and/or the system controller). The lighting control devicemay be configured to control the lighting loadin response to the received digital messages.
100 116 118 126 128 126 124 100 154 150 The load control systemmay include one or more other control-target devices, such as a motorized window treatmentfor directly controlling the covering material(e.g., via an electrical motor); ceiling fans; a table top or plug-in load control devicefor directly controlling a floor lamp, a desk lamp, and/or other electrical loads that may be plugged into the plug-in load control device; and/or a temperature control device(e.g., thermostat) for directly controlling an HVAC system (not shown). The load control systemmay also, or alternatively, include an audio control device (e.g., a speaker system) and/or a video control device (e.g., a device capable of streaming video content). Again, these devices may be configured to wirelessly receive digital messages via wireless signals(e.g., messages originating from a control-source device and/or the system controller). These devices may be configured to control respective electrical loads in response to the received digital messages.
150 Control-target devices, in addition to being configured to wirelessly receive digital messages via wireless signals and to control respective electrical loads in response to the received digital messages, may also be configured to wirelessly transmit digital messages via wireless signals (e.g., to the system controllerand/or an associated control device(s)). A control-target device may communicate such messages to confirm receipt of messages and actions taken, to report status (e.g., light levels), etc. Again, control-target devices may also or alternatively communicate via wired communications.
100 122 110 108 120 154 122 122 115 110 108 120 102 120 120 120 120 100 With respect to control-source devices, the load control systemmay include one or more remote-control devices, one or more occupancy sensors, one or more daylight sensors, and/or one or more window sensors. The control-source devices may wirelessly send or communicate digital messages via wireless signals, such as signals, to associated control-target devices for controlling an electrical load. The remote-control devicemay send digital messages for controlling one or more control-target devices after actuation of one or more buttons on the remote-control device. One or more buttons may correspond to a preset scene for controlling the lighting load, for example. The occupancy sensormay send digital messages to control-target devices in response to an occupancy and/or vacancy condition (e.g., movement or lack of movement) that is sensed within its observable area. The daylight sensormay send digital messages to control-target devices in response to the detection of an amount of light within its observable area. The window sensormay send digital messages to control-target devices in response to a measured level of light received from outside of the user environment. For example, the window sensormay detect when sunlight is directly shining into the window sensor, is reflected onto the window sensor, and/or is blocked by external means, such as clouds or a building. The window sensormay send digital messages indicating the measured light level. The load control systemmay include one or more other control-source devices. Again, one will recognize that control-source devices may also or alternatively communicate via wired communications.
150 113 115 116 118 Turning again to the system controller, it may facilitate the communication of messages from control-source devices to associated control-target devices and/or monitor such messages as indicated above, thereby knowing when a control-source device detects an event and when a control-target device is changing the status/state of an electrical load. It may communicate programming/configuration information to the control devices. It may also be the source of control messages to control-target devices, for example, instructing the devices to control corresponding electrical loads. As one example of the later, the system controller may run one or more time-clock operations that automatically communicates messages to control-target devices based on configured schedules (e.g., commands to lighting control deviceto adjust light, commands to motorized window treatmentfor directly controlling the covering material, etc.) For description purposes only, shades will be used herein to describe functions and features related to motorized window treatments. Nonetheless, one will recognize that features and functions described herein are applicable to other types of window coverings such as drapes, curtains, blinds, etc. Other examples are possible.
100 150 144 142 144 150 144 152 150 144 102 102 150 144 According to a further aspect of load control system, the system controllermay be configured to communicate with one or more network devicesin use by a user(s), for example. The network devicemay include a personal computer (PC), a laptop, a tablet, a smart phone, or equivalent device. The system controllerand the network devicemay communicate via a wired and/or wireless communications network. The communications network may be the same network used by the system controller and the control devices, or may be a different network (e.g., a wireless communications network using wireless signals). As one example, the system controllerand the network devicemay communicate over a wireless LAN (e.g., that is local to the user environment). For example, such a network may be a standard Wi-Fi network provided by a router local to the user environment. As another example, the system controllerand the network devicemay communicate directly with one-another using, for example, Bluetooth, Wi-Fi Direct, etc. Other examples are possible such as the system controller acting as an access point and providing one or more wireless/wired based networks through which the system controller and network device may communicate.
150 142 144 102 100 In general, the system controllermay be configured to allow a userof the network deviceto determine, for example, the configuration of the user environmentand load control system, such as rooms in the environment, which control devices are in which rooms (e.g., the location of the control devices within the user environment, such as which rooms), to determine the status and/or configuration of control devices (e.g., light levels, HVAC levels, shade levels), to configure the system controller (e.g., to change time clock schedules), to issue commands to the system controller in order to control and/or configure the control devices (e.g., change light levels, change HVAC levels, change shade levels, change presets, etc.), etc. Other examples are possible.
100 150 144 102 144 150 100 150 102 102 100 1 FIG. The load control systemofmay be configured such that the system controlleris only capable of communicating with a network devicewhen that device is local to the system controller, in other words, for the two to directly communicate in a point-to-point fashion or through a local network specific to the user environment(such as a network provided by a router that is local to the user environment). It may be advantageous to allow a user of network deviceto communicate with the system controllerand to control the load control systemfrom remote locations, such as via the Internet or other public or private network. Similarly, it may be advantageous to allow third-party integrators to communicate with the system controllerin order to provide enhanced services to users of user environment. For example, a third-party integrator may provide other systems within user environment. It may be beneficial to integrate such systems with load control system.
2 FIG. 1 FIG. 200 200 202 202 200 202 202 200 210 210 250 250 220 220 250 250 202 202 210 210 150 202 202 200 202 202 200 100 200 210 210 202 202 Referring now tothere is shown an example system. Systemmay include one or more user environments as represented by user environmentsa andb. More specifically, systemmay be configured to support numerous user environments, with only two user environmentsa andb shown to assist in describing system. Each user environment may be substantially the same, each including a respective load control systema andb that includes a respective system controllera andb and respective control devicesa andb (e.g., control-source devices and/or control-target devices). In general, the system controllera andb and control devicesa andb of load control systemsa andb may functionally operate similar to system controllerand the control devices as discussed with respect to. Each user environmenta andb of systemmay differ in that the user environments may be owned by different entities. For example, each user environment may be a residential home owned by respectively different users/homeowners, may be a business, etc. or come combination thereof. For description purposes only, user environmentsa andb may be referred to herein as residential homes that are owned/rented by home-owners. Hence, each user environment may include different control devices and different configurations of these control devices and system controllers. In this fashion, systemmay include numerous different homes, for example. As compared to load control system, systemmay include systems for a user and/or third party to interface with a load control systema/b from a location remote from the respective user environmentsa/b, such as over the Internet or other private or public network.
202 202 200 250 250 220 220 250 220 210 250 220 210 200 270 280 280 280 280 202 202 280 202 280 202 280 280 202 202 280 280 200 280 280 200 280 280 280 280 250 250 270 As indicated, each user environmenta andb of systemmay include a respective system controllera andb (although a user environment may include more than one system controller) and control devices, collectively represented as elementsa andb (again, system controllera and control devicesa may make up load control systema, and system controllerb and control devicesb may make up load control systemb). Systemmay also include one or more message brokersand one or more network devicesa andb. Network devicesa andb may represent computing devices in use by respective users of respective user environmentsa andb. For example, network devicea may be a device (e.g., a phone, PC, a laptop, a tablet, a smart phone, or equivalent device) in use by a home-owner of user environmenta, and network deviceb may be a device (e.g., a phone, etc.) in use by a home-owner of user environmentb. As another and/or additional example, network devicesa andb may be third-party integrators that provide services to respective users/home-owners of user environmentsa andb. Here, network devicesa andb may each be one or more computing servers for example. Again, systemmay include numerous network devicesa andb, with only two being shown for description purposes. According to system, network devicesa andb may be remote from the user environments (e.g., not located within the user environments). Nonetheless, network devicesa andb may also be local to the user environments (e.g., located within the user environments) and communicate with system controllersa and/orb using the message brokeras described below.
200 282 283 282 283 250 250 282 270 280 280 283 270 270 280 250 202 220 200 280 250 210 202 220 250 250 220 280 250 210 210 202 202 250 202 280 280 250 210 280 250 210 200 Systemmay also include networksand, which may include private and/or public networks, such as the Internet. Networksandmay at least in part be the same network. In general, system controllersa andb may be configured to communicate via networkwith message broker, and each network devicea andb may be configured to communicate via networkwith the message broker. Through the use of the message brokerand other mechanisms described herein, a network devicea, for example, may communicate with a system controllera of user environmenta, for example, and interact with the control devicesa of that environment. As one example of system, a user may use network devicea to communicate with system controllera and through these communications, may determine, for example, the configuration of the load control systema/user environmenta (e.g., such as rooms in the environment and the location of the control devices within the user environment, such as which rooms), to determine the status and/or configuration of control devicesa (e.g. light levels, HVAC levels, shade levels), to configure the system controllera (e.g., to change time clock schedules), to issue commands to the system controllera to control and/or configure the control devicesa (e.g., change light levels, change HVAC levels, change shade levels, change presets, etc.). These are merely examples. As another example, a network devicea that is operated by a third-party integrator may communicate with system controllera to determine the status of and to control the load control systema (as described herein), and to also use this functionality to integrate the features of load control systema with features of another system in the user environmenta that the third-party integrator may have control over. As one example, a third-party integrator may be a home security provider and in response to detecting an issue in the user environmenta through a system provided by the third-party integrator (e.g., an alarm system), instruct the system controllera to actuate lights in the user environment. Other examples are possible. For example, a third-party integrator may provide one or more voice/speaker-based devices that are located in the user environmenta. A user may audibly interface with such a device (e.g., through voice commands) which in turn may communicate with a network devicea (e.g., a computing server of the third-party integrator). Network devicea may in turn communicate with system controllera to control the load control systema based on how the user interfaced with the voice/speaker-based device. Alternatively, network devicea may communicate with system controllera to determine the status of the load control systema and in turn may communicate with the voice/speaker-based device to audibly report the status to the user. Again, this is one example. In similar fashions, users and third-party integrators may communicate with any user environment of system.
250 250 250 252 260 252 260 250 250 250 250 220 100 250 202 250 144 202 282 250 254 250 250 252 260 254 2 FIG. Referring more specifically now to system controllera (system controllerb may be similarly configured), it may include one or more general purpose processors, special purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, microcontrollers, integrated circuits, programmable logic devices (PLD), field programmable gate arrays (FPGA), application specific integrated circuits (ASICs), or any suitable controller or processing device or the like (not shown) (hereinafter collectively referred to as processor(s)), for example. The processor(s) of system controllera may be configured to execute one or more software-based applications and/or firmware based modules that include instructions that when executed by the processor(s), may configure the processor(s) to perform signal coding, data processing, input/output processing, or any other functions and/or features of the system controller as described herein. These features and functions are represented in part by modulesandin, which are further described below. Modulesandmay execute as one or more software-based processes, for example. One will also recognize that features, functions, and processes described herein may also and/or alternatively be provided by hardware in addition to and/or as an alternative to software-based instructions and processes. System controllera may also include one or more memory modules/devices (including volatile and non-volatile memory modules/devices) that may be communicatively coupled to the processor(s). The memory modules/devices may be implemented as one or more external integrated circuits (IC) and/or as one or more internal circuits of the processor(s). The one or more memory modules/devices may store the software-based applications and may also provide an execution space as the processors execute the applications. System controllera may also include one or more communication interfaces/transceivers/network interface devices (not shown) communicatively coupled to the processors and/or memory devices/modules. The communication interfaces may allow system controllera to communicate over one or more wired and/or wireless communication networks. As one example, the communication interfaces may allow system controllera to communicate wirelessly with control devicesa as similarly described for load control system. The communication interfaces may also allow the system controllera to communicate wirelessly and/or via a wired connection(s) with a router (not shown), for example, that is local to user environmenta and that provides the user environment with a local network. Through this local network, the system controllera may communicate with a network devicethat is local to the user environmenta, and may also communicate and with network(such as through an Internet service provider, not shown). System controllera may also include one or more databasesas further described herein. These databases may be flat databases, relational/SQL databases, NoSQL/non SQL databases, and/or a time series databases, etc., although any form of database(s) may be used. System controllera may also include one or more user interfaces such a display monitor, keyboard, mouse, speakers, audio receivers, etc. While system controllera is shown as having example modulesandand example database, the system controller may include fewer, other, and/or additional modules and databases.
252 260 254 254 250 220 202 220 Referring more specifically to modulesandand to database, databasemay maintain configuration information of the load control systema. This information may include, for example, the control devicesa of the load control system, the configuration of the user environmenta such as rooms in the environment, which control devicesa are in which rooms, communication addresses of the control devices needed to communicate with the devices, which control-source devices may be controlled by/associated with which control-target devices, configuration information of the control devices (e.g., button scene configurations, occupancy/vacancy sensor configurations, etc.), system configurations such as time clock schedules, etc. The database may also maintain status information of the control devices (e.g., error conditions, light levels, shade levels, HVAC levels, power consumption levels, etc.). The database may also maintain event-based information, as referred to below, which may include a record of events as they occur within the system. These are merely examples, and other and/or additional or less information may be possible.
252 252 252 220 254 110 108 120 113 113 252 254 252 252 254 252 260 260 252 260 252 260 252 260 254 252 Modulemay be referred to herein as the core module or corefor description purposes and may be configured to execute as one or more software based processes. Coremay be configured to act as a communications module between the control devicesa and the system controller, assisting in and/or monitoring communications between control-source devices and control-target devices and storing related information in database. This information may include, for example, changes to which control-source devices are associated with which control-target devices. The information may also include event-based information, such as (i) events detected by control-source devices (e.g., occupancy/vacancy as detected by sensor, light levels as detected by sensorsand, detection of buttons actuated on remote control devicesor wall panels/switches, etc.), (ii) commands communicated by control-source devices to control-target devices to alter settings based on detected events (e.g., changes to light levels, shade levels, HVAC levels, etc.), and (iii) commands from control-target devices indicting/confirming altered settings. Coremay receive status messages directly from control devices, such as error conditions, light levels, shade levels, HVAC levels, power consumption levels, occupancy/vacancy conditions, etc. and store such information in database. Coremay also run time clock schedules, and communicate messages to the control devices in accordance with those schedules. Again, coremay store such changes to the control devices and/or acknowledgements from the control devices in database. Coremay also communicate information/messages to module(which may be referred to as the gateway module or gatewayfor description purposes) as described below. Coremay receive messages from the gatewaythat may result in the core changing configuration parameters of the system controller (e.g., time clock settings), or communicating messages to the control devices (such as changes to light levels), or adjusting configuration/operating parameters of the control devices (e.g., change scene buttons on switch buttons, occupancy/vacancy sensor configurations), etc. Coremay respond back to the gatewayafter it performs such operations. Coremay also receive from the gatewayrequests for any of the information stored in the databaseas discussed above, and report that information back to the gateway. These are examples and coremay perform other and/or additional functions and operations.
260 250 144 202 280 280 260 144 280 280 250 252 260 252 144 280 280 260 252 144 280 280 260 264 262 266 264 262 266 250 Turning to gateway, it may be configured to act as an interface between the system controllera and external devices, such as local network devicesituated in the user environmenta and remote network devicesa andb. For example, gatewaymay receive messages from network deviceand/or network devicesa and/orb and route those messages within the system controllera, such as to corefor execution. Gatewaymay also receive responses to such messages, such as from core, and route them back to the network devices,a and/orb. Gatewaymay also receive, for example, status and event based information, such as from core, and route that information to network devices,a and/orb. These are examples and other examples are possible. To perform such functions and operations, gatewaymay include an API (application programming interface) server, a local shell client (also referred to herein as shell client), and an MQTT (message queue telemetry transport) client. Each of the API server, the local shell client, and the MQTT clientmay operate as one or more software based processes within the system controllera, although other configurations are possible. One will recognize that the names API server, local shell client, and MQTT client as used herein are for description purposes only.
262 144 250 202 262 234 144 262 144 262 144 250 202 262 Local shell clientmay be configured to function or operate as an interface point to network devicesthat are local to the system controllera (e.g., that are on the same local network as the system controller and/or are located in within user environmenta). Local shell clientmay be configured to support a communications connectionwith network device. This connection may be, for example, a TCP/IP (transmission control protocol/internet protocol) or UDP/IP (user datagram protocol) based connection, although other connections may be used. Local shell clientmay provide a shell type interface (e.g., a command-line type interface) to network deviceover the connection. The interface may be a secure shell interface (e.g., use the secure shell (SSH) protocol). One will recognize that while local shell clientis described herein as an interface point to network devicesthat are local to the system controllera, a network device that is on a different network as the system controller (i.e., not on the same local network as the system controller) and/or not located in within user environmenta may also use local shell clientto communicate with the system controller.
266 270 280 280 250 266 230 270 266 270 266 266 280 280 266 280 280 MQTT clientmay be configured to function or operate as an interface point to the message brokerand therefore as an interface point to network devicesa andb that are remote to the system controllera. MQTT clientmay support a communications connectiona with the message broker. This connection may be, for example, a TCP/IP based connection although other connections may be used. On top of this connection the MQTT clientmay support the MQTT publish-subscribe-based messaging protocol, for example, with the message broker, with the MQTT clientacting as a client to the broker. As further described below, MQTT clientmay send messages out of the system controller to the message broker and thus to network devicesa and/orb by publishing messages to one or more defined topics, as that term is used in messaging based protocols. Similarly, MQTT clientmay receive messages from the message broker that originate from network devicesa and/orb, for example, by subscribing to one or more defined topics.
250 144 280 280 144 280 280 264 250 144 280 280 250 144 202 280 280 The system controllera may support an application programming interface (API) that may include set of well-defined commands and responses (generically referred to herein as and API or as “API messages”) to interact with network devices,a and/orb. Service-based applications (e.g., software-based applications) provided by or that execute on the network devices,a, and/orb may use the API to interact with the system controller. API servermay operate as a point of origination and termination within the system controllera for these communications. For example, a network device,a, and/orb may execute one or more software-based applications that provide a defined set of services to a user. These services may be based at least in part on interactions with system controllera. For example, network devicemay provide a software-based application to a user that allows a user to control lights or shades within the user environmenta. Similarly, network devicea may provide a software-based application to a user that allows a user to control lights or shades from a location external to the user environment. As another example, network devicea may provide an alarm based service as described above.
250 250 144 262 264 280 270 266 264 264 252 254 To provide such services, the network devices may use the API of the system controllera to communicate API messages to the system controllera. For example, network devicemay communicate an API message to local shell client, which may then forward that message to the API serverwhich may then interpret and execute the message. Similarly, network devicea may communicate an API message through the message brokerto the MQTT client, which may then forward that message to the API serverwhich may then interpret and execute the message. To execute/interpret an API message, the API servermay communicate the message (or a translated form of the message) to coreto provide/execute the message, the API server may communicate with databaseto retrieve and/or store information, and/or the API server may handle the message itself. Other examples are possible.
250 144 280 280 252 264 252 220 252 254 264 254 264 252 254 262 144 266 270 280 280 Similarly, to provide such services, the system controllera may communicate API messages to the network devices,a, and/orb. For example, coremay communicate information that is intended for the network devices by sending that information to the API server. This information may include responses to or results from messages received from the network devices and executed by core(e.g., messages to control the control devicesa). This information may include information coreretrieves from databasein response to messages received from the network devices. Similarly, API servermay retrieve information directly from databasein response to messages received from the network devices. As API serverreceives information from coreand/or database, for example, it may format that information according to an appropriate API message(s) and then forward the messages to local shell clientfor forwarding to network device, and/or forward the messages to MQTT clientfor forwarding to the message brokerand to network devicesa and/orb. Other examples are possible.
250 144 280 280 264 262 266 262 266 262 266 With respect to information flowing out of the system controllera to the network devices,a, and/orb, in some instances, the information may be responsive to messages received from the network devices, as indicated above. In some cases, API servermay communicate such responsive messages to both local shell clientand MQTT client, regardless of where the original message originated (i.e., from a network device via local shell clientor a network device via MQTT client). In other cases, the API server may forward the response messages to only one or the other of the local shell clientand MQTT client, depending on which interface the original message originated.
250 252 264 210 252 264 202 110 108 120 113 113 264 264 252 264 264 252 264 262 266 144 270 280 280 210 According to a further aspect of system controllera, coremay constantly report to API serverstatus and/or event based information that originates from within the load control systema. For example, the core(i) may report to API serverevents detected by control-source devices from within the user environmenta (e.g., occupancy/vacancy as detected by sensor, light levels as detected by sensorsand, detection of buttons actuated on remote control devicesor wall panels/switches, etc.), (ii) may report to API serverchanges in the states of the electrical loads (e.g., changes to light levels, shade levels, HVAC/thermostat levels/readings, etc.) that may result from messages from control-source devices, and (iii) may report to API serverchanges in the states of the electrical loads due to time clock events, for example. The coremay also report to API serverchanges to the configuration of the load control system, such as the addition of new control devices, the changing of or creation of associations between control-source and control-target devices, etc. In general, any such information the API serverreceives from core, API servermay forward as an API message to local shell clientand/or MQTT clientfor forwarding to network deviceand the message brokerand thus network devicesa and/orb. In this fashion, network devices may be kept apprised of the state of the load control systema in a “real-time” fashion without having to query the load control system for its state.
266 270 270 200 280 280 280 280 232 232 270 270 270 270 270 270 270 270 270 282 283 2 FIG. Referring now more specifically to MQTT client, the message broker(note that one message brokeris shown in; nonetheless, one will recognize that systemmay include multiple message brokers), and the network devicesa andb, each network devicea andb may include a client process that supports a respective connectiona andb (e.g., a TCP/IP connection, although other connections may be used) with the message broker, and that may support over this connection the MQTT publish-subscribe-based messaging protocol with the message broker, for example. The message brokermay be one or more computing devices (e.g., one or more computing servers) that function as an MQTT message broker, supporting the MQTT publish-subscribe messaging protocol, for example. The computing devices of message brokermay include one or more general purpose processors, special purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, microcontrollers, integrated circuits, programmable logic devices (PLD), field programmable gate arrays (FPGA), application specific integrated circuits (ASICs), or any suitable controller or processing device or the like (hereinafter collectively referred to as processor(s)) (not shown), for example. The processor(s) of message brokermay be configured to execute one or more software-based applications and/or firmware based modules that include instructions that when executed by the processor(s) may configure the processor(s) to perform signal coding, data processing, input/output processing, or any other function or operation that configures the message brokerto provide MQTT message broker functionality and operations as described herein. One will also recognize that features, functions, and processes described herein of the message brokermay also and/or alternatively be provided by hardware in addition to and/or as an alternative to software-based instructions and processes. The message brokermay also include one or more memory modules/devices (including volatile and non-volatile memory modules/devices) that may be communicatively coupled to the processor(s). The memory modules/devices may be implemented as one or more external integrated circuits (IC) and/or as one or more internal circuits of the processor(s). The one or more memory modules/devices may store the software-based applications and may also provide an execution space as the processors execute applications. The message brokermay also include one or more communication interfaces/transceivers/network interface devices (not shown) communicatively coupled to the processors and/or memory devices/modules. The communication interfaces may allow the message brokerto communicate over one or more wired and/or wireless communication networks, such as networkand.
266 250 250 230 230 270 230 230 272 272 266 280 280 232 232 270 274 274 270 266 230 230 272 272 274 274 274 274 232 232 280 280 270 280 280 232 232 274 274 272 272 272 272 230 230 266 250 250 280 280 270 As the MQTT clientsof the respective system controllersa andb establish respective connectionsa andb with the message brokerand form respective MQTT connections over connectionsa andb with the message broker, for example, the message broker may start a respective process (such as a software-based process)a andb, for example, with each MQTT client. Similarly, as each network devicea andb establishes a respective connectiona andb with the message broker, for example, the message broker may start a respective process (such as a software-based process)a andb with each network device. In accordance with one example of the MQTT protocol, the message brokermay receive respective API messages from the MQTT clientsvia connectionsa andb at processesa andb respectively, and forward those messages to processesa and/orb. Processesa andb may subsequently forward the API messages over connectionsa andb respectively to network devicesa andb. Similarly, the message brokermay receive respective API messages from the network devicesa andb via connectionsa andb at processesa andb respectively, and forward those API messages to processesa and/orb. Processesa andb may subsequently forward the API messages over connectionsa andb to MQTT clientsrespectively of the system controllersa andb. In general, network devicesa andb may proceed through an authentication process with the message brokerbefore the message broker may forward messages between the network devices and system controllers.
266 250 264 230 270 280 250 270 270 250 232 272 280 274 280 250 232 274 270 280 266 250 270 280 274 266 250 230 272 In accordance with an example of the MQTT protocol, as the MQTT clientof system controllera, for example, receives API messages from the API server, it may communicate those messages over connectiona to the message brokerby publishing the API messages to a defined topic “A”. Assuming network devicea, for example, desires to receive information from the system controllera, it may subscribe with the message brokerto that same topic “A”. Having subscribed to topic “A”, message brokermay forward the API messages it receives from system controllera over connectiona at processa to network devicea via processa. Similarly, for network devicea to communicate an API message to the system controllera, it may communicate those messages over connectiona to processa at the message brokerby publishing the API messages to a defined topic “B” (one will recognize topics A and B may the same or different). To receive API messages from network devicea, MQTT clientof system controllera may subscribe with the message broker to topic “B”. Having subscribed to topic “B”, message brokermay forward the API messages it receives from network devicea at processa to the MQTT clientof system controllera over connectiona via processa. Other examples are possible.
250 250 200 250 250 230 230 250 250 200 250 250 222 222 200 250 250 250 250 222 222 200 250 250 200 250 250 222 222 250 250 280 280 200 250 250 200 250 250 280 280 200 250 250 200 With specific reference now to topics as described above, according to one example, each system controllera andb of systemmay have an assigned communications address, such as a MAC address (media access control address) (or possibly more than one address). This may be the address assigned to the communication interface or transceiver or network interface device of the system controllera andb that supports connectiona andb respectively with the message broker, for example (A MAC address will be used herein for description purposes. Nonetheless, a different address assigned to each system controller may alternatively be used in place of a MAC address as discussed herein (such as with topics)). The MAC address of each system controllera andb of systemmay be different/unique. In this example, system controllera may have the MAC address “A1:B1:C1:D1:E1:F1” and system controllerb may have the MAC address “A2:B2:C2:D2:E2:F2” (as shown by calloutsa andb). MAC addresses are further discussed below. According to a further aspect of system, each system controllera andb may be assigned a Unique Identifier (ID) Value (Unique ID Value), which may be a random value. In this example, system controllera may have the Unique ID Value of “ABC123” and system controllerb may have the Unique ID Value of “ABC789” (as shown by calloutsa andb). These are only examples. According to a still further aspect of system, all systems controllersa andb of systemmay be assigned a common universal identifier. In this example, each system controllera andb has the common universal identifier of “1201” (as shown by calloutsa andb). Again, these are merely examples. (One will recognize that while a system controller may be described herein as having associated with it a unique identifier, MAC address, and universal identifier, these values may also be viewed in general as being associated with a system controller's respective load control system and/or respective user environment). Topics used by system controllersa andb and network devicesa andb of systemmay have a format that uses, for example, (i) the Unique ID Value assigned to a system controllera/b, (ii) the universal identifier assigned to all system controllers, and (iii) one of several different topic identifiers/values, such as “Request” and “Response”, although additional and/or other values may be used. As one example, the format of the topics used by systemmay be of the form: “/u/Universal-Identifier/d/System-Controller-ID/Topic-Identifier”, where Universal-Identifier may be “1201”, System-Controller-ID may be “ABC123” or “ABC789”, and Topic-Identifier may be “Request” or “Response” in this example. Again, this is merely an example and other variations are possible. For example, topics used by system controllersa andb and network devicesa andb of systemmay have a format that uses, for example, (i) the MAC address assigned to a system controllera/b, (ii) the universal identifier assigned to all system controllers, and (iii) one of several different topic identifiers/values, such as “Request” and “Response”, although additional and/or other values may be used. As one example, the format of the topics used by systemmay be of the form: “/u/Universal-Identifier/d/MAC-Address/Topic-Identifier”, where Universal-Identifier may be “1201”, MAC-Address may be “A1:B1:C1:D1:E1:F1” or “A2:B2:C2:D2:E2:F2”, and Topic-Identifier may be “Request” or “Response”. In one aspect, these two examples are similar in that each uses a universal identifier, a unique identifier (e.g., a MAC address of a system controller or the Unique ID Value assigned to a system controller), and a topic identifier/value. For ease of description, example systems will be described herein using topics of the form: “/u/Universal-Identifier/d/System-Controller-ID/Topic-Identifier”. Again, other variations are possible and may be used.
266 250 270 266 250 270 280 250 280 280 250 250 250 280 280 272 272 274 274 280 280 250 250 According to one example, each time the MQTT clientof system controllera sends an API message to the message broker, it may publish the API message to the broker together with the topic “/u/1201/d/ABC123/Response”. Similarly, each time the MQTT clientof system controllerb sends an API message to the message broker, it may publish the API message to the broker together with the topic “/u/1201/d/ABC789/Response”. If network devicea, for example, wishes to receive API messages from system controllera, for example, it may subscribe with the message broker to the topic “/u/1202/d/ABC123/Response” (one will recognize that network devicea may only need to subscribe to a portion of this topic, such as “/u/#/d/ABC123/Response”, where “#” represents a wildcard value). Similarly, if network devicea, for example, wishes to receive API messages from system controllerb, it may subscribe with the message broker to the topic “/u/1202/d/ABC789/Response” (or simply “/u/#/d/ABC789/Response”, e.g.). In this fashion, as the message broker receives API messages published by the system controllersa andb, it may examine the associated topics, determine which network devicesa andb may have subscribed to the topics (at least in part), and forward the messages via processesa/b anda/b. As can be seen, through the use of the System-Controller-ID, a network devicea andb may receive API messages from a desired system controllera andb.
280 250 270 280 250 270 280 280 250 250 250 280 266 250 250 280 266 250 270 280 280 274 74 272 272 280 280 250 250 According to a further example, each time network devicea, for example, wishes to send an API message to system controllera, it may publish the message to the message brokerusing the topic “/u/1202/d/ABC123/Request”. Similarly, each time network devicea, for example, wishes to send an API message to system controllerb, it may publish the message to the message brokerusing the topic “/u/1202/d/ABC789/Request”. In other words, through the use of the System-Controller-ID, a network devicea andb may communicate with a desired system controllera andb. For system controllera to receive API messages from network devicea, MQTT clientof system controllera may subscribe to the topic “/u/1202/d/ABC123/Request” (or simply “/u/#/d/ABC123/Request”, e.g.). Similarly, for system controllerb to receive API messages from network devicea, MQTT clientof system controllerb may subscribe to the topic “/u/1202/d/ABC789/Request” (or simply “/u/#/d/ABC123/Request”, e.g.). In this fashion, as the message brokerreceives API messages published by the network devicesa andb, it may examine the associated topics, determine which system controllers may have subscribed to the topics (at least in part), and forward the messages via processesa/b anda/b. Hence, through the use of the System-Controller-ID, a network devicea andb may send API messages to a desired system controllera andb.
250 250 270 280 280 280 280 250 250 280 280 280 280 250 250 270 As described above, the system controllersa andb may continuously publish API messages to the message brokeras events occur within the respective load control systems, in addition to publishing API messages that are responsive to commands from network devices. Network devicesa andb that are subscribed to receive API messages from a respective system controller (e.g., that subscribe to the “Response” based topic and the System-Controller-ID of the system controller) may in turn continuously receive the API messages. If no network devicea andb is subscribed to receive messages published by a respective system controllera andb, the message broker may simply discard the message. Multiple network devicesa andb may also subscribe at the same time to receive API messages from a given system controller. As can also be seen from the above, a network devicea andb may communicate specific commands to and/or request information from a specific system controllera andb by publishing an API message to the message broker using a “Request” based topic and the appropriate System-Controller-ID for that system controller. Similarly, the network device may receive a response to the API message from the respective system controller by subscribing with the message brokerfor messages having the “Response” based topic and the appropriate System-Controller-ID.
200 While systemis described herein as being based on the MQTT protocol, other message based protocols may be used, such as the Advanced Message Queuing Protocol (AMQP).
200 280 280 250 250 202 202 300 200 280 280 250 250 300 380 250 250 380 280 280 250 250 300 380 250 250 210 210 250 250 370 400 380 250 250 380 300 3 FIG. 4 FIG. 3 FIG. Systemuses an MQTT message-based system for a network devicea andb to communicate with a system controllera and/orb of a respective user environmenta andb. Turning now tothere is shown an example system. While systemuses an MQTT message-based system for a network devicea andb to communicate with a system controllera and/orb, systemallows a network device, for example, to communicate with a system controllera and/orb using an HTTP (Hypertext Transfer Protocol) based interface. Network devicemay be similar to network devicesa andb in that it may be a device in use by a user (e.g., a home-owner of a user environment) and/or may be a third-party integrator configured to provide a service(s) based on interactions with respective system controllersa and/orb through the API supported by these controllers. In particular, systemmay allow a network deviceto receive API messages published by respective system controllersa andb using an HTTP interface. The information of these API messages may include for example, event and status based information occurring in a respective load control systema andb and that is continuously published by the system controllersa andb to the message broker(it may also include API messages that are responsive to messages from network devices). Example systemof, which is discussed below, shows an example system that further allows network deviceto communicate API messages to (and receive responses from) respective system controllersa andb using an HTTP interface. Whileshows only one network device, there may be numerous such devices in system.
300 370 270 200 300 202 202 250 250 220 220 370 280 280 370 250 250 370 280 280 200 300 310 340 380 340 380 3 FIG. Systemmay include one or more message brokers(one shown here) that may operate similar to message brokeras described for system. Systemmay also include one or more user environmentsa andb and respective system controllersa andb (and associated control devicesa andb) that may have MQTT interfaces with message broker, and may also include one or more network devicesa andb that may communicate through MQTT interfaces with message broker. System controllersa andb, message broker, and network devicesa andb may similarly operate as described for system. Systemmay now also include one or more data aggregators(one shown here), one or more web servers(one shown here), and one or more network devicesthat may communicate with web server(where the or more network devices are represented as network devicein).
300 Again, while systemis described herein as being based on the MQTT protocol, other message based protocols may be used, such as the Advanced Message Queuing Protocol (AMQP).
310 310 310 310 310 310 370 340 310 The data aggregatormay be one or more computing devices (e.g., one or more computing servers) that may include one or more general purpose processors, special purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, microcontrollers, integrated circuits, programmable logic devices (PLD), field programmable gate arrays (FPGA), application specific integrated circuits (ASICs), or any suitable controller or processing device or the like (hereinafter collectively referred to as processor(s)) (not shown), for example. The processor(s) of data aggregatormay be configured to execute one or more software-based applications and/or firmware based modules that include instructions that when executed by the processor(s) may configure the processor(s) to perform signal coding, data processing, input/output processing, or any other function that configures the data aggregator to operate as described herein. One will also recognize that features, functions, and processes of data aggregatordescribed herein may also and/or alternatively be provided by hardware in addition to and/or as an alternative to software-based instructions and processes. Data aggregatormay also include one or more memory modules/devices (including volatile and non-volatile memory modules/devices) that may be communicatively coupled to the processor(s). The memory modules/devices may be implemented as one or more external integrated circuits (IC) and/or as one or more internal circuits of the processor(s). The one or more memory modules/devices may store the software-based applications and may also provide an execution space as the processors execute applications. Data aggregatormay also include one or more communication interfaces/transceivers/network interface devices (not shown) communicatively coupled to the processors and/or memory devices/modules. The communication interfaces may allow data aggregatorto communicate over one or more wired and/or wireless communication networks (not shown) with the message brokerand the web server. The data aggregatormay also include one or more user interfaces such a display monitor, keyboard, mouse, speakers, audio receivers, etc.
310 312 314 316 310 312 314 316 312 332 370 312 370 312 312 310 332 376 312 312 370 250 250 370 272 272 376 250 250 370 376 312 332 312 370 370 274 274 376 312 280 280 370 370 310 250 250 376 312 332 376 250 250 312 370 314 The data aggregatormay include an MQTT client module(also referred to herein as MQTT client), a pipe module(also referred to herein as pipe), and a filters module(also referred to herein as filters) (One will recognize that the names data aggregator, MQTT client, and pipe as used herein are for description purposes only). Each of these modules may be configured to operate as one or more software based processes within the data aggregator, although other configurations may be used. While data aggregatoris shown as having example modules,, andthe aggregator may include fewer, other, and/or additional modules. Starting with MQTT client, it may be configured to support a communications connectionwith the message broker. This connection may be, for example, a TCP/IP based connection, although other connections may be used. On top of this connection the MQTT clientmay support the MQTT publish-subscribe-based messaging protocol with the message broker, with the MQTT clientacting as a client to the message broker. As the MQTT clientof the data aggregatorestablishes connectionwith the message broker and forms an MQTT connection to the broker for example, the message broker may start a respective processwith the MQTT client. According to one example, MQTT clientmay subscribe with the message brokerto the topic “/u/1202/d/#/Response” (where “#” represents a wildcard value). By subscribing to a topic that uses the Universal-Identifier (here “1201”) common to all system controllersa andb, the message brokermay forward from respective processesa/b to processall API messages published by the system controllersa andb to the message brokerthat use the “Response” based topic. In turn, processmay forward the API messages to MQTT clientvia connection. One will recognize that other topics may also be used. For example, MQTT clientmay also subscribe with the message brokerto the topic “/u/1202/d/#/Request” (or alternatively, to the topic “/u/1202/d/#/#”). Here, the message brokermay also forward from respective processesa/b to process(and thus the MQTT client) all API messages published by the network devicesa andb to the message brokerthat use the “Request” based topic. Again, these are merely examples and other mechanisms may be used for the message brokerto forward API messages to the data aggregator. For example, the data aggregator may subscribe to receive API messages from a specific set of system controllers, for example, by specifying the full topic used by the respective controllers (e.g., “/u/1202/d/ABC123/Response” and “/u/1202/d/ABC789/Response”). Assuming the data aggregator only subscribes to “Response” based topics from all system controllersa andb, as the message broker passes API messages to process, the process may in turn communicate the API messages to the MQTT clientvia connection. Processmay also communicate, with the API messages, the full topic to which an API message was published by the respective system controllera andb (i.e., the topic may include the System-Controller-ID of the respective system controller, such as “/u/1202/d/ABC123/Request” or “/u/1202/d/ABC789/Request”). As the MQTT clientreceives API messages (and the associated topics) from the message broker, it may forward the API messages/topics to pipe module.
314 312 316 314 312 314 316 202 202 210 210 300 370 250 250 310 312 314 312 316 Pipe modulemay be configured to function as a data cache/message queue, for example, that receives API messages and possibly topics from MQTT client, that processes the API messages (e.g. aggregates several API messages into larger blocks for data efficiency), that places/writes the API messages in a message queue, and that controls the reading of the API messages from the message queue by filtersfor further processing. According to another example, pipe modulemay be multiple message queue, with MQTT clientputting API messages into respective ones of the queues. In this way, pipe modulemay act as temporary storage until API messages are processed by filters, as described below. According to another aspect, depending on the number of user environmentsa andb/load control systemsa andb in system, there may be multiple message brokers, with different message brokers servicing different system controllersa andb. Here, data aggregatormay have multiple MQTT clients, each to a respective message broker. According to this example, pipe modulemay receive API messages from each MQTT clientand aggregate these messages into one message queue or multiple message queues (e.g., one message queue for each MQTT client) for processing by the filters.
316 314 314 314 316 300 316 250 250 380 316 314 Filtersmay represent one or more modules (which may operate as one or more software-based processes for example) that read and/or receive API messages (and associated topics) from pipe module, that filter those API messages based on one or more criteria, and that then forwards resulting information to one or more destinations. In one aspect, there may be multiple filter modules executing at any given time, each analyzing the same API messages read/received from pipe module, and each searching for and analyzing specific data and routing resulting information to a respective destination. According to another aspect, assuming pipe moduleis multiple message queues, each queue may have respective filter(s). The filtersmay be dynamic in that an administrator may change the filters depending on a desired configuration of system. The filtersmay filter based on specific fields of the API messages themselves and/or on the topics associated with respective API messages. Different filters may be configured to have different functions. For example, one filter may operate to simply remove/discard certain types of API messages (e.g., there may be certain status information produced by the system controllersa andb that are not needed by network device) and route the remaining API messages (and associated topics) to a certain destination. Another filter may be configured to operate to search for and detect certain API messages and/or topics and route those API messages (and associated topics) to a certain destination. Another filtermay be configured to perform operations on API messages read/received from pipe module(such as performing statistical analysis on the API messages) and forward the results to a specific destination. One will recognize that other examples are possible.
300 316 334 340 340 316 314 250 250 340 334 316 310 300 390 316 390 316 340 According to example system, filtersmay have a communications connectionwith web server. This connection may be, for example, a TCP/IP or UDP/IP based connection, although other types of connections may be used. Web servermay support an HTTP/HTTPS (Hypertext Transfer Protocol/secure Hypertext Transfer Protocol) interface on this connection with standard methods (such as GET, PUT, POST, DELETE, etc.), although one will recognize that other interfaces may be used. As filtersreceives API messages from pipe module, it may discard certain messages based on one or more fields of the messages and communicate the remaining API messages (together with their respective topics as published by the system controllersa andb, for example) to the web serverover connection. Filtersmay do this by using standard HTTP methods, such as PUT commands, although other commands may be used. Again, data aggregatormay include other filters that route API messages/information to other destinations. As an example, systemalso may also include a data storage systemthat may receive information from filtersand store this information in a database. Databasemay be flat database, relational/SQL database, NoSQL/non SQL database, and/or a time series database, etc., although any form of database(s) may be used. One will appreciate that filtersmay communicate API messages to the web serverone at a time, or in batches on a periodic basis (such as every X seconds or minutes, every Y messages, and/or when Z bytes of messages are ready to be forwarded, etc.). Other variations are possible.
314 316 316 334 340 340 As noted above, pipe modulemay be multiple message queues, each having respective filters. Here, each filtermay have a respective connectionwith web serverand may be similarly configured to discard certain API messages received from its respective message queue and to communicate the remaining API messages to the web serverover its respective connection.
310 370 334 340 According to one specific example, one or more operations/functions of data aggregatormay be provided by Amazon Web Services, where API messages from the message brokermay fed to a Kinesis Stream consisting of one or more shards, and where Lambda function(s) may obtain the API messages from the Kinesis Stream, filter the API messages to discard certain messages, and forward the remaining API messages (and associated topics) over HTTP interface(s)to the web server. Other examples are possible.
340 340 270 270 340 340 340 340 334 310 336 338 380 340 310 380 340 Turning now to web server, it may be one or more computing devices (e.g., one or more computing servers) that may include one or more general purpose processors, special purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, microcontrollers, integrated circuits, programmable logic devices (PLD), field programmable gate arrays (FPGA), application specific integrated circuits (ASICs), or any suitable controller or processing device or the like (hereinafter collectively referred to as processor(s)) (not shown), for example. The processor(s) of web servermay be configured to execute one or more software-based applications and/or firmware based modules that include instructions that when executed by the processor(s) may configure the processor(s) to perform signal coding, data processing, input/output processing, or any other function that configures the web serverto function/operate as described herein. One will also recognize that features, functions, and processes described herein of the web servermay also and/or alternatively be provided by hardware in addition to and/or as an alternative to software-based instructions and processes. Web servermay also include one or more memory modules/devices (including volatile and non-volatile memory modules/devices) that may be communicatively coupled to the processor(s). The memory modules/devices may be implemented as one or more external integrated circuits (IC) and/or as one or more internal circuits of the processor(s). The one or more memory modules/devices may store the software-based applications and may also provide an execution space as the processors execute applications. Web servermay also include one or more communication interfaces/transceivers/network interface devices (not shown) communicatively coupled to the processors and/or memory devices/modules. The communication interfaces may allow web serverto communicate over one or more wired and/or wireless communication networks (not shown). Over these networks, web servermay support one or more connectionswith the data aggregator, and may support respective connectionsandwith respective network devices. The web servermay support HTTP/HTTPS based interfaces with standard methods on these connections, for example, to communicate with the data aggregatorand network devices. In one aspect, web servermay function as an HTTP publish-subscribe server.
340 342 344 348 342 344 310 346 346 340 342 344 348 346 Web servermay include a web service module(also referred to herein as web service) and a worker service module(also referred to herein as worker service) (One will recognize that the names web server, web service, and worker service as used herein are for description purposes only). Each of these modules may operate as one or more software based processes within the web server. A message queue, for example, may connect the web service moduleand the worker service module. This message queues may be implemented as a Redis cache, although other implementations may be used. Web servermay also include one or more databases such as subscription database. Subscription databasemay be flat database, relational/SQL database, NoSQL/non SQL database, and/or a time series database, etc., although any form of database(s) may be used. While web serveris shown as having example modulesand, message queue, and database, the server may have other configurations.
346 250 250 300 342 250 250 380 346 250 250 370 350 250 346 250 250 346 250 202 250 300 346 342 250 250 380 346 250 250 370 346 Beginning with subscription database, it may include at least one entry for each system controllera andb of system. As further described below, web servicemay treat/use the MAC addresses of the system controllersa andb as topics or channels (as that term may be used for an HTTP publish-subscribe server) that network devicesmay subscribe to, although this is one example and other examples are possible. Assuming this format is used, the subscription databasemay include the MAC address for each system controllera andb and may further include and associate/relate with each MAC address the respective topics that the system controller publishes and/or subscribes to with the message broker. For example and a shown by callout, for system controllera the subscription databasemay include the MAC address of the system controller (“A1:B1:C1:D1:E1:F1”), and may associate with this address one or more of the topics used by the system controllera (here, “/u/1202/d/ABC123/Request” and “/u/1202/d/ABC123/Response”). Similarly, for system controllerb the subscription databasemay include the MAC address of the system controller (“A2:B2:C2:D2:E2:F2”), and may associate with this address one or more of the topics used by the system controllerb (“/u/1202/d/ABC789/Request” and “/u/1202/d/ABC789/Response”). A system administrator may configure and maintain this database. Hence, as new user environmentswith respective system controllersare added to system, the subscription databasemay be updated to include the MAC address and associated topics of the new system controller. Again, this is one example and other examples are possible. As another variation, web servicemay treat/use the System-Controller-IDs of the system controllersa andb as topics or channels that network devicesmay subscribe to. Assuming this format is used, the subscription databasemay include the System-Controller-ID for each system controllera andb and may further include and associate/relate with each System-Controller-ID one or more of the respective topics that the system controller publishes and/or subscribes to with the message broker. For example, the subscription databasemay be configured as follows:
Topic: /u/1202/d/ABC123/Request Topic: /u/1202/d/ABC123/Response System-Controller-ID: ABC123
Topic: /u/1202/d/ABC789/Request Topic: /u/1202/d/ABC789/Response System-Controller-ID: ABC789
342 250 250 342 250 250 Again, this is one example and the web servicemay associate any value/identifier with respective system controllersa andb and use that value/identifier as a topic or channel, and associate that value/identifier with one or more of the topics used by the system controllers. For purposes of description, web servicewill be described herein as using the MAC addresses of the system controllersa andb as topics/channels.
342 346 380 336 340 380 250 370 380 342 336 250 342 380 340 346 380 250 380 342 336 250 346 380 250 342 380 Turning to web service, as indicated it may treat each of the MAC addresses listed in the subscription databaseas a topic or channel that a network devicemay subscribe to via interface. Web servermay be configured to operate as follows. A network devicemay desire to receive API messages published by system controllera, for example, to the message broker. To do this, network devicemay communicate with web servicevia connectionto subscribe to the MAC address of system controllera (i.e., subscribe to MAC address “A1:B1:C1:D1:E1:F1”). In subscribing to the MAC address with the web service, network devicemay also provide the web service with a notification address (e.g., a uniform resource locator (URL)) to which the web servermay post any API messages. The web service may store this notification address in subscription databasetogether with an indication that the network devicehas subscribed to the MAC address of the system controllera. In a similar fashion, the network devicemay also communicate with web servicevia connectionto unsubscribe to a MAC address of a system controller, such as system controllera. In turn, the web service may update the subscription databaseto indicate that the network devicehas unsubscribed to the MAC address of the system controllera. Web servicemay store which network deviceshave subscribed to which channels in other manners.
342 334 310 250 250 316 342 346 342 250 250 342 380 380 342 348 380 342 310 380 342 346 250 310 250 250 380 380 342 348 380 342 According to one example, web servicemay receive over connection(s)from the data aggregatorthe API messages published by all system controllersa andb as described above (or a subset thereof if the filtershave removed certain API messages such as certain status messages). Again, these API messages may have topics associated with them of the form “/u/1202/d/ABC123/Response” and “/u/1202/d/ABC789/Response”, as an example. As the API messages are received, the web servicemay translate the topics to MAC addresses using the configuration information of the subscription database. For example, the web servicemay translate the topic “/u/1202/d/ABC123/Response” of API messages from system controllera to the MAC address “A1:B1:C1:D1:E1:F1” of system controllera. The web servicemay then determine whether any network devicehas subscribed to this MAC address. If a network devicehas subscribed to the MAC address, the web servicemay write, for example, the API message together with its associated topic and/or MAC address to the message queue. On the contrary, if no network devicehas subscribed to the API message, the web servicemay discard the API message. As an alternative to translating topics of API messages received from the data aggregatorto MAC addresses as just described, as a network devicesubscribes to a MAC address the web servicemay use the subscription databaseto translate the MAC address to a topic or a portion thereof (e.g., translate the MAC address “A1:B1:C1:D1:E1:F1” of system controllera to the topic “/u/1202/d/ABC123/Response”). As the web service receives from the data aggregatorthe API messages published by the system controllersa andb, it may compare the topics associated with the messages to “topics” subscribed to by network devices. If a network devicehas subscribed to the topic, the web servicemay write the API message together with its associated topic and/or MAC address to the message queue. On the contrary, if no network devicehas subscribed to the API message, the web servicemay discard the API message. Other variations are possible. In general, through a MAC address as specified by a network device and through the System-Controller-ID portion of the topics associated with API messages, the web service, at least in part, may correlate/associate received API messages to the messages the network devices are looking to receive.
342 310 250 250 316 380 316 314 316 342 334 316 316 346 318 342 316 342 380 316 334 342 316 316 334 342 348 316 342 316 310 340 As described above, web servicemay receive from the data aggregatorthe API messages published by the system controllersa andb (or a subset thereof if the filtershave removed certain API messages), and may then determine or analyze each API message to determine whether any network devicehas a subscription to receive the respective API message. As another variation, as filtersreceives API messages from the pipe module, it may discard certain messages (such as certain status messages), and then periodically batch the remaining messages into blocks. How it batches messages into blocks may vary. Some examples may include (i) batching messages on a time basis (e.g., batch messages over X min periods), (ii) batching messages on a number of API messages (e.g., create blocks of X API messages), (iii) batching messages on a size basis (e.g., create blocks of X bytes or less), or some combination thereof. With respect to each batch of API messages, filtersmay determine the topics associated with the messages, and communicate a list of these topics to the web serviceover connection. For example, filtersmay provide the full topics (e.g., “/u/1202/d/ABC123/Response” and “/u/1202/d/ABC789/Response”) or a just a portion of the topics (e.g., just the System-Controller-IDs). As an alternative, filtersmay have access to subscription database(as shown by connection) and translate topics to MAC addresses and pass MAC addresses to the web service. Other examples are possible. Regardless, filtersmay not forward the actual API messages at this time. Upon receiving the list of topics, web servicemay determine for each topic whether a network deviceis presently subscribed to the topic (e.g., by correlating topics with MAC addresses that have been subscribed to) and communicate back to filtersover connectionan indication of those topics that are subscribed to (or alternatively, not subscribed to). Upon receiving this communication from the web service, filtersmay discard from the batched API messages those that are not subscribed to and forward the remaining API messages to the web serviceover connection. Upon receiving the API messages, the web servicemay write each API message together with its associated topic and/or MAC address to the message queue. Filtersand the web servicemay then repeat the process, with filtersbatching another set of API messages and communicating with web service to determine which associated topics are currently subscribed to. Other variations are possible. One advantage of this configuration is that less data needs to be communicated from the data aggregatorto the web server, providing more efficient communications.
380 342 250 342 250 342 316 334 316 316 346 342 316 380 342 316 316 314 342 380 380 316 342 334 342 348 380 316 380 342 250 342 316 334 316 342 316 According to a still further variation, each time a network devicesubscribes with the web serviceto a MAC address of a system controllerfor example, web servicemay translate that MAC address to a topic (e.g., for system controllera, it may translate the MAC address “A1:B1:C1:D1:E1:F1” to the topic “/u/1202/d/ABC123/Response”). Web servicemay then communicate the topic to the filtersover connection, instructing filtersto forward any API message having the corresponding topic. As an alternative, assuming filtershave access to subscription databasefor example, web servicemay pass MAC addresses to filters, which may then translate the MAC addresses to topics. Other examples are possible. One will appreciate that if multiple network devicessubscribe to API messages from the same system controller, web servicemay only communicate once with filters. Regardless, as filtersreceives API messages from pipe module, it may discard certain messages (such as certain status messages), and then compare the topics of the API message to the topics provided to it by the web serviceto determine whether a network devicehas subscribed to receive the message. If a network devicehas subscribed to the topic, the filtersmay forward the API message (and it associated topic) to the web serviceover connection. Web servicemay then write the API message together with its associated topic and/or MAC address to the message queue. On the contrary, if no network devicehas subscribed to the API message, the filtersmay discard the API message. Similarly, each time a network deviceunsubscribes with the web serviceto a MAC address of a system controller, web servicemay translate that MAC address to a topic and then communicate the topic to the filtersover connection, instructing filtersto stop forwarding related API messages. One will appreciate that if multiple network devices are subscribed to the same MAC address at the same time, web servicemay not communicate this instruction to the filtersif other devices are still subscribed. Again, this is merely an example and other variations are possible.
344 348 380 338 344 346 344 380 Turning to worker service, it may read API messages from the message queue, determine the notification address of each network devicethat subscribed to receive the API message, and use the notification address to communicate the API message to the respective network device over a respective connection(one will recognize that the notification address may be different from the network device). The worker servicemay determine notification addresses using the subscription databaseas indicated above although other mechanisms may be used to determine the addresses. In communicating the API message to a network device, the worker servicemay include the topic associated with the API message and/or the MAC address of the respective system controller. Thereafter, the network devicemay receive and operate on the API message, for example.
342 344 348 348 380 342 380 380 250 346 While the web serviceand worker serviceare shown and described as communicating via message queue, this queue may not be required and the two modules may communicate in other fashions. In one aspect, however, message queuemay provide one mechanism of temporarily storing API messages in high data demand situations. Also, the use of MAC addresses, for example, rather than the noted “Request” and “Response” topics as a mechanism for network devicesto subscribe to API messages is not necessarily required and web serviceand network devicesmay be configured to subscribe to the noted topics directly (i.e., a network devicemay subscribe to “/u/1202/d/ABC123/Response”). Nonetheless, the noted configuration of using MAC addresses or a variation thereof, for example, has at least one benefit in that the system controllersand subscription databasemay be updated at future times to use different topics. The network devices using MAC addresses (which may be static values), for example, that are correlated to the noted topics may allow topics to change without affecting service applications provided by network devices.
380 340 340 Again, a given network devicemay subscribe to receive from web serverAPI messages produced by numerous system controllers. Similarly, numerous different network devices may subscribe to receive from web serverAPI messages produced by the same system controller.
4 FIG. 400 400 300 250 250 380 250 250 Turing now to, there is shown an example system. Systemmay be similar to systembut in addition to receiving API messages from system controllersa andb, network devicesmay also communicate API messages to designated system controllersa andb (such as to control light levels in a respective user environments) using an HTTP interface, for example.
400 340 472 474 370 472 370 472 472 340 474 476 472 According to system, web servermay now also include an MQTT client modulethat may support a communications connectionwith the message broker. This connection may be, for example, a TCP/IP based connection, although other connections may be used. On top of this connection the MQTT clientmay support the MQTT publish-subscribe-based messaging protocol with the message broker, with the MQTT clientacting as a client to the message broker, for example. As the MQTT clientof the web serverestablishes connectionwith the message broker and forms an MQTT connection to the broker, the message broker may start a respective processwith the MQTT client, for example.
250 250 380 336 342 250 342 346 472 472 474 370 472 474 370 250 342 472 250 472 250 To communicate an API message to a specific system controller, such as system controllera, a network devicemay publish the API message over connectionto the web serviceand in particular, may publish the message to the MAC address of system controllera (i.e., “A1:B1:C1:D1:E1:F1”). Noting that the network device has published the API message to the MAC address, web servicemay use subscription databaseto translate the MAC address to the “Request” topic associated with the MAC address (here, “/u/1202/d/ABC123/Request”). Thereafter, the web service may forward the API message and the “/u/1202/d/ABC123/Request” topic, for example, to the MQTT client. MQTT clientmay in turn publish the API message over connectionto the message brokerusing the topic “/u/1201/d/ABC123/Request”. At the same time, MQTT clientmay also subscribe over connectionwith the message brokerto the “Response” topic associated with the MAC address of controllera (i.e., “/u/1202/d/ABC123/Response”), which may also be forwarded by the web serviceto MQTT client, for example. By subscribing to the “Response” topic of system controllera, MQTT clientmay receive from the system controllera any response to the API message.
476 472 370 272 250 250 250 370 200 300 472 370 272 476 472 474 472 342 342 250 380 336 380 Accordingly, as processreceives the API message from MQTT client, the message brokermay forward the API message to processa for forwarding to the system controllera (the controllera having subscribed to the topic “/u/1202/d/ABC123/Request” as discussed above). As the system controllera processes the API message, it may generate a response API message, which it may publish to the message brokerusing topic “/u/1202/d/ABC123/Response”, as described for systemand, for example. Because the MQTT clientsubscribes to the topic “/u/1202/d/ABC123/Response”, the message brokermay forward this response API message from processa to process, which may then forward the response API message to MQTT clientover connection. Upon receiving, for example, the response API message, MQTT clientmay unsubscribe to the topic “/u/1202/d/ABC123/Response”, and may forward the response API message to the web service. Web servicemay thereafter translate the topic of the response API message from “/u/1202/d/ABC123/Response” back to the MAC address of the system controllera, and communicate the response API message to the network deviceover connection. Again, other variations are possible, such as the network devicesubscribing to the System-Controller-IDs rather than MAC addresses, for example.
400 340 472 474 370 342 472 380 250 According to a further aspect of system, web servermay have a plurality (two or more) of MQTT clientswith respective connectionsto the message broker. The web servicemay use respective ones of the MQTT clients, one at a time, to communicate API messages from network devicesto respective system controllersand to receive responses thereto.
400 While systemis described herein as being based on the MQTT protocol, other message based protocols may be used, such as the Advanced Message Queuing Protocol (AMQP).
300 400 310 370 340 310 370 210 210 300 400 310 316 314 310 340 340 250 250 316 316 While systemand systemare described herein as including data aggregator, another variation of these systems may not include this module. Here, the message brokermay directly communicate API messages to the web server. Data aggregatormay not be needed, for example, if the message brokeris receiving a limited amount of information from the load control systemsa andb, and/or if there is a limited number of load control systems providing information to the message broker. Similarly, variations of systemand systemmay include data aggregator, but may not necessarily include filtersthat are configured to remove API messages from the stream of API messages from pipe module. In other words, data aggregatormay forward all API messages to the web serverthat it receives from the message broker rather than removing some messages. Nonetheless, one will recognize that the data aggregator and its respective filters module may provide one example mechanism for controlling the rate at which information flows into the web serverand the amount of data that flows into and needs to be communicated to the web server. In addition, while the system controllersa andb have been described herein as generally forwarding, in a non-selective fashion, large amounts of information/API messages to the message broker with the data aggregator then filtering this information, the system controllers may be configured to selectively forward only certain API messages to the message broker. However, this may not be desirable in that if it is later realized that other information may be needed/wanted from the system controllers, it may be difficult to access all of these systems and make the modification. The system controllers non-selectively forwarding large amounts of information/API messages to the message broker and the filters modulebeing configured to selectively discard certain API messages has one advantage in that if it is later realized that it may be desirable to have the filtersforward additional information or discard other information, an administrator may simply update the filters.
5 FIG. 500 500 400 580 250 250 400 380 400 250 250 500 580 500 500 250 250 580 Turning now to, there is shown an example system. Systemis similar to system, for example, but may now also allow a network deviceto communicate messages with (i.e., send messages to and receive messages from) designated system controllersa andb using an API that is different from the API supported by the system controllers. In other words, as discussed with respect to system, a network devicemay communicate with systemusing the API supported by the system controllersa andb. According to system, network devicemay communicate over an HTTP interface with systembut now use a third-party API that may be specific to the network device, with systemtranslating between the API supported by the system controllers and the third-party API. For description purposes only, messages formatted according to the API supported by the system controllersa andb will be referred to herein as “API messages”, and messages formatted according to the third-party API supported by the network controllerwill be referred to herein as “third-party API messages”.
580 280 280 380 250 250 580 5 FIG. Network devicemay be similar to network devicesa andb and network devicein that it may be a device in use by a user (e.g., a home-owner of a user environment) and/or may be a third-party integrator configured to provide a service(s) based on interactions with respective system controllersa andb. Whileshows only one network device, there may be numerous such devices each configured to communicate with one or more system controllers, possibly at the same time.
400 310 500 502 504 502 504 310 340 370 370 310 340 502 504 As compared to system, data aggregatorof systemmay now include a gateway module(also referred to herein as gateway) and an API translator module(also referred to herein as API translator) (One will recognize that the names gateway and API translator as used herein are for description purposes only). While gateway moduleand API translator moduleare shown as being part of data aggregator, these modules may alternatively be provided by one or more other computing devices such as by web serveror message broker, for example, or by another computing device(s) separate from any of message broker, data aggregator, or web server. Each of gateway moduleand API translator modulemay operate as one or more software based processes within the data aggregator, although other implementations are possible
502 508 580 250 250 502 508 580 502 580 580 502 250 250 502 502 580 502 250 250 502 340 502 502 580 502 580 502 250 250 220 220 Beginning with gateway, it may be configured to support respective network communication connectionswith network devicefor each system controllera andb the network device is communicating with. Gatewaymay support an HTTP/HTTPS based interface on connectionthat may be used by network deviceto communicate with gateway. As indicated, services provided by network devicemay be based on a third-party API. As such, network devicemay communicate to gatewaya third-party API message for a particular system controllera andb. Gatewaymay be configured to then forward that third-party API message to the system controller as further described below. Similarly, if the system controller responds with an API message, that response message may be forwarded to the gateway, which may then forward the response message to the network device as a third-party API message. Similarly, network devicemay communicate with gatewayto subscribe to receive API messages published by a particular system controllera andb. Gatewaymay be configured to forward this subscription request to the web server. As the web server receives API messages from a subscribed to system controller, the web server may forward these messages to the gateway, which may then forward the message to the network device as third-party API messages. According to one example, gatewaymay be agnostic to the specific third-party API used by network device, but may be configured such that the format of the third-party API used by the network device needs to be based on a standard. As one example, gatewaymay be configured such that the third-party API may need to be a RESTful (representational state transfer) based API where, for example, network devicecommunicates with gatewayusing standard methods (such as, for example, GET, PUT, POST, DELETE, etc.) and where, for example, system controllersa andb and control devicesa andb, for example, are treated as resources. Again, this is one example and others are possible.
504 500 504 510 502 502 580 250 250 504 504 504 504 502 580 502 580 250 504 334 250 504 504 502 580 Turning to API translator, it may provide API translation services for system. In particular, API translatormay have a connectionwith gateway. As gatewayreceives a third-party API message from network devicethat is destined for a particular system controllera orb, the gateway may forward that message to API translator. API translatormay be configured to then translate the third-party API message to an API message (i.e., API message supported by the system controllers) and forward the API message to the system controller. Similarly, assuming the system controller responds with an API message, that message may be forwarded to the API translator. The API translatormay be configured to then translate the API message to a third-party API message and forward the third-party API message to the gateway, which may then forward the message to the network device. Similarly, as gatewayreceives from network devicea subscription request to receive API messages published by a particular system controller, such as system controllera, the gateway may forward that request to the web server, possibly through the API translatorfor translation, if necessary. Assuming the web server receives at connectionAPI message(s) published by system controllera, the web server may forward those API message(s) to the API translator. The API translatormay be configured to then translate the API message(s) to third-party API message(s) and forward the third-party API message(s) to the gateway, which may then forward the message(s) to the network device.
500 504 510 502 580 250 250 504 504 504 250 250 504 502 502 502 504 502 504 According to one example, systemmay include multiple API translators, each configured to translate messages between the API used by the system controllers and the third-party API used by the network device, and each having a respective connectionwith gateway. As network devicedesires to communicate with and/or receive messages from a particular system controllera orb, gatewaymay use an “available” API translatorfor that communication. In other words, a given API translatormay only support communications with a one system controllera andb at any given time. According, to one example, API translatorsmay statically exist (i.e., there is a defined number “running” or executing at any given time) and available/free translators may be used by gatewayas needed. According to another example, API translators may be created as needed by the gateway. According to this example, gatewayand API translator(s)may be specific to a particular third-party API. As discussed below, additional instances of gatewayand API translator(s)may be used to support additional third-party APIs.
500 504 512 340 342 340 342 5 FIG. Assuming systemincludes multiple API translators, as further shown ineach API translator may have a respective communications connectionwith web serverand in particular, with web service. This connection may be, for example, a TCP/IP or UDP/IP based connection, although other connections may be used. Web server/web servicemay support an HTTP/HTTPS based interface on this connection with standard methods as discussed herein.
500 250 250 580 502 508 250 502 504 510 504 504 512 342 250 342 346 472 472 474 370 472 474 370 250 250 472 250 4 FIG. Reference will now be made to an example operation of system. To communicate a particular command or request, for example, to a specific system controller, such as system controllera, network devicemay communicate a third-party API message to the gatewayvia communications connection. The network device may communicate the message using a standard POST command, for example. With this third-party API message, the network device may include the MAC address of system controllera (i.e., “A1:B1:C1:D1:E1:F1”) (although the System Controller Unique ID Value may also be used, for example). Upon receiving the message, the gatewaymay forward the third-party API message (and MAC address) to a respective API translatorvia a respective connection. Upon receiving the message, the API translatormay translate the third-party API message to an API message. Thereafter, the operation flow may proceed as similarly discussed with respect to, for example. The API translatormay next publish the API message over a respective connectionto the web serviceand in particular, may publish the message to the MAC address of system controllera (i.e., “A1:B1:C1:D1:E1:F1”). Noting that the API translator has published the API message to the MAC address, web servicemay use subscription databaseto translate the MAC address to the “Request” topic associated with the MAC address (here, “/u/1202/d/ABC123/Request”). Thereafter, the web service may forward the API message and the “/u/1202/d/ABC123/Request” topic to the MQTT client. MQTT clientmay in turn publish the API message over connectionto the message brokerusing the topic “/u/1201/d/ABC123/Request”. At the same time, MQTT clientmay also subscribe over connectionwith the message brokerto the “Response” topic associated with the MAC address of controllera (i.e., “/u/1202/d/ABC123/Response”). By subscribing to the “Response” topic of system controllera, MQTT clientmay receive from the system controllera any response to the API message.
476 370 472 272 250 250 250 370 200 300 400 472 370 272 476 472 474 472 342 342 250 504 512 Accordingly, as processof the message brokerreceives the API message from MQTT client, the message broker may forward the API message to processa for forwarding to the system controllera (the controllera having subscribed to the topic “/u/1202/d/ABC123/Request” as discussed above). As the system controllera processes the API message, it may generate a response API message, which it may publish to the message brokerusing topic “/u/1202/d/ABC123/Response”, as described for system,, andfor example. Because the MQTT clientsubscribes to the topic “/u/1202/d/ABC123/Response”, the message brokermay forward this response API message from processa to process, which may then forward the response API message to MQTT clientover connection. Upon receiving the response API message, MQTT clientmay unsubscribe to the topic “/u/1202/d/ABC123/Response”, and may forward the response API message to the web service. Web servicemay thereafter translate the topic of the response API message from “/u/1202/d/ABC123/Response” back to the MAC address of the system controllera, and communicate the response API message to the API translatorover connection.
342 504 510 502 502 580 Upon receiving the API response message from the web service, API translatormay translate the API message to a third-party API message (such as a response message) and forward the third-party API message over connectionto gateway. Thereafter, gatewaymay forward the third-party API message to network device. Again, other variations are possible.
580 250 580 502 508 250 502 504 510 512 342 502 342 334 310 250 580 342 504 510 342 344 348 504 510 342 504 510 502 502 580 250 3 FIG. Similarly, for network deviceto subscribe to receive API messages published by a system controller, such as system controllera, network devicemay communicate with gatewayvia communications connectionto subscribe to the MAC address of system controllera, for example. Upon receiving the subscription request, the gatewaymay forward the request to a respective API translatorvia a respective connection, which may then forward the request over a respective connectionto the web service, translating the request if necessary. Alternatively, the gatewaymay forward the subscription request directly to the web service. Regardless, the operation flow may then proceed as similarly discussed with respect to, for example. As the web servicereceives via connectionfrom data aggregatorAPI messages published by system controllera, the web service may determine that a network device, such as network device, has subscribed to receive these API messages as discussed herein. The web servicemay in turn then forward these API messages (together with its associated topic and/or MAC address, for example) to a respective API translatorvia a respective connection. Alternatively, the web servicemay forward these API messages to the worker service(such as through message queue), which may in turn forward the API messages (together with its associated topic and/or MAC address, for example) to a respective API translatorvia a respective connection. Other variations are possible. Upon receiving an API message from the web service, API translatormay translate the API message to a third-party API message and forward the third-party API message over a respective connectionto gateway. Thereafter, gatewaymay forward the third-party API message to network device. In communicating the third-party API message to a network device, the message may include the topic associated with the API message and/or the MAC address of the respective system controllera. Again, other variations are possible.
5 FIG. 502 504 500 500 502 504 580 As indicated above, according to the example shown ingatewayand API translator(s)may be specific to a particular third-party API. According to a further aspect of system, the system may support multiple different third-party APIs. Here, systemmay include multiple instances/pairs of gatewayand API translator(s), with each gateway/API translator(s) pair supporting a respective third-party API. Depending on which API is used by a network device, the device may communicate with a corresponding gateway (e.g., each gateway may have a respective address/URL to which the network device communicates).
502 502 502 340 580 According to one specific example, one or more of gatewayand API translator(s)may be provided by Amazon Web Services, where gatewaymay be an Amazon API Gateway, and where each respective instance of an API translator may be a respective Lambda function configured to perform API translation as discussed herein and to communicate with web serveras discussed herein. Here, the Amazon API Gateway may expose endpoints to network devices, and Lambda functions that are configured as described herein may be assigned to respective gateway endpoints.
300 400 500 340 250 250 380 580 346 250 250 350 Referring now to a still further aspect of systems,, and, as discussed herein web servermay treat/use the MAC address, for example, of the system controllersa andb as topics or channels that network devicesandmay subscribe to, and/or publish messages to, for example. The subscription databasemay include the MAC address of the system controllers, and may associate with this address one or more of the topics used by the system controllersa andb, as shown by callout. Again, this is one example.
250 250 300 400 500 380 580 340 502 202 202 210 210 340 502 202 202 210 210 300 400 500 346 340 502 According to a further example, authorization/access tokens may also be associated with respective system controllersa andb, and these tokens then associated with one or more of the topics used by the system controllers, with systems,, andusing the tokens in a similar way as to how MAC addresses may be used as described herein. For example, for security purposes in order for a network deviceor(i.e., third-party) to communicate with web serveror gatewayto gain access to a user environmenta orb/load control systema orb, the network device may need to include with the HTTP messages, for example, an authorization/access token that can be used by web serverand/or gatewayto ensure the network device is permitted access to a user environmenta orb/load control systema orb. A user (such as a homeowner) of the user environments/load control systems may obtain such tokens using, for example, an OAuth (e.g., OAuth 2.0) based service. Such a service may be provided separate from systems,, and. In the process of the user obtaining such a token, it may be stored in the subscription database, for example, and also provided to the third-party and used by the third-party and the web serverand/or gatewayfor authentication/authorization purposes.
300 400 500 202 202 346 346 250 250 350 5 FIG. In this aspect, authorization tokens may be viewed as being associated with users. According to an aspect of systems,, andthese tokens may also be associated with system controllers. For example, assume that a user/homeowner of user environmenta obtains a token “XYZ123” through an OAuth based service and assume that a user/homeowner of user environmentb obtain a token “XYZ456” through an OAuth based service. In addition to using these tokens for security purposes, these tokens may be stored, for example, in the subscription database(or alternatively, stored in another database such as an authorization database with databasehaving links to the tokens as stored in the authorization database) and associated with the respective system controllersa andb and thus associated with one or more of the topics used by the system controllers, as shown in calloutof.
300 380 250 380 340 250 340 300 250 3 FIG. As discussed with respect to systemof, in order for a network deviceto receive API messages published by system controllera, for example, it may subscribe to MAC address “A1:B1:C1:D1:E1:F1” as discussed herein. With respect to authorization tokens, as the network devicecommunicates an HTTP message to the web serverto subscribe to receive API messages from system controllera, the web servermay treat/use the authorization token within the HTTP message (i.e., “XYZ123”) as a request to subscribe to the authorization token, with systemnow using the token in a similar way to how it used MAC addresses in order to determine that API messages published by the system controllera should be forwarded to the network device.
400 380 250 250 340 400 250 4 FIG. Similarly, as discussed with respect to systemof, in order for a network deviceto communicate an API message to system controllera, for example, it may publish the message to the MAC address of the system controller. With respect to authorization tokens, as the network device communicates an HTTP message to the web server to publish an API message to the system controllera, the web servermay treat/use the authorization token within the HTTP message (i.e., “XYZ123”) as a request to publish the API message to the authorization token, with systemnow using the token in a similar way to how it used MAC addresses in order to communicate API messages with the system controllera.
500 580 250 502 580 504 504 340 250 340 500 250 500 580 5 FIG. Similarly, as discussed with respect to systemof, in order for a network deviceto communicate a third-party API message to system controllera, for example, it may communicate the MAC address of the system controller to the gateway. With respect to authorization tokens, as the network devicecommunicates an HTTP message (that includes the third-party API message) to the gateway, the gateway may forward the authorization token from the HTTP message (i.e., “XYZ123”) to the API translator, which may translate the third-party API message to an API message. As the API translatorcommunicates an HTTP message to the web serverto publish the API message to the system controllera, it may include the token with the HTTP message (e.g., for authorization purposes). The web servermay thereafter treat/use the authorization token within the HTTP message (i.e., “XYZ123”) as a request to publish the API message to the authorization token, with systemnow using the token in a similar way to how it used MAC addresses in order to communicate API messages with the system controllera. Authorization tokens may also be used in a similar fashion in systemfor a network deviceto subscribe to receive API message published by a system controller. Again, other example process flows are possible.
370 310 340 370 310 340 340 316 310 370 310 340 342 344 346 340 In general, one will recognize that functions and operations described herein as the message broker, data aggregator, and web servermay each be performed on different computing devices or the same computing device or some combination thereof. One or more of these modules may also be cloud based systems. Similarly, one will recognize that functions and operations described herein as being performed by the message broker, data aggregator, or web servermay be performed by the other modules. For example, web servermay provide filtersrather than the data aggregator. Furthermore, while functions and operations are described herein as being performed by the message broker, data aggregator, and web server, functions and operations may be performed by additional modules. For example, the web serviceand the worker servicemay be distributed across multiple computing devices. Subscription databasemay be a database management system separate from the web server, etc. Other variations are possible.
6 FIGS.A-V 12 FIG. 2 FIG. 5 FIG. 1103 680 680 144 280 280 380 580 680 220 202 210 202 1103 202 680 With reference now toan example control application() is now described that may execute at least in part on a network device. Network devicemay be similar to any of network devices,a-b,, andas described herein and may be a personal computer (PC), a laptop, a tablet, a smart phone, or equivalent device, for example, although it may also be another type of computing device. The control application may be a graphical user interface (GUI) based application that may provide a GUI based interface/GUI based “window(s)” to a user via the network deviceand that may allow a user of the network device to interact with, control, and/or configure control devices within a user environment (such as control devicesa of user environmenta). For description purposes only, load control systema of user environmenta and the communication systems described with respect to-will be used herein as an example load control system and communication system to describe the control application. Nonetheless, the features and functions of the control applicationdescribed herein are applicable to other types of control devices, load control systems, and communication systems. As an example, the user environmenta may be a residence or home and the user of the network devicemay a residence of the home. Nonetheless, the example control application may be also applicable to other types of user environments such as a building, hotel, etc.
12 FIG. 680 144 280 280 380 580 680 1102 1102 1103 1102 680 680 1104 1104 1102 1104 1104 1104 1103 680 1106 1102 1102 1106 1106 1102 1106 1102 680 1112 1102 1103 680 1108 1108 1108 1102 680 1110 1110 1110 680 CC shows an example block diagram of network device(this diagram may also apply to any of network devices,a-b,, and, for example). Network devicemay include one or more general purpose processors, special purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, microcontrollers, integrated circuits, programmable logic devices (PLD), application specific integrated circuits (ASICs), or the like and/or may further include other processing element(s) such as one or more graphic processors (hereinafter collectively referred to as processor(s)). Processor(s)may control the functionality of the network device and may execute the control application, in addition to other software applications such an operating system(s), database management systems, etc., to provide features and functions as describe herein. The processor(s)may also perform signal coding, data processing, power control, input/output processing, and any other functionality that enables the network deviceto perform as described herein. The network devicemay also include one or more memory modules/devices(including volatile and non-volatile memory modules/devices) which may be non-removable memory modules/devices and/or a removable memory modules/devices. Memory modules/devicesmay be communicatively coupled to the processor(s). Non-removable memory modules/devicesmay include random-access memory (RAM), read-only memory (ROM), a hard disk(s), or any other type of non-removable memory storage. Removable memory modules/devicesmay include a subscriber identity module (SIM) card, a memory stick, a memory card, or any other type of removable memory. The one or more memory modules/devicesmay store the control applicationand may also provide an execution space as the processor(s) execute the control application. Network devicemay also include a visual display screen(s)/terminal(s)that may be communicatively coupled to the processor(s). Together with processor(s), visual display screen(s)may display information to the user via one or more GUI based interfaces/GUI based “window( )” as described herein. The display screen(s)and the processor(s)may be in two-way communication, as the display screenmay include a touch sensitive visual screen module configured to receive information from a user and providing such information to the processor(s)Network devicemay also include one or more input/output (I/O) devices(e.g., a keyboard, a touch sensitive pad, a mouse, a trackball, audio speaker, audio receiver, etc.) that may be communicatively coupled to the processor(s). The I/O devices may allow the user to interact with the control application, for example. Network devicemay further include one or more transceivers/communications circuits (collectively, communications circuit(s)) for communicating (transmitting and/or receiving) over wired and/or wireless communication networks, for example. The communications circuit(s)may include an RF transceiver(s) or other circuit(s) configured to perform wireless communications via an antenna(s). Communications circuit(s)may be in communication with processor(s)for transmitting and/or receiving information. Each of the modules within the network devicemay be powered by a power source. The power sourcemay include an AC power supply and/or DC power supply, for example. The power sourcemay generate a supply voltage Vfor powering the modules within the network device.
1103 680 In addition to including GUI based software modules, for example, that provide the graphical features and visual images described herein, the control applicationmay also include a logic engine(s) for providing features of the GUI and features of the application in general as described herein. The GUI based software modules and/or logic engine may be one or more software based modules that include instructions, for example, that are stored on and/or execute from one or more tangible memory devices/modules of the network device as indicated above. Features of the control application may also and/or alternatively be provided by firmware and/or hardware in addition to/as an alternative to software based modules. Again, network deviceis an example and the control application may execute on other types of computing devices.
680 144 280 280 380 580 250 202 144 250 270 280 280 250 380 580 1103 680 250 1103 250 As indicted, network devicemay be similar to any of network devices,a-b,, andas described herein. Accordingly, the control application may communicate with system controllera of the user environmenta via a network local to the user environment (such as a Wi-Fi network) similar to deviceas described herein, may communicate with system controllera using a message based protocol (e.g., MQTT) and a message broker (e.g., message broker) similar to network devicesa-b as described herein, and/or may communicate with system controllera using an HTTP based interface similar to network deviceand/or network deviceas described herein. Nonetheless, one will recognize that the control application/network devicemay communicate with system controllera using other communication systems and/or protocols, etc. In addition, the control applicationis described herein as being a self-contained application that executes on the network device and communicates messages with the system controllera, for example. In other words, logic of the control application and generated graphics associated with the application are described herein as executing from the network device. Nonetheless, features and/or graphics of the control application may be implemented in other fashions, such as a web hosted application with the network device interfacing with the web hosted application using a local application (e.g., a web browser or other application) for providing features and functions as described herein.
202 220 680 250 680 680 250 250 1103 220 220 250 220 220 210 250 1103 210 2 FIG. 5 FIG. In general, while user environmenta may include control devicesa that the control application/network devicemay interact with, control, and/or configure via system controllera, the user environment may also include other types of control devices that may be, for example, Wi-Fi enabled and/or HomeKit enabled control devices for example (e.g., devices that are configured to communicate via wireless and/or wired based networks). For description purposes only, such other control devices (i.e., control devices to which the control application/network devicedoes not communicate with via the system controller) will be referred to herein as Wi-Fi enabled and/or HomeKit enabled control devices. Nonetheless, one will recognize that the features described herein are not limited to only Wi-Fi enabled and/or HomeKit enabled control devices. Examples of such other control devices may include lighting control devices/bulbs, thermostats, fans, etc. Network deviceand these Wi-Fi enabled control devices, for example, may be configured to directly communicate with each other without having to communicate through system controllera (e.g., if the network device is also HomeKit enabled), and/or may communicate via one or more cloud based servers, for example, again without communicating through system controllera. According to one aspect of the control applicationdescribed herein, assuming the network device is configured to communicate with such Wi-Fi enabled control devices (e.g., via HomeKit), for example, the control application may be configured to also interact with, control, and/or configure these devices, in addition to control devicesa. In so doing, the control application may combine within the graphical interfaces described herein information obtained from such Wi-Fi enabled devices, for example, and information obtained on control devicesa that are controlled by the system controllera. The control application may also provide interfaces that allow a user to control both Wi-Fi enabled control devices, for example, and control devicesa that are controlled by the system controller. For ease of description, the control application will be described herein as interacting with control devicesa of load control systema. Nonetheless, similar functionality as described herein may also apply to Wi-Fi enabled devices that are not controlled via the system controllera and to which the network device may directly and/or indirectly communicate with. Which types of devices the control application is interacting with may not be readily apparent to the user. One will also recognize that the control application described herein may alternatively only control Wi-Fi enabled devices, for example, that the network device is configured to directly and/or indirectly control/interact with. Again, one will further recognize that while control applicationis described herein in the context of load control systema and communication systems such as those described in reference to-, the features and functions of the control application are applicable to other types of control devices, load control systems, and communication systems including for example, Wi-Fi enabled and/or HomeKit enabled systems
680 250 210 680 610 250 250 210 254 250 250 250 680 680 250 6 FIG.A 2 5 FIGS.- As one example, the network devicemay display to a user via a visual display screen an icon associated with the control application. The network device may detect the selection of the icon by the user (such as detecting the using touching the icon) and in response, may start (which may also be referred to herein as launching, running, executing, activating and/or invoking) the control application (One will recognize that the control application may be started in other ways, including the network device being configured to automatically start the application upon being reset and/or powered on). In response to being started or launched, the control application (in addition to performing security/authentication procedures, for example) may communicate one or more messages to the system controllera, for example, to obtain/request/query for various information, such as status/state and/or configuration information of the load control systema, and use this information to initially generate and display to the user via the display screen of the network devicea graphical user interface, such as interfaceof. Again, at starting, for example, the control application may also communicate with Wi-Fi enabled devices, for example, the network devices has been configured to communicate with. Thereafter, the control application may continue to request and/or receive various information from the system controllera at various times depending on what information the control application may need to display to the user and/or is being generated by the system controller. (Again, the control application may also communicate with Wi-Fi enabled devices in a similar fashion.) Upon receiving information requests from the control application (such as requests for status and configuration information), system controllera may respond by communicating with control devicesa and/or database, for example, to determine and provide the requested information and respond to the control application with one or more response messages. In addition to determining status and configuration of the load control system, for example, the control application may also allow a user to communicate messages to the system controllera to modify, edit or change the configuration and/or state of the load control systema as further described herein. In addition, the system controllera may also asynchronously provide status and configuration information to the control application (e.g., provide an indication of status/state changes of control devices without the control application querying for such changes). The control application may use this information to update various graphical user interfaces displayed to the user via the network device. (Again, Wi-Fi enabled devices and the control application/network device may interact in similar fashions). Again, the control application/network deviceand system controllera may communicate using mechanisms as discussed above with reference to.
250 Before turning to various graphical user interfaces the control application may provide to a user, a description of example types of information the control application may request/receive from the system controllera, for example, to generate interfaces is first discussed. One will recognize that these are examples and other types of information may be provided. In addition to receiving such information from the system controller, the control application may also alter such information at the system controller, as described below.
250 210 250 210 The control application may request/obtain from the system controllera information related to the configuration and current state/status of load control systema. Such information provided by the system controllera may include the specific control devices that are part of the load control systema including an identifier that indicates the type of the control device The specific control device types may include one or more lighting control devices (referred to herein also as lighting devices) that each directly controls one or more respective electrical lighting loads/lights, one or more temperature control devices (such as and hereinafter also referred to as a thermostat device(s)) that directly control respective HVAC systems, one or more ceiling fan devices (also referred to herein as fan devices) that each directly controls one or more respective fans (e.g., on, off, fan speed), one or more audio control devices (e.g., a speaker system), and one or more window shade devices that each directly controls positions or levels of one or more respective shades (One will recognize that while shade devices and shades are discussed herein as an example of motorized window treatments and window covering, other types of motorized window treatments and window coverings are possible such as drapes, curtains, blinds, etc.). The control devices may also include one or more keypads, such as wall-mounted keypads, tabletop keypads, and/or remote-control/handheld keypads and devices. As an example, a given keypad may include one or more actuators such as buttons (although other types of actuators are possible), and may be configured to control one or more control devices/electrical loads (e.g., lighting control devices/lighting load(s), HVAC system(s), shade(s), fan(s), and/or speaker(s), etc.). In general, a keypad may include different types of actuators such as on/off actuators, raise lower actuators for lights or shades, fan speed actuators, scene actuators, etc. A scene actuator may set one or more control devices/electrical loads controlled by the keypad to a pre-set configuration.
The control devices may also include one or more occupancy/vacancy sensors and/or one or more vacancy only sensors. As an example, an occupancy/vacancy sensor may signal to other control devices a detected occupancy event/condition and a detected vacancy event/condition (e.g., after detecting an occupancy event). The sensor may signal these events by generating an occupancy signal(s)/message(s) when the sensor detects an occupancy event, by generating periodic occupancy signal(s)/message(s) as it detects a continued occupancy event, and/or by generating vacancy signal(s)/message(s) when it detects a vacancy event (e.g., after detecting an occupancy event). As another example, it may signal a vacancy event by ceasing to generate periodic occupancy signal(s)/message(s). A vacancy only sensor may signal to other control devices a detected vacancy event/condition (e.g., after detecting an occupancy event). It may signal these events by generating vacancy signal(s)/message(s) when it detects a vacancy event (e.g., after detecting an occupancy event). In this example, the sensor may still generate a signal(s)/message(s) when it detects an occupancy event, but control devices may not be responsive to such signals. As another example, a vacancy only sensor may signal a vacancy event by ceasing to generate periodic occupancy signal(s)/message(s). One will recognize that these are examples and sensors may operate in other ways based on detected occupancy/vacancy events. One will also recognize that when a sensor detects an occupancy and/or vacancy event, it may communicate these events in various ways such as communicating signals or messages, etc. Such signals etc. may be communicated via wireless communications, wired communications, optical communications, etc. Other examples are possible. For ease of description, occupancy/vacancy sensors and vacancy only sensors are referred to herein collectively as occupancy sensors and a sensor is referred to as generating signals when detecting occupancy and/or vacancy events.
210 220 210 210 210 250 210 210 Load control systema may be configured such that one or more control devicesa may be responsive to the signals from a given occupancy sensor (e.g., be responsive to occupancy and/or vacancy events detected by the sensor). For example, load control systema may be configured such that one or more lighting control devices may be responsive to occupancy and vacancy signals from a given occupancy sensor. For example, in response to an occupancy signal from an occupancy sensor, a given lighting control device that is off (i.e., its respective lighting load(s) are in an off state) may turn its respective lighting load(s) on and in particular, may set the lighting load(s) to a defined lighting/dimming level(s). In response to a vacancy signal, the given lighting control device, when on, may turn its respective lighting load(s) off or may reduce their lighting level(s) to a defined lighting/dimming level(s). As another example, load control systema may be configured such that one or more lighting control devices may be responsive only to occupancy signals from a given occupancy sensor. As a further example, load control systema may be configured such that one or more lighting control devices may be responsive only to vacancy signals from a given occupancy sensor. For example, in response to an occupancy signal from an occupancy sensor, a given lighting control device may ignore the signal. In response to a vacancy signal, the given lighting control device, when on, may turn its respective lighting load(s) off or may reduce their lighting level(s) to a defined lighting/dimming level(s). How a given lighting control device responds to occupancy and/or vacancy signals from a given occupancy sensor may be stored at the sensor and conveyed to the lighting control device as part of the signals, may be stored at the lighting control device itself, and/or may be stored at the system controllera, for example, which may receive the occupancy and vacancy signals and may subsequently control the lighting control device. One will recognize that a given lighting control device may be responsive to signals from more than one occupancy sensor. Similarly, multiple lighting control devices may be responsive to signals from the same occupancy sensor, and may each be configured to react differently to the signals. One will also recognize that load control systema may be configured such that other control devices (e.g., fan devices, shade devices, thermostat devices, and audio devices, etc.) may be responsive to occupancy and/or vacancy signals from an occupancy sensor(s). In general, an occupancy sensor may be a standalone device, that is, a device that is separate from the control devices (such as lighting control devices) that may be responsive to the signals generated by the sensor. As another example, an occupancy sensor may be integrated with another control device, such as a lighting control device. The control device in which the sensor is integrated may be responsive to signals generated by the sensor and/or control devices separate from the control device in which the sensor is integrated may be responsive to signals generated by the sensor. One will recognize other examples are possible. One will recognize that load control systema may include other types of control devices.
250 202 210 254 202 The information provided by the system controllera may also include for each control device a location indicator that may indicate a location of the device within the user environmenta and/or the location of the electrical loads the device controls. This indicator may be in the form of a location name (e.g., a text string) and/or an indicator that may be translated into a location name (e.g., a text string), although other mechanism may be used. For example, assuming the user environment is a home, possible locations may include standard locations like “kitchen,” “living room,” “family room,” “dining room,” “master bedroom,” “bedroom,” “master bathroom,” “bathroom,” “basement,” “front porch,” etc. Locations may also include sub-locations in a room like “basement—sitting area,” “basement—game area,” basement—work area,” basement—storage area,” etc. Locations may also include user defined/customized locations like: “Mary's bedroom,” “John's bedroom,” etc. The location of a control device may be programmed into load control systema (and stored in database, for example) by a user when installing the system within the user environmenta. One will recognize these are examples.
250 202 210 254 202 For lighting control devices, the information provided by the system controllera may also include a type indicator that may indicate a type of a lighting load(s) (also referred to herein as a light(s)) controlled by the control device. A type of a lighting load may include, for example, the function/purpose of the lighting load within its defined location and/or indicate/suggest a specific location of the lighting load within its defined location (e.g., ceiling light vs floor lamp). A type indicator may be in the form of a name/function (e.g., a text string) and/or an indicator that may be translated into a name/function (e.g., a text string), although other mechanism may be used. As an example, assuming the user environmenta is a home, standard types may include ceiling or overhead light, chandelier, pendant(s), table lamp(s), floor lamp(s), sconce(s), sink light(s) (e.g., for a kitchen or bathroom), island light(s) (e.g., for a kitchen), closet light(s), etc. Types may also include user defined/customized types. The type of lighting load may be programmed into load control systema (and stored in database, for example) by a user when installing the system within the user environmenta. One will recognize these are examples. Types may also apply to other control devices such as fans, shades, and keypads. Again, the type indicator may provide an indication of a specific function and or location within the device's defined location. Other example types may include “left shade,” “right shade,” “center shade,” “wall keypad,” “tabletop keypad,” etc.
250 210 254 202 The information provided by the system controllera may also include an indication of an icon to be used with applications (such as the control application) to graphically represent the control device on a graphical interface. The type of icon to associate with a device may be programmed into load control systema (and stored in database, for example) by a user or automatically when installing the system within the user environmenta.
250 The information provided by the system controllera may also include a current status/state and/or configuration of one or more of the control devices. For example, for a lighting control device the status information may include whether the respective lighting load(s) are in an on or off state, and if in the on state whether it is a dimmed state and possibly further the dimming level. For a shade device, the status information may include whether the respective shade(s) are open/up, closed/down, partially open/up, and if partially open/up its actual level. For a thermostat device and its respective HVAC system, the status information may include the setpoint/target temperature of the system, the present room temperature as measured by the thermostat device, the current mode setting (e.g., heat, cool, auto, off), the current fan setting (e.g., on, auto), and schedule information (e.g., on vs off, assuming the thermostat device is programable to have schedules). For a ceiling fan device, the status information may include whether the respective fan(s) are in an on or off state, and if in the on state possibly the fan speed. For an audio control device (e.g., a speaker system), the status information may include whether the device is on/playing music for example, or off and/or muted. For a keypad device such as a wall mounted, tabletop, and/or handheld/remote keypad, the status information may include which actuator of the device was last actuated (i.e., is currently activated) and if the keypad has one or more actuators corresponding to scenes, the configuration of each scene (e.g., what control devices are part of the scene, the settings of these devices for the scene such as light levels or fan speeds, etc.). The control application may allow the user via the network device to modify these scenes and to create new scenes. For an occupancy sensor, the status information may include, for example, whether the sensor has detected an occupancy event/condition and/or is in an occupancy state, has detected a continued occupancy event/condition and/or is in a continued occupancy state, and/or has detected a vacancy condition and/or is in a vacancy state. Again, these are examples and other information is possible.
250 1103 250 254 220 As another example, the system controllera may maintain information related to one or more pre-programmed scenes that may be actuated by a user from an application, such as the control application. A scene may be, for example, certain settings for one or more lights, shades, etc. The system controllera may maintain respective scene configuration information in database. The control application may obtain from the system controller information related to these pre-programmed scenes and as further described below, thereafter allow the user via the network device to a select a given scene, resulting in the control application instruction the system controller to configure control devicesa according to the selected scene (e.g., set one more light levels, fan speeds, shade levels, etc.). As also described below, the control application may allow a user to modify the pre-programmed scenes maintained by the system controller and to create and store at the system controller new scenes that may subsequently be selected by the user.
250 250 254 As a still further example, the system controllera may maintain various timeclock schedules where a schedule may be, for example, a certain setting for one or more control devices (e.g., lights, shades, etc.) that the system controller automatically configures based on a schedule. The system controllera may maintain respective timeclock schedules in databaseand the status of these schedules, such as whether a given schedule is active, inactive, or disabled. The control application may obtain from the system control information related to these timeclock schedules and as further described below, thereafter allow the user via the network device to modify these schedules and to create new schedules.
6 FIG.A 6 FIG.A 610 680 610 250 610 620 640 660 620 220 210 640 642 644 646 640 660 660 660 210 642 643 660 642 610 642 Turning now to, there is shown a graphical user interfacethat may be initially displayed by the control application to a user via network deviceupon the application initially starting (such as by the user selecting and starting the application at the network device). Again, information displayed in user interfacemay be based on information obtained by the control application from the system controllera upon the application being started. User interfacemay include three sections (which may also be referred to herein as panes or areas or spaces) including a status section (or pane), a menu selection section (also referred to herein as a menu selection pane, a tab section or a tab pane), and an information section (or pane). As further described below, status sectionmay provide the user with a status/state of control devicesa within the load control systema. Menu selection sectionmay provide the user with selectable tabs (here, three tabs are shown including a “Devices” tab, a “Scenes” tab, and a “Schedules” tabalthough the section may include fewer or additional tabs, including the three tabs being in an order different than that shown). Sectionmay be scrollable left to right for example to display additional tabs, for example. The control application may change and/or display the information in sectiondepending on which tab is selected and thus, sectionmay be depend upon the selected tab. In general, information sectionmay provide the user with different status information and controls for controlling and/or configuring load control systema. In the example of, the Devices tabis active (as shown by the under-bar, although other means may be used such as reverse highlighting, etc. to indicate which tab is currently active). Here, sectionshows information corresponding to the Devices tab. Upon the control application starting, it may default user interfaceto the Devices tabbeing active, although one of the other tabs may also be the default-active tab.
620 220 210 622 624 626 202 620 601 628 620 620 620 776 620 620 6 FIG.B 6 FIG.L Beginning with section, as indicated this section may display the status/state of one or more control devicesa within the load control systema. In this example, the control application displays three icons each indicating different status information. Iconmay be referred to herein as a lighting devices icon that indicates to the user the number of lighting control devices with respective lighting loads within the load control system that are currently on. Iconmay be referred to herein as a shades devices icon that indicates to the user the number of shade devices with respective shades within the load control system that are currently open/up (where open/up may be any shade state other than fully closed/down). Iconmay be referred to herein as a thermostat devices icon that indicates to the user a current temperature in the user environmenta. One will recognize that fewer and/or additional icons conveying additional and/or other information to a user may be displayed by the control application in section. For example,shows another example graphical user interfacethat includes an iconthat may be referred to herein as an audio devices icon that may indicate to the user a status of audio devices within the load control system, such as whether any audio devices are currently on/playing music and/or the number of devices that are currently on/playing music. The control application may be configured such that sectionis “scrollable” by the user (such as left to right or up/down) in order to display additional icons. As another example, sectionmay be configured such that there are multiple rows of icons displayed at one time to a user. As another example, sectionmay include what is referred to herein as a fans iconas shown inthat may indicate to the user a status of fan devices within the load control system, such as the number of fans that are currently on. Sectionmay also be configurable by the user of the application such that only certain icons and corresponding status information are shown to the user, while others are not. According to another example, if there is no status to report for a given load control device (such as all lighting devices are off), the control application may not display the corresponding icon at all. Other examples are possible. Reference will now be made in further detail to representative icons that may be displayed by the control application in section
622 210 250 622 622 622 622 250 622 622 250 250 622 250 622 680 622 622 622 6 FIG.A 6 FIG.A Beginning with icon, as indicated it may be a lighting devices icon that indicates to the user the number of lighting control devices with respective lighting loads within the load control systema that are currently on. The control application may determine this number based on information obtained from the system controllera. A given lighting control device may control more than one lighting load and may control these loads in unison (or may individually control these loads to different states). According to one example, the control application may view a given lighting control device and its respective lighting loads as one device. In this example, as long as one lighting load controlled by the lighting control device is in an on state, the control application may count this as one (1) with respect to the number associated with icon, regardless of the number of controlled loads that are actually controlled by the device (and that may actually be on). Nonetheless, one will recognize that the number associated with iconmay represent the actual number of lighting loads controlled by each lighting control device. Here, the control application may view each lighting load controlled by a given lighting control device individually. In this example, the number associated with iconmay be representative of each lighting load. Hence, if two lighting loads controlled by a lighting control device are in an on state, the control application may count this as two (2) with respect to icon. For description purposes, the control application is described herein from the perspective of a lighting control device, where the lighting control device and its respective lighting loads are treated as a single unit. In this example of, the control application has determined based on information received from the system controllera that eight lighting control devices have loads currently on (where on may include a lighting load in a dimmed state and/or a fully on state). The control application may indicate this determination to the user through the displayed number “8” associated with the iconas shown in(although one will recognize that other variations are possible such as displaying the word “eight”, or a symbol that represents 8, such as 8 dots, etc.). As one example, the control application may actually perform the count to determine the number 8 based on information received from the system controller (e.g., search the list of lighting control devices and determine how many are in an on state) or the system controller may perform the count and report the resulting value to the control application. Other variations are possible. In addition to displaying the number of lighting control devices determined to be currently on (i.e., that have at least one of its respective lighting loads on), the control application may actively update the number (increment/decrement) that is displayed by iconbased on, for example, the system controllera actively monitoring the on/off state of lighting control devices in the user environment (e.g., as a result of a user in the environment turning lights on and off) and asynchronously reporting (such as in “real-time” or as the state change event occurs) this information to the control application. As another alternative, the control application, subsequent to being started, may periodically request from system controllera the status of the lighting control devices and/or lighting loads and update the number displayed by iconbased on the response from the system controllera. In this fashion, iconallows a user to quickly and easily determine from network devicewhether any lighting loads are on in the user environment. If no lighting loads are determined to be currently on, the control application may display the value “0” with icon, may display no value with the icon, may not display the icon at all (thereby indicating no lighting control devices are on, etc.). Other variations are possible. For example, rather than displaying a number with icon, the control application may display the icon when any lighting load is on and not display the icon when all lighting loads are off. As a still further example, iconmay indicate the number of lighting control devices having respective lighting loads in the off state.
622 622 680 702 702 622 702 704 702 706 702 706 622 660 6 FIG.C 6 FIG.A 6 FIG.C Iconmay also be selectable by the user. Upon detecting/determining that the user has selected icon, the control application may display to the user via network devicethe graphical user interfaceas shown in. Interfacemay continue to display to the iconand the number of lighting control devices having at least one lighting load determined to be currently on. Interfacemay also include a “Turn All Lights Off” icon(although other text and/or icons may be used), which may be selectable by the user. Interfacemay also include a respective iconfor each lighting control device having lighting loads that are currently on (Again, according to this example, the control application may be configured to treat a lighting control device and its respective lighting load(s) as one unit, collectively representing the unit as one icon. As an alternative, each lighting load controlled by a lighting control device may be represented by an icon in interface, or some combination thereof). Each of these icons may also be selectable by the user. In this example, eight iconsare shown in connection with the value “8” as shown with icon. The control application may use the location indicator associated with each lighting control device to display with each icon an indication of the respective device's/lighting load's location in the user environment (in this example, textual information such as, “Kitchen,” “Living Room,” “Front Porch,” and “Master Bedroom” are used, although other mechanisms are possible such as segregating icons by location, similar to sectionofbut only displaying icons for devices currently on). The control application may also use the type indicator associated with each lighting control device to display in connection with each icon a further indication of the device's/lighting load's location and/or function (in this example, textual information such as, “Ceiling Lights,” “Pendants,” “Sink Light,” “Sconces,” and “Table Lamps” are used, although other mechanisms are possible). As further shown in, different icons may be used for various lighting control devices/lighting loads (here, example icons representative of a pendant, table lamp, sconce, and light bulb are used and other icons are possible). As indicated, the system controller may provide an indication of the type of icon the control application should use. As another example, the control application may use the location indicator and/or type indicator associated with each lighting control device, for example, to determine which icon to use. In general, the control application's use of textual information and customized icons allows the user to more easily determine the actual lighting control device/lights in the user environment the icon refers to.
702 622 250 706 250 706 702 622 250 702 706 622 702 702 According to a further aspect of interface, in a similar fashion to the control application actively updating the number displayed by iconbased on, for example, the system controllera actively monitoring the state of lighting control devices in the user environment, the control application may actively update the iconsdisplayed to the user as lighting control devices in the user environment change state from on to off and off to on (i.e., as lighting loads controlled by the device change state). In other words, as a lighting control device turns its respective lighting load(s) on (e.g., at least one of the loads), the control application may receive an indication of this change from the system controllera (for example, automatically or in response to a query by the control application) and display to the user an additional iconin interfacethat is associated with the lighting control device (in addition to incrementing the number associated with icon). Similarly, as a lighting control device turns all its respective lighting load(s) off, the control application may receive an indication of this change from the system controllera and remove from interfacethe iconassociated with the lighting control device (in addition to decrementing the number associated with icon). As another example, rather than remove the icon from interface, the control application may change the appearance of the icon (e.g., change its color or contrast as compared to other icons) to signify off. If interfaceis subsequently closed and then returned to by the user, the control application may now not display the icon. Other variations are possible.
704 210 250 250 622 704 702 704 704 702 202 622 704 702 704 704 702 702 622 706 704 706 706 706 Turning now to icon, as indicated, this icon may be selectable by the user and may allow the user to turn off all lighting control devices and thus lighting loads that are currently on in the load control systema. Upon detecting/determining that the user selected the icon, the control application may communicate one or more messages to the system controllera instructing the system controller to turn all lighting control devices/lights off. Once completed, the system controllera may provide a response to the control application (automatically or in response to a query, for example) indicating that the lighting control devices are now off. In response, the control application may change the number associated with iconto “0” for example (or show no value for example), and remove all iconsfrom interfaceor change the appearance of the icons, for example. The control application may also deactivate iconsince all lighting control devices/lights are off (where deactivating may include making the icon non-selectable by a user and/or changing the appearance of iconsuch as by changing its color or contrast as compared to other icons, removing the icon from interface, etc.). Once a lighting control device returns to the on state (such as by a user in the user environmenta turning a light on), in addition to incrementing the number associated with iconto “1” for example, and displaying an iconin interfacerepresenting the lighting control device, the control application may also activate/re-activate icon(where activating the icon may include making the icon selectable by a user and/or changing the appearance of iconsuch as by changing its color or contrast as compared to other icons, displaying the icon in interface, etc.). One will recognize that other examples are possible such as interfacealso/alternatively including a “Turn All Lights On” icon, which upon selection, may cause the control application to communicate one or more messages to the system controller to turn all lights in the user environment to an on state (or a pre-programmed set of lights to an on state). Again, such an action by a user may cause the control application to increment the number associated with iconand to display respective iconsaccordingly. As an alternative and/or in addition to selecting icon, iconsmay also be selectable by the user and allow the user to individually control the lighting control devices and thus lights/lighting loads associated with the icons (One will recognize that as an alternative, if the control application is configured to show iconsin a fashion that indicates the respective lighting control device is off, the icon may continue to be selectable by the user to also control the device.) Upon detecting/determining that the user selected a given one of the icons, the control application may display to the user an interface to control the respective device.
706 708 708 702 708 708 710 710 710 250 710 709 622 702 706 708 712 790 712 790 791 791 791 791 792 792 790 793 793 794 794 790 795 795 796 796 790 708 708 790 708 680 708 6 FIG.D 6 FIG.D 6 FIG.E For example, assuming the control application detects/determines that the user selects the iconlabeled “Kitchen Ceiling Lights,” the control application may display the control interfaceshown in(in this example, the lights are controlled as one to a common state). Control interfacemay be shown alone or superimposed over interface, for example. One will recognize that control interfaceis an example and other controls are possible. The control application may determine based on information provided by the system controller (e.g., from the type indicator) whether the “Kitchen Ceiling Lights” are configured as dimmable lights or simply on/off lights etc. and based on that determination may display an appropriate control interface. In this example, the “Kitchen Ceiling Lights” may be configured as dimmable lights and as such, the control application may display control interfacewith a movable/slide-able actuator(e.g., a vertically movable actuator) that may be actuated/moved by the user. The control application may initially display the actuator, as in this example, to provide an indication to the user of a current dimming state of the lights (e.g., the actuator is approximately mid-way along its possible path). Based on detecting movement of actuatorby the user (such as raising or lowering the intensity of the lights, turning the lights off, etc.), the control application may communicate one or more messages to the system controllera to instruct the controller to reconfigure the lighting control device/lights based on the user's instructions. If the user turns the lights off such as by moving the actuatorto its lowest most position at, this update may be reflected in icon(e.g., decrementing the number) and interfaceas similarly discussed above by removing or altering the appearance of the iconcorresponding to the “Kitchen Ceiling Lights.” As shown in, control interfacemay also include a selectable “Edit” iconthat when selected, may cause the control application to display a user interface that may allow a user to reconfigure the respective lighting control device/lights (here, the “Kitchen Ceiling Lights”). For example, referring to, there is shown an example configuration interfacethe control application may display to a user upon detecting selection of the “edit” icon. Interfacemay include a fieldand/or an actuator/icon′ configured to enable a user to change the type indicator (here “Ceiling Lights”) associated with the lighting control device, (e.g., through a drop-down menu of defined types obtained via actuation of actuator′, a free text field, etc.) Interface may also include an actuator/iconconfigured to enable a user to change the location indicator (here, “Kitchen”) associated with the lighting control device (e.g., through a drop-down menu of defined locations obtained via actuation of actuator). Interfacemay include an actuator/iconconfigured to enable a user to change the icon associated with the lighting control device/lights (e.g., through a drop-down menu of defined icons obtained via actuation of actuator). The interface may include an actuator/iconconfigured to enable a user to adjust or configure the trim level of the lighting control device/lights, such as a low-end trim level (e.g., a minimum light level the light(s) may be controlled to and/or a high-end trim level (e.g., a maximum light level the light(s) may be controlled to) (e.g., through a drop-down menu of defined trim levels obtained via actuation of actuator). Interfacemay include an actuator/iconconfigured to enable a user to adjust or configure whether the lighting control device controls the dimming level of its respective light(s) via either forward phase dimming or reverse phase dimming (e.g., through a drop-down menu obtained via actuation of actuator). Again, the control application may display editable features of a lighting control device (such as trim and phase) based on a determination that the lighting control device controls dimmable light(s). The interface may also include a “Delete Device” icon. Actuation of this iconmay cause the control application to instruct the system controller to remove the lighting control device from the load control system. Assuming the user makes changes to the lighting control device via interface, once done the user may select “Save” or “Cancel” (although other mechanisms may be used) as shown in the interface to return to control interfacefor example and to save or not save the changes/configurations. Any saved changes made by the user regarding the editing of the lighting control device may be communicated by the control application to the system controller, which may then reconfigure the lighting control device accordingly. One will recognize that control interfaceand configuration interfaceare examples and other controls are possible. A user may exit control interfaceby touching an area of the display screen of network deviceoutside of the interface. Other examples are possible.
702 706 706 702 2100 2100 2100 2100 2100 2102 2108 2104 2104 2106 10 FIG.A As another example of a control interface to control a lighting control device, assume that interfaceincludes an iconfor a table lamp in the master bedroom, that the icon is labeled “Master Bedroom Master Reading,” and that the control application detects/determines that the user selects this iconfrom interface. In response thereto, the control application may display the example control interfaceshown in. One will again recognize that control interfaceis an example and other control interfaces are possible. One will further recognize that control interfacemay be displayed to a user in response to other actions by the user via other interfaces and/or in response to other determinations made by the control application and/or system controller. The control application may determine based on information provided by the system controller (e.g., from the type indicator) whether the “Master Bedroom Master Reading” table lamp is configured as a dimmable lighting load or simply an on/off lighting load etc. and based on that determination may display an appropriate control interface. In this example, the “Master Bedroom Master Reading” table lamp may be configured as dimmable lighting load and as such, the control application may display control interfaceto provide dimming control. According to this example, control interfacemay include an actuator(which may be referred to herein as a dimming actuator for example) that is movable/slide-able (e.g., vertically movable) along control linec, an increase actuatora and a decrease actuatorb, and an on/off actuator.
2106 702 2106 2106 2106 2106 10 10 FIGS.A andC 10 FIG.A 10 FIG.C Beginning with actuator, as shown in this example it may be displayed as an icon that resembles the icon shown in interface, although one will recognize that other icons and/or controls may be used. Actuatormay be selectable by a user to turn the lighting control device (and thus the respective light(s)/lighting load(s)) on and off. According to one example, the control application may display the appearance of actuatordifferently based on the on/off state of the lighting load (e.g., change the icon's color or contrast). For example,(as discussed below) show an example that uses reverse contrast to show the on/off states, withshowing actuatorin a state that represents that the lighting load is on, and withshowing the actuatorin a state that represents that the lighting load is off. One will recognize that other examples are possible.
2102 2102 2108 2108 2108 2102 2108 2108 2102 2108 2102 2108 2106 2109 2109 2109 2102 2108 2102 2108 2102 10 FIG.A Turning to actuator, it may be an actuator that is movable/slide-able (e.g., a vertically movable, although one will recognize that actuatormay alternatively be horizontally moveable, for example) along control linec and that allows a user to increase the intensity/intensity level or brightness of the lighting load (e.g., by moving the actuator vertically upward towards positiona) or decrease the intensity of the lighting load (e.g., by moving the actuator vertically downward towards positionb). Actuatormay allow a user to control the intensity of the lighting load from a maximum intensity such as 100% (positiona) to a minimum intensity, which may be 0% (positionb) and which thereby may turn the lighting load off. In other words, moving actuatorto positionb may turn the lighting load off. The control application may display the position of actuatoralong control linec to represent the current relative intensity of the lighting load. The control application may also display with actuatoran indicatorthat numerically represents the current intensity of the lighting load, here shown as a numerical percentage value 70% although other example numerical representations may be used. As one example, indicatormay vary in value between 0% to 100%, with 0% representing off. The control application may also dynamically vary the value of indicatoras the user moves actuatorvertically upward and downward. As also shown in, the portion of control linec that lies below the actuatormay be shown in a different intensity or line thickness, for example (here a greater intensity/line thickness) than the portion of the control linec that lies above the actuator
2102 2104 2104 2104 2104 680 2104 2104 2104 2104 680 2104 2104 2102 2109 Similar to actuator, increase actuatora and decrease actuatorb may also enable a user to increase and decrease, respectively, the intensity of the lighting load. As one example, each of actuatorsa andb may be selectable in a single action (e.g., by a click and release of a mouse button, or a touch and release of the display screen of network device). Here, each individual actuation of increase actuatora may increase the intensity of the lighting load by a defined amount (e.g., 1%) and similarly, each individual actuation of decrease actuatorb may decrease the intensity of the lighting load by a defined amount (e.g., 1%). The defined amount may be user definable. As another example, each of actuatorsa andb may be selectable for a prolonged duration (e.g., by a press and prolonged release of a mouse button, or a prolonged touch of the display screen of network device). Here, the actuation may cause the intensity to increase/decrease until the mouse button is released or the touch of the screen is removed, for example. According to one example, as a user selects the increase actuatora or the decrease actuatorb, the control application may also automatically move actuatorin the up or down direction, respectively, and update the value of indicatoraccordingly.
706 702 2102 2106 2100 2100 2106 2102 2108 2109 2100 2106 2102 2108 2109 2109 2102 2104 2104 2106 2109 2109 10 FIG.A 10 FIG.C 10 10 FIGS.A andC 10 FIG.B 10 FIG.A In general, upon the control application initially detecting/determining that the user selects the iconlabeled “Master Bedroom Master Reading” from interfacefor example, it may initially display the actuatorand the actuatorof control interfaceto provide an indication to the user of a current on/off state and dimming state of the lighting load. For example, assuming the lighting load is on and is in a dimmed state of 70% intensity, the control application may display the control interfaceas shown in, with actuatorshown to indicate the lighting load is on and with actuatorat a relative position along control linec to represent 70% intensity and with the value of indicatorshowing the value 70% for example. Similarly, assuming the lighting load is off, the control application may display the control interfaceas shown in, with actuatorshown to indicate the lighting load is off and with actuatorat positionb to represent 0% intensity/the lighting load is off, and with the value of indicatorshowing the value 0% for example. With reference to indicator, initially the value may be displayed in one intensity and/or color, such as shown in. Once the user (and/or as the user) selects any of actuators,a,b, and/orfor example, the control application may increase the intensity (or change the color) of indicator, as shown in, with the increased intensity. At a defined time after the user stops altering the dimming state and/or the on/off state of the lighting load (or when the user stops actuating any of the actuators), the control application may return indictorto a reduced intensity as shown in(and/or revert the color back to the initial color). One will recognize that other examples are possible.
10 FIG.A 10 FIG.C 10 FIG.C 10 FIG.A 10 FIG.A 10 FIG.C 10 FIG.C 10 FIG.A 2106 2100 2106 2102 2108 2109 2106 2100 2106 2102 2108 2109 2106 2108 2100 2106 2102 2108 2109 2106 2108 2100 2106 2102 2108 2109 In general, if the lighting load is in an on state as shown inand the user actuates actuatorto turn the lighting load off, the control application may display control interfaceas shown in, with actuatordisplayed to show the lighting load is off and with actuatorautomatically moved to positionb and indicatorset to 0% to show an off state. Similarly, if the lighting load is in an off state as shown inand the user actuates actuatorto turn the lighting load on, the control application may display control interfaceas shown in, with actuatordisplayed to show the lighting load is on and with actuatorautomatically moved to a relative position along control linec to show the current intensity of the lighting load and with indicatordisplaying the intensity value (here, the system controller and/or control application, for example, may maintain a last set dimming level and/or a preferred dimming level and may automatically set the dimming level of the lighting load to this value upon the lighting load being turned on). Similarly, if the lighting load is in an on state as shown inand the user actuates actuatororb to turn the lighting load off (i.e., dim to 0%), the control application may display control interfaceas shown in, with actuatordisplayed to show the lighting load is off and with actuatorshown in positionb and the value of indicatorset to 0% to show an off state. Similarly, if the lighting load is in the off state as shown inand the user actuates actuatorora to turn the lighting load on (i.e., increase the intensity), the control application may display control interfaceas shown in, with actuatordisplayed to show the lighting load is on and with actuatormoved to an intensity position along control linec as selected by the user and the value of indicatorshowing the current intensity value. One will recognize that other examples are possible.
2102 2104 2104 2106 250 622 2100 2101 Overall, based on detecting the selection/movement of actuatorand/or actuatorsa andb by the user (such as raising or lowering the intensity of the lighting load, turning the lighting load off, etc.), and/or detecting the selection of actuatorby the user (such as turning the lighting load on and off), the control application may communicate one or more messages to the system controllera, for example, to instruct the controller to reconfigure the lighting control device/lighting load(s) based on the user's instructions. Again, if the user turns the lighting load off or on, this update may be reflected in icon(e.g., decrementing/incrementing the number), etc. A user may exit control interfaceby selecting icon, for example. Other examples are possible.
According to another example, a lighting control device may control a lighting load (or a plurality of lighting loads), where the lighting load may include a plurality of multi-colored LEDs (light emitting diodes), although one will recognize that other types of lighting loads configured to emit colors of various color temperatures may be used. In other words, the lighting load may include within a single package, for example, a number of differently colored emission LEDs and may be configured such that the chromaticity output of the LEDs is mixed to produce light having varying chromaticity coordinates (i.e., color points) within a color gamut formed by the various LEDs that make up the lighting load. As one example, a lighting load may include one or more red LEDs, one or more green LEDs, one or more blue LEDs, and one or more white, or substantially white LEDs (such as yellow and/or mint green LED(s)), which may be collectively referred to herein as a RGBW lighting load. Although an RGBW lighting load is described herein with a combination of four LEDs of certain colors, this is for example purposes and other combinations of LEDs (e.g., more or less LEDs and/or different color LEDs) may be used. Similarly, although an RGBW lighting load is described herein as having one or more white LEDs, other colored LEDs may be used instead, such as yellow or mint green LED(s). Again, RGBW LED lighting loads will be used herein for description purposes only, and other types of lighting loads configured to produce light of varying color temperatures may be used.
A lighting control device and such a respective lighting load may be configured to produce white or near-white light of varying brightness/intensities within a range of correlated color temperatures (CCTs) ranging from “warm white” (e.g., roughly 2600 K-3700 K), to “neutral white” (e.g., 3700 K-5000 K) to “cool white” (e.g., 5000 K-8300 K), for example (e.g., produce light of varying chromaticity coordinates that lie along the black body locus or curve). As a further example, such a lighting control device and its respective lighting load may be further configured to produce any color of varying brightness/intensities within the color gamut formed by the various LEDs that make up the lighting load.
According to a still further example described herein, such a lighting control device and its respective lighting load may be configured to one of two states or modes, including a non-vibrancy state/mode and a vibrancy state/mode (e.g., where the system may automatically select for a user a certain vibrancy level). The chromaticity coordinates of the mixed color output of the lighting load may be the same (or approximately the same) between the two modes (e.g., when in a non-vibrancy mode versus a vibrancy mode). However, the intensities of the various LEDs (and thus the intensities of the wavelengths that are produced by the LEDs) may be varied between the two modes such that in the vibrancy mode, the intensity of the white LED(s) for example, may be reduced (such as to 0%, for example) as compared with the non-vibrancy mode, with the intensities of the remaining red, green, and/or blue LEDs adjusted to maintain the same color output (or approximately the same) between the two modes. Similarly, non-vibrancy mode may increase the intensity of the white LED(s) (with the intensities of the remaining red, green, and/or blue LEDs adjusted to maintain the same color output (or approximately the same color output) as when in the vibrancy mode).
As such, as described herein, vibrancy mode may, for example, increase the intensity of one or more wavelengths produced by the red, green, and/or blue LEDs thereby causing certain objects within a space to look more “vibrant”. In other words, vibrancy mode, as described herein, may tune the individual colors that make up the light at a given color. When vibrancy is adjusted, the color of the light (e.g., the chromaticity coordinates or the CCT value) may remain unchanged or substantially unchanged. Adjusting vibrancy may, however, adjust the contribution of the individual LEDs making up the given light output at a given color. Hence, the light reflected off of objects in the space may be more vibrant as vibrancy is increased (vibrancy mode), and similarly less vibrant as vibrancy is decreased (non-vibrancy mode). In addition, adjusting vibrancy may adjust spectral power distribution (SPD) of the light. For example, as vibrancy increases, an SPD curve of the emitted light (e.g., relative intensity vs wavelength) may become sharper and/or may result in individual colors on the objects appearing more vibrant when the light reflects off of them. Hence, according to one example as described herein, the difference between the vibrancy and non-vibrancy modes may be the intensity setting of the white LED(s)/the amount the white LED(s) contribute to the mixed color output of the lighting load, with the white LED(s) contributing less in vibrancy mode as compared to non-vibrancy mode (as another example, if mint green LEDs are used, for example, instead of white LEDs, the intensity setting of the mint green LED(s)/the amount the mint green LED(s) contribute to the mixed color output of the lighting load may be less in vibrancy mode as compared to non-vibrancy mode). One will recognize that other examples are possible. One example of a lighting control device and respective lighting load as described above is a luminaire or lamp as provided by Lutron Ketra. Another example of such a lighting control device and respective lighting load is described as illumination device 38 of U.S. Patent Application Publication Number 2018/0077770, the contents of which are hereby incorporated by reference in their entirety. One will recognize that other examples lighting control device and respective lighting loads are possible.
As referred to herein, vibrancy mode may be referred to as a high vibrancy mode or a vibrancy “on” setting, and non-vibrancy mode may be referred to as a low vibrancy mode or a vibrancy “off” setting (which may be a “normal” setting).
702 702 2110 2110 2110 2110 2110 2100 2112 2118 2118 2118 2114 2114 2102 2104 2104 11 FIG.A Assuming now that the “Master Bedroom Master Reading” table lamp icon of interface, for example, corresponds to a lighting control device that controls a RGBW lighting load as described above, upon the control application detecting/determining that the user selects the “Master Bedroom Master Reading” table lamp icon from interface, the control application may display the example control interfaceshown in. One will again recognize that control interfaceis an example and other control interfaces are possible. One will further recognize that control interfacemay be displayed to a user in response to other actions by the user via other interfaces and/or in response to other determinations made by the control application and/or system controller. The control application may determine based on information provided by the system controller (e.g., from the type indicator, etc.) that the “Master Bedroom Master Reading” table lamp is configured as a dimmable RGBW LED lighting load and based on that determination may display control interface. As one for example, as noted above the system controller may provide information on each lighting control device to the control application. This information may include for an RGBW control device/lighting load its current status/state and/or configuration. For example, the information may include for an RGBW lighting control device/lighting load(s) whether the lighting load(s) are in an on or off state, and if in the on state whether it is a dimmed state and possibly further the dimming level, what color point and/or CCT value the load is set or configured to, whether the control device is in vibrancy mode, etc. Control interfacemay be similar to control interfaceand may include an actuator(which may be referred to herein as a dimming actuator for example) (and control linec with endsa andb) and my further include actuatorsa andb that operate similar to actuatorand actuatorsa andb, respectively, and enable a user to control the intensity/brightness/dimming state of the lighting load as described above (i.e., change the intensity/brightness of the color being produced by the lighting load).
2110 2116 2106 2116 2116 2116 2116 2117 2117 2116 2116 2116 2110 2117 2117 2117 2116 2112 2114 2114 2118 2116 2117 2117 2110 11 FIG.A 11 FIG.C 11 FIG.A 11 FIG.C Control interfacemay also include an actuatorthat similar to actuator, may be selectable by a user to turn the lighting control device (and thus the respective lighting load(s)) on and off. Again, the control application may display the appearance of actuatordifferently based on the on/off state of the lighting load, withshowing actuatorin a state that represents that the lighting load is on, and withshowing the actuatorin a state that represents that the lighting load is off. One will recognize that other examples are possible. According to a further aspect of this example, when the lighting load is in an on state as shown in, the actuatormay further include an indicator(which may be referred to herein as a color indicator for example). In this example, indicatoris shown as a circle that surrounds the actuator. Nonetheless, one will recognize that other indicators may be used including different geometric shaped indicators such as a square or triangle that surrounds actuator, or an indicator that is next to actuatorrather than surrounding it, or an indicator that is at a different location within control interface. The control application may display indicatorin any of a plurality of different colors and in particular, may display the color of indicatorto match (or to substantially match) or represent the color currently being produced by the lighting load. In this fashion, the user is provided with an indication as to the current color setting of the lighting load. As shown in, the control application may not display indicatorwhen the lighting load is off. Again, as the lighting load is moved between an on and off state such as through the actuation of actuatoror moving actuator(either directly or through actuatorsa andb) to and from positionb, the control application may change the appearance of actuator(between an on/off state) and display or not display indicator. One will recognize that as an alternative to and/or in addition to displaying the “actual” color being produced by the lighting load through indictor, the control application may also display in control interfacefor example, chromaticity coordinates (such as x and y coordinates) or the CCT value (when applicable) of the color being produced by the lighting load. One will recognize that other examples are possible.
2119 2109 2112 2114 2114 2116 2119 2119 11 11 FIGS.A andC 11 FIG.B With reference to indicator(which is similar to indicator) and as discussed above, initially the value of the indicator may be displayed in one intensity, such as shown in. Once the user selects any of actuators,a,b, and/or, the control application may increase the intensity of indicator, as shown in. At a defined time after the user stops altering the dimming state and/on/off state of the lighting load, the control application may return indictorto a reduced intensity.
2100 2112 2114 2114 2116 250 622 2110 2101 As similarly discussed with reference to interface, based on detecting the selection/movement of actuatorand/or actuatorsa andb by the user (such as raising or lowering the intensity of the lighting load, turning the lighting load off, etc.), and/or detecting the selection of actuatorby the user (such as turning the lighting load on and off), the control application may communicate one or more messages to the system controllera, for example, to instruct the controller to reconfigure the lighting control device/lighting load(s) based on the user's instructions. Again, if the user turns the lighting load off or on, this update may be reflected in icon(e.g., decrementing/incrementing the number), etc. A user may exit control interfaceby selecting icon, for example. Other examples are possible.
2110 2120 2122 2124 2120 2122 2124 According to a further aspect of control interface, the interface may include a “Warm/Cool” actuator, a “Vibrancy” actuator, and a “Full Color” actuator(one will recognize that labels other than “Warm/Cool”, “Vibrancy,” and “Full Color” may be used). Each of actuators,, andmay be selectable by a user.
2122 250 Beginning with “Vibrancy” actuator, upon detecting selection of this actuator by a user the control application may communicate one or more messages to the system controllera, for example, to instruct the system controller to configure the lighting control device/lighting load to enter a vibrancy mode (e.g., turn vibrancy to an on setting or to a high mode). As indicated above, vibrancy mode may not change (or substantially change) the color point/chromaticity coordinates of the color being produced by the lighting load, but may alter the contribution/intensity of each of the RGBW LEDs in generating the colored light, which may include reducing the intensity/contribution of the white LED(s) for example (e.g., setting the intensity of the white LEDs to 0%), thereby making certain objects in a space more vibrant. One will recognize this is one example, and vibrancy may be achieved in other manners. The one or more messages communicated by the control application to the system controller may include a command to enter vibrancy mode, may include a command with specified intensity settings for each of the various RGBW LEDs, etc., although other examples are possible. In general, the degree to which the intensities of the various RGBW LEDs is varied when entering vibrancy mode may be a predefined amount and in addition, may be dependent upon the color point/chromaticity coordinates of the color currently being produced by the lighting load. For example, the closer the color of the light being produced by a lighting load is to the black body curve (i.e., when the lighting load is producing white light), there may be a greater ability to place the lighting load in vibrancy mode (as compared to when the color of the light is further away from the black body curve).
2122 2122 2122 250 706 702 2122 2116 2122 2122 11 11 FIGS.A andD 11 FIG.A 11 FIG.D 11 FIG.D 11 FIG.C In response to detecting selection of the “Vibrancy” actuator, the control application may display the appearance of actuatordifferently based on whether the lighting control device is or is not in vibrancy mode (e.g., change the actuator's color or contrast). For example,show an example that uses reverse contrast to show the states of the vibrancy mode, withshowing vibrancy mode deactivated (low vibrancy mode/off), and withshowing the vibrancy mode activated (high vibrancy/on). One will recognize that other examples are possible. When vibrancy mode is activated, upon detecting a further selection of actuatorby a user the control application may communicate one or more messages to the system controllera to instruct the controller to configure the lighting control device/lighting load to deactivate vibrancy mode (e.g., set vibrancy to an off-setting or to a low mode), thus maintaining the color output of the lighting load, but increasing the contribution of the white LED(s) for example (for example, something other than 0%) as compared to when vibrancy mode is activated. This state may be referred to herein as a “normal” setting. Again, upon the control application initially detecting/determining that the user selects the iconlabeled “Master Bedroom Master Reading” from interfacefor example, it may initially display the actuatoras vibrancy mode being activated or not activated, depending on the current state of the lighting control device as reported by the system controller. In addition, even when the lighting control device is in an on state and is in vibrancy mode with actuatorand actuatoras shown in, upon the lighting load being turned off, the control application may display actuatoras vibrancy mode being off, as shown in. One will recognize that other examples are possible.
2120 2124 2120 2124 Reference is now made to “Warm/Cool” actuatorand “Full Color” actuator. “Warm/Cool” actuatormay allow a user to control the lighting control device such that the lighting load produces light (e.g., white or near white light) at a user selected color point along the black body curve. “Full Color” actuatormay allow a user to control the lighting control device such that the lighting load produces light at a user selected color point of any of a plurality of colors that may lie within the color gamut formed by the various RGBW LEDs, for example, that make up the lighting load.
2120 2110 2140 2130 2120 2120 2130 2112 2114 2114 2119 2130 2116 2130 2117 2130 2135 2135 2135 2135 2135 2135 11 11 FIGS.J-N 11 FIG.E Beginning with “Warm/Cool” actuator, upon detecting that a user has selected the actuator (such as from interface(or from interfaceofas discussed below), the control application may display control interfaceas shown in, with the “Warm/Cool” actuatornow being shown as activated (here, reverse contrast is used to show “Warm/Cool” actuatoras being activated, although other examples are possible). Control interfacemay continue to include actuators,a, andb (together with indicator) that allow a user to control the intensity of the lighting load and also provide the user with the current dimming state of the lighting load. Control interfacemay also continue to include actuatorthat enables to the user to turn the lighting control device/lighting load on and off. Control interfacemay also continue to include indicatorto provide the user with an indication of the current color being produced/rendered by the lighting load. According to this example, control interfacemay also include a palletshowing a range of colors ranging from cool colors at enda to warm colors at endb of the pallet. These colors may correspond to colors that lie along the black body curve. In particular, palletmay show colors along a range of correlated color temperatures (CCTs) ranging from “warm white” (e.g., roughly 2600 K-3700 K) atb, to “neutral white” (e.g., 3700 K-5000 K) to “cool white” (e.g., 5000 K-8300 K) ata. As one example, the range may be from 1400K to 7000K, although other examples are possible.
2135 2132 2135 2135 2132 2120 2132 2135 2135 2117 2135 2120 2132 2117 2132 2120 11 FIG.E Superimposed over palletmay be an actuatorthat is movable/slide-able (e.g., here vertically movable) along control linec and in particular, that is movable/slide-able along palletbetween different CCTs along the black body curve. Accordingly, actuatormay allow a user to configure the lighting control device such that the lighting load produces colored light at a color point along the black body curve. Assuming the lighting load is producing light at a color point along the black body curve at a time actuatoris selected by a user, the control application may display actuatorat a relative point along control linec/palletas shown into indicate the color being produced by the lighting load. Similarly, indicatormay also display the corresponding color. Alternatively, if the lighting load is not configured to produce light at a color point along the black body curve (or is out of range of pallet) (or if the lighting load is off, for example) at a time actuatoris selected by a user, the control application may not display actuator. The control application may continue to display indicatorto correspond to the color being produced by the lighting load (assuming the lighting load is on). As another example, regardless of the setting of the lighting load, the control application may not initially display actuatorupon selection of actuator.
2120 2110 2130 2132 2132 2135 2136 2132 2120 2135 2132 2136 2135 2135 2136 2132 2132 2135 2136 2132 2135 2117 2132 2117 2117 2132 2136 2117 2136 2117 2132 2116 11 FIG.E 11 FIG.F 11 FIG.F 11 FIG.F 11 FIG.F 11 FIG.E 11 FIG.G Assuming that upon actuatorbeing actuated by a user from control interfacethat the control application initially displays control interfaceas shown in thewith actuatordisplayed, for example, and assuming a user next selects/moves actuatoralong control linec (such as via a mouse or via touch) to set the lighting load to a new CCT along the black body curve, the control application may display an indicatortogether with the actuator as shown in. As another example, assuming actuatoris not initially shown when actuatoris selected by a user, selecting pallet(e.g., via mouse or touch) by the user may cause the actuatorand indicatorto appear at a location along linec relative to where the user touches palletand/or at a location relative to the CCT the lighting load is currently providing. One will recognize that other examples are possible. The indicatormay display a numerical value (in this example, 6500 K) that corresponds to the CCT value the actuatoris currently set to. As the user moves the actuatoralong the control linec, the control application may dynamically update indicatorto correspond to the setting of the actuator. In addition and as shown in, as the user moves the actuatoralong the control linec, the control application may dynamically update indicatorto correspond to the color at which the actuatoris currently set to. According to a further example and as shown in, the control application may also increase the size of indicator. In this example, indictoris shown as a circle where the weight of the line forming the circle is heavier or larger or thicker inas compared tofor example. One will recognize that other examples are possible. In this fashion, the control application may provide an additional mechanism to show the user the color the lighting load is being set to and also indicate to the user that the color is being changed. According to a still further example, at a set time duration after which the user stops actuating actuatorand/or upon the user no longer selecting the actuator, the control application may remove indicatorfrom the control interface and return indicatorto a smaller size/lighter weight, as shown in the example of. One will recognize that indictormay include or be a different value, such as chromaticity coordinates (such as x and y coordinates) of the color being produced by the lighting load. Similarly, rather than increase the size of indicatoras actuatoris moved in order to display a color to the user, other mechanisms may be used to show the color to the user, such as by rendering actuator/iconin the color as the actuator is activated.
2120 2130 2135 2116 2117 2112 2132 2136 2135 2135 2117 2132 According to a still further example, assuming the lighting load is off when a user selects actuatorthereby causing control interfaceto be displayed by the control application, a user selecting pallet(e.g., via mouse or touch) may cause the lighting load to turn on (such as to full intensity, to an intensity to which the lighting load was previously set to, or to a preferred intensity level of the user, etc.), and with the appearance of actuatorchanging to an on state, indicatorbeing displayed, and with actuatorbeing displayed at the present intensity level. Similarly, actuatorand/or indicatormay appear at a location along linec relative to where the user touches palletand/or at a location relative to the CCT the lighting load was previously set to, or to a preferred CCT value of the user, although other examples are possible, and with the lighting load being controlled to this color (again, with indicatoralso indicating the color). Thereafter, a user may move actuatoras described above.
2132 250 As similarly discussed above, based on detecting the selection/movement of actuator, the control application may communicate one or more messages to the system controllera, for example, to instruct the controller to reconfigure the lighting control device/lighting load(s) based on the user's instructions.
11 FIG.H 11 FIG.H 11 FIG.I 11 FIG.I 11 FIG.C 2130 2112 2114 2114 2119 2130 2122 2122 2122 250 2122 2130 2130 2116 2112 2114 2114 2130 2110 2124 2130 2140 As shown inwhile the lighting load is set to a color point along the black body curve, a user may also actuate from control interfaceany of actuators,a, and/orb to control the dimming state/intensity of the lighting load. Again, as this occurs, the control application may increase the intensity of indicatoras shown in. Similarly, as shown in, while the lighting load is set to a color point along the black body curve, a user may also actuate from control interfacethe “Vibrancy” actuatorto configure the lighting control device/lighting load to enter vibrancy mode. As indicated above, vibrancy mode may not change (or substantially change) the color point/chromaticity coordinates/CCT value of the color being produced by the lighting load, but may alter the contribution of each of the RGBW LEDs in generating the colored light, which may include reducing the intensity/contribution of the white LED(s) for example, thereby making certain objects in a space more vibrant. In response to detecting selection of the “Vibrancy” actuator, the control application may display the appearance of actuatorto show it is activated, as shown in, and communicate one or more messages to the system controllera, for example, to instruct the system controller to configure the lighting control device/lighting load to enter a vibrancy mode. While the “Vibrancy” actuatoris activated and a user modifies the color and or intensity of the lighting load via control interface, the color rendered by the lighting load may continue to be in the “vibrant” state/vibrancy mode. Similarly, a user may deactivate vibrancy mode from control interfacethus returning to a normal setting (thus maintaining the color output of the lighting load, but increasing the contribution of the white LED(s) for example). Lastly, assuming a user turns the lighting load off (such as through any of actuators,,a, and/orb) as described herein while control interfaceis displayed, the control application may automatically display control interfaceas shown in. One will recognize that other examples are possible. One will also recognize that actuatormay be activated from control interface, resulting in the control application displaying control interface, for example, as discussed below.
2124 2110 2130 2140 2124 2124 2140 2112 2114 2114 2119 2140 2116 2140 2117 2140 2145 11 FIG.J Turning now to “Full Color” actuator, upon detecting that a user has selected the actuator (such as from interfaceor interface), the control application may display control interfaceas shown in, with the “Full Color” actuatornow being shown as activated (here, reverse contrast is used to show Full Color actuatoras being activated, although other examples are possible). Control interfacemay continue to include actuators,a, andb (together with indicator) that allow a user to control the intensity of the lighting load and that also provide the user with the current dimming state of the lighting load. Control interfacemay also continue to include actuatorthat enables to the user to turn the lighting control device/lighting load on and off. Control interfacemay also continue to include indicatorto provide the user with an indication of the current color being produced/rendered by the lighting load. According to this example, control interfacemay also include a palletshowing a plurality of colors that lie within the color gamut formed by the various RGBW LEDs, for example, that make up the lighting load.
11 FIG.K 11 FIG.J 2145 2142 2145 2142 2144 2144 2144 2142 2144 2144 2142 2145 2142 2132 2124 2110 2130 2140 2142 2144 2144 2117 2124 2142 2144 2144 2145 2117 As shown in, superimposed over palletmay be an actuatorthat is movable/slide-able by the user to any of a plurality of locations/colors within pallet. The control application may display together with actuatortwo perpendicular control linesa andb that intersect at the centerc of the actuator. The control application may move control linesa andb and the intersection point with the actuatoras it is moved by a user within pallet. These control lines may also assist the use in moving actuatoreither horizontally or vertically. Accordingly, actuatormay allow a user to configure the lighting control device such that the lighting load produces colored light at a color point that lies within the color gamut formed by the various RGBW LEDs, for example, that make up the lighting load. Upon actuatorbeing actuated by a user such as from control interfaceorfor example, the control application may initially display control interfacewithout actuatorand without control linesa andb, as shown in(such as if the lighting load is off, or even when the lighting load is presently on). Indicatormay continue, however, to be displayed to the user (assuming the lighting load is on), showing the color the lighting load is currently providing. As another example, upon actuatorbeing actuated by a user the control application may display actuatorand control linesa andb at a relative point within palletto indicate the color being produced by the lighting load. Again, indicatormay also display the corresponding color.
2124 2110 2130 2140 2145 2142 2144 2144 2142 2144 2144 2142 2142 2145 2145 2142 2145 2142 2145 2117 2142 2117 2117 2142 2117 2142 2144 2144 2117 2142 2116 11 FIG.J 11 FIG.K 11 FIG.K 11 FIG.K 11 FIG.K 11 FIG.K 11 FIG.J 11 FIG.L Assuming that upon actuatorbeing actuated by a user from control interfaceor, for example, that the control application initially displays control interfaceas shown inand that the lighting load is producing a blue based color at that time, for example, as a user touches or activates a mouse over pallet, for example, the control application may display actuatorand control linesa andb at a point relative to the activation point. Thereafter, the control application may move the actuatorand control linesa andb according to the user action as shown in(assuming the user move the actuatortowards an orange based color, for example). As the user moves actuatorover palletto set the lighting load to a new color point within pallet, the control application may display an indicator (not shown in) together with the actuator. The indicator may display a numerical value that corresponds to chromaticity coordinates (such as x and y coordinates) of the color point the actuator is set to, for example, although other values may be used. As the user moves the actuatorover pallet, the control application may dynamically update this indicator to correspond to the setting of the actuator. In addition and as shown in, as the user moves the actuatorover the pallet, the control application may dynamically update indicatorto correspond to the color at which the actuatoris currently set to. According to a further example and as shown in, the control application may also increase the size of indicator(in this example, indictoris shown as a circle where the weight of the line forming the circle is heavier or larger or thicker inas compared tofor example). In this fashion, the control application may provide an additional mechanism to show the user the color the lighting load is being set to. According to a still further example, at a set time duration after which the user stops actuating actuatorand/or upon the user no longer selecting the actuator, the control application may return indicatorto a smaller size/lighter weight, as shown in the example of, continuing to show actuatorand control linesa andb at the new color point, for example. One will recognize that rather than increase the size of indicatoras actuatoris moved in order to display a color to the user, other mechanisms may be used to show the color to the user, such as by rendering actuator/iconin the color as the actuator is activated.
2124 2140 2145 2116 2117 2112 2142 2144 2144 2145 2117 2142 According to a still further example, assuming the lighting load is off when a user selects actuatorthereby causing control interfaceto be displayed by the control application, a user selecting pallet(e.g., via mouse or touch) may cause the lighting load to turn on (such as to full intensity, to an intensity to which the lighting load was previously set to, or to a preferred intensity level of the user, etc.), and with the appearance of actuatorchanging to an on state, indicatorbeing displayed, and with actuatorbeing displayed at the present intensity level. Similarly, actuatorand control linesa andb may appear at a location relative to where the user touches palletand/or at a location relative to the color the lighting load was previously set to, or to a preferred color value of the user, although other examples are possible and with the lighting load being controlled to this color (again, with indicatoralso indicating the color). Thereafter, a user may move actuatoras described above.
2142 250 As similarly discussed above, based on detecting the selection/movement of actuator, the control application may communicate one or more messages to the system controllera, for example, to instruct the controller to reconfigure the lighting control device/lighting load(s) based on the user's instructions.
11 FIG.M 11 FIG.M 11 FIG.N 11 FIG.N 11 FIG.C 2140 2140 2112 2114 2114 2119 2140 2140 2122 2122 2122 250 2122 2140 2140 2116 2112 2114 2114 2140 2110 2120 2140 2130 As shown in, while the lighting load is set to a color point using control interface, a user may also actuate from control interfaceany of actuators,a, and/orb to control the dimming state/intensity of the lighting load. Again, as this occurs, the control application may increase the intensity of indicatoras shown in. Similarly, as shown in, while the lighting load is set to a color point using control interface, a user may also actuate from control interfacethe “Vibrancy” actuatorto configure the lighting control device/lighting load to enter vibrancy mode. As indicated above, vibrancy mode may not change (or substantially change) the color point/chromaticity coordinates of the color being produced by the lighting load, but may alter the contribution of each of the RGBW LEDs in generating the colored light, which may include reducing the intensity/contribution of the white LED(s) for example, thereby making certain objects in a space more vibrant. In response to detecting selection of the vibrancy actuator, the control application may display the appearance of actuatorto show it is activated, as shown inand communicate one or more messages to the system controllera, for example, to instruct the system controller to configure the lighting control device/lighting load to enter a vibrancy mode. While the “Vibrancy” actuatoris activated and a user modifies the color and or intensity of the lighting load via control interface, the color rendered by the lighting load may continue to be in the “vibrant” state/vibrancy mode. Similarly, a user may deactivate vibrancy mode from control interfacethus returning to a normal setting (thus maintaining the color output of the lighting load, but increasing the contribution of the white LED(s) for example as compared to when vibrancy mode is activated). Lastly, assuming a user turns the lighting load off (such as, for example, through any of actuators,,a, and/orb) as described herein while control interfaceis displayed, the control application may automatically display control interfaceas shown in. One will recognize that other examples are possible. One will also recognize that actuatormay be activated from control interface, resulting in the control application displaying control interfacefor example.
2122 2145 2245 2122 2245 2122 According to another example with respect to vibrancy control via the “Vibrancy” actuatorand palletthat allows a user to configure a lighting load to any of a plurality of colors that lie within the pallet, vibrancy control may be limited to colors that are within a predefined range of colors within the pallet. For example, referring to the color palette, the vibrancy control may be limited to a predefined set of colors on the right side of the palette (i.e., white colors). The predefined colors may be the 10% or 20% of colors on the right side of the palette. The “Vibrancy” actuatorand thus vibrancy control may be disabled when the user selects colors in the palette that are outside of this predefined set of colors, as it may not be possible to render these colors in multiple ways using, for example, different intensities of RGB and white LEDs. Assuming a lighting load includes additional LEDs, for example, of other colors, a broader range of palletmay allow actuation of the “Vibrancy” actuator.
2110 2130 2140 2122 One will recognize that if a lighting control device/lighting load is in vibrancy mode when the control application displays any of control interfaces,, or, for example, the “Vibrancy” actuatormay be shown as being activated.
2122 2122 250 2122 2116 2117 2122 2122 2130 2132 2135 2135 2122 2140 2142 2144 2144 2145 2130 2140 11 FIG.D Referring now to a further example with respect to “Vibrancy” actuator, upon detecting selection of this actuator by a user the control application may display to a user an interface (not shown) that may include, for example, three actuators labeled for example, “High”, “Low”, and “Cancel”. Selection of “Cancel” by a user may cause the control application to close the interface and return the user to the control interface from which the “Vibrancy” actuatorwas selected. Upon detecting that a user has selected the “High” actuator, the control application may communicate one or more messages to the system controllera, for example, to instruct the system controller to configure the lighting control device/lighting load to enter a vibrancy mode (or a “high” vibrancy mode, or an “on” setting). Vibrancy mode according to this example may include setting the lighting load to produce light at 3000K, for example (although other color temperatures may be used) and to set the intensity of the lighting load to 100% (although other intensities may be used). In this mode, generating light at 3000K may include generating the color with the red, green, and/or blue LED(s) for example, and reducing the intensity/contribution of the white LED(s) for example (as compared to when the “Low” actuator is selected) (e.g., setting the intensity of the white LEDs to 0%), thereby making certain objects in a space more vibrant. Upon selection of the “High” actuator, the control application may again display the control interface from which the “Vibrancy” actuatorwas selected, with actuatorset to show the lighting load is “on”, with indicatorset to a color to correspond to 3000K, and with “Vibrancy” actuatorset to show that vibrancy mode is activated (e.g., as shown in). If the “Vibrancy” actuatorwas selected from control interface, the control application may show actuatorat a position along control linec/palletthat corresponds to 3000K. If the “Vibrancy” actuatorwas selected from control interface, the control application may show actuatorand control linesa andb at a position in palletthat corresponds to 3000K. Assuming a user next changes the color being produced by the lighting load via control interfaceor, the color produced by the lighting load may still be produced in “High” vibrancy mode, i.e., a reduced intensity/contribution of the white LED(s) for example (as compared to the “Low” vibrancy mode).
250 2122 2116 2117 2122 2122 2130 2132 2135 2135 2122 2140 2142 2144 2144 2145 2130 2140 11 FIG.A As an alternative, upon detecting that a user has selected the “Low” actuator, the control application may communicate one or more messages to the system controllera, for example, to instruct the system controller to configure the lighting control device/lighting load to enter a non-vibrancy mode (or a “low” vibrancy mode, or an “off” setting, or to a normal setting). Non-vibrancy mode according to this example may include setting the lighting load to produce light at 3000K, for example (i.e., a same color temperature as the “High” mode” although other color temperatures may be used) and to set the intensity of the lighting load to 100% (i.e., a same intensity as the “High” mode” although other intensities may be used). In this mode, as compared to the “High” vibrancy mode, generating light at 3000K may include generating the color with the red, green, and/or blue LED(s) for example, and using an increased intensity/contribution of the white LED(s) for example, thereby making certain objects in a space less vibrant (as compared to High vibrancy mode). Upon selection of the “Low” actuator, the control application may again display the control interface from which the “Vibrancy” actuatorwas selected, with actuatorset to show the lighting load is “on”, with indicatorset to a color to correspond to 3000K, and with “Vibrancy” actuatorset to show that vibrancy mode is de-activated (e.g., as shown in). If the “Vibrancy” actuatorwas selected from control interface, the control application may show actuatorat a position along control linec/palletthat corresponds to 3000K. If the “Vibrancy” actuatorwas selected from control interface, the control application may show actuatorand control linesa andb at a position in palletthat corresponds to 3000K. Assuming a user next changes the color being produced by the lighting load via control interfaceor, the color produced by the lighting load may still be produced in “Low” vibrancy mode, i.e., an increased intensity/contribution of the white LED(s) for example (as compared to the “High” vibrancy mode). One will recognize that other variations are possible.
11 FIG.O 11 FIG.O 2150 2150 2110 2130 2140 2150 2116 2117 2150 2112 2114 2114 2150 2120 2124 2120 2150 2135 2112 2114 2114 2132 2117 2124 2150 2145 2112 2114 2114 2140 2142 2145 2117 Referring now tothere is shown another example control interface. Control interfacemay be similar to, and operate similar to, control interfaces,, andfor example. For example, control interfacemay include an actuatorfor controlling/indicating the on/off state of a lighting control device/lighting load as described herein, and may include an indicatorfor indicating the color a lighting load is currently configured to produced, as described herein. Control interfacemay further include actuators,a, andb, for example, for controlling the intensity level of a lighting load as described herein. Control interfacemay further include “Warm/Cool” actuatorand “Full Color” actuatoras described herein. As one example, actuation of “Warm/Cool” actuatormay cause the control application to display in control interfacea pallettogether with actuators,a, andb, for example (as shown in). Actuation of actuatorby a user may allow a user to configure the lighting load to produce a color along the black body curve, for example, as described herein, with indicatorindicating that color as described herein. Similarly, actuation of “Full Color” actuatormay cause the control application to display in control interfacea pallettogether with actuators,a, andb, for example (similar to control interface). Actuation of actuatorof palletby a user may allow a user to configure the lighting load to produce any of a plurality of colors within a color gamut, for example, as described herein, with indicatorindicating that color as described herein.
2150 2151 2135 2151 2145 2150 2151 2150 2152 2150 2152 2145 2151 11 FIG.O 11 FIG.P According to a further aspect of this example, control interfacemay include a “More” actuator(shown intogether with pallet). The “More” actuatormay also be shown when palletis displayed in control interface. Upon detecting selection of actuator, the control application may expand control interfaceto include an “Auto-Vibrancy” actuatoras shown in. In this example, control interfaceis scrolled upward as “Auto-Vibrancy” actuatoris displayed, although other examples are possible. A similar action may occur when the control application is displaying palletand the “More” actuatoris actuated.
2152 2152 2152 250 2135 2145 2152 11 FIG.P The “Auto-Vibrancy” actuator(also referred to herein as an auto actuator) may be enabled and disabled by a user to enable/disable (e.g., turn on/off) what may referred to as an “auto-vibrancy” feature as described herein. In this example of, the “Auto-Vibrancy” actuatoris shown as being actuated/enabled, which may be the default state. According to this example, when the “Auto-Vibrancy” actuatoris enabled (i.e., is on), the control application may cause (e.g., by communicating one or messages to the system controllera) the color rendering index (CRI) value for the lighting control device/lighting load to be automatically configured at the color the lighting control device/lighting load is configured to produce. For example, given a certain color point (whether selected via palletor pallet, for example), the “Auto-Vibrancy” actuatorbeing enable may automatically configure the lighting load to increase the CRI value of the light being produced by the lighting load at that color to be greater than or equal to a CRI threshold value, which may be greater than or equal to 90.
Specially, a light output of a lighting load may be measured by a color rendering index (CRI) value. The CRI value may be a measurement of the lighting load's ability to reveal the actual color of objects as compared to an ideal light source (e.g., natural light). A higher CRI value may be a desirable characteristic of a user. For example, a lighting load with a higher CRI value may provide light such that the objects within a space reflect light at a natural color. Assuming a lighting load is an RGBW LED lighting load as described herein, for example, each of the respective LEDs that are comprised within the RGBW lighting load may be defined by a certain CRI value. In addition, an RGBW lighting load, for example, itself may be defined by a CRI value (e.g., a CRI value that indicates a summary or average CRI of each of the respective LEDs comprised within the lighting load). CRI values may be in the range of 0 to 100, inclusively. For example, the lowest possible CRI value may be 0 and the highest possible CRI value may be 100. Not all lighting loads may be configurable to all CRI values for a given produced color. The control application may be used to configure a CRI value of a lighting load(s) at a given color. A CRI value greater than or equal to a threshold (e.g., a CRI value of 90) may be desirable and may be referred to herein as “optimal”, “optimized”, or “maximized”. That said, other ranges (e.g., smaller and/or larger ranges) may also be considered “optimal”, “optimized”, or “maximized”. Hence, as described herein, the control application may increase or attempt to increase the CRI value of a lighting load at a given selected colors to a value greater than or equal to a threshold CRI value. For example, the threshold CRI value may be 90. One will appreciate, however, that the threshold CRI value may be other values. For example, the CRI threshold value may be a value which may be considered a desirable threshold that a system may attempt to achieve given the certain characteristics of the load control system and/or lighting control devices (e.g., quality of the LEDs used in a lighting load). As described herein, optimizing the CRI value towards or above the threshold CRI value may be referred to as optimizing the CRI value.
2152 250 2152 2152 2135 2145 Hence, again, when the “Auto-Vibrancy” actuatoris enabled, the control application may automatically configure the lighting load (based on determining that the actuator is enabled and by communicating one or more messages to the system controllera for example) such that the CRI value of the light output of the lighting load at a given selected color is greater than or equal to a CRI threshold value, (e.g., greater than or equal to 90) (which may be referred to herein as optimizing the CRI value towards or greater than the CRI threshold value). In certain instances (e.g., for a certain color point or CCT) the CRI value may be unable to be a value that is greater than or equal to the CRI threshold value. In those instances, the “Auto-Vibrancy” actuatorbeing enabled may cause the lighting control device to increase the CRI value of the light output of the lighting load towards (e.g., as close as possible to) the CRI threshold value. As similarly described herein, when the “Auto-Vibrancy” actuatoris enabled as determined by the control application, as a user selects colors via palletsand/or, the control application, system controller, and/or lighting control device may cause the CRI value of the light output of the lighting load to be optimized as the user makes changes (e.g., achieve a CRI value that is greater than or equal to 90).
2152 2152 2150 2153 2156 2154 2154 11 FIG.Q According to a further aspect of this example, the “Auto-Vibrancy” actuatormay be disabled by a user as shown in. Upon detecting/determining that a user has disabled actuator, the control application may further expand control interfaceto display actuator(which may be referred to herein as a vibrancy actuator for example) that is movable/slide-able (e.g., vertically movable) along control line, an increase actuatora and a decrease actuatorb.
2153 2153 2156 2155 2155 2153 2155 2155 2153 2155 2153 2153 2153 2156 2153 2157 2157 2153 2156 2153 2156 2153 11 FIG.Q As noted, actuatormay be movable/slide-able (e.g., a vertically movable, although one will recognize that actuatormay alternatively be horizontally moveable, for example) along control lineand may allow a user to increase the relative vibrancy/vibrancy level of the light being output by a lighting load (e.g., by moving the actuator vertically upward towards positiona) or decrease the vibrancy/vibrancy level of the light being output by a lighting load (e.g., by moving the actuator vertically downward towards positionb). As similarly described herein, altering the vibrancy of a given lighting load may cause the color of the light produced by a lighting load to remain the same or substantially the same, but may alter the contributions of the individual LEDs making up that light to make objects more or less vibrant. Actuatormay allow a user to control the vibrancy/vibrancy level of the lighting load from a relative maximum level such as 100% (positiona) to a minimum level such as 0% (positionb). Hence, as actuatoris moved towards positiona, an object may become increasingly more vibrant and similarly, as actuatoris moved towards positionb, an object may become decreasingly less vibrant. The control application may display the position of actuatoralong control lineto represent the current relative vibrancy level of the lighting load. The control application may also display with actuatoran indicatorthat numerically represents the current vibrancy level of the lighting load, here shown as a numerical percentage value 50% although other example numerical representations may be used. The control application may also dynamically vary the value of indicatoras the user moves actuatorvertically upward and downward. As also shown in, the portion of control linethat lies below the actuatormay be shown in a different intensity or line thickness, for example (here a greater intensity/line thickness) than the portion of the control linethat lies above the actuator
2153 2154 2154 2154 2154 680 2154 2154 2154 2154 680 2154 2154 2153 2157 2152 2153 2156 2157 Similar to actuator, increase actuatora and decrease actuatorb may also enable a user to increase and decrease, respectively, the vibrancy of the lighting load. As one example, each of actuatorsa andb may be selectable in a single action (e.g., by a click and release of a mouse button, or a touch and release of the display screen of network device). Here, each individual actuation of increase actuatora may increase the vibrancy of the lighting load by a defined amount (e.g., 1%) and similarly, each individual actuation of decrease actuatorb may decrease the vibrancy of the lighting load by a defined amount (e.g., 1%). The defined amount may be user definable. As another example, each of actuatorsa andb may be selectable for a prolonged duration (e.g., by a press and prolonged release of a mouse button, or a prolonged touch of the display screen of network device). Here, the actuation may cause the vibrancy level to increase/decrease until the mouse button is released or the touch of the screen is removed, for example. According to one example, as a user selects the increase actuatora or the decrease actuatorb, the control application may also automatically move actuatorin the up or down direction, respectively, and update the value of indicatoraccordingly. Upon disabling “Vibrancy-Actuator”, the control application may position actuatoralong control lineto represent the current vibrancy level of the lighting load, and may configure the value of indicatoraccordingly. One will recognize that as a user alters the vibrancy level, the CRI value of a light load may move below the CRI threshold value.
2152 2153 2154 2154 2150 2135 2145 2153 2154 2154 2145 2153 2154 2154 2145 2153 2154 2154 2245 2153 2154 2154 According to one example, when “Vibrancy-Actuator”is disabled, actuators,a, andb may only be enabled when the control interfaceis displaying pallet. When the control interface is displaying palletfor example, vibrancy control via actuators,a, andb may be disabled. Alternatively, when the control interface is displaying pallet, vibrancy control via actuators,a, andb may be limited to colors that are within a predefined range of the color gamut. For example, referring to the color palettevibrancy control may be limited to a predefined set of colors on the right side of the palette (i.e., white colors). The predefined colors may be the 10% or 20% of colors on the right side of the palette. Actuators,a, andb and thus vibrancy control may be disabled when the user selects colors in the palette that are outside of this predefined set of colors, as it may not be possible to render these colors in multiple ways using, for example, different intensities of RGB and white LEDs. Assuming a lighting load includes additional LEDs, for example, of other colors, a broader range of palletmay allow for vibrancy control via actuators,a, andb.
2135 2145 250 2153 2152 2153 2152 250 Again, as similarly described herein, as a user changes the color of a lighting load via palletand/or pallet(or a portion thereof) for example, the control application may cause the lighting load (via messages communicated to the system controllera for example), to produce light with a vibrancy level based on the setting of actuator. Similarly, assuming “Vibrancy-Actuator”is disabled and a user selects a desired vibrancy level (at a selected color) via actuatorfor example (thereby causing a lighting load to render light at that color and vibrancy level), upon the control application detecting the “Vibrancy-Actuator”being enabled, the control application may communicate one or more messages to system controllera. For example, to cause the lighting control device/lighting load to alter the light output of the lighting load such that the CRI value of the light output/lighting load is greater than or equal to the CRI threshold value. Other examples are possible.
10 10 FIGS.A-C 11 11 FIGS.A-Q 702 One will recognize that the example control interfaces shown inandmay be activated from other graphical user interfaces, including for example, other graphical user interfaces described herein, including, for example, the control interfaces being activated from an icon representing a lighting control device that is currently in an off state (as compared to selecting an icon from interfacethat shows control device in an on state).
6 FIG.C 6 FIG.A 702 714 714 610 Returning to, once a user is done with interface, the user may select icon(the “Done” icon although icons may be used). Upon detecting/determining that the user selected icon, the control application may once again display interfaceto the user, as shown in.
624 210 614 620 624 614 624 624 250 250 624 622 624 250 250 624 680 624 624 624 6 FIG.A 6 FIG.A Turning now to iconof, as indicated this icon may be a shades devices icon that indicates to the user the number of shade devices with respective shades within the load control systema that are currently open/up (where open/up may be any shade state other than a fully closed position) (One will recognize that while shades iconis discussed herein as being associated with shades, it may also be associated with drapes, curtains, or blinds, for example, and other types of window coverings. Alternatively, sectionmay include other icons for such devices.) Similar to lighting control devices, a given shade device may control more than one shade (e.g., if multiple shades covering several different windows are linked together as one) and may control these shades in unison (or may possibly be configured to individually control these shades to different states). According to one example, the control application may view a given shade device and its respective shades as one device. In this example, if multiple shades controlled by the shade device are in an open/up state, the control application may count this as one (1) with respect to the number associated with icon, regardless of the number of shades that are actually controlled by the device. Nonetheless, one will recognize that the number associated with iconmay represent the actual number of shades controlled by each lighting control device. Here, the control application may view each shade controlled by a given shade device individually. In this example, the number associated with iconmay be representative of each shade. Hence, if two shades controlled by a shade device are in an open/up state, the control application may count this as two (2) with respect to icon. For description purposes, the control application is described herein from the perspective of a shade device, where the shade device and its respective shades are treated as a single unit. The control application may determine the number of shades that are currently open/up based on information obtained from the system controllera. In this example, the control application has determined based on information received from the system controllera that three shade devices have respective shades currently open/up (where open/up may include a shade in a partially open/up state). Again, the control application and/or the system controller may perform the count to determine this number, for example. The control application may indicate this determination to the user through the displayed number “3” associated with the iconas shown in, although again, the control application may display the number in other fashions. In addition to displaying the number of shade devices with shades determined to be currently open/up, as similarly discussed with lighting control devices icon, the control application may actively update the count displayed by iconbased on, for example, the system controllera actively monitoring the state of shades in the user environment (e.g., as a result of a user in the environment raising and lowering the shades for example) and report this information to the control application either asynchronously and/or as a result of the control application requesting from system controllera the status of the control devices/shades, for example. In this fashion, iconmay allow a user to quickly and easily determine from network devicewhether any shades are open/up in the user environment. If no shades are determined to be currently open/up, the control application may display the value “0” with icon, may display no value with the icon, may not display the icon at all (thereby indicating no shades are open/up, etc.). Other variations are possible. For example, rather than displaying a number with icon, the control application may display the icon when any shades are open/up and not display the icon when all shades are down/closed. As a still further example, iconmay indicate the number of shades that are currently down/closed.
624 624 680 720 720 624 720 724 726 720 716 720 716 716 624 720 718 718 716 718 716 718 6 FIG.F 6 FIG.F 6 FIG.F 6 FIG.F Iconmay also be selectable by the user. Upon detecting/determining that the user has selected icon, the control application may display to the user via network devicegraphical user interfaceas shown in. Interfacemay continue to display to the user the iconand the number of shade devices with shades currently determined to be open/up. Interfacemay also include an “Open All” icon(although other text and/or icons may be used) and/or may also include a “Close All” icon(although other text and/or icons may be used), both of which may be selectable by the user. Interfacemay also include a respective iconfor each shade device having a respective controlled shade that is currently open/up (Again, according to this example, the control application may be configured to treat a shade device and its respective shade(s) as one unit, collectively representing the unit as one icon. As an alternative, each shade controlled by a shade device may be represented by an icon in interface, or some combination thereof). Each of these iconsmay also be selectable by the user. In this example, three iconsare shown in connection with the value “3” as shown with icon. According to a further and/or alternative example and as shown in, interfacemay also include a respective icon(here three are shown) for each shade device in the load control system where its respective controlled shade(s) is currently closed/down. Each of these iconsmay also be selectable by the user. The control application may provide a visual indication to a user as to the state of all shades in the load control system. Assuming the control application is configured to operate as in(i.e., both iconsandbeing shown), the control application may use one or more visual tools/indicators in displaying the respective iconsandto indicate which shade devices of the load control system have shades that are open and which have shades that are closed. As one example, the control application may change the appearance of the icons for open shades vs closed shades, such as using different colors and/or contrast between the icons as in the example of. As another and/or additional example, the control application may use different icons for open shades vs closed shades. In one example, icons representing open shades may have icons showing partially open shades and icons representing closed shades may have icons showing closed shades. Other examples are possible.
6 FIG.C 6 FIG.A 716 718 660 Similar to the lighting control devices of, the control application may also use the location indicator and/or type indicator to display with each iconandan indication of the respective shade device's/shade's location and/or function in the user environment (in this example, textual information such as, “Kitchen Left Shade,” “Kitchen Center Shade,” “Kitchen Right Shade,” “Living Room Left Shade,” “Living Room Center Shade,” and “Living Room Right Shade” are used, although other mechanisms are possible such as segregating icons by location, similar to sectionof).
6 FIG.C 716 718 720 250 720 718 624 250 720 716 624 Similar to the lighting control devices of, the control application may actively update iconsandin user interfaceas the respective shades in the user environment change state. For example, if the ‘Kitchen Left Shade” is moved from an open state/position to a closed state/position by a user in the kitchen, the control application may receive an indication of this change from the system controllera (for example, automatically or in response to a query by the control application) and change the respective icon in displayto have the appearance of an icon as represented by icons. In addition, the control application may decrement the count associated with icon. Similarly, if the ‘Living Room Left Shade” is moved from a closed state/position to an open state/position by a user in the kitchen, the control application may receive an indication of this change from the system controllera and change the respective icon in displayto have the appearance of an icon as represented by icons. In addition, the control application may increment the count associated with icon.
724 720 210 724 250 250 624 6 716 718 716 718 724 724 724 720 202 624 720 724 724 720 726 210 726 250 250 624 716 718 716 718 726 202 624 720 726 720 624 610 724 726 210 6 FIG.G 6 FIG.G 6 FIG.G 6 FIG.H 6 FIG.H Turing now to iconof user interface, it may allow a user to open all shades within the load control systema. Upon detecting/determining that the user selected icon, the control application may communicate one or more messages to the system controllera instructing the system controller to open all shades. Once completed, the system controllera may provide a response to the control application (either automatically or in response to a query by the control application, for example) indicating that the shades are now open. According to one example, “opening” all shades may result in the system controller controlling each shade to its respective fully open state. According to another example, the system controller, may example, may store for each shade a defined position (e.g., a user defined position) the shade should be moved to in response to an “Open All” request. Other variations are possible. In response, the control application may display an example interface as shown in. Specifically, the control application may change the number value associated with iconto indicate a new number of shade devices having respective shades that are open (in this example), and may change the appearance of icons/as necessary to represent open shades (in the example of, all shade icons/are shown as open shades). Note that iniconmay be deactivated by the control application since all shades are open (where deactivating may include making the iconnon-selectable by a user and/or changing the appearance of iconsuch as by changing its color or contrast as compared to other icons, removing the icon from interface, etc.). If a shade is subsequently closed (such as by a user in the user environmenta closing a shade), in addition to decrementing the number associated with iconto “1” for example, and changing an icon in interfaceaccordingly to show a closed shade, the control application may also activate/re-activate icon(where activating the icon may include making the icon selectable by a user and/or changing the appearance of iconsuch as by changing its color or contrast as compared to other icons, displaying the icon in interface, etc.). As for icon, it may allow a user to close all shades within the load control systema. Upon detecting/determining that the user selected icon, the control application may communicate one or more messages to the system controllera instructing the system controller to close all shades. Once completed, the system controllera may provide a response to the control application (either automatically or in response to a query by the control application, for example) indicating that all shades are now closed. In response, the control application may display an example interface as shown in. Specifically, the control application may change the number value associated with iconto “0” for example or show no value at all as here, and may change the appearance of icons/as necessary to represent closed shades (in the example of, all shade icons/are shown as closed shades). Note that iconmay be deactivated by the control application since all shades are closed. If a shade is subsequently opened (such as by a user in the user environmenta opening a shade), in addition to incrementing the number associated with iconto “1” for example, and changing an icon in interfaceaccordingly to show an opened shade, the control application may also activate/re-activate icon. One will recognize that upon initially displaying interfaceupon a user selection iconfrom interface, the control application may activate/deactivate iconsanddepending upon the open/close state of shades in the load control systema.
724 726 716 718 716 718 720 716 728 728 720 728 728 730 730 730 250 624 720 730 624 720 728 732 728 680 728 6 FIG.I 6 FIG.I As an alternative to selecting iconsand/or, a user may select any of icons/to individually control the shade devices and thus shades. Upon detecting/determining that the user selected a given one of the icons/, the control application may display to the user an interface to control the respective shade device and thus shade(s). For example, assuming the control application detects/determines that the user selects in interfacethe iconlabeled “Kitchen Left Shade,” the control application may display the control interfaceshown in(in this example, if there is more than one shade controlled by the control device, the shades may be controlled to a common state). Control interfacemay be shown alone or superimposed over interface, for example. One will recognize that control interfaceis an example and other controls are possible. Here, control interfaceis shown with a vertically movable/slide-able actuatorthat may be actuated by the user (again, the control application may determine, based on information provided by the system controller (e.g., from the type indicator), an appropriate control interface to display to the user to control the selected device based on capabilities of the device). The control application may display the actuatoras in this example to provide an indication to the user of the respective shade's position (i.e., the actuator is approximately mid-way along its possible path to represent the shade(s) is partially closed/down, for example). Based on detecting movement of the actuatorby the user (such as raising or lowering the shades, etc.), the control application may communicate one or more messages to the system controllera to instruct the system controller to reconfigure the “Kitchen Left Shade” based on the user's instructions. If the user closes the shade(s), this update may be reflected in icon(e.g., the number value displayed being decremented) and in interface(e.g., the appearance of the icon) as similarly discussed above. Similarly, if a shade(s) is initially closed and is now opened via actuator, this update may be reflected in icon(e.g., the number value displayed being incremented) and in interface(e.g., the appearance of the icon) as similarly discussed above. As shown in, control interfacemay also include a selectable “Edit” iconthat when selected, may cause the control application to display a user interface that will allow a user to reconfigure parameters associated with the Kitchen Left Shade. A user may exit control interfaceby touching an area of the display screen of network deviceoutside of the interface. Other examples are possible.
720 624 720 716 726 720 718 724 624 624 720 718 724 720 716 726 720 624 716 718 720 724 726 6 FIG.F 6 FIG.F Again, user interfaceofis one example. As another example, upon detecting that a user selected icon, the control application may only display in graphical interfacea respective iconfor each shade device having a respective shade that is currently open/up and may only include a “Close All” iconto close the respectively open shades (i.e., interfacemay not include iconsrepresenting currently closed shades and/or control icon). As another example, as indicated above shades iconmay alternatively show the number of shades that are currently closed/down. In this example, upon detecting that a user selected icon, the control application may only display in graphical interfacea respective iconfor each shade device having a respective shade that is currently closed/down and only include the “Open All” iconto open the respectively closed shades (i.e., interfacemay not include iconsrepresenting currently open shades and/or control icon). Further examples are possible. For example, interfacemay operate as shown inwith iconshowing the number of open shades, and both iconsandpresent to show the status of all shades. However, interfacemay not include the “Open All” iconand/or the “Close All” icon.
6 FIG.F 6 FIG.A 720 722 722 610 Returning to, once a user is done with interface, the user may select icon(the “Done” icon although icons may be used). Upon detecting/determining that the user selected icon, the control application may once again display interfaceto the user, as shown in.
626 202 210 202 250 626 626 626 626 626 626 6 FIG.A 6 FIG.A 6 FIG.K Turning now to iconof, as indicated this icon may be a thermostat devices icon that indicates to the user a current temperature in the user environmenta. In particular, load control systema may include one or more thermostat devices that control respective HVAC systems. The control application may determine a current temperature in the user environmenta using information obtained from the system controllera based on the system controller's interactions with the thermostat device(s). Based on the current temperature(s) obtained from the system controller, the control application may determine a representative temperature reading for the user environment and indicate this reading to the user by displaying/associating this reading (in this example, 72 degrees) with the iconas shown in. As one example, when the load control system includes a single HVAC system, the current temperature indicated by the control application through iconmay be the current temperature as measured by the corresponding thermostat device. When the load control system includes two or more HVAC systems, the current temperature indicated by the control application through iconmay be the current temperature indicated by one of the thermostat devices, the choice of which by the control application may be based on information received from the system controller as which to use, and/or information associated with the respective thermostat devices. For example, assuming the user environment has a downstairs and an upstirs HVAC system, the control application may always use the current temperature indicated by the downstairs thermostat, may use the current temperature indicated by the downstairs thermostat during the day (e.g., where “day” may be provided by the system controller, such as 6 AM to 8 PM), and use the current temperature indicated by the upstairs thermostat during the evening (e.g., where “evening” may be provided by the system controller, such as 8 PM to 6 AM), etc. Other variations are possible including the control application allowing a user to select which of the thermostat devices to use and possibly when (one example of this is discussed in reference to). As another example, the control application may use an average (as determined by the control application and/or system controller for example) of the respective current temperatures as measured by the respective thermostat devices of each HVAC system. One will recognize that other mechanisms and/or mathematical formulas may be used to determine the temperature associated with iconwhen there are multiple HVAC systems. As a further example (not shown in the Figures), in addition to associating/displaying a current temperature with iconthe control application may also display an indication of the current heat and/or cool setpoint temperate to which a thermostat device is set to. When there are multiple thermostat devices/HVAC systems, the control application may make a determination as to which setpoint temperate(s) to use in a similar fashion as the current temperature. One will recognize that the temperature values provided with iconmay be in Fahrenheit or Celsius, and may be configurable by the user.
250 626 622 626 250 250 626 680 202 For explanation purposes only, it will be assumed that the load control systema includes two HVAC systems (an upstairs and a downstairs system) each with a respective thermostat device and that the control application displays the current temperature reading of the downstairs system with icon. In addition to displaying the current temperature, as with lighting devices iconthe control application may actively update the current temperature displayed by iconbased on, for example, the system controllera actively monitoring the current temperature measured by the downstairs thermostat and reporting this information to the control application either asynchronously and/or as a result of the control application requesting from system controllera the status of the downstairs thermostat device, for example. In this fashion, iconmay allow a user to quickly and easily determine from network devicea current temperature in user environmenta.
626 626 680 740 740 626 740 744 746 740 210 760 762 760 762 760 762 760 762 760 762 6 FIG.J 6 FIG.J Iconmay also be selectable by a user. Upon detecting/determining that the user has selected icon, the control application may display to the user via network devicea graphical user interfaceas shown in. Interfacemay continue to display to the user iconand the current temperature reading. Interfacemay also include a “Raise All” icon(although other text and/or icons may be used) and/or may also include a “Lower All” icon(although other text and/or icons may be used), both of which may be selectable by the user and may allow the user to control the thermostat devices of the load control system in tandem/together as discussed below. Interfacemay also include a respective information section (also referred to herein as a pane) for each thermostat device in the load control system. In this example with the load control systema including two thermostat devices, each device may have a respective information section or paneandthat provide respective status information and controls for each thermostat device/HVAC system. In the event a load control system has more than two thermostat device/HVAC systems, the control application may be configured to make information sectionsandscrollable by the user (such as vertically scrollable) to display additional information sections or panes, one for each system. In one aspect, information sectionsandallow a user to control the respective thermostat devices separately. As further shown in, control application may use the location indicator and/or type indicator associated with each thermostat device to display in connection with each thermostat device in information sections or panesandan indication of the respective device's location in the user environment (in this example, textual information such as, “Downstairs Thermostat” and “Upstairs Thermostat” are used, although other mechanisms are possible). In general, the control application's use of textual information may allow the user to more easily determine the actual thermostat device/HVAC system in the user environment the information in sections/refer to.
760 750 250 750 756 756 756 760 752 756 756 756 756 752 250 756 740 Using information section or paneas an example, the control application may display for a thermostat/HVAC system a current temperature reading(here, 72 degrees) as determined by the respective thermostat device. Again, as a respective thermostat device determines a change in the current temperature reading in the user environment and the system controllera reports this change to the control application (automatically or in response to a query by the control application for example), the control application may actively update the current temperature readingdisplayed to the user. The control application may also display the setpoint temperature(s)(here, 70 degrees) the respective thermostat device is configured to control its respective the HVAC system to. Assuming the HVAC system has four modes including a heat mode, a cool mode, an auto mode and an off mode, none, one or more setpoint temperature(s)may be shown. For example, if the thermostat is set to off, no set point temperature may be shown. If the thermostat is set to heat mode or cool mode, one setpoint temperaturemay be shown representing the temperature the HVAC system is set to heat or cool to, respectively. If the thermostat is set to auto mode, two setpoint temperatures may be shown representing the temperature the HVAC system is set to heat to and set to cool to. Indications may also be provided to the user as to which of the two temperatures is the heat to temperature and which is the cool to temperature. The information sectionmay also include selectable icon controls(two pairs if two set point temperatures are shown) that allow a user to adjust the setpoint temperature(s)of the thermostat device. In this example, “+” and “−” controls are used to respectively raise and lower the setpoint temperature. One will recognize that other control types may be used. Each actuation of the “+” control by a user may raise the setpoint temperatureby a predetermined number of degrees (such as one degree). Similarly, each actuation of the “−” control by a user may lower the setpoint temperatureby a predetermined number of degrees (such as one degree). Upon detecting/determining that the user selected one of the respective “+” and “−” controls of icon, the control application may communicate one or more messages to the system controllera instructing the system controller to adjust the setpoint temperature of the thermostat device. Changes in the setpoint temperature(s) may also be reflected in setpoint temperature(s)of interface.
760 758 758 760 764 764 766 766 768 768 770 770 250 764 756 250 6 FIG.K The information sectionmay also include a selectable “carrot”, for example. Upon detecting/determining that the user selected carrot, the control application may expand information sectionto display additional controls/information to the user as shown in user interfaceof(again, the controls displayed by the control application may be based on capabilities/functionality of the thermostat device as determined from information provided by the system controller). According to this example, user interfacemay include three control sections that may allow a user to further control the Downstairs thermostat/HVAC system. These control sections may include a mode controlthat may allow a user to select any of a heat mode, cool mode, auto mode, and off mode for example of the HVAC system as described above. The control application may display with the mode controlthe current mode of the HVAC system (here, cooling) as determined from the system controller. The control sections may further include a fan controlthat may allow a user to turn the HVAC fan on and off. The control application may display with the fan controlthe current fan setting of the HVAC system (here, On) as determined from the system controller. Assuming the thermostat device/HVAC system is programmable, the control sections may further include a schedule controlthat may allow a user to turn the schedule on and off. The control application may display with the schedule controlthe current schedule status (here, On) as determined from the system controller. Upon detecting/determining that the user selected any one of these controls (e.g., by touching the word “HEAT,” or “AUTO,” or “OFF,” etc.), the control application may communicate one or more messages to the system controllera instructing the system controller to adjust/reconfigure the thermostat device. User interfacemay further include a selectable “Edit” iconthat when selected, may cause the control application to display a user interface that will allow a user to reconfigure the schedule of the thermostat device. For example, the user may be able to adjust on/off times, heating and cooling setpoint temperatures, etc., with the control application communicating this information to the system controllera.
6 FIG.J 744 746 756 744 756 746 756 760 762 744 744 746 746 744 746 250 756 Turning again toand the “Raise All” iconand “Lower All” icon, these controls may allow the user to raise and lower respectively the setpoint temperature(s)of the respective thermostat devices of the load control system in tandem/together. One will recognize that other control types may be used. Each actuation of iconby a user may raise the respective setpoint temperature(s)(which may be different for each thermostat) of each thermostat device by a predetermined number of degrees (such as one degree). Similarly, each actuation of iconby a user may lower the respective setpoint temperature(s)of each thermostat device by a predetermined number of degrees (such as one degree). If an HVAC system is set to auto mode, both setpoint temperatures of that system may move in tandem, for example. For example, assume that the downstairs thermostat device/HVAC system (represented by section or pane) has a setpoint temperature of 70 degrees and that the upstairs thermostat device/HVAC system (represented by section or pane) has a setpoint temperature of 74 degrees. An actuation of iconby a user may raise the setpoint temperature of the downstairs thermostat device/HVAC system to 71 degrees and may raise the setpoint temperature of the upstairs thermostat device/HVAC system to 75 degrees (assuming each actuation of iconmakes a one-degree change). Similarly, again assuming that the downstairs thermostat device/HVAC system has a setpoint temperature of 70 degrees and that the upstairs thermostat device/HVAC system has a setpoint temperature of 74 degrees, an actuation of iconby a user may lower the setpoint temperature of the downstairs thermostat device/HVAC system to 69 degrees and may lower the setpoint temperature of the upstairs thermostat device/HVAC system to 73 degrees (assuming each actuation of iconmakes a one degree change). Upon detecting/determining that the user selected one of the respective iconsand, the control application may communicate one or more messages to the system controllera instructing the system controller to adjust the setpoint temperatures of the thermostat devices. Changes in the setpoint temperatures may be reflected in setpoint temperature(s)of each device.
6 FIG.J 760 762 250 626 740 760 760 762 740 626 760 762 626 626 760 762 With further reference to, if a given user environment includes temperature devices of different types, the appearance of sectionsandmay be different for each temperature device. Again, the control application may make this determination from information received from the system controller, for example, and/or for information stored at the network device. According to a further aspect of the control application, when load control systema includes multiple HVAC systems, as noted above the temperature associated with iconmay correspond to one of the systems. According to one example, the control application may use the temperature associated with the first or top thermostat device/HVAC system as shown in interface(here, the thermostat device/HVAC system represented by section). According to a further aspect of the control application, a user may change the order of sectionsanddisplayed in interface(e.g., A user may touch a given section for at least a defined period of time. Upon detecting the touching, the control application may active the section and allow the user to drag the section up or down, for example, to thus change the ordering). Upon changing the order, the control application may now have the temperature associated with icontrack the new top section. One will recognize that the order in which the sectionsandshould be displayed and which of the sections iconshould track may be stored at the network device and/or the system controller. One will also recognize that other variations are possible, including for example, the temperature associated with icontracking the last of sectionsand.
740 742 742 610 6 FIG.A Once a user is done with interface, the user may select icon(the “Done” icon although icons may be used). Upon detecting/determining that the user selected icon, the control application may once again display interfaceto the user, as shown in.
620 610 776 210 776 776 776 776 250 250 776 622 776 250 250 624 680 776 776 776 6 FIG.A 6 FIG.L 6 FIG.L As indicated, sectionof user interfaceofmay also include other icons such as a fans iconas shown inthat may indicate to the user a status of fan devices within the load control systema, such as the number of fans that are currently on. Similar to lighting control devices, a given fan device may control more than one fan and may control these fans in unison. According to one example, the control application may view a given fan device and its respective fans as one device. In this example, as long as one fan controlled by the fan device is in an on state, the control application may count this as one (1) with respect to the number associated with icon, regardless of the number of fans that are actually controlled by the device. Nonetheless, one will recognize that the number associated with iconmay represent the actual number of fans controlled by each fan device. Here the control application may view each fan controlled by a given fan device individually. In this example, the number associated with iconmay be representative of each fan. Hence, if two fans controlled by a fan device are in an on state, the control application may count this as two (2) with respect to icon. For description purposes, the control application is described herein from the perspective of a fan device, where the fan device and its respective fans are treated as a single unit. The control application may determine the number of fans that are currently on based on information obtained from the system controllera. Again, the control application and/or the system controller may perform the count to determine this number, for example. In this example, the control application has determined based on information received from the system controllera that two fan devices have respective fans that are currently on (where on may include a fan at any speed other than off). The control application may indicate this determination to the user through the displayed number “2” associated with the iconas shown in. In addition to displaying the number of fan devices with respective fans determined to be currently on, similar to lighting control devices iconthe control application may actively update the number displayed with the fans iconbased on, for example, the system controllera actively monitoring the state of fans in the user environment (e.g., as a result of a user in the environment adjusting the fans) and report this information to the control application either asynchronously and/or as a result of, for example, the control application requesting from system controllera the status of the fans and/or control devices in general. In this fashion, the fans iconmay allow a user to quickly and easily determine from network devicewhether any fans are on in the user environment. If no fans are determined to be currently on, the control application may display the value “0” with icon, may display no value with the icon, or may not display the icon at all (thereby indicating no fans are on, etc.). Other variations are possible. For example, rather than displaying a number with icon, the control application may display the icon when any fan is on and not display the icon when all fans are off. As a still further example, iconmay indicate the number of fan devices with respective fans that are all in the off state.
776 776 620 680 772 772 776 772 778 772 780 702 780 776 660 702 780 250 780 772 776 250 772 780 772 720 778 210 250 250 776 780 772 778 778 772 202 776 780 772 778 778 772 772 622 780 6 FIG.M 6 FIG.A 6 6 FIGS.F-H 6 6 FIGS.F-H Iconmay also be selectable by the user. Upon detecting/determining that the user has selected iconfrom user interface, the control application may display to the user via network devicethe graphical user interfaceas shown in. Interfacemay continue to display to the user iconand the number of fan devices with fans currently determined to be on. Interfacemay also include a “Turn All Fans Off” icon(although other text and/or icons may be used), which may be selectable by the user. Interfacemay also include a respective iconfor each fan device that has respective fans determined to be on (Again, according to this example, the control application may be configured to treat a fan device and its respective fan(s) as one unit, collectively representing the unit as one icon. As an alternative, each fan controlled by a fan device may be represented by an icon in interface, or some combination thereof). Each of these icons may also be selectable by the user. In this example, two iconsare shown in connection with the value “2” as shown with icon. The control application may use the location and/or type indicator associated with each fan device to display in connection with each icon an indication of the respective fan device's/fan's location in the user environment (in this example, textual information such as, “Downstairs Bathroom Fan,” and “Master Bedroom Fan” are used, although other mechanisms are possible such as segregating icons by location, similar to sectionofbut only displaying icons for devices currently on). Similar to interface, the control application may actively update iconsdisplayed to the user as fans in the user environment change state from on to off and off to on. For example, as a fan controlled by a fan device is turned on by a user in the user environment for example, the control application may receive an indication of this change from the system controllera (for example, automatically or in response to a query by the control application) and display to the user an additional iconin interfacethat is associated with the fan device of the fan, and also increase the number value by “1” shown by icon. Similarly, as a fan controlled by a fan device is turned off, the control application may receive an indication of this change from the system controllera and remove from interfacethe iconassociated with the fan device or change the appearance of the icon (e.g., change its color or contrast as compared to other icons) when all fans controlled by the fan device are off, as similarly discussed above. Other variations are possible. For example, the control application may configure interfacesimilar to interfaceofand show all fan devices in the load control system (both on and off), including the state of each fan device as similarly described for shades, and also allow a user to control fan devices as similarly described for shades in. Turning now to icon, as indicated, this icon may be selectable by the user and may allow the user to turn off all fan devices and thus fans that are currently on in the load control systema. Upon detecting/determining that the user selected the icon, the control application may communicate one or more messages to the system controllera instructing the system controller to turn all the fans off. Once completed, the system controllera may provide a response to the control application (automatically or in response to a query, for example) indicating that the fan devices are now off. In response, the control application may change the number associated with iconto “0” for example (or show no value for example), and remove or change the appearance of iconsfrom interface, for example. The control application may also deactivate iconsince all fan devices/fan are off (where deactivating may include making the icon non-selectable by a user and/or changing the appearance of iconsuch as by changing its color or contrast as compared to other icons, removing the icon from interface, etc.). Once a fan device returns to the on state (such as by a user in the user environmenta turning a fan on), in addition to incrementing the number associated with iconto “1” for example, and displaying an iconin interfacerepresenting the fan device, the control application may also activate/re-activate icon(where activating the icon may include making the icon selectable by a user and/or changing the appearance of iconsuch as by changing its color or contrast as compared to other icons, displaying the icon in interface, etc.). One will recognize that other examples are possible such as interfacealso/alternatively including a “Turn All Fans On” icon, which upon selection, may cause the control application to communicate one or more messages to the system controller to turn all fans in the user environment to an on state (or a pre-programmed set of fans to an on state). Again, such an action by a user may cause the control application to increment the number associated with iconand to display respective iconsaccordingly. Other examples are possible.
778 780 780 780 As an alternative to selecting icon, iconsmay also be selectable by the user and allow the user to individually control the fan device and thus fan(s) associated with the icon. (One will recognize that if the control application is configured to show iconsin a fashion that indicates the respective fan device is off, the icon may continue to be selectable by the user to control the device.) Upon detecting detecting/determining that the user selected a given one of the icons, the control application may display to the user an interface to control the respective fan device/fan(s).
772 780 782 782 772 782 782 784 784 784 250 776 772 780 782 784 782 680 782 6 FIG.N 6 FIG.N For example, assuming the control application detects/determines that the user selected in interfacethe iconlabeled “Master Bathroom Fan” (in this example, the fan device may control one respective fan), the control application may display the control interfaceshown in. Control interfacemay be shown alone or superimposed over interface, for example. One will recognize that control interfaceis an example and other controls are possible. The “Master Bathroom Fan” may be a multi-speed fan and as such, the control application (determining that the fan is a multi-speed fan such as from its type indicator) may display a control interfaceas shown here with multiple fan speed actuatorsthat may be actuated by the user (i.e., the control application may determine, based on information provided by the system controller (e.g., from the type indicator), an appropriate control interface to display to the user to control the selected fan device/fan based on capabilities of the fan device/fan). The control application may display the actuatorsto provide an initial indication to the user of the current fan speed of the fan controlled by the fan device (e.g., the low speed actuator is highlighted in this example). Based on the detecting selection of one of the actuatorsby the user, the control application may communicate one or more messages to the system controllera to instruct the system controller to reconfigure the fan device based on the user's instructions. If the user turns the fan device/fan off, this update may be reflected in icon(e.g., by decrementing the count by 1) and in interfaceas discussed above by removing or altering the appearance of the iconcorresponding to the “Master Bathroom Fan,” for example. As shown in, control interfacemay also include a selectable “Edit” iconthat when selected, may cause the control application to display a user interface that may allow a user to reconfigure parameters associated with the respective fan device/fan. A user may exit control interfaceby touching an area of the display screen of network deviceoutside of the interface. Other examples are possible.
6 FIG.M 6 FIG.A 772 774 774 610 Returning to, once a user is done with interface, the user may select icon(the “Done” icon although other icons may be used). Upon detecting/determining that the user selected icon, the control application may once again display interfaceto the user, as shown in.
620 620 202 620 202 202 620 As indicated above, sectionmay show additional status information than that discussed herein. For example, the control application may include in sectionone or more icons to indicates alerts and/or system notifications, such as an indication of low batteries/a number of low batteries in the load control system (assuming, for example, a control device(s) have batteries), an indication that an alarm is going off in the user environmenta (e.g., a smoke alarm, carbon monoxide detector alarm, home security alarm), an indication of communication errors (e.g., that the system controller cannot communicate with one or more control devices), etc. Any such icons may be selectable by a user resulting in the control application displaying to the user an interface that will provide additional information and/or system controls, for example. Assuming the load control system includes occupancy sensors for example, the control application may include in sectionan icon providing an indication of occupancy status in the user environmenta. Such an icon may simply provide an indication of occupied/unoccupied and/or may provide an indication of a number of people present in the user environmenta. Selection of such an occupancy icon may cause the control application to display to the user an interface that provides additional information such as which rooms in the user environment are occupied and/or unoccupied assuming, for example, that various rooms have occupancy sensors. One will recognize that the control application may determine occupancy in other fashions such as by detecting a change in status of control devices like lights, fans, shades, etc. from user actuated controls within the user environment, by sensors tracking doors opening/closing, etc. As another example, scenes maintained by the system controller may include a “Vacation Mode,” an “Away Mode” (which may be a scene when occupants left home for the day), a “Home Mode” (which may be a scene when occupants have returned home for the day), in addition to other scenes, etc. Accordingly, the control application may include in sectionone or more icons providing an indication as to which mode/scene is currently active in the environment. Selection of such an icon(s) may cause the control application to display to the user an interface that allows, for example, the user to change the mode/scene. Again, other examples are possible.
6 FIG.O 640 660 642 643 660 210 660 660 642 Turning now toand sectionsand, upon determining/detecting that a user has selected the Devices tab(or as a default configuration), the control application may provide an indication that the tab is active (e.g., as shown by the under-bar, although other means may be used such as reverse highlighting, etc.) and may display icons within information sectionwhere the icons may represent one or more of the control devices of the load control systema. According to one example, all control devices may be displayed in section. According to another example, certain control devices such as thermostat devices or handheld/remote-control keypads configured to only turn lighting load(s) on/off and/or to control the dimming levels of the lighting loads, for example, may not be displayed in this section. According to another example, the control application may be configurable by a user, thereby allowing a user to decide whether such control devices are to be shown in section. As indicated above, upon the control application being started, it may default to the Devices tab.
642 660 802 804 806 202 250 802 804 806 802 804 806 810 810 802 804 806 802 610 802 804 806 802 804 806 802 804 806 6 FIG.O According to one example, when the Devices tabis active, the control application may subdivide sectioninto one or more panes (here three panes are shown,,, and). Each pane may represent a location within the user environmenta. The control application may determine the locations based on information received from the system controllera, such as the location indicators associated with the various control devices. The control application may provide an indication with each pane as to the location it represents. Here, textual labels are used, although other mechanism may also be used. In the example of, the control application may label paneas “Kitchen,” label paneas “Living Room,” and label paneas “Master Bedroom.” Within each pane,, andthe control application may further display a respective icon (such as iconsa-d) for control devices when the control device and/or the load(s) it controls are located within the respective location that the pane represents. As shown, different icons may be used for different types of control devices. According to one example, icons for certain control devices may appear in multiple panes,, and/or. As an example, if a determination of whether to display in a certain pane an icon for a given control device is based on a location of the control device, the icon may appear in the one pane corresponding to that location. If, however, a determination of whether to display an icon for a control device in a certain pane is based on a location of the loads the control device controls and those loads are in multiple locations, the icon may be displayed in each respective pane corresponding to the location. For description purposes the former example may be assumed. Other variations are possible. Again, the system controller may provide an indication of the type of icon the control application should use for each control device. As another example, the control application may use information provided by system controller on each control device to determine which icon to use (e.g., for a fan type device use a fan icon, for a shade type device use a shade icon, for a lighting control device use a light-based icon, for a keypad device use a keypad icon, etc.) The control application may further associate with each icon an indication of the control device's and/or its respective load(s)' specific location/function as similarly discussed herein. For example, panehas three different displayed icons each with a respective textual identifier (“Ceiling Lights,” Pendants,” and “Keypad.”). According to a further aspect of interface, the order of panes,, andmay be statically defined. According to a further aspect, the control application may enable a user to change the order of panes,, and(e.g., A user may touch a given pane for at least a defined period of time. Upon detecting the touching, the control application may active the pane and allow the user to drag the pane up or down, for example, to thus change the ordering. Other variations are possible). One will recognize that the order in which the panes,, andare to be displayed may be stored at the network device and/or the system controller. One will also recognize that other variations are possible.
808 808 808 808 808 660 660 808 202 660 806 660 620 660 808 806 610 660 802 660 808 660 660 610 802 660 660 660 808 660 660 802 620 610 620 610 642 660 620 660 642 660 620 6 FIG.P 6 FIG.O 7 7 FIGS.A andB 6 FIG.O 6 FIG.P 6 FIG.P 6 FIG.O The control application may initially display a maximum number of icons (here three, for example) in each pane. If a given location has more than three control devices, the pane may include a “carrot”, for example. Upon detecting/determining that the user has activated/selected a carrot, the control application may expand the respective pane to display additional icons representing additional control devices in the location. Selection of the carrota second time may collapse the pane back to the three icons. As another example, the control application by default may display in each pane all icons for all control devices in a given location. Here, actuation of “carrot”may collapse the pane to show no icons and selection of the carrota second time may expand the pane to show all icons. Other examples are possible. Furthermore, sectionmay be scrollable (e.g., vertically scrollable) to display additional panes representing additional locations. According to one example, referring tothere is shown an example user interface with information sectionscrolled revealing another panecorresponding to an “Office” location within the user environmenta and having respective icons representing additional control devices located in the Office. In this example, as sectionis scrolled to reveal additional panes below “Master Bedroom” pane, sectionmay expand, with sectionscrolling off of/being remove from the display interface of the network device and sectionconsuming this space, and additional pane(s) (here pane) appearing below pane. Scrolling here may be referred to as scrolling down or downward scrolling for discussion purposes only. This “downward” scrolling may be achieved for example by “swiping” one's finger vertically upward along interface, by selecting a downward pointing arrow, etc. as in known in the art. Continued “downward” scrolling of sectionmay cause the panes at the top of the section (here “Kitchen” pane) to disappear from sectionand for additional panes to appear at the bottom (below “Office” pane) of the section, assuming there are additional panes. Similarly, as sectionis scrolled in the reverse direction (referred to herein as scrolling up, or upward scrolling for discussion purposes only, and which may be achieved for example by “swiping” one's finger vertically downward along interface, by selecting an upward pointing arrow, etc. as in known in the art) to possibly reveal panes such as panethat may have been scrolled off of section, panes at the bottom of sectionmay disappear from section(such as pane) and additional panes may appear at the top of section. Continued “upward” scrolling may cause sectionto collapse as the top pane (here “Kitchen” pane) is reached, and for sectionto be re-displayed, with interfaceonce again appearing as shown in. According to another example, sectionmay not scroll off of the display interfacebut rather, may be minimized as further discussed below with reference to. According to another example, in addition to or as an alternative to the above, selecting the Devices tab(such as by “touching” or “tapping”) in theconfiguration may cause sectionto expand and sectionto disappear as shown in. Again, sectionmay then be scrollable. Similarly, selecting the Devices tab(such as by “touching” or “tapping”) in theconfiguration may cause sectionto collapse and sectionto be re-displayed as shown in.
642 660 810 810 810 810 810 810 716 718 660 660 660 660 620 6 FIG.O 6 FIG.F According to a further aspect of the Devices tab, the control application may display the icons in sectionin a fashion to provide an indication of the status/state of the corresponding control device as similarly discussed herein. For example, the control application may change the appearance of the icon (e.g., change its color and/or contrast as compared to other icons) to signify the status/state of the corresponding control device (and/or the state of its respective controlled load(s)) as describe herein. For example, with respect to lighting control devices as represented by iconsa-d, iconsa-b are shown in the example ofas indicating that the lighting load(s) of the corresponding control devices are on and iconsc-d are shown in as indicating that the lighting loads of the corresponding control devices are all off. Color and/or contrast may be used in a similar fashion for icons representing other types of control devices. According to another example, different icons may be used for a given type of device to represent different states, such as shown inwith iconsrepresenting open shades and iconsrepresenting closed shades. Other examples are possible. According to a further aspect of section, the control application may dynamically change the appearance of icons in sectionas the state/status of the corresponding control devices/loads change (e.g., if a light is turned off by a user in the user environment, the control application may change the appearance of a lighting control device icon in sectionto show the changed state as similarly described herein). In general, the state/status of control devices as shown by the icons in sectionmay match the status/state of control devices as represented by the icons in sectionand the interfaces that correspond to these icons.
642 660 11 11 6 6 6 6 10 10 FIGS.D,E,I,N,A-C According to a further aspect of Devices tab, the icons shown in sectionmay be selectable by a user. Upon determining/detecting that a user has selected a given icon, the control application may display to the user a control interface to control the respective device as similarly shown and discussed with respect to, and/orA-N for example.
810 810 812 250 812 812 814 814 814 250 812 816 250 812 810 802 810 802 6 FIG.O 6 FIG.O 6 FIG.Q 6 FIG.P As a further example, assume that icone ofrepresents a keypad control device having four buttons, for example, and that is located in the Kitchen and that the keypad is configured to control one or more control devices such as one or more lighting control devices/lighting loads, shades, and speakers, and is programmed with a set of scenes (e.g., a set of buttons that each controls/configures a respective scene). These scenes may include, for example, an “Off” scene that turns the lighting loads off, a “Dining” scene that sets the lighting loads, shades, and speakers to a predefined state for eating, a “Cooking” scene that sets the lighting loads and speakers to predefined settings conducive to cooking, and a “Bright” scene that sets the lighting loads to a fully on state. This is merely an example. Responsive to the control application determining/detecting that a user has selected icone of, the control application may display to the user a control interface, such as control interfaceof. Using information provided by the system controllera on the keypad control device, the control application may display control interfacesuch that the interface is representative of the actual keypad. For example, control interfacemay have multiple selectable scene actuators(here shown as buttons for example) each representative of and labeled as one of the scenes of the actual keypad. The control application may further display the actuatorsto provide an indication to the user as to the current scene setting of the keypad (i.e., here the “Dining” button is shown as selected, for example). Based on detecting/determining that a user has selected one of the scene actuators, the control application may communicate one or more messages to the system controllera to instruct the controller to reconfigure the keypad/corresponding lighting loads, shades, and/or speakers based on the user's instructions, thereby setting the corresponding lighting loads, shades, and/or speakers of the Kitchen to the selected scene. As further shown in, control interfacemay also include a selectable “Edit” iconthat when selected, may cause the control application to display a user interface that may allow a user to reconfigure the scenes of the actual keypad control device (e.g., change one or more of the scene configurations) by communicating one or more messages to the system controllera. These changes may also be reflected in control interface. Before turning to the “Edit” icon, according to one example, if a given location (such as the Kitchen in this example) includes multiple keypad control devices that are all configured the same (e.g., each keypad includes the same number of scene buttons and controls the same electrical loads, and actuation of the same button on any given keypad results in the same scene across the loads), the control application may only display one icone in pane(according to this example), representing of all of the keypad control devices. Editing the keypad as discussed below may result in the control application/system controller reconfiguring each of the keypad control devices within the load control system to the same configuration. According to a further example, the control application may display the keypad icone of panedifferently (e.g., change the icons color and/or contrast) depending on whether a scene other than the Off scene is currently active, as compared to when the Off scene is active. Other variations are possible.
816 680 901 901 902 902 901 903 903 909 909 908 908 909 908 907 906 907 909 901 906 909 901 6 FIG.R 6 FIG.S Turing to the “Edit” icon, upon determining/detecting that a user has selected the icon, the control application may display to the user via a visual display of network devicethe example configuration interfaceshown in. Interfacemay include a first sectionrelated to the type indicator associated with the keypad control device, for example, and that may allow the user via the control application to change the type indicator (here, “Keypad”) associated with the keypad control device(s). Sectionmay be, for example, a drop-down menu, and/or free text field, etc. Interfacemay also include a sectionrelated to the location indicator associated with the keypad control device, for example, and that may allow the user via the control application to change the location indicator (here, “Kitchen”) associated with the keypad control device. According to this example, the keypad control device is currently indicated as being located in the “Kitchen.” The word “Kitchen” may be a selectable icon that allows the user to change the location associated with the device, although other mechanisms may be used. Upon determining/detecting that a user has selected the “Kitchen” icon, the control application may display to the user an example interfaceas shown in. The control application may list in interfacea selection of possible locations/roomsto associate with the keypad control device. As shown, the control application may provide an indication of the location currently associated with the keypad control device. In this example, a “check” mark is shown next to “Kitchen,” although other mechanisms may be used. Any one (or possibly more) of the locations/roommay be selectable by the user. Upon detecting determining that the user selected a new location/room, the control application may associate a “check” mark with new location for example, possibly removing the “check” mark from the prior location (as another example, a given “checked” location may need to be selected by the user to un-select the location. Other variations are possible). Although not shown, interfacemay allow a user to specify a location not shown in list. Once done, the user may select either of the “Cancel” iconor the “Save” icon. Selection of the “Cancel” iconmay cause the control application to not save any changes made by the user via interfaceand return the user to interface. Selection of the “Save” iconmay cause the control application to save any changes made by the user via interfaceand return the user to interface.
6 FIG.R 6 FIG.T 909 903 901 905 905 905 905 905 905 910 910 912 912 912 912 910 911 912 912 912 912 915 915 Returning to, if the user changed the location associated with the keypad device via interface, that location may be reflected in section. Interfacemay also include a respective pane or sectiona-d, each corresponding to one of the scene actuators/buttons of the keypad device. Each panea-d may include a name associated with the respective scene (here again, “Bright,” “Cooking,” Dining,” and “Off”). The name may be a selectable icon, although mechanisms may be used. Each pane may also include a brief description of the control devices (lights, speakers, shades) associated with the scene (i.e., an indication as to which control devices are controlled by a given scene). By selecting one of the icons in panesa-d, a user may change the scene assigned to the respective button of the keypad control device. For example, upon detecting/determining that the user selected the “Bright” icon to change the Bright scene, the control application may display to the user the example configuration interfaceshown in. Interfacemay include a respective icona andb corresponding to the control devices (lighting, shade, speaker, etc.) associated with the selected scene (here, two icons respective lighting control devices/lighting loads are shown) and possible settings of each device/load for the scene (here, each lighting load is set to 100% for the scene). Iconsa andb may be selectable icons that upon selection by the user, allows the user, via an interface, to individually control, for example, the settings (e.g., dimming level, shade level, etc.) for that respective control device/load. Because the Bright scene contains lighting devices, example interfacemay also include selectable control icon, selection of which by the user may allow the user to change the dimming level (up and down) of the displayed lighting control devices/loadsa andb in tandem/together. Any changes to the dimming levels may be reflected in iconsa andb. Interfacemay also include a selectable iconthat allows the user to add and/or remove control devices associated with the Bright scene.
915 916 916 917 210 917 917 917 916 916 918 918 920 910 910 912 912 916 913 914 913 910 901 906 910 901 6 FIG.U 6 FIG.T For example, upon detecting/determining that the user selected icon, the control application may display to the user the example configuration interfaceshown in. The control application may list in interfacepossible control devices/loadsin the load control systema that may be controlled by the keypad and that the user may associate/add to and/or remove from the current scene (here, the Bright scene). According to one example, control devices/loadsthat are located in the same room as the keypad may be listed first (here, Kitchen devices) followed by other control devices/loads in the load control system (here, Office Table Lamp). As show, the various control devices/loadsmay be selectable/un-selectable by the user (selected control devices/loadsbeing designated by a “check” mark for example) to add/remove the devices from the scene. Interfacemay further allow the user to configure levels (e.g., dimming levels, shade levels, etc.) for each selected device, such as by selecting the icon associated with the control device and an additional interface being shown. Interfacemay further include control iconsa andb a selection of which may allow a user to select all displayed control devices, or unselect all control devices. Once done, the user may select “carrot”(although other mechanisms may be used) to return to interfaceof. Upon returning to interface, the interface may include iconsa/b reflective of choices made in interface. Once done, the user may select either of the “Cancel” iconor the “Save” icon. Selection of the “Cancel” iconmay cause the control application to not save any changes made by the user via interfaceand return the user to interface. Selection of the “Save” iconmay cause the control application to save changes made by the user via interfaceand return the user to interface.
901 904 921 812 610 909 642 642 Referring again to interface, it may also include a “Delete keypad” icon. Actuation of this icon may cause the control application to instruct the system controller to remove the keypad control device from the load control system. Assuming the user makes changes to the keypad scenes, once done the user may select “carrot”(although other mechanisms may be used) to return to either interfaceorfor example. Any changes made by the user regarding the editing of the keypad control device may be communicated by the control application to the system controller, which may then reconfigure the load control system accordingly, including the keypad control device(s). In addition, if a keypad control device's location is changed such as through interface, the control application may move the respective icon in the Devices tabto a new pane representative of the new location, for example. Similarly, if a keypad control device is removed from the load control system, the corresponding icon may be removed from the Devices tab, for example.
642 812 812 620 According to a further aspect, a keypad control device may communicate with other control devices to effectuate a scene. These other control devices may have respective icons as discussed herein, such as in Devices tab, for example. The control application may change the appearance of such icons as described herein as a scene is controlled via interfaceor the actual keypad control device. Similarly, actuating a scene via interfaceor an actual keypad control device may cause the control application to update the number values represented by the icons of sectionfor example, as a control device's state changes as describe herein. Other variations are possible.
6 FIG.R 6 FIG.U 6 FIG.Q 6 FIG.V 6 FIG.R 816 812 680 901 901 901 902 901 903 901 905 905 905 905 923 901 904 904 One will recognize that the interfaces of-are examples and other variations are possible. For example, responsive to a user selecting the “Edit” iconof control interfaceof, the control application may display to the user via a visual display of network devicethe example configuration interface′ shown in. Similar to interfaceof, interface′ may include a first section/field′, for example, related to the name associated with the keypad control device, for example, and that may be configured to enable the user via the control application to change the name (here, “Keypad”) associated with the keypad control device. Interface′ may also include an/actuator′, for example related to the location indicator associated with the keypad control device, for example, and that may be configured to enable the user via the control application to change the location indicator (here, “Kitchen”) associated with the keypad control device (e.g., by providing access to a menu/drop down menu). Interface′ may also include a respective panes or sectionsa′-d′, each corresponding to one of the scene actuators/buttons of the keypad device. Each panea′-d′ may include a name associated with the respective scene (here again, “Bright,” “Cooking,” Dining,” and “Off”). Each pane may be selectable (such as via a respective icon or carrot). Interface′ may also include a “Delete” icon′, that may be similar to Delete icon.
923 923 916 916 917 210 916 917 917 917 916 919 917 916 922 922 922 922 922 922 922 919 916 6 FIG.W 6 FIG.X 6 FIG.W Assuming the control application detects a selection of one of the icons, a user may change the scene assigned to the respective button of the keypad control device. For example, upon detecting/determining that the user selected the iconassociated with the “Bright” scene, the control application may display the example configuration interface′ shown in. The control application may list/display in interface′ possible control devices/loads′ in the load control systema that may be controlled by the keypad and that the user may associate/add to and/or remove from the current scene (here, the Bright scene) (interface′ may be scrollable). According to this example, control devices/loads′ are separated by location (e.g., “Kitchen”, “Living Room”, “Dining Room”, etc.). As show, the various control devices/loads′ may be selected/un-selected by the user (selected control devices/loads′ being designated by a “check” mark for example) to add/remove, respectively, the control devices from the scene. For selected control devices that are part of a scene (here, the “Main Lights” and the “Pendants”), the control application may also display the level of the device with respect to the scene (here, both devices are shown to be fully “On” as part of the Bright scene (similar indicators may be shown for other control devices/loads such as shades). For selected control devices that are part of a scene (here, the “Main Lights” and the “Pendants”), interface′ may also include a respective icon or carrot, for example, to configure the level of the device. For example, in response to the control application detecting that a user has selected iconassociated with the “Main Lights,” the control application may expand interface′ to display a control interfaceas shown in the example of. Here, control interfaceis shown with a vertically movable/slide-able actuatora that may be actuated/slid by the user to change the light level, and also includes a set of buttons/actuatorsb (here four—one to set the level to fully on, one to raise the level, one to lower the level, and one to set the level to off, for example) that may be actuator to set the level (other variations are possible). The control application may display the actuatora, for example, to provide an indication to the user of the respective device's current setting (here, fully On). Responsive to a user selecting the actuatorsa and/orb, the control application may change the displayed level setting from “On” to a value representative of the new level as set by the user. Upon detecting a further selection of iconassociated with the “Main Lights”, the control application may collapse interface′ as shown in.
916 918 918 918 916 918 918 918 918 918 916 918 916 918 918 918 916 918 916 918 918 916 Interface′ may also include example selectable icons/actuatorsa′,b′, andc′ (although fewer and/or additional icons may be shown). These icons may allow a user to more easily display control devices of interest in interface′. For example, icona′ may be toggled between selected and unselected. When selected, the control application may display “All” control devices, for example, within the load control system. Unselecting icona′, may cause the control application to display no control devices. Iconb′ may also be toggled between selected and unselected. When iconb′ is selected, the control application may deactivate selection of icona′ (if selected) for example, and only display in interface′ the lighting control devices that are part of the load control system. When iconb′ is unselected, the control application may remove from interface′ the lighting control devices. Similarly, iconc′ may be toggled between selected and unselected. When iconc′ is selected, the control application may deactivate selection of icona′ (if selected) for example, and only display in interface′ the shade devices that are part of the load control system. When iconc′ is unselected, the control application may remove from interface′ the shade devices. One will recognize that both iconb′ andc′ may be selected such that both lighting control devices and shade devices are displayed. One will recognize that other variations are possible. A user may or may not save changes made via interface′ as similarly discussed above. Any changes made by the user regarding the editing of the keypad control device may be communicated by the control application to the system controller, which may then reconfigure the load control system accordingly. Similarly, changes may be reflected in other interfaces as discussed herein.
6 6 FIGS.Q-X The interfaces ofmay be applicable to various types of keypads, including handheld remote keypads that control scenes.
642 Overall, the Devices taballows a user to easily determine the control devices within different locations of the user environment, to determine the status of the control devices, and to easily control the devices.
6 FIG.Y 644 820 820 610 620 822 660 250 250 660 Turning now to, upon determining/detecting that a user has selected Scenes tab, the control application may display an example interface. Interfacemay be similar to interface, continuing to display sectionand respective status information, and with the Scenes tab now shown as active (e.g., as shown by the under-bar, although other means may be used such as reverse highlighting, etc.). When the Scenes tab is selected, the control application may configure sectionto display information presenting one or more scenes that may be activated by the user. Specifically, as indicated above the system controllera may maintain information related to one or more pre-programmed scenes that may be actuated by a user from the control application. Each scene may include a scene name, certain settings (e.g., dimming levels) for one or more lights, certain setting for one or more shades, etc. Other examples are possible. The control application may obtain information on each scene from the system controllera and display respective information on these scenes to the user in information section.
6 FIG.Y 6 6 FIGS.O andP 660 824 826 828 824 826 828 830 660 As shown in, the control application may subdivide sectioninto multiple panes (here three panes are shown,,, and). Each pane may represent and/or contain information on each scene maintained by the system controller. For example, within each pane,, andthe control application may display a selectable icon (such as iconsa-c) representative of the scene and may further display information (such as textual information like “Wake,” “Entertain,” and “Basement Off”) that may provide a description of the scene. Again, different icons may be used for different scenes and the system controller may provide the control application with an indication of which icon to display, for example. If there are more scenes than can fit in section, the section may be vertically scrollable, for example, to display additional scenes, similar to the description ofas described above.
644 830 830 660 According to a further aspect of the Scenes tab, the control application may display the iconsa-c in sectionin a fashion to provide an indication of the status/state of the scene, i.e., whether the scene is activated or is not activated. For example, the control application may change the appearance of the icon (e.g., change its color and/or contrast as compared to other icons) to signify the status/state of the corresponding scene.
830 830 620 Upon determining/detecting that a user has selected a given icona-c, the control application may communicate one or more messages to the system controller indicating the scene was selected or unselected (to either activate or deactivate the scene). The system controller may in turn configure respective control devices according to the scene being activated or deactivated (e.g., turned on or off). As devices change states due to changing scenes, the control application may update sectionaccordingly.
6 FIG.Y 832 832 As further shown in, each scene may also include a selectable “pencil” icona-c, for example, that when selected may cause the control application to display to the user an interface that will allow the user to reconfigure the scene. Reconfiguring a scene may include adding and/or removing one or more control devices from the scene, altering settings (such as dimming levels) of one or more control devices that are part of the scene, deleting a scene, etc. Thereafter, the control application may communicate the changes via one or more messages to the system controller.
6 FIG.Y 660 834 660 As also shown in, sectionmay include an “Add scene” icon, for example, that when selected by a user, may cause the control application to display to the user an interface that will allow the user to create a new scene. Creation of a new scene may cause the control application to communicate one or more messages to the system controller indicating/defining the new scene and may further cause the control application to add the scene to sectionsuch that the user may activate the scene. One will recognize that other variations are possible.
6 FIG.Z 646 840 840 610 620 848 660 250 660 Turning now to, upon determining/detecting that a user has selected Schedules tab, the control application may display an example interfaceto the user. Interfacemay be similar to interface, continuing to display sectionand respective status information, and with the Schedules tab now shown as active (e.g., as shown by the under-bar, although other means may be used such as reverse highlighting, etc.). When the Schedules tab is selected, the control application may configure sectionto display information corresponding to one or more timeclock schedules that the system controller is configured to perform. Specifically, as indicated above the system controllera may maintain information related to one or more pre-programmed timeclock schedules that the system controller may automatically perform. Each schedule may include a schedule name, certain settings (e.g., dimming levels) for one or more lights, certain setting for one or more shades, and times/dates as to when the system controller should activate/deactivate the schedule, etc. Other examples are possible. The control application may obtain information on each schedule from the system controller and display respective information on these schedules to the user in information section.
6 FIG.Z 6 6 FIGS.O andP 660 842 844 846 842 844 846 660 As shown in, the control application may subdivide sectioninto multiple panes (here three panes are shown,,, and). Each pane may represent and/or contain information on each schedule maintained by the system controller. For example, within each pane,, andthe control application may display information (such as textual information like “Front Porch Lights,” “Holiday Lights,” and “Shades Open/Close”) that may provide a description of the schedule. The information may further include a description of when the respective schedule is to be activated. If there are more schedules than can fit in section, the section may be vertically scrollable, for example, to display additional schedules similar to the description ofas described above
6 FIG.Z 852 852 As further shown in, each schedule may also include a selectable “pencil” icona-c, for example, that when selected, may cause the control application to display to the user an interface that may allow the user to reconfigure the schedule. Reconfiguring a schedule may include adding and/or removing one or more control devices from the schedule, altering settings (such as dimming levels) of one or more control devices that are part of the schedule, deleting a schedule, changing timing of the schedule, etc. Thereafter, the control application may communicate the changes via one or more messages to the system controller for implementation. Other variations are possible.
6 FIG.AA 6 FIG.AA 840 840 840 660 842 844 846 842 844 846 953 953 953 852 852 For example, referring tothere is shown another example interface′ with the Schedules tab active. Interface′ may be similar to interface, with sectionsubdivided into one more panes (here three panes are shown,′,′, and′). Each pane may represent and/or contain information on each schedule maintained by the system controller. For example, within each pane′,′, and′ the control application may display information (such as textual information like “Porch Lights On,” “Porch Lights Off,” and “Wake”) that may provide a description of the schedule. The information may further include a description of when the respective schedule is to be activated with respective to days of the week (for example, the “Wake” schedule is scheduled for weekdays only). According to this example, the control application may also display for each schedule a respective icona,b, andc. The control application may display in connection with each icon/schedule (such as inside the icon) the time as to when the schedule is to activate/start running. According to this example, a user may configure a schedule to activate relative to astronomical time (e.g., relative to sunrise and sunset) or relative to a set clock time (e.g., 9:00 AM). In this example, the “Porch Lights On” and “Porch Lights Off” schedules are astronomical schedules configured to activate relative to sunset and sunrise, respectively. As a result, these schedules may start at different clock times each day as the year progresses since sunset and sunrise may change day to day. In this example, the “Wake” schedule is relative to clock time and starts the same static time each weekday at 6:30 am. As further shown in, each schedule may also include a selectable “pencil” icona′-c′, for example, that when selected, may cause the control application to display to the user an interface that may allow the user to reconfigure the schedule.
660 660 According to one example, the control application may display schedules in sectionin order of time as the schedules are set to activate/start running. Hence, the current schedule or next to activate/run schedule (if there is no current schedule) may be shown first (e.g., at the top of section), followed by the next schedule to activate, etc. As a schedule completes (ends), the control application may remove the schedule from the top of the list and shift up the other schedules, possibly moving the removed schedule to the bottom of the list (other orderings are possible). Because some schedules may be relative to astronomical time, the control application may change the ordering of the displayed schedules from day to day throughout the year since these schedules do not start at the same static set time each day.
840 953 953 660 953 953 953 According to a further aspect of interface′, the control application may display to the user the state of a given schedule, where there may be one or more possible states. As one example, there may be three states including (i) a deactivated state, where the schedule is not set to activate/run at its designated time (e.g., a schedule may be deactivated because the user deactivated the schedule, or because the schedule is not set to activate on the current/present day of the week, etc.), (ii) an activated-match state, where the schedule is set to activate or is currently activated at its designated time and all control devices that are part of the schedule are currently in a state that matches the schedule, and (iii) an activated-un-match state, where the schedule is set to activate or is currently activated at its designated time but all control devices that are part of the schedule are currently not in a state that matches the schedule. One will recognize that fewer or additional states are possible. According to one example, the control application may use iconsa-c to indicate to the user the state of each schedule, such as by changing the icon, changing the appearance of the icon such as through color or reverse highlighting, etc. In this example, assuming it's a Saturday at 3 PM, the sun is out, and the porch lights are off, the “Porch Lights On” schedule may be shown first/at the top of sectionas being the next to activate, followed second by the “Porch Lights Off” schedule, and third by the “Wake” schedule. The control application may show the icona of the “Porch Lights On” schedule as the schedule being in the activated-un-match state because the scheduled is set to activate at sunset but the porch lights are off and thus do not currently match the configuration of the schedule (the state of this schedule may change to the activated-match state once the porch lights are on). The control application may show the iconb of the “Porch Lights Off” schedule as the schedule being in the activated-match state because the schedule is set to activate at sunrise and the porch lights, currently being off, matches the configuration of the schedule. The control application may show the iconc of the “Wake” schedule as the schedule being in the deactivated state in that the schedule is not configured to run on weekends, for example. This is one example, and other examples are possible.
6 FIG.Z 6 FIG.AA 660 850 850 660 As also shown inand, sectionmay include an “Add event” iconor “Add schedule” icon′ for example that when selected, may cause the control application to display to the user an interface that will allow the user to create a new schedule. Creation of a new schedule may cause the control application to communicate one or more messages to the system controller indicating/defining the new schedule and may further cause the control application to add the schedule to section.
620 640 660 620 640 640 660 680 640 660 660 620 680 620 620 620 640 6 6 6 6 FIGS.A,O,Y, andZ One will recognize that sections/panes,, andof the graphical interfaces shown infor example, may be shown in different orders. For example, the graphical interfaces describe herein have sectionvertically positioned over section, and sectionvertically positioned over sectionwhen displayed on a visual display of a network device. As another example, sectionmay be vertically positioned over section, and sectionmay be vertically positioned over sectionwhen the sections are displayed on a visual display of a network device. Other orders are possible. As another example, sectionmay be a vertically oriented pane/section compared to a horizontally oriented pane (i.e., the icons may be positioned vertically, rather than horizontally). Here, panemay be position to the left or right of panesandfor example.
620 210 620 640 660 680 Nonetheless, as discussed herein, status sectionmay provide a user with an aggregated summary of the load control systema, and the respective icons may provide a user with access to control devices the user may more likely want to control as compared to other devices. Hence, having sectionpositioned over sectionsand(i.e., at the top of a visual display of a network device) may make this section more easily accessible to the user.
7 FIG.A 6 FIG.A 6 FIG.A 6 FIG.A 6 FIG.C 1510 680 1510 610 620 640 660 620 1510 220 210 1522 1524 1526 220 210 620 220 210 620 702 1522 One will recognize that in addition to the above description, other examples are possible. For example, referring to, there is shown another example graphical user interfacethat may be initially displayed by the control application to a user via network deviceupon the application initially starting. Interfacemay be similar to interfaceas shown in, for example, and may include three sections or panes including a status section, a menu selection section/tab section, and in information section. According to this example and as similarly discussed above, sectionof interfacemay include one or more icons indicating different status information of one or more control devicesa within the load control systema. Here, a lighting devices icon, shades devices icon, and a thermostat devices iconare shown, although as discussed above, additional and/or other and/or fewer icons may be shown such as an audio devices icon and/or a fan devices icon depending on the control devicesa within the load control systema. Sectionmay be configured to be scrollable by the user (such as left to right or up/down) in order to display additional icons and/or may be configured such that there are multiple rows of icons displayed at one time to a user, again depending on the control devicesa within the load control systema. According to this example, the status of respective devices may be shown by the control application to a user via a numerical value and/or text associated with the icon and in particular, may be shown below the icon (here, “10 On”, “3 Open”, “Currently”), as compared to a number, for example, imposed on the icon as shown in. As another example, lighting devices (and similarly fan devices) in an “off” state may have the status shown as “0 On” or “All Off”. Shade devices in a closed state may have the status shown as “0 Open” or “All Closed”, for example. Again, other variations are possible including the format used infor example. The icons shown in sectionmay be selectable by a user as discussed above, with the control application taking the user to subsequent user interfaces (such as interfaceofin response to selection of icon). Similarly, the status information associated with each icon may be dynamically/actively updated by the control application as the status of control devices change.
6 6 6 FIGS.O,Y, andZ 7 FIG.B 7 FIG.B 7 FIG.A 7 FIG.B 7 FIG.A 7 FIG.A 7 FIG.B 7 FIG.B 7 FIG.A 660 1510 642 644 646 642 660 1586 1586 660 620 660 620 660 1522 1524 1526 620 1510 620 1510 620 1510 620 1510 620 1510 620 660 620 660 1582 660 1586 660 660 1582 660 660 660 1586 660 660 660 1582 620 1510 642 660 620 660 642 620 660 620 620 660 620 642 644 646 As similarly discussed above with reference tofor example, sectionof interfacemay be vertically scrollable, for example, when any of the Devices tab, Scenes tab, Schedules tabis active. Using the Devices tabas the active tab as an example, as sectionis scrolled “downward” (and/or as panes are expanded) to reveal additional pane information, such as additional information of “Master Bedroom” paneand/or additional panes below “Master Bedroom” pane, sectionmay expand, with sectionscrolling off of and/or disappearing from and/or being removed from the display interface of the network device and sectionconsuming this space. Alternatively and as shown in, sectionmay be condense or be minimized by the control application as sectionexpands. For example, as shown in, the icons, such as icons,, and, may be removed by the control application but the numerical and/or text based status information, for example, may be continued to be displayed for one or more types of devices to provide status information to a user (here, “10 Lights On” for lighting devices, “3 Shades Open” for shade devices, and “Currently 72°” for thermostat devices). The displayed information and format are an example and other examples are possible. Condensed/minimized sectionof interfacemay be configured to be scrollable by the user (such as left to right or up/down) in order to display additional status information and/or may be configured such that there are multiple rows of information displayed at one time to a user. Alternatively, condensed/minimized sectionof interfacemay not be scrollable and may only display status information for a subset of control devices. Which devices are displayed may or may not be user definable. The status information shown in condensed/minimized sectionof interfacemay be dynamically/actively updated by the control application as the status of control devices change. According to one example, condensed/minimized sectionof interfacemay be configured to allow a user to select various portions (such as “10 Lights On”, “3 Shades Open”, and “Currently 72°”) with the control application taking the user to subsequent user interfaces as discussed above. According to another example, condensed/minimized sectionof interfacemay be configured such that in response to a user selecting section, the section may be re-expanded and sectionmay be collapsed by the control application, returning to the configuration as shown in. Thereafter, sectionmay be configured to allow a user to select displayed icons as discussed above. Continuing to refer to, continued “downward” scrolling of sectionmay cause the panes at the top of the section (here “Kitchen” pane) to disappear from sectionand for additional panes to appear at the bottom (below “Master Bedroom” pane) of the section, assuming there are additional panes. Similarly, as sectionis scrolled “upward” in the reverse direction (to possibly reveal panes such as panethat may have been scrolled off of section), panes at the bottom of sectionmay disappear from section(such as pane) and additional panes may appear at the top of section. Continued “upward” scrolling (and/or collapsing of panes of section) may cause sectionto collapse as the top pane (here “Kitchen” pane) is reached, and for sectionto re-expand, with interfaceonce again appearing as shown in. According to another example, in addition to and/or as an alternative to the above, selecting the Devices tab(such as by “touching” or “tapping”) in theconfiguration may cause sectionto expand and sectionto collapse as shown in. Again, sectionmay then be scrollable. Similarly, selecting the Devices taband/or section(such as by “touching” or “tapping”) in theconfiguration may cause sectionto collapse and sectionto be re-expand as shown in. Hence, the expanding and collapsing of sectionsandmay be achieved/obtained in various ways including through scrolling actions and/or by selecting sectionand/or the Devices tab. Again, the Scenes taband the Schedules tabmay operate in a similar fashion.
8 FIG.A 7 FIG.A 8 FIG.A 6 FIG.A 6 FIG.A 6 FIG.C 1610 680 1610 1510 620 640 660 620 1610 220 210 1622 1624 1626 1610 620 702 1622 Referring now to, there is shown another example graphical user interfacethat may be initially displayed by the control application to a user via network deviceupon the application initially starting. Interfacemay be similar to interfaceas shown in, for example, and may include three sections or panes including a status section, a menu selection section/tab section, and in information section. According to this example and as similarly discussed above, sectionof interfacemay include one or more icons indicating different status information of one or more control devicesa within the load control systema. Here, a lighting devices icon, shades devices icon, and a thermostat devices iconare shown. According to this example, the status icons are now arranged vertically, rather than horizontally. As further shown in, the status of respective devices may be shown to a user via a numerical value and/or text associated with the icon and in particular, may be shown below the icon (here, “8 Lights On”, “3 Shades Open”, “Currently”), as compared to a number, for example, imposed on the icon as shown in. Nonetheless, one will recognize the format used inmay also be used in interface. Similarly, other variations are possible. As a further example, lighting devices (and similarly fan devices) in an “off” state may have the status shown as “0 Lights On” or “All Lights Off”. Shade devices in a closed state may have the status shown as “0 Shades Open” or “All Shades Closed”, for example. The icons shown in section or panemay be selectable by a user as discussed above, with the control application taking the user to subsequent user interfaces (such as interfaceofin response to selection of icon). Similarly, the status information associated with each icon may be dynamically/actively updated by the control application as the status of control devices change.
8 FIG.A 8 FIG.A 8 FIG.B 8 FIG.A 8 FIG.C 8 8 8 FIGS.A,B, andC 8 FIG.C 210 1610 620 620 1610 620 660 620 620 660 620 660 660 1682 1684 642 644 646 660 210 620 210 620 1622 660 1610 1682 1684 1686 1688 1690 1692 644 646 660 210 620 1622 1624 1626 1628 1630 660 1610 620 620 620 620 1610 660 According to the example show in, the load control systema includes three types of devices including lighting control devices, shade devices, and thermostat devices. Accordingly, the interfaceshows three corresponding icons in section. As discussed herein, a load control system may include fewer, other, and/or additional control devices, with sectionthus including fewer, other, and/or additional icons. According to an aspect of interface, the default size configuration of sectionand sectionmay be based on the number of icons (i.e., types of control devices of the load control system) within section. For example, as the load control system includes an increasingly larger number of control device types, the default size of sectionmay be increased in size by the control application to display additional icons and the default size of sectionmay be decreased in size. Similarly, as the load control system includes a decreasingly smaller number of control device types, the default size of sectionmay be decreased in size by the control application to display fewer icons and the default size of sectionmay be increased in size. For example, as shown in the example of, sectionshows two panesandof the active Devices tab(similarly, if the Scenes tabor Schedules tabwere active, sectionmay display information relative to these tabs). As another example, assuming the load control systema includes fewer control device types, sectionmay include fewer icons and respective status information. For example, referring to, assuming the load control systema only includes lighting control devices, sectionmay only include iconand corresponding status information. According to this example, sectionnow consumes additional remaining space of interfaceas compared to, here showing six panes,,,,,, and(similarly, if the Scenes tabor Schedules tabwere active, sectionmay display information relative to these tabs). According to another example and as shown in, assuming the load control systema includes not only lighting control devices, shade devices, and thermostat devices but also includes audio and fan devices, sectionmay now include five icons,,,, andrespectively, and associated status information. According to this example, sectionis no longer displayed in interface. According to this example, sectionmay be vertically scrollable to display additional icons if the load control system includes still additional load control types. One will recognize thatare examples and other variations are possible. For example, with respect to, more than five icons may be displayed at one time in section. Similarly, fewer than five icons may be displayed in section, with sectionstill consuming the space of the interfaceand sectionnot being shown.
8 FIG.A 8 FIG.B 7 7 FIGS.A andB 8 FIG.D 8 FIG.D 8 FIG.A 8 FIG.D 8 FIG.A 8 FIG.A 8 FIG.B 8 FIG.D 8 FIG.D 8 FIG.A 8 FIG.B 660 1610 642 644 646 642 660 1684 660 620 660 620 660 1622 1624 1626 620 1610 620 1610 620 1610 620 1610 620 1610 620 660 620 660 1682 660 1686 660 660 1682 660 660 660 1686 660 660 660 1682 620 1610 642 660 620 660 642 620 660 620 620 660 620 642 644 646 Referring again to the example of(the example ofmay operate in a similar fashion), as similarly discussed above with reference to, sectionof interfacemay be vertically scrollable, for example, when any of the Devices tab, Scenes tab, Schedules tabis active. Using the Devices tabas the active tab as an example, as sectionis scrolled “downward” (and/or as panes are expanded) to reveal additional pane information, such as additional panes below “Living Room” pane, sectionmay expand, with sectionscrolling off of and/or disappearing from and/or being removed from the display interface of the network device by the control application and sectionconsuming this space. Alternatively and as shown in, sectionmay condense or be minimized by the control application as sectionexpands. For example, as shown in, the icons, such as icons,, and, may be removed but the numerical and/or text based status information or a variation thereof, for example, may be continued to be displayed by the control application for one or more types of devices to provide status information to a user (here, “10 Lights On” for lighting devices, “3 Shades Open” for shade devices, and “Currently 72°” for thermostat devices). The displayed information and format are an example and other examples are possible. Condensed/minimized sectionof interfacemay be configured to be scrollable by the user (such as left to right or up/down) in order to display additional status information and/or may be configured such that there are multiple rows of information displayed at one time to a user. Alternatively, condensed/minimized sectionof interfacemay not be scrollable and may only display status information for a subset of control devices. Which devices are displayed may or may not be user definable. The status information shown in condensed/minimized sectionof interfacemay be dynamically/actively updated by the control application as the status of devices change. According to one example, condensed/minimized sectionof interfacemay be configured to allow a user to select various portions (such as “10 Lights On”, “3 Shades Open”, and “Currently 72°”) taking the user to subsequent user interfaces as discussed above. According to another example, condensed/minimized sectionof interfacemay be configured such that in response to a user selecting section, the section may be re-expanded and sectionmay collapsed by the control application, returning to the configuration as shown in, for example. Thereafter, sectionmay be configured to allow a user to select displayed icons as discussed above. Continuing to refer to, continued “downward” scrolling of sectionmay cause the panes at the top of the section (here “Kitchen” pane) to disappear from sectionand for additional panes to appear at the bottom (below “Master Bedroom” pane) of the section, assuming there are additional panes. Similarly, as sectionis scrolled “upward” in the reverse direction (to possibly reveal panes such as panethat may have been scrolled off of section), panes at the bottom of sectionmay disappear from section(such as pane) and additional panes may appear at the top of section. Continued “upward” scrolling (and/or collapsing of panes of section) may cause sectionto be collapsed by the control application as the top pane (here “Kitchen” pane) is reached, and for sectionto re-expand, with interfaceonce again appearing as shown in, for example. According to another example, in addition to and/or as an alternative to the above, selecting the Devices tab(such as by “touching” or “tapping”) in the(and similarly) configuration may cause sectionto be expanded and sectionto be collapsed by the control application as shown in. Again, sectionmay then be scrollable. Similarly, selecting the Devices taband/or section(such as by “touching” or “tapping”) in theconfiguration may cause sectionto collapse and sectionto re-expand as shown in the(and similarly) configuration. Hence, the expanding and collapsing of sectionsandmay be achieved/obtained in various ways including through scrolling actions and/or by selecting sectionand/or the Devices tab. Again, the Scenes taband the Schedules tabmay operate in a similar fashion.
8 FIG.C 8 FIG.A 8 FIG.D 8 FIG.D 8 FIG.D 8 FIG.D 8 FIG.D 8 FIG.C 8 FIG.D 8 FIG.D 8 FIG.C 662 660 660 642 1610 640 660 660 620 660 620 660 620 1610 620 1610 620 1610 620 1610 620 1610 620 660 620 660 660 660 1682 620 1610 642 660 620 660 642 620 660 620 620 660 620 642 644 646 Referring again toand sectionsand, this configuration (where sectionis not initially shown) may operate similar to that described above for. Using the Devices tabas the active tab as an example, a selecting of the interfacein an area below section(i.e., where sectionmay be) for example, and “swiping” upward for example (although other mechanism may be used) may cause sectionto appear, with sectionscrolling off of and/or disappearing from and/or being removed from the display interface of the network device by the control application and sectionconsuming this space. Alternatively and as shown inand as discussed above, sectionmay condense or be minimized as sectionappears. The configuration ofmay then operate as described above. For example, condensed/minimized sectionof interfacemay be configured to be scrollable by the user (such as left to right or up/down) in order to display additional status information and/or may be configured such that there are multiple rows of information displayed at one time to a user. Alternatively, condensed/minimized sectionof interfacemay not be scrollable and may only display status information for a subset of control devices. Which devices are displayed may or may not be user definable. The status information shown in condensed/minimized sectionof interfacemay be dynamically/actively updated by the control application as the status of devices change. According to one example, condensed/minimized sectionof interfacemay be configured to allow a user to select various portions (such as “10 Lights On”, “3 Shades Open”, and “Currently 72°”) with the control application taking the user to subsequent user interfaces as discussed above. According to another example, condensed/minimized sectionof interfacemay be configured such that in response to a user selecting section, the section may re-expand and sectionmay scroll off of and/or disappear from and/or be removed from the display interface, returning to the configuration as shown in, for example. Thereafter, sectionmay be configured to allow a user to select displayed icons as discussed above. Continuing to refer to, sectionmay be upward and downward scrollable as discussed above. Similarly, continued “upward” scrolling (and/or collapsing of panes of section) may cause sectionto scroll off of and/or disappear from and/or be removed from the display interface as the top pane (here “Kitchen” pane) is reached, and for sectionto re-expand, with interfaceonce again appearing as shown in, for example. According to another example, in addition to and/or as an alternative to the above, selecting the Devices tab(such as by “touching” or “tapping”) in theconfiguration may cause sectionto expand and sectionto collapse as shown in. Again, sectionmay then be scrollable. Similarly, selecting the Devices taband/or section(such as by “touching” or “tapping”) in theconfiguration may cause sectionto scroll off of and/or disappear from and/or be removed from the display interface, and for sectionto re-expand as shown in theconfiguration. Hence, the expanding and collapsing of sectionsandmay be achieved/obtained in various ways including through scrolling and/or swiping actions and/or by selecting sectionand/or the Devices tab. Again, the Scenes taband the Schedules tabmay operate in a similar fashion.
620 210 Again, as discussed herein, status sectionmay provide a user with an aggregated summary of the load control systema, and the respective icons may provide a user with access to control devices the user may more likely want to control as compared to other devices.
9 FIG.A 8 8 FIGS.A-D 9 FIG.A 9 9 FIGS.B-G 1710 680 1710 1610 1710 Referring now to, there is shown another example graphical user interfacethat may be displayed by the control application to a user via network device. Interfacemay be similar to, and may operate similarly to, interfaceas shown in, for example, and the other interfaces discussed herein. Interfaceincludes another example of how the control application may indicate occupancy to a user of the control application. One will recognize that the displaying and operation of occupancy as discussed with respect to(and similarly) may be similarly applied to the other graphical user interfaces discussed herein.
9 9 FIGS.A-G 9 FIG.A 9 FIG.A 9 FIG.A 9 9 FIG.A-G 202 210 660 1710 210 202 210 250 1710 1710 250 1710 250 st st For the purpose of describing, it will be assumed that the user environmenta of load control systema includes four rooms including a “Kitchen,” a “Living Room,” a “Master Bedroom,” and a “1Floor Bathroom,” as shown in sectionof interfaceof. It will be further assumed that load control systema includes for each room at least one or more lighting control devices/lights, and further includes at least one occupancy sensor located in the “Living Room,” at least one occupancy sensor located in the “Master Bedroom,” and at least one occupancy sensor located in the “1Floor Bathroom.” Each of these rooms of the load control systema may include other control devices. According to this example, load control systema may be configured such that one or more of the lighting control devices/lights, for example, in each room may be responsive to occupancy and/or vacancy signals generated by the respective occupancy sensor(s) located in that room (although other control devices may also be responsive to occupancy and/or vacancy signals). The occupancy sensors may be standalone devices or may be integrated with/part of lighting control devices (or other control devices) for example. According to the example of, as an occupancy sensor detects an occupancy event/condition in a room, the control application may receive from the system controllera an indication of the occupancy event and display an indication/indicator (e.g., an icon) of this event to the user via interface. In this fashion, if a user is notified via interfacethat one or more lighting control devices (or other control devices), for example, in a room has its respective lighting load(s) in an on state, the user may further see that the room is occupied and may therefor decide not to turn off or change (e.g., dim) the lighting load(s) in that room via the control application (or, for example, alter other control devices). According to a further aspect of this example, as an occupancy sensor detects a vacancy event/condition, the control application may receive from the system controllersa an indication of the vacancy event and may remove from the graphical user interfacethe indication/indicator of occupancy. According to a further aspect of the example of, as the control application initially starts, it may receive from the system controllera the state of the occupancy sensors (e.g., occupied/un-occupied) and display occupancy indicators accordingly. The phrases vacancy/vacant and un-occupied may be used interchangeably herein. While the example ofis described with respect to the occupancy sensors controlling lighting control devices, these examples may also be applicable to the occupancy sensors controlling other types of control devices such as fan, shade, thermostat, and audio control devices a noted above.
9 FIG.A 1710 620 640 660 620 1710 220 210 1722 1722 1722 1722 Turning now more closely to, graphical user interfacemay include three sections or panes including a status section, a menu selection section/tab section, and in information sectionas similarly discussed herein. According to this example and as similarly discussed above, sectionof interfacemay include one or more icons indicating different status information of one or more control devicesa within the load control systema. Here, a lighting devices iconis shown, although other or additional icons may be shown as discussed herein. According to this example, lighting devices iconindicates that six (6) lighting control devices within the load control system have respective lighting loads currently on. As similarly discussed above and as discussed below, lighting devices iconmay be selectable by a user, taking the user to subsequent user interface(s). Similarly, the status information (e.g., “6 Lights On”) associated with lighting devices iconmay be dynamically/actively updated by the control application as the status of lighting control devices changes within the load control system.
9 FIG.A 642 643 660 1782 1784 1786 1788 202 1782 1784 1786 1788 808 808 250 1724 1724 660 1724 1784 1724 1788 1786 1782 250 660 1724 1724 st st st As shown in, the Devices tabis active (as shown by the under-bar) with sectionthereby being subdivided into four panes,,, and, each representing a location within the user environmenta (here, one for each of the “Kitchen,” the “Living Room,” the “Master Bedroom,” and the “1Floor Bathroom”). In this example, each of panes,,, andis shown as being collapsed and may be expanded as a result of the control application detecting that a user has activated/selected a respective carrot. In particular, upon detecting/determining that a user has activated/selected a carrot, the control application may expand the respective pane to display one or more icons representing control devices in the respective location as discussed herein. According to this example, as a result of an occupancy sensor in a given room detecting an occupancy event, the control application may receive from the system controllera an indication of the occupancy event and display an occupancy indicatora,b (e.g., an icon, here representing a person although other icons may be used) of this condition to the user within a respective pane of section. In this example, the occupancy sensor in the Living Room has detected an occupancy event and as a result, the control application displays an occupancy indicatora in the Living Room paneto show the room is occupied. Similarly, the occupancy sensor in the 1Floor Bathroom has detected an occupancy event and as a result, the control application displays an indicatorb in the 1Floor Bathroom paneto show the room is occupied. In this example, the occupancy sensor in the Master Bedroom has not detected an occupancy event (e.g., is detecting a vacancy condition/is in a vacancy state) and as a result, the control application displays no occupancy indicator in the Master Bedroom paneto show the room is vacant. In this example, the Kitchen does not include an occupancy sensor and as result, no occupancy indicator is shown in the Kitchen paneregardless of whether the Kitchen is occupied. As the control application is initially started, it may show the occupancy/vacancy condition of each room based on status information received from the system controllera. As the occupancy/vacancy condition within a given room changes, the control application may receive from the system controller an indication of this change and update sectionto either show or remove a respective occupancy indicatora,b as appropriate.
1724 1724 1724 1724 1784 1788 1782 1724 1724 9 FIG.A One will recognize that this is one example. Icons other than the “person” icona,b shown inmay be used to show occupancy. Similarly, the occupancy indicatora,b may be placed at a position other than the right corner of a pain. Similarly, occupancy indicators other than an icon may be used to show occupancy. For example, the occupancy indicator may include the control application changing the background color and/or fonts used with respect to painorto show occupancy. Similarly, rather than providing an indicator to show occupancy and providing no indicator to show vacancy, an indicator may be used to show vacancy (e.g., a vacancy indicator, which may be an icon, for example) and no indicator may be provided to show occupancy. As another example, one indicator may be used to show occupancy (occupancy indicator) and another different indicator may be used to show vacancy (vacancy indicator), etc. Furthermore, for rooms such as the Kitchen that may not have an occupancy sensor, the control application may display in the respective pain (here pain) an indicator (e.g., an icon) showing that the room has no sensor so that a user, in response to not seeing an occupancy indicator such as indicatora,b, does not assume the room is vacant. Other examples are possible.
808 1784 808 1732 1732 1784 1732 1732 250 1732 1732 1732 1732 1724 250 1784 1724 1732 1732 1732 1784 1784 1732 1732 1724 808 1784 9 FIG.B 9 FIG.A As indicated above, upon detecting/determining that the user has activated/selected a carrot/icon, the control application may expand the pane to display icon(s) representing control devices in the corresponding room. For example, turning to, there is shown an example of the Living Room painexpanded as a result of the control application detecting an actuation of carrotof the pain, for example. In this example, two iconsa,b are shown representing two lighting control devices as similarly described above. The two icons are shown in this example to indicate that one or more lighting loads corresponding to the respective lighting control devices are on. As further shown in this example, painalso includes an iconc representing the occupancy sensor located in the Living Room. The control application may further associate with iconc an indication or label (here “Occupancy Sensor”) to provide further information about the sensor. As another example, the label may provide information such as where the sensor is located in the room, which lighting control devices the sensor controls, etc. Such information may be maintained by the system controllera and provided to the control application for display. As discussed below, a user may be able to change this label from the control application. One will recognize that icons other than iconc may be used to represent the occupancy sensor. Each of iconsa,b may be selectable as discussed above to allow a user to control/configure the respective lighting control device. Similarly, iconc may be selectable to allow a user to control/configure and/or test the occupancy sensor(s) and/or the lighting control devices the sensor(s) is configured to control. As shown in this example, the control application may continue to display the occupancy indicatora when the pain is expanded to show the room is occupied. As the occupancy/vacancy condition within the Living Room changes, the control application may receive from the system controllera an indication of this change and update paneto either show or remove the occupancy indicatora, as appropriate. Similar to iconsa,b for the lighting control devices, the control application may change the appearance of iconc (e.g., change its color and/or contrast) to signify a status/state of the sensor. For example, the icon may be shown in one color/contrast to represent that the sensor is detecting an occupied condition/state and another color/contrast to represent that the sensor is detecting a vacancy condition/state. One will recognize that painmay include multiple sensor icons if the room has multiple occupancy sensors. According to one example, the load control system may be configured such that the sensors are configured differently and/or different control devices are responsive to each sensor. According to another example, a given room may include multiple occupancy sensors that are configured the same (such as if the room is large, has an irregular shape, etc.) to detect occupancy in the entire room. Such sensors and respective control devices for the given room may be configured such that the same control devices are responsive to both sensors and in particular, each respective device is configured/controlled to react the same (e.g., dims to the same level) regardless of which sensor detects an occupancy condition. In addition, the sensors may be configured the same (e.g., as an occupancy sensor, as a vacancy sensor, etc.). According to this example, if a given room is configured in this manner, the control application may only display one icon representing the multiple sensors. For example, the icon may be shown in one color/contrast when neither sensor detects occupancy and shown in another color/contrast when at least one or both of the sensors detects occupancy. As another example, selecting the icon to configure the sensors may show the configuration interfaces as discussed below as if there is one sensor, with the control application/system controller subsequently configuring both sensors the same. Other variations are possible including displaying multiple sensor icons for each sensor in this latter example. In addition, one will recognize that not all lighting control devices shown in pain(including all or none) may be responsive to signals from a given sensor. Similarly, assuming all lighting control devices represented by the iconsa,b are responsive to signals from the occupancy sensor(s), each of the icons may indicate that its respective lighting control device is off and occupancy indicatora still be displayed by the control application, thereby showing the room is occupied. As discussed above, upon detecting/determining that the user has once again activated/selected carrot/iconof pain, the control application may contract the pain as shown in.
In general, by notifying a user that the Living Room, for example, is occupied or vacant through the use of an occupancy indicator as described herein, the user may now make a more educated decision as to whether to use the control application to turn lighting control devices/lights, for example, in the room on or off, for example, via the control application (or to control other control devices/loads such as fans, shades, HVAC, music, etc.). This may be especially advantageous if the user is using the control application from a location remote from the Living Room. For example, without the use of the occupancy indicator as described herein, the user may note through the control application that the Living Room lights are on, and decide to turn them off to save energy, for example, even though a person may be in the room. Through the use of the occupancy indicator, the user can now make a more educated decision and possibly not turn the lights off via the application knowing a person may be in the room.
9 FIG.C 9 FIG.B st st st 1788 808 1734 1734 1734 1734 1788 1734 1732 1734 1724 250 1788 1724 Turning to, there is shown an example of the 1Floor Bathroom painexpanded as a result of the control application detecting an actuation of carrot/iconof the pain. Similar to, in this example two iconsa,b are shown representing two lighting control devices (a “Vanity Lights” and a “Ceiling Lights”). In this example, iconb is shown to indicate that the Vanity Lights control device/lighting load is on. Icona is shown to indicate that the Ceiling Lights control device/lighting load is off. As further shown in this example, painalso includes an iconc representing the occupancy sensor(s) located in the 1Floor Bathroom. Similar to the occupancy sensor iconc, the control application may further associate with iconc an indication or label (here “Occupancy Sensor”) to provide further information about the sensor. As shown in this example, the control application may continue to display the occupancy indicatorb when the pain is expanded to show the room is occupied. As the occupancy/vacancy condition within the 1Floor Bathroom changes, the control application may receive from the system controllera an indication of this change and update paneto either show or remove the occupancy indicatorb, as appropriate.
1732 1734 1734 1788 1712 1712 1710 1712 1712 1742 1744 1746 1742 1744 1746 1732 1712 1734 1742 250 1734 1734 1788 1710 1722 1724 1710 1742 1710 1746 1710 9 FIG.B 9 FIG.D 9 FIG.C 9 9 FIGS.E andF 9 9 FIGS.A andB 9 FIG.B 9 FIG.B st st Similar to the occupancy sensor iconc of, occupancy sensor iconc may be selectable to allow a user to control/configure and/or test the occupancy sensor and/or the lighting control devices the sensor is configured to control. For example, assuming the control application detects/determines that a user selects iconc in pain, the control application may display a control interfaceas shown in. Control interfacemay be shown alone or superimposed over interfaceof, for example. One will recognize that control interfaceis an example and other control interface configurations are possible. According to this example, control interfacemay have three actuators (shown here as buttons for example), including actuator(labeled “Test Occupied”), actuator(labeled “Test Unoccupied”), and actuator(labeled “Edit Device”). One will recognize that other and/or additional actuators are possible. Actuatorsandmay allow a user to test the configuration of the sensor and lighting control devices, for example, that may be responsive to signals communicated by the sensor. Actuatormay allow a user to configure the sensor and the lighting control devices, for example, that may be responsive to signals communicated by the sensor. (Again, if iconc represents multiple sensors, interfaceand the interfaces shown inmay result in both sensors being tested and configured at the same time. Alternatively, the control application may display interfaces that allows the user to test and configure the sensors individually). Assuming iconc represents one sensor, for example, in response to detecting selection of actuatorby a user, the control application may communicate one or more messages to the system controllera to instruct the controller to configure or instruct the occupancy sensor in the 1Floor Bathroom to enter an occupancy state (if not already there) and to communicate an occupancy signal(s). In response to the occupancy signal(s), any lighting control device in the 1Floor Bathroom that is configured to be responsive to an occupancy signal from the sensor may cause its corresponding lighting load to turn on, if not already on, for example (or go to a specific dimming level, for example, depending on the configuration of the device). If a lighting control device changes from an off state to an on state as a result of the test, the control application may receive an indication of this change from the system controller and may reflect the change in the control devices icon(s)a,b (e.g., by changing their color/contrast) in painwhen the user returns to interface, for example, and may increment the count shown in connection with icon, for example. Similarly, if the sensor is in a vacancy state prior to the test and changes to an occupancy state, the control application may receive an indication of this change from the system controller and may reflect the change by displaying an occupancy indicatorb in graphical user interfaceof, for example. Subsequent to detecting selection of actuator, the control application may again display graphical user interfaceof, for example. As another example, a user may touch an area outside of interface, which may cause the control application to return interfaceof, for example. Other variations are possible.
1744 250 1734 1734 1788 1710 1722 1724 1710 1744 1710 st st 9 9 FIGS.A andB 9 FIG.B Similarly, in response to detecting selection of actuatorby a user, the control application may communicate one or more messages to the system controllera to instruct the controller to configure or instruct the occupancy sensor in the 1Floor Bathroom to enter a vacancy state (if not already there) and to communicate a vacancy signal(s) for example. In response to the vacancy signal(s), any lighting control device in the 1Floor Bathroom that is configured to be responsive to a vacancy signal from the sensor may cause its corresponding lighting load to turn off, if not already off, for example (or go to a reduced dimming level, for example, depending on the configuration of the device). If a lighting control device changes from an on state to an off state, the control application may receive an indication of this change from the system controller and may reflect the change in the control devices icon(s)a,b (e.g., by changing their color/contrast) in painwhen the user returns to interface, for example, and may decrement the count shown in connection with icon, for example. Similarly, if the sensor is in an occupancy state prior to the test and thus changes to a vacancy state, the control application may receive an indication of this change from the system controller and may reflect the change by removing the occupancy indicatorb in graphical user interfaceof, for example. Subsequent to detecting selection of actuator, the control application may again display graphical user interfaceof, for example, although again, other variations are possible.
1746 1714 1714 1714 1750 1734 1788 1714 1752 1714 1751 1714 1753 1714 1756 9 FIG.E 9 FIG.B Regarding the Edit Device actuator, in response to detecting/determining that the user selects the actuator, the control application may display a control interfaceas shown in. One will recognize that control interfaceis an example and other control interface configurations are possible. According to this example, control interfacemay provide a fieldthat may allow a user to change the label (“Occupancy Sensor”) associated with the sensor iconc when displayed in the expanded view of painof, for example. Control interfacemay further include a selectable actuator or iconthat allows a user to further configure the sensor and lighting control devices, for example, that may be responsive to signals communicated by the sensor. Control interfacemay further include a selectable actuator or iconthat causes the control application to display sensor operating instructions (not shown). Control interfacemay also include a selectable actuator or iconthat causes the control application to display a control interface (not shown) that allows a user to further configure the load control system to note the addition or removal of control devices (such as the addition of more lights) to the bathroom. Control interfacemay also include a selectable actuatorthat allows a user to remove the sensor from the load control system.
1752 1752 1716 1716 1716 1760 1761 250 1760 1761 1760 1761 1762 1716 1760 1761 680 1760 1761 1760 1761 250 1760 1761 250 9 FIG.F st st With respect to actuator, in response to detecting/determining that a user selects actuatorthe control application may display a control interfaceas shown in. One will recognize that control interfaceis an example and other control interface configurations are possible. According to one example, the control application may display in control interfacea respective paneandfor each lighting control device in the 1Floor Bathroom that is configurable to be responsive to the sensor. The control application may make this determination of what control devices to display based on configuration information received from the system controllera. In this example, it is assumed that both the Vanity Lights and the Ceiling Lights are configurable to be responsive to the sensor and each therefore has a respective paneandin the interface. The control application may expand and contract each of panesandin response to an actuation of a respective carrot or icon. Further, interfacemay be scrollable up and down. For ease of description, each of panesandis shown as being expanded in this example and are shown together on network device. According to a further example, the control application may customize each of panesandbased on the capabilities of the respective lighting control device the pane corresponds to. For example, the Vanity Lights may be dimmable and as such, panemay be shown as having dimming controls (as shown here). The Ceiling Lights may be switched and accordingly, panemay be shown as having on/off based controls (as shown here). Again, the control application may make this determination as to the types of controls to display based on configuration information received from the system controllera. In this example, the sensor of the 1Floor Bathroom is assumed to be configured as an occupancy/vacancy sensor. If the sensor were only a vacancy sensor, panesandmay be configured to only configure vacancy conditions. Again, the control application may make this determination based on information received from the system controllera.
1760 1767 210 1767 1760 1763 210 1760 1764 1760 1765 210 1760 1766 Turning to paneas an example, it may include a selectable actuator/field. This actuator may allow a user (e.g., through selection and un-selection) to configure the control systema such that the Vanity Lights are either non-responsive or responsive in general to the sensor. Assuming fieldis selected as here, panemay also include a selectable actuator/field(labeled “Unaffected” here as an example). This actuator may allow a user (e.g., through selection and un-selection) to configure the control systema such that the Vanity Lights are either non-responsive or responsive to occupancy signals from the sensor. Assuming the Vanity Lights are configured to be responsive to occupancy signals (as in this example), panemay include an actuator(here a slide control and selectable buttons) that allows a user to set the dimming level the Vanity Lights should go to (e.g., a range from “off” to 100% “on”) in response to an occupancy signal. Panemay further include an actuator/field(labeled “Unaffected” here as an example). This actuator may allow a user (e.g., through selection and un-selection) to configure the control systema such that the Vanity Lights are either non-responsive or responsive to vacancy signals from the sensor. Assuming the Vanity Lights are configured to be responsive to vacancy signals (as in this example), panemay include an actuator(here a slide control and selectable buttons) that allows a user to set the dimming level the Vanity Lights should go to (e.g., a range from “off” to 100% “on”) in response to a vacancy signal. In this example, the Vanity Lights are configured to be responsive to go to 100% on in response to occupancy signals and to go off in response to vacancy signals.
1761 1760 1761 1772 210 1772 1761 1768 210 1761 1769 1761 1770 210 1761 1771 Panemay be similarly configured as pane. For example, panemay include a selectable actuator/field. This actuator may allow a user (e.g., through selection and un-selection) to configure the control systema such that the Ceiling Lights are either non-responsive or responsive in general to the sensor. Assuming fieldis selected as here, panemay also include an actuator/field(labeled “Unaffected” here as an example). This actuator may allow a user (through selection and un-selection) to configure the control systema such that the Ceiling Lights are either non-responsive or responsive to occupancy signals from the sensor. In this example, the Ceiling Lights are configured to be non-responsive to occupancy signals from the sensor. Assuming the Ceiling Lights were configured to be responsive to occupancy signals, panemay activate an actuator(here selectable buttons and shown as un-activated) that may allow a user to cause the lights to either turn on or turn off in response to an occupancy signal. Panemay further include an actuator/field(labeled “Unaffected” here as an example). This actuator may allow a user (through selection and un-selection) to configure the control systema such that the Ceiling Lights are either non-responsive or responsive to vacancy signals from the sensor. Assuming the Vanity Lights are configured to be responsive to vacancy signals (as in this example), panemay include an actuator(here selectable buttons) that allows a user to cause the Ceiling Lights to either turn on or turn off in response to a vacancy signal. In this example, the Ceiling Lights are configured to turn off in response to vacancy signals.
1716 1773 1714 1714 1754 1754 1714 1716 250 1710 1714 1755 1755 1714 1716 1710 9 FIG.E 9 FIG.B 9 FIG.B Control interfacemay further include an actuator, actuation of which by a user may cause the control application to display control interfaceof. Control interfacemay include an actuator(here, labeled “Save” as an example). Selection of actuatormay cause the control application to communicate to the system controller one more messages reflecting any changes (e.g., configuration settings) made in control interfacesand/or. The system controllera may then reconfiguring the control device(s) as necessary. Thereafter, the control application may again display graphical user interfaceof, for example. Similarly, control interfacemay include an actuator(here, labeled “Cancel” as an example). Selection of actuatormay cause the control application to disregard the changes made in control interfacesand/orand to display graphical user interfaceof, for example. Again, this is an example and other configurations are possible.
9 FIG.A 9 FIG.G 9 FIG.G 6 FIG.C 1722 680 1718 702 702 1718 1780 1781 1781 1781 702 250 1780 1718 1781 250 702 706 250 1780 1781 250 1780 1781 7118 Turning again to, upon detecting/determining that the user has selected lighting devices icon, the control application may display to the user via network devicethe graphical user interfaceas shown in.is similar to graphical user interfaceof, for example, and may function as similarly described for graphical user interface. Interfacemay include a respective control device iconfor each lighting control device having lighting load(s) that are currently on. According to this example, for each room (here the Living Room) having an occupancy sensor that is in an occupancy state, the respective icons for the lighting control devices may include an additional occupancy indicator(here a person icon, although other icons or indicators may be used) to show that the respective room is occupied. According to one example, only the icons for the lighting control devices that are responsive to occupancy and/or vacancy signals from the sensor may include occupancy indicator. According to another example, even if a lighting control device is not responsive to occupancy and/or vacancy signals from the sensor, the icon for the device may include the occupancy indicator. As similarly discussed for graphical user interface, as a lighting control device turns its respective load(s) on, the control application may receive an indication of this change from the system controllera and display to the user an additional iconin interfacethat is associated with the lighting control device. That icon may or may not include indicatorbased on the occupancy condition of the room, for example. Similarly, as a lighting device turns its respective load(s) off, the control application may receive an indication of this change from the system controllera and remove from interfacethe iconassociated with the device. Similarly, if an occupancy sensor changes from an occupied state to a vacancy/vacant state, the control application may receive an indication of this change from the system controllera and change respective lighting control device iconsto remove icon. Similarly, if an occupancy sensor changes from a vacancy/vacant state to an occupied state, the control application may receive an indication of this change from the system controllera and change respective lighting control device iconsto add icon. Other ways of showing occupancy in interfaceare possible. In this example, the Kitchen does not include an occupancy sensor and thus no occupancy indicator may be shown with respective icons of the Kitchen control devices.
1718 In general, by notifying a user via interfacethat certain lights in certain rooms are on and that these rooms may be occupied as described herein, the user may now make a more educated decision as to whether to use the control application to turn lights in such rooms off via the control application. This may be especially advantageous if the user is using the control application from a location remote from user environment. For example, without the use of the occupancy indicator as described herein, the user may note through the control application that certain lights are on, and decide to turn them off to save energy, for example, even though a person may be in the room. Through the use of the occupancy indicator, the user can now make a more educated decision and possibly not turn the lights off via the application knowing a person may be in the room.
9 9 FIGS.A-G 9 9 FIGS.A-G 6 6 6 6 6 7 7 8 8 FIGS.A-Q,T,Y-Z,A-B, andA-D In addition to the examples shown in, occupancy indictors may be shown in other interfaces discussed herein in a similar fashion as shown. The occupancy indictors may also be associated with icons for other control devices (e.g., fan devices, shade devices, audio devices, and thermostat devices) even if the device is not responsive to a sensor but is located in a room with a sensor. For example, interfaces that include an indication of a room(s) or location(s) or space(s) in a user environment such as those shown inmay include occupancy and/or vacancy indicators.
642 644 646 642 644 646 642 6 6 6 6 FIGS.A,O,Y, andZ 7 9 FIGS.A-C One will recognize that tabs,, andof the graphical interfaces shown in, andfor example, may be shown in different orders. For example, the graphical interfaces describe herein have the Devices tabis shown first, the Scenes tabsecond to the right of the Devices tab, and the Schedules tabshown third to the right of the Scenes tab. Nonetheless, the tabs may be displayed in other orders. In addition, any of the tabs may be the default tab. Nonetheless, a user may desire to control certain devices in certain rooms. Hence, having the Devices tabpositioned first as shown herein and being the default tab may make this tab more easily accessible to the user.
620 642 644 646 6 6 6 6 FIGS.A,O,Y, andZ 7 9 FIGS.A-C In addition, the placement of sectionand selectable tabs,, andon a single interface like that shown in, andfor example may be advantageous in that these functions and related features may be typical functions and features a user may use when accessing the control application.
620 660 642 680 660 642 Furthermore, the amount of information and/or the number of icons for example shown in the example interfaces herein (such as the number of icons in sectionand the number of panes and icons shown in sectionwhen the Devices tabis active) may vary based on the type of network devicerunning the control application. For example, when the control application described herein runs on a phone, the application may display a first amount of information in any given interface; and when the control application described herein runs on a tablet for example that may have a larger display screen than the phone, the application may display a second amount of information in any given interface that is greater than the first amount. Alternatively and/or in addition, the information and/or icons for example in any given interface may be displayed in a different fashion based on the type of device. For example, on a phone, icons within a pane of sectionwhen the Devices tabis active may be shown in a number of rows. Alternatively, those same icons on a tablet for example may fit in one row or a fewer number of rows. Similarly, for devices that may have display screens with different length-width measurements and that may detect orientation, as a user re-orients the device the control application may reformat the information and/or icons based on the changing orientation. Other examples are possible.
13 FIG. 1200 150 250 250 1200 1202 1202 1200 1200 1202 1204 1204 1202 1204 1202 1204 is a block diagram illustrating another example system controller(such as system controlleranda/b, described herein). The system controllermay include one or more general purpose processors, special purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, microcontrollers, integrated circuits, programmable logic devices (PLD), field programmable gate arrays (FPGA), application specific integrated circuits (ASICs), or any suitable controller or processing device or the like (hereinafter collectively referred to as processor(s) or control circuit(s)). The control circuitmay be configured to execute one or more software-based applications that include instructions that when executed by the control circuit may configure the control circuit to perform signal coding, data processing, power control, input/output processing, or any other function, process, and/or operation for example that enables the system controllerto perform as described herein. One will recognize that functions, features, processes, and/or operations described herein of the system controllermay also and/or alternatively be provided by firmware and/or hardware in addition to and/or as an alternative to software-based instructions. The control circuitmay store information in and/or retrieve information from the memory, including configuration information/configuration information file(s), backup file(s), creation times, and signature(s) as described herein. Memorymay also store software-based instructions for execution by the control circuitand may also provide an execution space as the control circuit executes instructions. Memorymay be implemented as an external integrated circuit (IC) or as an internal circuit of the control circuit. Memorymay include volatile and non-volatile memory modules/devices and may be non-removable memory modules/devices and/or a removable memory modules/devices. Non-removable memory may include random-access memory (RAM), read-only memory (ROM), a hard disk, or any other type of non-removable memory storage. Removable memory may include a subscriber identity module (SIM) card, a memory stick, a memory card, or any other type of removable memory. One will appreciate that the memory used to store configuration information file(s), and/or backup file(s), and/or software-based instructions, etc. may be the same and/or different memory modules/devices of the system controller. As one example, configuration information file(s) and software-based instructions may be stored in non-volatile memory modules/devices while backup(s) may be stored in volatile and/or non-volatile memory modules/devices.
1200 1206 1206 1200 1208 1206 1206 1208 1202 1206 1208 1206 1208 1206 1208 The system controllermay include one or more communications circuits/network interface devices or cardsfor transmitting and/or receiving information. The communications circuitmay perform wireless and/or wired communications. The system controllermay also, or alternatively, include one or more communications circuits/network interface devices/cardsfor transmitting and/or receiving information. The communications circuitmay perform wireless and/or wired communications. Communications circuitsandmay be in communication with control circuit. The communications circuitsand/ormay include radio frequency (RF) transceivers or other communications modules configured to perform wireless communications via an antenna(s). The communications circuitand communications circuitmay be configured to perform communications via the same communication channels or different communication channels. For example, the communications circuitmay be configured to communicate (e.g., with a network device, over a network, etc.) via a wireless communication channel (e.g., BLUETOOTH®, near field communication (NFC), WIFI®, WI-MAX®, cellular, etc.) and the communications circuitmay be configured to communicate (e.g., with control devices and/or other devices in the load control system) via another wireless communication channel (e.g., WI-FI®, Zigbee, Thread, etc., or a proprietary communication channel, such as CLEAR CONNECT™).
1202 1212 1202 1214 1202 1214 1202 1200 The control circuitmay be in communication with an LED indicator(s)for providing indications to a user. The control circuitmay be in communication with an actuator(s)(e.g., one or more buttons) that may be actuated by a user to communicate user selections to the control circuit. For example, the actuatormay be actuated to put the control circuitin an association mode and/or communicate association messages from the system controller.
1200 1210 1210 1210 1200 1200 CC Each of the modules within the system controllermay be powered by a power source. The power sourcemay include an AC power supply or DC power supply, for example. The power sourcemay generate a supply voltage Vfor powering the modules within the system controller. One will recognize that system controllermay include other, fewer, and/or additional modules.
14 FIG. 1300 1300 1300 1302 1302 1310 1302 1300 1304 1304 1300 1300 1304 1306 1306 1306 1304 1306 1304 1306 1304 1302 is a block diagram illustrating an example control-target device, e.g., a load control device, as described herein. The control-target devicemay be a dimmer switch, an electronic switch, an electronic ballast for lamps, an LED driver for LED light sources, an AC plug-in load control device, a temperature control device (e.g., a thermostat), a motor drive unit for a motorized window treatment, or other load control device. The control-target devicemay include one or more communications circuits/network interface devices or cards. The communications circuitmay include a receiver, an RF transceiver, and/or other communications module configured to perform wired and/or wireless communications via communications link. For example, the communications circuitmay be configured to communicate (e.g., with a network device, over a network, etc.) via a first wireless communication channel (e.g., BLUETOOTH®, near field communication (NFC), WIFI®, WI-MAX®, cellular, etc.) and may be further configured to communicate (e.g., with control source devices, a system controller, and/or other devices in the load control system) via another wireless communication channel (e.g., WI-FI®, Zigbee, Thread, etc., or a proprietary communication channel, such as CLEAR CONNECT™). The control-target devicemay include one or more general purpose processors, special purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, microcontrollers, integrated circuits, programmable logic devices (PLD), field programmable gate arrays (FPGA), application specific integrated circuits (ASICs), or any suitable controller or processing device or the like (hereinafter collectively referred to as processor(s) or control circuit(s)). The control circuitmay be configured to execute one or more software-based applications that include instructions that when executed by the control circuit may configure the control circuit to perform signal coding, data processing, power control, input/output processing, or any other function, feature, process, and/or operation for example that enables the control-target deviceto perform as described herein. One will recognize that functions, features, processes, and/or operations, described herein for the control-target devicemay also and/or alternatively be provided by firmware and/or hardware in addition to and/or as an alternative to software-based instructions. The control circuitmay store information in and/or retrieve information from the memory. For example, the memorymay maintain a registry of associated control devices and/or control configuration information. Memorymay also store software-based instructions for execution by the control circuitand may also provide an execution space as the control circuit executes instructions. Memorymay be implemented as an external integrated circuit (IC) or as an internal circuit of the control circuit. Memorymay include volatile and non-volatile memory modules/devices and may be non-removable memory modules/devices and/or a removable memory modules/devices. Non-removable memory may include random-access memory (RAM), read-only memory (ROM), a hard disk, or any other type of non-removable memory storage. Removable memory may include a subscriber identity module (SIM) card, a memory stick, a memory card, or any other type of removable memory. The control circuitmay also be in communication with the communications circuit.
1300 1308 1308 1304 1316 1308 1304 1316 1308 1312 1314 1316 1316 The control-target devicemay include a load control circuit. The load control circuitmay receive instructions from the control circuitand may control an electrical loadbased on the received instructions. The load control circuitmay send status feedback to the control circuitregarding the status of the electrical load. The load control circuitmay receive power via a hot connectionand a neutral connectionand may provide an amount of power to the electrical load. The electrical loadmay include any type of electrical load.
1304 1318 1304 1318 1304 1300 1300 The control circuitmay be in communication with an actuator(e.g., one or more buttons) that may be actuated by a user to communicate user selections to the control circuit. For example, the actuatormay be actuated to put the control circuitin an association mode or discovery mode and may communicate association messages or discovery messages from the control-target device. One will recognize that control-target devicemay include other, fewer, and/or additional modules.
15 FIG. 1400 1400 1400 1402 1402 1400 1400 1402 1404 1404 1402 1404 1402 1404 is a block diagram illustrating an example control-source deviceas described herein. The control-source devicemay be a remote control device, an occupancy sensor, a daylight sensor, a window sensor, a temperature sensor, and/or the like. The control-source devicemay include one or more general purpose processors, special purpose processors, conventional processors, digital signal processors (DSPs), microprocessors, microcontrollers, integrated circuits, programmable logic devices (PLD), field programmable gate arrays (FPGA), application specific integrated circuits (ASICs), or any suitable controller or processing device or the like (hereinafter collectively referred to as processor(s) or control circuit(s)). The control circuitmay be configured to execute one or more software-based applications that include instructions that when executed by the control circuit may configure the control circuit to perform signal coding, data processing, power control, input/output processing, or any other function, feature, process, and/or operation for example that enables the control-source deviceto perform as described herein. One will recognize that functions, features, processes, and/or operations described herein for the control-source devicemay also and/or alternatively be provided by firmware and/or hardware in addition to and/or as an alternative to software-based instructions. The control circuitmay store information in and/or retrieve information from the memory. Memorymay also store software-based instructions for execution by the control circuitand may also provide an execution space as the control circuit executes instructions. Memorymay be implemented as an external integrated circuit (IC) or as an internal circuit of the control circuit. Memorymay include volatile and non-volatile memory modules/devices and may be non-removable memory modules/devices and/or a removable memory modules/devices. Non-removable memory may include random-access memory (RAM), read-only memory (ROM), a hard disk, or any other type of non-removable memory storage. Removable memory may include a subscriber identity module (SIM) card, a memory stick, a memory card, or any other type of removable memory.
1400 1408 1408 1408 1408 1408 1408 1402 The control-source devicemay include one or more communications circuits/network interface devices or cardsfor transmitting and/or receiving information. The communications circuitmay transmit and/or receive information via wired and/or wireless communications via communications circuit. The communications circuitmay include a transmitter, an RF transceiver, and/or other circuit configured to perform wired and/or wireless communications. For example, the communications circuitmay be configured to communicate (e.g., with a network device, over a network, etc.) via a first wireless communication channel (e.g., BLUETOOTH®, near field communication (NFC), WIFI®, WI-MAX®, cellular, etc.) and may be further configured to communicate (e.g., with control target devices, a system controller, and/or other devices in the load control system) via another wireless communication channel (e.g., WI-FI®, Zigbee, Thread, etc., or a proprietary communication channel, such as CLEAR CONNECT™). The communications circuitmay be in communication with control circuitfor transmitting and/or receiving information.
1402 1406 1406 1406 1402 1402 1406 1400 1410 1400 The control circuitmay also be in communication with an input circuit(s). The input circuitmay include an actuator(s) (e.g., one or more buttons) and/or a sensor circuit (e.g., an occupancy sensor circuit, a daylight sensor circuit, or a temperature sensor circuit) for receiving input that may be sent to a control-target device for controlling an electrical load. For example, the control-source device may receive input from the input circuitto put the control circuitin an association mode and/or communicate association messages from the control-source device. The control circuitmay receive information from the input circuit(e.g., an indication that a button has been actuated or sensed information). Each of the modules within the control-source devicemay be powered by a power source. One will recognize that control-source devicemay include other, fewer, and/or additional modules.
In addition to what has been described herein, the methods and systems may also be implemented in a computer program(s), software, or firmware incorporated in one or more computer-readable media for execution by a computer(s) or processor(s), for example. Examples of computer-readable media include electronic signals (transmitted over wired or wireless connections) and tangible/non-transitory computer-readable storage media. Examples of tangible/non-transitory computer-readable storage media include, but are not limited to, a read only memory (ROM), a random-access memory (RAM), removable disks, and optical media such as CD-ROM disks, and digital versatile disks (DVDs).
While this disclosure has been described in terms of certain embodiments and generally associated methods, alterations and permutations of the embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 22, 2022
September 22, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.