Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF AUTOMATICALLY CONTROLLING A MOTORIZED WINDOW TREATMENT WHILE MINIMIZING OCCUPANT DISTRACTIONS
Document Type and Number:
WIPO Patent Application WO/2010/036350
Kind Code:
A2
Abstract:
A load control system provides for automatically controlling a position of a motorized window treatment to control the amount of sunlight entering a space of a building through a window located in a facade of the building in order to control a sunlight penetration distance within the space and minimize occupant distractions. The load control system automatically generates a timeclock schedule having a number of timeclock events for controlling the position of the motorized window treatment during the present day. A user is able to select a desired maximum sunlight penetration distance for the space and a minimum time period that may occur between any two consecutive timeclock events. In addition, a maximum number of movements that may occur during the timeclock schedule may also be entered. The load control system uses these inputs to determine event times and corresponding positions of the motorized window treatment for each timeclock event of the timeclock schedule.

More Like This:
JP3771568Louver board
JPH11262966SHADING SHEET
Inventors:
ZAHARCHUK WALTER S (US)
COURTNEY BRIAN MICHAEL (US)
FRICKE WILLIAM BRYCE (US)
HOWE WILLIAM H (US)
MAJEWSKI TIMOTHY S (US)
SPIRA JOEL S (US)
Application Number:
PCT/US2009/005312
Publication Date:
April 01, 2010
Filing Date:
September 23, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
LUTRON ELECTRONICS CO (US)
ZAHARCHUK WALTER S (US)
COURTNEY BRIAN MICHAEL (US)
FRICKE WILLIAM BRYCE (US)
HOWE WILLIAM H (US)
MAJEWSKI TIMOTHY S (US)
SPIRA JOEL S (US)
International Classes:
E06B9/24; E05F15/20; H02P1/00
Domestic Patent References:
WO2007030322A22007-03-15
Attorney, Agent or Firm:
DUJMICH, Louis, C. et al. (Faber Gerb & Soffen LLP,1180 Avenue of the America, New York New York, US)
Download PDF:
Claims:
What is claimed is:

CLAIMS

1. A method of automatically controlling a position of a motorized window treatment while minimizing occupant distractions, the motorized window treatment adapted to control the amount of sunlight entering a space of a building through a window located in a facade of the building, the position of the window treatment controllable between an open- limit position and a closed-limit position to control a sunlight penetration distance within the space, the method comprising the steps of: receiving a desired maximum sunlight penetration distance for the space; building a timeclock schedule having a start time and an end time, the timeclock schedule including a number of timeclock events that will occur between the start time and the end time; receiving a minimum time period that may occur between any two consecutive timeclock events; determining, for each of the timeclock events, an event time between the start time and the end time, such that at least the minimum time period exists between the event times of any two consecutive timeclock events; determining a respective event position for each of the timeclock events to which the motorized window treatment will be controlled at the respective event time, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance for all of the events between the start time and the end time of the timeclock schedule; and automatically controlling the motorized window treatment according to the timeclock schedule by adjusting the position of the motorized window treatment to the respective position of each of the timeclock events at the respective event time.

2. The method of claim 1, further comprising the step of: prior to the step of determining an event time for each of the timeclock events, calculating optimal positions of the motorized window treatment at a plurality of different times between the start time and the end time, such that the sunlight penetration distance will not exceed the desired maximum sunlight penetration distance at the plurality of different times between the start time and the end time.

3. The method of claim 2, further comprising the step of: receiving a maximum number of movements that may occur during the timeclock schedule; wherein the number of timeclock events of the timeclock schedule does not exceed the maximum number of movements, and at least the minimum time period exists between the event times of any two consecutive timeclock events.

4. The method of claim 3, further comprising the step of: identifying at least one flat region of the optimal positions of the motorized window treatment during which the optimal positions do not change in value for at least the minimum time period that may occur between any two consecutive timeclock events, the flat region characterized by a beginning time and a constant position.

5. The method of claim 4, further comprising the steps of: identifying a movement region of the optimal positions of the motorized window treatment during which the optimal positions change in value; and determining whether the maximum number of movements that may occur during the timeclock schedule, and the minimum time period that may occur between any two consecutive timeclock events is the limiting factor in determining a movement time period that may occur between the event times of any two consecutive timeclock events during the movement region.

6. The method of claim 5, further comprising the step of: creating multiple timeclock events having respective event times that are spaced apart by at least the movement time period during the movement region.

7. The method of claim 6, wherein the timeclock events have corresponding event positions that are equal to the lowest position of the optimal positions of the motorized window treatment during the movement time period after the respective event time.

8. The method of claim 5, further comprising the step of: creating a timeclock event having an event time approximately equal to the beginning time of the movement region and a corresponding event position equal to the lowest position of the optimal positions of the motorized window treatment during the movement time period after the beginning time of the movement region.

9. The method of claim 4, further comprising the step of: creating a timeclock event having an event time approximately equal to the beginning time of the flat region and a corresponding event position equal to the constant magnitude of the flat region.

10. The method of claim 3, further comprising the steps of: determining if the respective event positions of two consecutive timeclock events are within a minimum position distance of each other; and eliminating the second of the two consecutive timeclock events if the event positions of the two consecutive timeclock events are within the minimum position distance of each other.

11. The method of claim 2, further comprising the step of: creating multiple timeclock events between the start time and the end time of the timeclock schedule, each of the timeclock events having respective event times that are spaced apart from each other by multiples of the minimum time period that may occur between any two consecutive timeclock events.

12. The method of claim 11 , wherein the step of determining a respective event position for each of the timeclock events to which the motorized window treatment will be controlled further comprises determining a lowest position of the calculated optimal positions of the motorized window treatment between two consecutive event times.

13. The method of claim 12, wherein the step of determining a respective event position for each of the timeclock events to which the motorized window treatment will be controlled further comprises, for the timeclock event having an event time equal to the first of the two consecutive event times, setting the event position of the timeclock event equal to the lowest position of the calculated optimal positions of the motorized window treatment between the two consecutive event times.

14. The method of claim 2, wherein the step of determining an event time for each of the timeclock events further comprises determining the event times of the timeclock events in response to the optimal positions of the motorized window treatment at the plurality of different times between the start time and the end time.

15. The method of claim 2, wherein the step of calculating optimal positions of the motorized window treatment further comprises calculating optimal positions of the motorized window treatment as a function of the longitude and latitude of the location of the building, an angle of the facade with respect to true north, a height of the window, and the present date and time.

16. The method of claim 2, wherein the step of calculating optimal positions of the motorized window treatment further comprises calculating optimal positions of the motorized window treatment for each minute between the start time and the end time.

17. The method of claim 2, wherein the open-limit position comprises a fully-open position, and the closed-limit position comprises a fully-closed position.

18. The method of claim 2, wherein the open-limit position comprises a visor position.

19. A method of automatically controlling a position of a motorized window treatment while minimizing occupant distractions, the motorized window treatment adapted to control the amount of sunlight entering a space of a building through a window located in a facade of the building, the position of the window treatment controllable between an open-limit position and a closed-limit position to control a sunlight penetration distance within the space, the method comprising the steps of: receiving a desired maximum sunlight penetration distance for the space; receiving a minimum time period that may occur between any two consecutive window treatment movements; calculating a controlled position to which the motorized window treatment should be controlled during each of a plurality of consecutive time intervals, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance during each of the respective time intervals, the time intervals having lengths greater than or equal to the minimum time period that may occur between any two consecutive window treatment movements; and automatically adjusting the position of the motorized window treatment to the calculated position at the beginning of each time interval, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance during each of the respective time intervals, and the movements of the shades are spaced apart by at least the minimum time period that may occur between any two consecutive window treatment movements.

20. The method of claim 19, further comprising the step of: building a timeclock schedule having a start time and an end time, the timeclock schedule including a number of timeclock events that will occur between the start time and the end time, the timeclock events each having an event time corresponding to the beginning of one of the time intervals, the timeclock events each having a respective event position corresponding to the respective controlled position of the respective time interval; wherein the step of automatically adjusting the position of the motorized window treatment to the calculated position at the beginning of each time interval comprises automatically controlling the motorized window treatment according to the timeclock schedule by adjusting the position of the motorized window treatment to the respective position of each of the timeclock events at the respective event time.

21. The method of claim 20, further comprising the step of: calculating optimal positions of the motorized window treatment at a plurality of different times between the start time and the end time prior to the step of determining an event time for each of the timeclock events.

22. The method of claim 21 , wherein the step of building a timeclock schedule further comprises receiving a maximum number of movements that may occur during the timeclock schedule, the time intervals having lengths such that the number of timeclock events of the timeclock schedule does not exceed the maximum number of movements, and at least the minimum time period exists between the event times of any two consecutive timeclock events.

23. The method of claim 22, wherein at least one of the time intervals comprises a flat region of the optimal positions of the motorized window treatment during which the optimal positions do not change in value for at least the minimum time period that may occur between any two consecutive window treatment movements, the flat region characterized by a beginning time and a constant position.

24. The method of claim 23, wherein the step of building a timeclock schedule further comprises the steps of identifying a movement region of the optimal positions of the motorized window treatment during which the optimal positions change in value, and creating multiple timeclock events having respective event times that are spaced apart by at least the minimum time period that may occur between any two consecutive window treatment movements.

25. The method of claim 22, wherein the step of building a timeclock schedule further comprises the steps of determining if the respective event positions of two consecutive timeclock events are within a minimum position distance of each other, and eliminating the second of the two consecutive timeclock events if the event positions of the two consecutive timeclock events are within the minimum position distance of each other.

26. The method of claim 21 , wherein the step of building a timeclock schedule further comprises creating multiple timeclock events between the start time and the end time of the timeclock schedule, each of the timeclock events having respective event times that are spaced apart from each other by multiples of the minimum time period that may occur between any two consecutive timeclock events.

27. The method of claim 26, wherein the step of building a timeclock schedule further comprises determining a lowest position of the calculated optimal positions of the motorized window treatment between two consecutive event times.

28. The method of claim 27, wherein the step of building a timeclock schedule further comprises, for the timeclock event having an event time equal to the first of the two consecutive event times, setting the event position of the timeclock event equal to the lowest position of the calculated optimal positions of the motorized window treatment between the two consecutive event times.

29. The method of claim 21 , wherein the step of calculating optimal positions of the motorized window treatment further comprises calculating optimal positions of the motorized window treatment as a function of the longitude and latitude of the location of the building, an angle of the facade with respect to true north, a height of the window, and the present date and time.

30. The method of claim 19, wherein the step of calculating a controlled position to which the motorized window treatment should be controlled during each of a plurality of consecutive time intervals further comprises calculating optimal positions of the motorized window treatment at a plurality of different times during one of the time intervals, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance during the one of the time intervals.

31. The method of claim 30, wherein the step of calculating a controlled position to which the motorized window treatment should be controlled during each of a plurality of consecutive time intervals further comprises determining a lowest position of the calculated optimal positions of the motorized window treatment during the one of the time intervals.

32. The method of claim 31, wherein the step of automatically adjusting the position of the motorized window treatment to the calculated position at the beginning of each time interval further comprises adjusting the position of the motorized window treatment at the beginning of the one of the time intervals to the lowest position of the calculated optimal positions of the motorized window treatment during the one of the time intervals.

33. A load control system comprising a motorized window treatment adapted to control the amount of sunlight entering a space of a building through a window located in a facade of the building, the position of the window treatment controllable between an open-limit position and a closed-limit position to control a sunlight penetration distance within the space, the load control system comprising: a central controller operatively coupled to the motorized window treatment, the central controller operable to transmit digital commands to the motorized window treatment, the controller further operable to receive a desired maximum sunlight penetration distance and a minimum time period that may occur between any two consecutive window treatment movements; calculate a controlled position to which the motorized window treatment should be controlled during each of a plurality of consecutive time intervals, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance during each of the respective time intervals, the time intervals having lengths greater than or equal to the minimum time period that may occur between any two consecutive window treatment movements; and automatically adjust the position of the motorized window treatment to the calculated position at the beginning of each time interval, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance during each of the respective time intervals, and the movements of the shades are spaced apart by at least the minimum time period that may occur between any two consecutive window treatment movements.

34. The load control system of claim 33, further comprising: an override wallstation comprises at least one actuator, the wallstation operable to transmit digital messages to the controller, such that the controller adjusts the position of the motorized window treatment in response to an actuation of the actuator.

35. The load control system of claim 34, wherein the controller is operable to build a timeclock schedule having a start time and an end time, the timeclock schedule including a number of timeclock events that will occur between the start time and the end time, the timeclock events each having an event time corresponding to the beginning of one of the time intervals, the timeclock events each having a respective event position corresponding to the respective controlled position of the respective time interval, the controller operable to automatically adjust the position of the motorized window treatment to the calculated position at the beginning of each time interval comprises automatically controlling the motorized window treatment according to the timeclock schedule by adjusting the position of the motorized window treatment to the respective position of each of the timeclock events at the respective event time.

36. The load control system of claim 35, wherein the controller is operable to disable the timeclock schedule in response to an actuation of the actuator.

37. The load control system of claim 34, wherein the controller is operable to move the motorized window treatment to the open-limit position in response to an actuation of the actuator.

38. The load control system of claim 34, wherein the controller is operable to move the motorized window treatment to the closed-limit position in response to an actuation of the actuator.

39. The load control system of claim 33, wherein the controller is operable to calculate optimal positions of the motorized window treatment at a plurality of different times during one of the time intervals, such that the sunlight penetration distance will not exceed the desired maximum sunlight penetration distance during the one of the time intervals.

40. The load control system of claim 39, wherein the controller is operable to determine a lowest position of the calculated optimal positions of the motorized window treatment during the one of the time intervals.

41. The load control system of claim 40, wherein the controller is operable to adjust the position of the motorized window treatment at the beginning of the one of the time intervals to the lowest position of the calculated optimal positions of the motorized window treatment during the one of the time intervals.

42. The load control system of claim 33, wherein the open-limit position comprises a fully-open position, and the closed-limit position comprises a fully-closed position.

43. The load control system of claim 33, wherein the open-limit position comprises a visor position.

44. A method of automatically controlling a position of a motorized window treatment while minimizing occupant distractions, the motorized window treatment adapted to control the amount of sunlight entering a space of a building through a window located in a facade of the building, the position of the window treatment controllable between a fully-open position and a fully-closed position to control a sunlight penetration distance within the space, the method comprising the steps of: receiving a desired maximum sunlight penetration distance for the space; building a timeclock schedule having a start time and an end time, the timeclock schedule including a number of timeclock events that will occur between the start time and the end time; receiving a maximum number of movements that may occur during the timeclock schedule, and a minimum time period that may occur between any two consecutive timeclock events; determining, for each of the timeclock events, an event time between the start time and the end time, such that the number of timeclock events of the timeclock schedule does not exceed the maximum number of movements, and at least the minimum time period exists between the event times of any two consecutive timeclock events; determining a respective event position for each of the timeclock events to which the motorized window treatment will be controlled at the respective event time, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance between the start time and the end time of the timeclock schedule; and automatically controlling the motorized window treatment according to the timeclock schedule by adjusting the position of the motorized window treatment to the respective position of each of the timeclock events at the respective event time.

45. The method of claim 44, further comprising the step of: calculating optimal positions of the motorized window treatment at a plurality of different times between the start time and the end time prior to the step of determining an event time for each of the timeclock events.

46. The method of claim 45, further comprising the step of: identifying at least one flat region of the optimal positions of the motorized window treatment during which the optimal positions do not change in value for at least the minimum time period that may occur between any two consecutive timeclock events, the flat region characterized by a beginning time and a constant position.

47. The method of claim 46, further comprising the steps of: identifying a movement region of the optimal positions of the motorized window treatment during which the optimal positions change in value; and determining whether the maximum number of movements that may occur during the timeclock schedule, and the minimum time period that may occur between any two consecutive timeclock events is the limiting factor in determining a movement time period that may occur between the event times of any two consecutive timeclock events during the movement region.

48. The method of claim 47, further comprising the step of: creating multiple timeclock events having respective event times that are spaced apart by at least the movement time period; wherein the timeclock events have corresponding event positions that are equal to the lowest position of the optimal positions of the motorized window treatment during the movement time period after the respective event time.

49. The method of claim 47, further comprising the step of: creating a timeclock event having an event time approximately equal to the beginning time of the movement region and a corresponding event position equal to the lowest position of the optimal positions of the motorized window treatment during the movement time period after the beginning time of the movement region.

50. The method of claim 46, further comprising the step of: creating a timeclock event having an event time approximately equal to the beginning time of the flat region and a corresponding event position equal to the constant magnitude of the flat region.

51. The method of claim 46, further comprising the steps of: identifying at least two movement regions of the optimal positions of the motorized window treatment during which the optimal positions change in value; and determining whether the maximum number of movements that may occur during the timeclock schedule, and the minimum time period that may occur between any two consecutive timeclock events is the limiting factor in determining a movement time period that may occur between the event times of any two consecutive timeclock events during the movement regions.

52. The method of claim 45, wherein the step of calculating optimal positions of the motorized window treatment further comprises calculating optimal positions of the motorized window treatment as a function of the longitude and latitude of the location of the building, an angle

53. The method of claim 44, further comprising the steps of: determining if the respective event positions of two consecutive timeclock events are within a minimum position distance of each other; and eliminating the second of the two consecutive timeclock events if the event positions of the two consecutive timeclock events are within the minimum position distance of each other.

54. A method of automatically controlling a position of a motorized window treatment while minimizing occupant distractions, the motorized window treatment adapted to control the amount of sunlight entering a space of a building through a window located in a facade of the building, the position of the window treatment controllable between an open- limit position and a closed-limit position to control a sunlight penetration distance within the space, the method comprising the steps of: receiving a desired maximum sunlight penetration distance; building a timeclock schedule including a number of timeclock events, the timeclock schedule having a start time and an end time, each timeclock event being characterized by an event time between the start time and the end time, the number of timeclock events not exceeding a maximum number of movements that may occur between the start time and the end time; calculating a respective position for each of the timeclock events to which the motorized window treatment will be controlled at the respective event time, such the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance between the start time and the end time of the timeclock schedule; and automatically controlling the motorized window treatment according to the timeclock schedule by adjusting the position of the motorized window treatment to the respective position of each of the timeclock events at the respective event time.

55. A method of automatically controlling a position of a motorized window treatment while minimizing occupant distractions, the motorized window treatment adapted to control the amount of sunlight entering a space of a building through a window located in a facade of the building, the position of the window treatment controllable between an open-limit position and a closed-limit position to control a sunlight penetration distance within the space, the method comprising the steps of: receiving a desired maximum sunlight penetration distance; building a timeclock schedule including a number of timeclock events, the timeclock schedule having a start time and an end time, each timeclock event being characterized by an event time between the start time and the end time, wherein at least a minimum time period exists between the event times of any two consecutive timeclock events; calculating a respective position for each of the timeclock events to which the motorized window treatment will be controlled at the respective event time, such the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance between the start time and the end time of the timeclock schedule; and automatically controlling the motorized window treatment according to the timeclock schedule by adjusting the position of the motorized window treatment to the respective position of each of the timeclock events at the respective event time.

56. A method of automatically controlling a position of a motorized window treatment while minimizing occupant distractions, the motorized window treatment adapted to control the amount of sunlight entering a space of a building through a window located in a facade of the building, the position of the window treatment controllable between a fully-open position and a fully-closed position to control a sunlight penetration distance within the space, the method comprising the steps of: receiving a desired maximum sunlight penetration distance; determining a first time at which to open the motorized window treatment during a 24-hour period and a second time at which to close the motorized window treatment during the 24-hour period, such the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance; automatically opening the window treatment at the first time; and automatically closing the window treatment at the second time.

57. The method of claim 56, wherein the step of automatically closing the window treatment at the second time further comprises controlling the motorized window treatment to the fully-closed position.

58. The method of claim 57, wherein the step of automatically opening the window treatment at the first time further comprises controlling the motorized window treatment to the fully-open position.

59. The method of claim 56, wherein the step of determining a first time and a second time further comprises calculating the first and second times as a function of the longitude and latitude of the location of the building, an angle of the facade with respect to true north, a height of the window, and the present date.

60. The method of claim 56, wherein the building comprises a plurality of facades having a plurality of motorized window treatment, the method further comprising the step of: repeating the steps of determining a first time and a second time, automatically opening the window treatment at the first time, and automatically closing the window treatment at the second time for each of the facades.

61. The method of claim 56, further comprising the step of: operating an astronomical timeclock; wherein the steps of automatically opening the window treatment at the first time, and automatically closing the window treatment at the second time are executed in response to the astronomical timeclock.

Description:
METHOD OF AUTOMATICALLY CONTROLLING A MOTORIZED WINDOW TREATMENT WHILE MINIMIZING OCCUPANT DISTRACTIONS

BACKGROUND OF THE INVENTION

Cross Reference to Related Applications

[0001] This application claims priority from commonly- assigned U.S. Provisional Patent

Application No. 61/100,162, filed September 25, 2008, and U.S. Provisional Patent Application No. 61/232,948, filed August 11, 2009, both entitled METHOD OF AUTOMATICALLY CONTROLLING A MOTORIZED WINDOW TREATMENT WHILE MINIMIZING OCCUPANT DISTRACTIONS. The entire disclosures of both applications are hereby incorporated by reference.

Field of the Invention

[0002] The present invention relates to a load control system for controlling a plurality of electrical loads and a plurality of motorized window treatments in a space, and more particularly, to a procedure for automatically controlling one or more motorized window treatments to prevent direct sun glare on work spaces in the space while minimizing occupant distractions.

Description of the Related Art

[0003] Motorized window treatments, such as, for example, motorized roller shades and draperies, provide for control of the amount of sunlight entering a space. Some prior art motorized window treatments have been automatically controlled in response to various inputs, such as daylight sensors and timeclocks. However, the automatic control algorithms of prior art motorized window treatments have resulted in frequent movement of the motorized window treatments, thus causing many distractions to occupants of the space. Thus, there exists a need for a simple method of automatically controlling one or more motorized window treatments while minimizing occupant distractions.

SUMMARY OF THE INVENTION

[0004] According to an embodiment of the present invention, a method of automatically controlling a position of a motorized window treatment to control the amount of sunlight entering a space of a building through a window located in a facade of the building allows for control of a sunlight penetration distance within the space, while minimizing occupant distractions. The position of the window treatment is controllable between an open-limit position and a closed-limit position to control the sunlight penetration distance within the space. The method comprises the steps of: (1) receiving a desired maximum sunlight penetration distance for the space; (2) building a timeclock schedule having a start time and an end time, the timeclock schedule including a number of timeclock events that will occur between the start time and the end time; (3) receiving a minimum time period that may occur between any two consecutive timeclock events; (4) determining, for each of the timeclock events, an event time between the start time and the end time, such that at least the minimum time period exists between the event times of any two consecutive timeclock events; (5) determining a respective event position for each of the timeclock events to which the motorized window treatment will be controlled at the respective event time, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance for all of the events between the start time and the end time of the timeclock schedule; and (6) automatically controlling the motorized window treatment according to the timeclock schedule by adjusting the position of the motorized window treatment to the respective position of each of the timeclock events at the respective event time.

[0005] According to another embodiment of the present invention, the method may additionally comprise the steps of receiving a maximum number of movements that may occur during the timeclock schedule, and determining, for each of the timeclock events, an event time between the start time and the end time, such that the number of timeclock events of the timeclock schedule does not exceed the maximum number of movements, and at least the minimum time period exists between the event times of any two consecutive timeclock events.

[0006] According to another embodiment of the present invention, a method of automatically controlling a position of a motorized window treatment while minimizing occupant distractions comprises the steps of: (1) receiving a desired maximum sunlight penetration distance for the space; (2) receiving a minimum time period that may occur between any two consecutive window treatment movements; (3) calculating a controlled position to which the motorized window treatment should be controlled during each of a plurality of consecutive time intervals, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance during each of the respective time intervals, the time intervals having lengths greater than or equal to the minimum time period that may occur between any two consecutive window treatment movements; and (4) automatically adjusting the position of the motorized window treatment to the calculated position at the beginning of each time interval, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance during each of the respective time intervals, and the movements of the shades are spaced apart by at least the minimum time period that may occur between any two consecutive window treatment movements.

[0007] In addition, a load control system comprising a motorized window treatment adapted to control the amount of sunlight entering a space of a building through a window located in a facade of the building is also described herein. The position of the window treatment is controllable between an open-limit position and a closed-limit position to control a sunlight penetration distance within the space. The load control system comprises a central controller operatively coupled to the motorized window treatment and operable to transmit digital commands to the motorized window treatment. The controller receives a desired maximum sunlight penetration distance and a minimum time period that may occur between any two consecutive window treatment movements, and calculates a controlled position to which the motorized window treatment should be controlled during each of a plurality of consecutive time intervals, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance during each of the respective time intervals. The time intervals have lengths greater than or equal to the minimum time period that may occur between any two consecutive window treatment movements. The controller automatically adjusts the position of the motorized window treatment to the calculated position at the beginning of each time interval, such that the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance during each of the respective time intervals, and the movements of the shades are spaced apart by at least the minimum time period that may occur between any two consecutive window treatment movements.

[0008] According to another aspect of the present invention, a method of automatically controlling a position of a motorized window treatment minimizes occupant distractions by only adjusting the position of the motorized window treatment twice in a 24-hour period. The motorized window treatment is adapted to control the amount of sunlight entering a space of a building through a window located in a facade of the building. The position of the window treatment is controllable between a fully-open position and a fully-closed position to control a sunlight penetration distance within the space. The method comprising the steps of: (1) receiving a desired maximum sunlight penetration distance; (2) determining a first time at which to open the motorized window treatment during the 24-hour period and a second time at which to close the motorized window treatment during the 24-hour period, such the sunlight penetration distance does not exceed the desired maximum sunlight penetration distance; (3) automatically opening the window treatment at the first time; and (4) automatically closing the window treatment at the second time.

[0009] Other features and advantages of the present invention will become apparent from the following description of the invention that refers to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The invention will now be described in greater detail in the following detailed description with reference to the drawings in which:

[0011] Fig. 1 is a simplified block diagram of a load control system having both load control devices and motorized roller shades; [0012] Fig. 2 is a simplified side view of an example of a space of a building having a window covered by one of the motorized roller shades of the load control system of Fig. 1;

[0013] Fig. 3 A is a side view of the window of Fig. 2 illustrating a sunlight penetration depth;

[0014] Fig. 3B is a top view of the window of Fig. 2 when the sun is directly incident upon the window;

[0015] Fig. 3C is a top view of the window of Fig. 2 when the sun is not directly incident upon the window;

[0016] Fig. 4 is a high-level diagram illustrating a simple example of the operation of the motorized roller shades of the load control system of Fig. 1 between sunrise and sunset;

[0017] Fig. 5 is a simplified flowchart of a timeclock configuration procedure executed periodically by a central controller of the load control system of Fig. 1 according to a first embodiment of the present invention;

[0018] Fig. 6 is a simplified flowchart of a timeclock execution procedure executed periodically by the central controller of the load control system of Fig. 1 according to the first embodiment of the present invention;

[0019] Fig. 7 is a simplified flowchart of a timeclock configuration procedure executed periodically by the central controller of the load control system of Fig. 1 according to a second embodiment of the present invention;

[0020] Fig. 8 is a simplified flowchart of an optimal shade position procedure executed by the central controller of the load control system of Fig. 1 according to the second embodiment of the present invention;

[0021] Figs. 9A-9C show example plots of optimal shade positions of the motorized roller shades of the load control system of Fig. 1 on different facades of the building during different days of the year according to the second embodiment of the present invention; [0022] Fig. 10 is a simplified flowchart of a timeclock event creation procedure executed by the central controller of the load control system of Fig. 1 according to the second embodiment of the present invention;

[0023] Figs. 1 IA-11C show example plots of controlled shade positions of the motorized roller shades of the load control system of Fig. 1 on different facades of the building during different days of the year according to the second embodiment of the present invention;

[0024] Fig. 12 is a simplified flowchart of a timeclock schedule execution procedure executed by the central controller of the load control system of Fig. 1 according to the second embodiment of the present invention;

[0025] Fig. 13 is an example front view of the shade override wallstation of the load control system of Fig. 1;

[0026] Fig. 14 is a simplified flowchart of a received command procedure executed by the central controller of the load control system of Fig. 1 in response to receiving a digital message from the shade override wallstation of Fig. 13;

[0027] Fig. 15 is a simplified flowchart of a timeclock configuration procedure executed periodically by the central controller of the load control system of Fig. 1 according to a third embodiment of the present invention;

[0028] Figs. 16A-16C are simplified flowcharts of a timeclock event optimization procedure executed by the central controller of the load control system of Fig. 1 according to the third embodiment of the present invention;

[0029] Fig. 17 is a simplified flowchart of the timeclock event optimization procedure executed by the central controller of the load control system of Fig. 1 according to the third embodiment of the present invention;

[0030] Figs. 18A-18C show example plots of controlled shade positions of the motorized roller shades of the load control system of Fig. 1 on different facades of the building during different days of the year according to the third embodiment of the present invention; [0031] Fig. 19 is a simplified flowchart of a shade control procedure executed by the central controller of the load control system of Fig. 1 according to a fourth embodiment of the present invention; and

[0032] Fig. 20 is a simplified flowchart of a position calculation procedure executed by the central controller of the load control system of Fig. 1 according to the fourth embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0033] The foregoing summary, as well as the following detailed description of the preferred embodiments, is better understood when read in conjunction with the appended drawings. For the purposes of illustrating the invention, there is shown in the drawings an embodiment that is presently preferred, in which like numerals represent similar parts throughout the several views of the drawings, it being understood, however, that the invention is not limited to the specific methods and instrumentalities disclosed.

[0034] Fig. 1 is a simplified block diagram of a load control system 100 according to the present invention. The load control system 100 is operable to control the level of illumination in a space by controlling the intensity level of the electrical lights in the space and the daylight entering the space. As shown in Fig. 1, the load control system 100 is operable to control the amount of power delivered to (and thus the intensity of) a plurality of lighting loads, e.g., a plurality of fluorescent lamps 102. The load control system 100 is further operable to control the position of a plurality of motorized window treatments, e.g., motorized roller shades 104, to control the amount of sunlight entering the space. The motorized window treatments could alternatively comprise motorized draperies, blinds, or roman shades.

[0035] Each of the fluorescent lamps 102 is coupled to one of a plurality of digital electronic dimming ballasts 110 for control of the intensities of the lamps. The ballasts 110 are operable to communicate with each other via digital ballast communication links 112. For example, the digital ballast communication link 112 may comprise a digital addressable lighting interface (DALI) communication link. Each digital ballast communication link 112 is also coupled to a digital ballast controller (DBC) 114, which provides the necessary direct-current (DC) voltage to power the communication link 112 and assists in the programming of the load control system 100. The ballasts 110 are operable to transmit digital messages to the other ballasts 110 via the digital ballast communication link 112.

[0036] Each of the motorized roller shades 104 comprises an electronic drive unit

(EDU) 130. For example, each electronic drive unit 130 may be located inside a roller tube of the associated roller shade 104. The electronic drive units 130 are responsive to digital messages received from a wallstation 134 via a shade communication link 132. The user is operable to use the wallstation 134 to open or close the motorized roller shades 104, adjust the position of a shade fabric 170 (Fig. 2) of the roller shades, or set the roller shades to preset shade positions between an open-limit position (e.g., a fully-open position Ppo) and a closed-limit position (e.g., a fully-closed position P FC ). The user is also operable to configure the operation of the motorized roller shades 104 using the wallstations 134. A shade controller (SC) 136 is coupled to the shade communication link 132. An example of a motorized window treatment control system is described in greater detail in commonly-assigned U.S. Patent No. 6,983,783, issued June 11, 2006, entitled MOTORIZED SHADE CONTROL SYSTEM, the entire disclosure of which is hereby incorporated by reference.

[0037] A plurality of lighting hubs 140 act as central controllers for managing the operation of the load control devices (i.e., the ballasts 110 and the electronic drive units 130) of the load control system 100. Each lighting hub 140 is operable to be coupled to at least one of the digital ballast controllers 114 to allow the lighting hub to communicate with the ballasts 110 on one of the digital ballast communication links 112. Each lighting hub 140 is further operable to be coupled to the shade controller 136 to allow the lighting hub to communicate with the electronic drive units 130 of the motorized roller shades 104 on one of the shade communication links 132. The lighting hubs 140 are further coupled to a personal computer (PC) 150 via an Ethernet link 152 and a standard Ethernet switch 154, such that the PC is operable to transmit digital messages to the ballasts 110 and the electronic drive units 130 via the lighting hubs 140. The PC 150 executes a graphical user interface (GUI) software, which is displayed on a PC screen 156. The GUI software allows the user to configure and monitor the operation of the load control system 100. During configuration of the lighting control system 100, the user is operable to determine how many ballasts 110, digital ballast controllers 114, electronic drive units 130, shade controllers 136, and lighting hubs 140 that are connected and active using the GUI software. Further, the user may also assign one or more of the ballasts 110 to a zone or a group, such that the ballasts 110 in the group respond together to, for example, an actuation of a wallstation.

[0038] According to the embodiments of the present invention, the lighting hubs 140 are operable to transmit digital messages to the motorized roller shades 104 to control the amount of sunlight entering a space 160 of a building 162 (Fig. 4) to control a sunlight penetration distance dpEN in the space. Each lighting hub 140 comprises an astronomical timeclock and is able to determine a sunrise time tsu NR is E and a sunset time tsims ET for each day of the year for a specific location. The lighting hubs 140 each transmit commands to the electronic drive units 130 to automatically control the motorized roller shades 104 in response to a timeclock schedule. Alternatively, the PC 150 could comprise the astronomical timeclock and could transmit the digital messages to the motorized roller shades 104 to control the sunlight penetration distance dpEN in the space 160.

[0039] Fig. 2 is a simplified side view of an example of the space 160 illustrating the sunlight penetration distance dp EN , which is controlled by the motorized roller shades 104. As shown in Fig. 2, the building comprises a facade 164 (e.g., one side of a four-sided rectangular building) having a window 166 for allowing sunlight to enter the space. The space 160 also comprises a work surface, e.g., a table 168, which has a height hwoR K - The motorized roller shade 104 is mounted above the window 166 and comprises a roller tube 172 around which the shade fabric 170 is wrapped. The shade fabric 170 may have a hembar 174 at the lower edge of the shade fabric. The electronic drive unit 130 rotates the roller tube 172 to move the shade fabric 170 between the fully-open position P FO (in which the window 166 is not covered) and the fully-closed position P FC (in which the window 166 is fully covered). Further, the electronic drive unit 130 may control the position of the shade fabric 170 to one of a plurality of preset positions between the fully- open position P F o and the fully-closed position P F c-

[0040] The sunlight penetration distance dp E N is the distance from the window 166 and the facade 164 at which direct sunlight shines into the room. The sunlight penetration distance dp EN is a function of a height hwrN of the window 166 and an angle D F of the facade 164 with respect to true north, as well as a solar elevation angle θs and a solar azimuth angle Ds, which define the position of the sun in the sky. The solar elevation angle θs and the solar azimuth angle Ds are functions of the present date and time, as well as the position (i.e., the longitude and latitude) of the building 162 in which the space 160 is located. The solar elevation angle θs is essentially the angle between a line directed towards the sun and a line directed towards the horizon at the position of the building 162. The solar elevation angle θs can also be thought of as the angle of incidence of the sun's rays on a horizontal surface. The solar azimuth angle Ds is the angle formed by the line from the observer to true north and the line from the observer to the sun projected on the ground. When the solar elevation angle θs is small (i.e., around sunrise and sunset), small changes in the position of the sun result in relatively large changes in the magnitude of the sunlight penetration distance dpEN-

[0041] The sunlight penetration distance dpEN of direct sunlight onto the table 168 of the space 160 (which is measured normal to the surface of the window 166) can be determined by considering a triangle formed by the length 1 of the deepest penetrating ray of light (which is parallel to the path of the ray), the difference between the height hwm of the window 166 and the height hwo R ic of the table 168, and distance between the table and the wall of the facade 164 (i.e., the sunlight penetration distance dpEN) as shown in the side view of the window 166 in Fig. 3 A, i.e., tan(θs) = (hwiN - h W oRκ) / 1 , (Equation 1 ) where θs is the solar elevation angle of the sun at a given date and time for a given location (i.e., longitude and latitude) of the building 162.

[0042] If the sun is directly incident upon the window 166, a solar azimuth angle Ds and the facade angle Dp (i.e., with respect to true north) are equal as shown by the top view of the window 166 in Fig. 3B. Accordingly, the sunlight penetration distance dp EN equals the length 1 of the deepest penetrating ray of light. However, if the facade angle D F is not equal to the solar azimuth angle Ds, the sunlight penetration distance dp EN is a function of the cosine of the difference between the facade angle DF and the solar azimuth angle Ds, i.e., dpEN = 1 cos( | DF - DS | ), (Equation 2) as shown by the top view of the window 166 in Fig. 3C. [0043] As previously mentioned, the solar elevation angle θs and the solar azimuth angle Ds define the position of the sun in the sky and are functions of the position (i.e., the longitude and latitude) of the building 162 in which the space 160 is located and the present date and time. The following equations are necessary to approximate the solar elevation angle θs and the solar azimuth angle Ds- The equation of time defines essentially the difference in a time as given by a sundial and a time as given by a clock. This difference is due to the obliquity of the Earth's axis of rotation. The equation of time can be approximated by

E = 9.87 sin(2B) - 7.53 cos(B) - 1.5 sin(B), (Equation 3) where B = [ 360° (ND AY - 81) ] / 364, and NDAY is the present day-number for the year (e.g., NDAY equals one for January 1, N DAY equals two for January 2, and so on).

[0044] The solar declination δ is the angle of incidence of the rays of the sun on the equatorial plane of the Earth. If the eccentricity of Earth's orbit around the sun is ignored and the orbit is assumed to be circular, the solar declination is given by: δ = 23.45° sin[ 360° / 365 (NDA Y + 284) ] . (Equation 4)

The solar hour angle H is the angle between the meridian plane and the plane formed by the Earth's axis and current location of the sun, i.e.,

H(t) = { 1 A [ t + E - (4 λ) + (60 t TZ ) ] } - 180°, (Equation 5) where t is the present local time of the day, λ is the local longitude, and t T z is the time zone difference (in unit of hours) between the local time t and Greenwich Mean Time (GMT). For example, the time zone difference trz for the Eastern Standard Time (EST) zone is -5. The time zone difference trzcan be determined from the local longitude λ and latitude Φ of the building 162. For a given solar hour angle H, the local time can be determined by solving Equation 5 for the time t, i.e., t = 720 + 4 (H + λ) - (60 t τz ) - E. (Equation 6)

When the solar hour angle H equals zero, the sun is at the highest point in the sky, which is referred to as "solar noon" time ts N , i.e., ts N = 720 + ( 4 λ ) - (60 t T z) - E. (Equation 7)

A negative solar hour angle H indicates that the sun is east of the meridian plane (i.e., morning), while a positive solar hour angle H indicates that the sun is west of the meridian plane (i.e., afternoon or evening). [0045] The solar elevation angle θs as a function of the present local time t can be calculated using the equation: θ s (t) = sin '1 [ cos( H(t) ) cos(δ) cos(Φ) + sin(δ) sin(Φ) ], (Equation 8) wherein Φ is the local latitude. The solar azimuth angle Ds as a function of the present local time t can be calculated using the equation:

Ds(t) = 180° C(t) cos 1 [ X(t) / cos (θ s (t) ) ], (Equation 9) where

X(t) = [ cos( H(t) ) cos(δ) sin(Φ) - sin(δ) cos(Φ) ], (Equation 10) and C(t) equals negative one if the present local time t is less than or equal to the solar noon time t SN or one if the present local time t is greater than the solar noon time tsN- The solar azimuth angle Ds can also be expressed in terms independent of the solar elevation angle θs, i.e.,

Ds(t) = tan "1 [ -sin( H(t) ) cos(δ) / Y(t) ], (Equation 11) where

Y(t) = [ sin(δ) cos(Φ) - cos(δ) sin(Φ) cos( H(t) ) ]. (Equation 12)

Thus, the solar elevation angle θs and the solar azimuth angle Ds are functions of the local longitude λ and latitude Φ and the present local time t and date (i.e., the present day-number NDAY). Using Equations 1 and 2, the sunlight penetration distance can be expressed in terms of the height hwiN of the window 166, the height hwo R K of the table 168, the solar elevation angle θs, and the solar solar azimuth angle Ds.

[0046] According to a first embodiment of the present invention, the motorized roller shades 104 are controlled such that the sunlight penetration distance dpEN is limited to less than a desired maximum sunlight penetration distance d M Ax during all times of the day. For example, the sunlight penetration distance dpEN may be limited such that the sunlight does not shine directly on the table 168 to prevent sun glare on the table. The desired maximum sunlight penetration distance d MAX may be entered using the GUI software of the PC 150 and may be stored in memory in each of the lighting hubs 140. In addition, the user may also use the GUI software of the PC 150 to enter and the present date and time, the present timezone, the local longitude λ and latitude Φ of the building 162, the facade angle D F for each facade 164 of the building, the height h W iN of the windows 166 in spaces 160 of the building, and the heights hwoRK of the workspaces (i.e., tables 168) in the spaces of the building. These operational characteristics (or a subset of these operational characteristics) may also be stored in the memory of each lighting hub 140. Further, the motorized roller shades 104 are also controlled such that distractions to an occupant of the space 160 (i.e., due to movements of the motorized roller shades) are minimized, for example, by only opening and closing each motorized roller shade once each day resulting in only two movements of the shades each day.

[0047] Fig. 4 is a high-level diagram illustrating a simple example of the operation of the motorized roller shades 104 between sunrise and sunset according to the first embodiment of the present invention, hi the example of Fig. 4, the building 162 is located on the equator and the time of year is the spring equinox. The building includes a first eastern fac . ade 164A facing east and having a first window 166A and a first motorized roller shade 104 A, and a second western facade 164B facing west and having a second window 166B and a second motorized roller shade 104B. At event one (1), the sun is just rising at 6 a.m., and positioned at a solar elevation angle θs of zero (0) degrees in the eastern sky. At this time of day, the first motorized roller shade 104A of the eastern facade 164 A is programmed to be fully closed to prevent glare from the direct light of the sun. On the other hand, the second motorized roller shade 104B of the western facade 164B is programmed to be fully open at event one to allow the maximum amount of indirect sunlight to illuminate the interior of the building 162.

[0048] At event two (2), the time is 9 a.m., and the sun has risen to a solar elevation angle θs of 45 degrees in the eastern sky. The first and second motorized roller shades 104A, 104B have not changed position since event one. At event three (3), the time is 11 a.m., and the sun has risen to a solar elevation angle θs of 75 degrees in the eastern sky. The second motorized roller shade 104B of the western facade 164B remains in the opened position, while the first motorized roller shade 104A of the eastern facade 164A moves to the fully-open position P F0 since the sun has risen to a solar elevation angle θs that no longer creates sun glare on work surfaces in the building 162 (i.e., a solar elevation angle that no longer causes the sunlight penetration distance dpEN to exceed the desired maximum sunlight penetration distance d MA x). During events four (4) and five (5), the first and second motorized roller shades 104A, 104B remain opened. At event six (6), the time is 3 p.m., and the sun has dropped to a solar elevation angle θs of 45 degrees in the western sky (or 135 degrees with respect to the eastern sky). At this time, the second motorized roller shade 104B of the western fa9ade 164B closes to prevent glare at the west side of the building 162. Finally, at event seven (7), which is 6 p.m., the second motorized roller shade 104B remains closed, and the first motorized roller shade 104A is closed to provide additional insulation of the building 162 and to maintain a consistent outward appearance throughout the evening.

[0049] Fig. 5 is a simplified flowchart of a timeclock configuration procedure 200 according to the first embodiment of the present invention. The timeclock configuration procedure 200 is executed periodically by each of the lighting hubs 140 of the load control system 100 to generate a timeclock schedule defining the desired operation of the motorized roller shades 104 of each of the facades 164 of the building 162. For example, the timeclock configuration procedure 200 may be executed by each of the lighting hubs 140 once each day at midnight to generate a new timeclock schedule for the motorized roller shades 104 connected to the respective lighting hub via the shade communication link 132. During the timeclock configuration procedure 200, the lighting hub 140 sets an open time t \ and a close time t 2 for each of the timeclock schedules, i.e., for each facade 164 of the building 162 on which the motorized roller shades 104 connected to the lighting hub are located. If the sun is incident on the facade 164 at sunrise, the lighting hub 140 is operable to determine the open time t \ to ensure that the sunlight penetration distance dp EN does not exceed the desired maximum sunlight penetration distance dMAx for the respective facade. Specifically, the lighting hub 140 is operable to calculate the time at which the sunlight penetration distance dp E N will fall below the desired maximum sunlight penetration distance d MAX after sunrise using Equations 1-12 shown above. If the sun is incident on the facade 164 at sunset, the lighting hub 140 is operable to determine the close time t 2 to ensure that the sunlight penetration distance dpEN does not exceed the desired maximum sunlight penetration distance d MAX by calculating the time at which the sunlight penetration distance dpEN will rise above the desired maximum sunlight penetration distance dMAX-

[0050] Referring to Fig. 5, the lighting hub 140 first retrieves the sunrise time tsuNRisE and the sunset time tsu NSET for the present day (i.e., the 24-hour period starting at midnight when the timeclock configuration procedure 200 is executed) from the astronomical timeclock at step 210. At step 212, the lighting hub 140 initializes the open time ti and the close time t 2 to zero. If the sunlight penetration distance dp E N is greater than the desired maximum sunlight penetration distance d MAX for all times between the sunrise time tsu NR is E and the sunset time tsuNSET at step 214, the lighting hub 140 clears the time schedule for the present day at step 216, such that the roller shades 104 on that facade 164 will not open and will remain closed for the entire day.

[0051] If the sun will be on the facade 164 at sunrise at step 218 (e.g., if | G F - Ds | < 90° at a time just after sunrise), the lighting hub 140 determines the open time ti in response to the desired maximum sunlight penetration distance U MAX using Equations 1-12 at step 220. If the sun will be on the faςade 164 at sunset at step 222 (e.g., if | Q F - Ds I < 90° at a time just before sunset), the lighting hub 140 determines the close time t 2 in response to the desired maximum sunlight penetration distance at step 224. If the open time ti is equal to zero at step 226 (i.e., the sun will not be on the facade 164 at sunrise), the lighting hub 140 sets the open time ti to an arbitrary open time to PEN (e.g., 7 a.m.) at step 228, such that the roller shades 104 will be open for the entire day until the close time t 2 . If the close time t 2 is equal to zero at step 230 (i.e., the sun will not be on the facade 164 at sunset), the lighting hub 140 sets the close time t 2 to an arbitrary close time tcL O S E (e.g., 7 p.m.) at step 232, such that the roller shades 104 will be closed for the entire night. If there are time schedules for more facades 164 of the building 162 that must be updated at step 234, the timeclock configuration procedure 200 loops around to set the open time U and the close time t 2 for another faςade. Otherwise, the timeclock configuration procedure 200 exits.

[0052] Fig. 6 is a simplified flowchart of a time schedule execution procedure 300 executed periodically, e.g., once every minute, by the lighting hubs 140. If the present time tpREs determined from the astronomical timeclock is equal to the open time ti at step 310, the lighting hub 140 transmits a digital command to open the motorized roller shade 104 of the present faςade 164 at step 312. If the present time tp^s is equal to the close time t 2 at step 314, the lighting hub 140 transmits a digital command to close the motorized roller shade 104 of the present faςade 164 at step 316. If there are more facades 164 having time schedule event times to review at step 318, the procedure 300 loops to potentially open or close the motorized roller shades 104 of another faςade. Otherwise, the procedure 300 exits.

[0053] According to a second embodiment of the present invention, the motorized roller shades 104 are operable to move more than twice each day and may be controlled to preset positions between the fully-open position P FO and the fully-closed position P F c- During a timeclock schedule of the second embodiment, the motorized roller shades 104 are controlled to the preset positions between the fully-open position P FO and the fully-closed position P F c, such that the sunlight penetration distance dp EN is limited to less than the desired maximum sunlight penetration distance d MAX . hi order to minimize distractions of an occupant in the space 160 due to roller shade movements, the user may input a minimum time period T MIN that may exist between any two consecutive movements of the motorized roller shades. The minimum time period T MIN that may exist between any two consecutive movements of the motorized roller shades and the desired maximum sunlight penetration distance d MAX may be entered using the GUI software of the PC 150 and may be stored in the memory in the lighting hubs 140. The user may select different values for the desired maximum sunlight penetration distance d M AX and the minimum time period T MIN between shade movements for different areas and different groups of motorized roller shades 104 in the building 162. In other words, a different timeclock schedule may be executed for the different areas and different groups of motorized roller shades 104 in the building 162 (i.e., the different facades 164 of the building).

[0054] Fig. 7 is a simplified flowchart of a timeclock configuration procedure 400 executed periodically by the lighting hub 140 of the load control system 100 to generate a timeclock schedule defining the desired operation of the motorized roller shades 104 of each of the facades 164 of the building 162 according to the second embodiment of the present invention. For example, the timeclock configuration procedure 400 may be executed once each day at midnight to generate a new timeclock schedule for one or more areas in the building 162. The timeclock schedule is executed between a start time ts TA RT and an end time t E ND of the present day. During the timeclock configuration procedure 400, the lighting hub 140 first performs an optimal shade position procedure 500 for determining optimal shade positions Popτ(t) of the motorized roller shades 104 in response to the desired maximum sunlight penetration distance dMAX for each minute between the start time ts TART and the end time tβ ND of the present day. The lighting hub 140 then executes a timeclock event creation procedure 600 to generate the events of the timeclock schedule in response to the optimal shade positions Popτ(t) and the user-selected minimum time period T MIN between shade movements. [0055] According to the second embodiment of the present invention, the timeclock schedule is split up into a number of consecutive time intervals, each having a length equal to the minimum time period T MI N between shade movements. The lighting hub 140 considers each time interval and determines a position to which the motorized roller shades 104 should be controlled in order to prevent the sunlight penetration distance dp EN from exceeding the desired maximum sunlight penetration distance d MA x during the respective time interval. The lighting hub 140 creates events in the timeclock schedule, each having an event time equal to beginning of respective time interval and a corresponding position equal to the determined position to which the motorized roller shades 104 should be controlled in order to prevent the sunlight penetration distance dp EN from exceeding the desired maximum sunlight penetration distance dvi AX However, the lighting hub 140 will not create a timeclock event when the determined position of a specific time interval is equal to the determined position of a preceding time interval (as will be descπbed in greater detail below) Therefore, the event times of the timeclock schedule are spaced apart by multiples of the user-specified minimum time period TM IN between shade movements

[0056] Fig. 8 is a simplified flowchart of the optimal shade position procedure 500, which is executed by the lighting hub 140 to generate the optimal shade positions P OP TO) for each mmute between the start time ts TAR τ and the end time t E N D of the timeclock schedule such that the sunlight penetration distance dp EN will not exceed the desired maximum sunlight penetration distance d MA x- The lighting hub 140 first retπeves the start time ts TART and the end time t E N D of the timeclock schedule for the present day at step 510. For example, the lighting hub 140 could use the astronomical timeclock to set the start time tsr ART equal to the sunrise time tsuNRiS E for the present day, and the end time t END equal to the sunset time tsu NSET for the present day Alternatively, the start and end times tsτ A R.τ, t E N D could be set to arbitrary times, e.g., 6 A.M. and 6 P.M, respectively

[0057] Next, the lighting hub 140 sets a variable time W A R equal to the start time ts TART at step 512 and determines a worst case facade angle D F -W C at the variable time W AR to use when calculating the optimal shade position Popτ(t) at the variable time W A R Specifically, if the solar azimuth angle Ds is within a facade angle tolerance DTOL (e.g., approximately 3°) of the fixed facade angle DF at step 513 (i e., if DF - DTO L ≤ Ds < O F + DTOL), the lighting hub 140 sets the worst case facade angle DF-W C equal to the solar azimuth angle Ds of the facade 164 at step 514 If the solar azimuth angle Ds is not within the facade angle tolerance O TO L of the facade angle D F at step 513, the lighting hub 140 then determines if the facade angle DF plus the facade angle tolerance DT O L is closer to the solar azimuth angle Ds than the facade angle Dp minus the facade angle tolerance DT O L at step 515. If so, the lighting hub 140 sets the worst case facade angle DF- WC equal to the facade angle D F plus the facade angle tolerance D TOL at step 516. If the facade angle DF plus the facade angle tolerance D TOL is not closer to the solar azimuth angle Ds than the facade angle Dp minus the facade angle tolerance DTO L at step 515, the lighting hub 140 sets the worst case facade angle D F - WC equal to the facade angle DF minus the facade angle tolerance D T OL at step 518.

[0058] At step 520, the lighting hub 140 uses Equations 1-12 shown above and the worst case facade angle Dp-wc to calculate the optimal shade position P O PTO VAR ) that is required in order to limit the sunlight penetration distance dp E N to the desired maximum sunlight penetration distance at the variable time tv AR - At step 522, the lighting hub 140 stores in the memory the optimal shade position Popτ(tv AR ) determined in step 520. If the variable time WA R is not equal to the end time tg ND at step 524, the lighting hub 140 increments the variable time W AR by one minute at step 526 and determines the worst case facade angle DF- WC and the optimal shade position P OPT (W A R) for the new variable time W A R at step 520. When the variable time W A R is equal to the end time teN D at step 524, the optimal shade position procedure 500 exits.

[0059] Thus, the lighting hub 140 generates the optimal shade positions Popτ(t) between the start time ts TART and the end time t E N D of the timeclock schedule using the optimal shade position procedure 500. Fig. 9A shows an example plot of optimal shade positions PO PTI (0 of the motorized roller shades 104 on the west facade of the building 162 on January 1, where the building is located at a longitude λ of approximately 75° W and a latitude Φ of approximately 40° N. Fig. 9B shows an example plot of optimal shade positions Popτ 2 (t) of the motorized roller shades 104 on the north facade of the same building 162 on June 1. Fig. 9C shows an example plot of optimal shade positions Popτ 3 (t) of the motorized roller shades 104 on the south facade of the same building 162 on April 1.

[0060] Fig. 10 is a simplified flowchart of the timeclock event creation procedure 600, which is executed by the lighting hub 140 in order to generate the events of the timeclock schedule according to the second embodiment of the present invention. Since the timeclock schedule is split up into a number of consecutive time intervals, the timeclock events of the timeclock schedule are spaced between the start time ts TART and the end time tβ N D by multiples of the minimum time period T M ΓN between shade movements, which is selected by the user. During the timeclock event creation procedure 600, the lighting hub 140 generates controlled shade positions P CNTL O), which comprise a number of discrete events, i.e., step changes in the position of the motorized roller shades at the specific event times. The lighting hub 140 uses the optimal shade positions Popτ(t) from the optimal shade position procedure 500 to correctly determine the controlled shade positions P CNTL CQ of the events of the timeclock schedule. The resulting timeclock schedule includes a number of events, which are each characterized by an event time and a corresponding preset shade position. According to the second embodiment of the present invention, the timeclock events are spaced apart by periods of time that are multiples of the minimum time period T MIN - The lighting hub 140 uses the controlled shade positions P C NTL(0 to adjust the position of the motorized roller shades 104 during execution of the timeclock schedule, i.e., between the start time tsTART and the end time tgND- At the end time t END , the lighting hub 140 controls the position of the motorized roller shades 104 to a nighttime position P NIGHT (e.g., the fully-closed position P FC ) as will be described in greater detail below with reference to Fig. 12.

[0061] Fig. 1 IA shows an example plot of controlled shade positions P CNTLI O) of the motorized roller shades 104 on the west facade of the building 162 on January 1 according to the second embodiment of the present invention. Fig. 1 IB shows an example plot of controlled shade positions PcNτu(t) of the motorized roller shades 104 on the north facade of the building 162 on June 1 according to the second embodiment of the present invention. Fig. 11 C shows an example plot of controlled shade positions P CNTU O) of the motorized roller shades 104 on the south facade of the building 162 on April 1 according to the second embodiment of the present invention.

[0062] The lighting hub 140 examines the values of the optimal shade positions Popτ(t) during each of the time intervals of the timeclock schedule (i.e., the time periods between two consecutive timeclock events) to determine the lowest shade position P LOW during each of the time intervals. During the timeclock event creation procedure 600, the lighting hub 140 uses two variable times tvi, tv 2 to define the endpoints of the time interval that the lighting hub is presently examining. The lighting hub 140 uses the variable times tvi, tγ 2 to sequentially step through the events of the timeclock schedule, which are spaced apart by the minimum time period T MIN according to the second embodiment of the present invention. The lowest shade positions P LOW during the respective time intervals becomes the controlled shade positions P CNTL W of the timeclock events, which have event times equal to the beginning of the respective time interval (i.e., the first variable time tvi).

[0063] Referring to Fig. 10, the lighting hub 140 sets the first variable time tvi equal to the start time ts TART of the timeclock schedule at step 610. The lighting hub 140 also initializes a previous shade position P P R E V to the nighttime position P N I GH T at step 610. If there is enough time left before the end time t END for the present timeclock event (i.e., if the first variable time tvi plus the minimum time period T MIN is not greater than the end time I END ) at step 612, the lighting hub 140 determines at step 614 if there is enough time for another timeclock event in the timeclock schedule after the present timeclock event. If the first variable time tvi plus two times the minimum time period T MΓN is not greater than the end time tEND at step 614, the lighting hub 140 sets the second variable time tv 2 equal to the first variable time tvi plus the minimum time period TMIN at step 616, such that the lighting hub 140 will then examine the time interval between the first and second variable times tvi, tv 2 - If the first variable time tvi plus two times the minimum time period TMIN is greater than the end time t END at step 614, the lighting hub 140 sets the second variable time t V 2 equal to the end time t END at step 618, such that the lighting hub 140 will then examine the time interval between the first variable time tvi and the end time tEND-

[0064] At step 620, the lighting hub 140 determines the lowest shade position P LOW of the optimal shade positions Popτ(t) during the present time interval (i.e., between the first variable time tvi and the second variable time tv 2 determined at steps 616 and 618). If, at step 622, the previous shade position P PREV is not equal to the lowest shade position PLO W during the present time interval (as determined at step 620), the lighting hub 140 sets the controlled position P CNTL CV I ) at the first variable time tvi to be equal to the lowest shade position P LO W of the optimal shade positions Popτ(t) during the present time interval at step 624. The lighting hub 140 then stores in memory a timeclock event having the event time tvi and the corresponding controlled position P CNTI XKO at step 626 and sets the previous shade position P P R E V equal to the new controlled position P CNTL OV I ) at step 628. If, at step 622, the previous shade position P PREV is equal to the lowest shade position P LOW during the present time interval, the lighting hub 140 does not create a timeclock event at the first variable time tvi . The lighting hub 140 then begins to examine the next time interval by setting the first variable time tvi equal to the second variable time tv 2 at step 630. The timeclock event creation procedure 600 loops around such that the lighting hub 140 determines if there is enough time left before the end time tβ ND for the present timeclock event at step 612. If the first variable time tvi plus the minimum time period T MIN is greater than the end time tgND at step 612, the lighting hub enables the timeclock schedule at step 632 and the timeclock event creation procedure 600 exits.

[0065] Fig. 12 is a simplified flowchart of a timeclock schedule execution procedure 700, which is executed by the lighting hub 140 periodically, e.g., every minute between the start time tsTART and the end time te ND of the timeclock schedule. Since there may be multiple timeclock schedules for the motorized roller shades 104 controlled by each of the lighting hubs 140, each lighting hub may execute the timeclock schedule execution procedure 700 multiple times, e.g., once for each timeclock schedule. During the timeclock schedule execution procedure 700, the lighting hub 140 adjusts the positions of the motorized roller shades 104 to the controlled positions PCNT L CQ determined in the timeclock event creation procedure 600.

[0066] hi some cases, when the lighting hub 140 controls the motorized roller shades 104 to the fully-open positions P FO (i-β-, when there is no direct sunlight incident on the facade 164), the amount of daylight entering the space 160 may be unacceptable to a user of the space. Therefore, the lighting hub 140 is operable to set the open- limit positions of the motorized roller shades of one or more of the spaces 160 or facades 164 of the building 162 to a visor position P VISOR , which is typically lower than the fully-open position P F o, but may be equal to the fully-open position. Thus, the visor position P VISOR defines the highest position to which the motorized roller shades 104 will be controlled during the timeclock schedule. The position of the visor position P VISOR may be entered using the GUI software of the PC 150. In addition, the visor position P VISOR may be enabled and disabled for each of the spaces 160 or facades 164 of the building 162 using the GUI software of the PC 150. Since two adjacent windows 166 of the building 162 may have different heights, the visor positions P VISOR of the two windows may be programmed using the GUI software, such that the hembars 174 of the shade fabrics 172 covering the adjacent window are aligned when the motorized roller shades 104 are controlled to the visor positions P VISO R- [0067] Referring to Fig. 12, if the timeclock schedule is enabled at step 710, the lighting hub 140 determines the time tN E XT of the next timeclock event from the timeclock schedule at step 712. If the present time tp RES is equal to the next event time t NEXT at step 714 and the controlled position PcNTL(tNExτ) at the next event time tNEXT is greater than or equal to the visor position P VISOR at step 716, the lighting hub 140 adjusts the positions of the motorized roller shades 104 to the visor position P VISOR at the next event time t>i E χτ at step 718. Otherwise, the lighting hub 140 adjusts the positions of the motorized roller shades 104 to the controlled position P CNTL ^ NEXT ) at the next event time t NEXT at step 720. After adjusting the positions of the motorized roller shades 104 at steps 718, 720, after determining that there is not a timeclock event at the present time at step 714, or after determining that the timeclock schedule is not enabled at step 710, the lighting hub 140 makes a determination as to whether the present time is equal to the end time t END of the timeclock schedule at step 724. If not, the timeclock schedule execution procedure 700 simply exits. If the present time is equal to the end time tEND at step 724, the lighting hub 140 controls the motorized roller shades 104 to the nighttime position P NIGHT a * ste P 726 and disables the timeclock schedule at step 728, before the timeclock schedule execution procedure 700 exits.

[0068] The load control system 100 may also comprise a shade override wallstation 134' for allowing an occupant in the space 160 to manually adjust the positions of the motorized roller shades 104 and to temporarily override (i.e., disable) the execution of the timeclock schedule. Fig. 13 is an example front view of the shade override wallstation 134'. The shade override wallstation 134' comprises a plurality of "cloudy" buttons 810, e.g., one cloudy button for each of the four facades 164 of the building 162 (i.e., North, South, East, and West). The shade override wallstation 134' comprises, for each of the four facades 164 of the building 162, a respective "glare" button 812, which is positioned adjacent the corresponding cloudy button 810. The shade override wallstation 134' is coupled to the shade communication link 132 for transmitting digital messages to the connected lighting hub 140 in response to actuations of the cloudy buttons 810 and the glare buttons 812.

[0069] The cloudy buttons 810 may be actuated by the occupant on a cloudy day when the chances of sun glare occurring are minimal in order to allow more indirect daylight to enter the space 160. In response to an actuation of one of the cloudy buttons 810, the lighting hub 140 controls each of the motorized roller shades 104 located on the respective facade 164 to the fully-open position P F o (or the visor position P VISOR )- The lighting hub 140 also temporarily disables the timeclock schedule for the motorized roller shades 104 on the respective facade 164 in response to actuations of the cloudy buttons 810. The timeclock schedule may be disabled, for example, until the end time tEND of the present timeclock schedule. Alternatively, the lighting hub 140 could disable the timeclock schedule for a predetermined override time period T OVERRIDE , e.g., approximately two hours, in response to actuations of the cloudy buttons 810. The cloudy buttons 810 each comprise a cloudy-override visual indicator 814, which is illuminated when the respective cloudy button is actuated to disable the timeclock schedule and open the motorized window treatments 104 on the respective facade 164. If the timeclock schedule for one of the facades 164 is disabled and the respective cloudy button 810 is actuated, the timeclock schedule for the facade is enabled and the motorized roller shades 104 are adjusted so as to control the sunlight penetration distance dp EN in the space 160 (as described above). If the timeclock schedule is disabled at the end time t END of the present timeclock schedule, the timeclock schedule will be enabled when the timeclock configuration procedure 400 is next executed (e.g., at the beginning of the next day).

[0070] The glare buttons 812 may be actuated by the occupant when unexpected sun glare is occurring in the space 160, for example, due to sunlight being reflected off of another surface and onto the facade 164. In response to an actuation of one of the glare buttons 812, the lighting hub 140 controls the motorized roller shades 104 located on the respective facade 164 to the fully-closed positions P FC The lighting hub 140 also temporarily disables the timeclock schedule in response to actuations of the glare buttons 812, for example, until the end time tgND of the present timeclock schedule or for the predetermined override time period T OVERRIDE - The glare buttons 812 each comprise a glare-override visual indicator 816, which is illuminated when the respective glare button is actuated to disable the timeclock schedule for the motorized window treatments 104 on the respective facade 164. The timeclock schedule is enabled again when the respective glare button 812 is subsequently actuated or when the timeclock configuration procedure 400 is next executed.

[0071] The shade override wallstation 134' also comprises a raise override button 818 and lower override button 820, which allow for manual adjustment of the positions of the motorized window treatments for which the timeclock schedules have been disabled. When the raise override button 818 is actuated, the lighting hub 140 raises by a predetermined amount the positions of the motorized roller shades 104 for which the timeclock schedules have been disabled. When the lower override button 820 is actuated, the lighting hub 140 lowers by the predetermined amount the positions of the motorized roller shades 104 for which the timeclock schedules have been disabled. For example, if one of the glare buttons 812 is actuated to fully close the motorized roller shades 104 on a specific faςade 164, the raise override button 818 may be actuated to slightly raise the motorized roller shades on the facade to allow some daylight to enter the space 160.

[0072] Fig. 14 is a simplified flowchart of a received command procedure 900 executed by the lighting hub 140 in response to receiving a digital message from the shade override wallstation 134' via the shade communication link 132 at step 910. The lighting hub 140 determines at step 912 whether the received message includes a cloudy button command, which is transmitted in response to an actuation of one of the cloudy buttons 810 and includes information regarding which of the four facades to which the actuated cloudy button is associated. If the received message includes a cloudy button command at step 912 and the timeclock schedule is enabled for the corresponding faςade at step 914, the lighting hub 140 controls all of the motorized roller shades 104 of the respective faςade to the fully-open positions P FO (or the visor positions PVI SOR ) at step 916. The lighting hub 140 then disables the timeclock schedule at step 918 and the received command procedure 900 exits. If the timeclock schedule is disabled for the corresponding faςade at step 914, the lighting hub 140 determines the event time tp RE v of the previous timeclock event at step 920 and adjusts the positions of the motorized roller shades 104 of the respective faςade to the controlled position at the previous event time at step 922. The lighting hub 140 then enables the timeclock schedule once again at step 924 and the received command procedure 900 exits.

[0073] If the received message does not include a cloudy button command at step 912, the lighting hub 104 determines at step 926 if the received message includes a glare button command, which is transmitted in response to an actuation of one of the glare buttons 812 and includes information regarding which of the four facades to which the actuated glare button is associated. If the received message includes a glare button command at step 926 and the timeclock schedule is enabled for the corresponding faςade at step 928, the lighting hub 140 controls all of the motorized roller shades 104 of the respective facade to the fully-closed positions P FC at step 930. The lighting hub 140 then disables the timeclock schedule at step 932 and the received command procedure 900 exits. If the timeclock schedule is disabled for the corresponding facade at step 928, the lighting hub 140 determines the event time tp RE v of the previous timeclock event at step 934 and adjusts the positions of the motorized roller shades 104 of the respective facade to the controlled position PcNTL(tpREv) at the previous event time at step 936. The lighting hub 140 then enables the timeclock schedule once again at step 938 and the received command procedure 900 exits.

[0074] If the received message does not include a glare button command at step 926, but includes a raise override button command (from an actuation of the raise override button 818) at step 940, the lighting hub raises the positions of the motorized roller shades 104 on the facades 164 having disabled timeclock schedules by the predetermined amount at step 942, and the received command procedure 900 exits. If the received message includes a lower override button command (from the lower override button 820) at step 944, the lighting hub 140 lowers the positions of the motorized roller shades 104 on the facades 164 having disabled timeclock schedules by the predetermined amount at step 946, before the received command procedure 900 exits.

[0075] Alternatively, the lighting hubs 140 could receive shade override digital messages from sources other than the shade override wallstation 134'. For example, the GUI software of the PC 150 could provide a virtual shade override wallstation having buttons that may be selected by a user. The PC 150 could transmit a digital message to the lighting hubs 140 for overriding the execution of the timeclock schedules in response to the actuations of one of the buttons of the virtual shade override wallstation of the GUI software. In addition, the lighting hubs 140 could receive digital messages for overriding the execution of the timeclock schedules from other control systems, such as a building management system (BMS) coupled to the PC 150. Further, the lighting hubs 140 could override the execution of the timeclock schedules in response to digital messages received from other control devices of the load control system 100, for example, from a daylight sensor detecting a cloudy condition or a glare condition.

[0076] Therefore, the lighting hub 140 controls the motorized roller shades 104 according to the second embodiment of the present invention to limit the sunlight penetration distance d PE N, while minimizing occupant distractions, by adjusting the motorized roller shades 104 at times that are spaced apart by multiples of the user-specified minimum time period T MIN between shade movements. Since the positions of all of the motorized roller shades 104 is the building 162 may only be adjusted at these specific times (i.e., at the multiples of the user-specified minimum time period T MIN ), the motorized roller shades 104 will all move at the same times during the timeclock schedule, thus minimizing occupant distractions. Even adjustments of adjacent motorized roller shades 104 located on different facades 164 (for example, in a corner office) will move at the same times (i.e., at the multiples of the user-specified minimum time period T MIN )- If the minimum time period T MIN between shade movements is chosen to be a logical time period (e.g., one hour), the users of the building will know when to expect movements of the motorized roller shades 104, and thus will not be as distracted by the shade movements as compared to shade movements occurring at random times. Alternatively, the GUI software of the PC 150 could allow the user to select the specific event times of the timeclock events (while ensuring that the minimum time period T MIN exists between consecutive timeclock events) in order to conform the timeclock schedule to a predetermined time schedule. For example, the event times of the timeclock schedule could be chosen according to a class schedule at a school building, such that the motorized roller shades 104 only move between the periods of the class schedule.

[0077] Since the timeclock configuration procedure 400 of the second embodiment of the present invention only requires a small number of inputs in order to automatically generate a timeclock schedule, the operation of the motorized roller shades 104 may be easily and quickly reconfigured using the GUI software of the PC 150. While the local longitude λ and latitude Φ of the building 162, the facade angle D F for a specific facade 164 of the building, the height hwiN of the window 166 in a specific space 160, and the height hwo RK of the table 168 in the specific space of the building will not typically change after installation and configuration of the load control system 100, the user only needs to adjust the desired maximum sunlight penetration distance dM AX and the minimum time period T MIN between shade movements to adjust the operation of the motorized window shades 104 in the space occupied by the user. The GUI software of the PC 150 provides simple screens to allow for adjustment of the desired maximum sunlight penetration distance CI MAX and the minimum time period T MIN between shade movements. After an adjustment of the desired maximum sunlight penetration distance diuAX and the minimum time period T MIN between shade movements, the PC 150 will transmit the new operational characteristics to the lighting hubs 140, and the lighting hubs will each generate a new timeclock schedule using the timeclock configuration procedure 400 and immediately begin operating based on the new timeclock schedule. The user can repetitively adjust the desired maximum sunlight penetration distance d MA χ and the minimum time period T MIN between shade movements (i.e., use an iterative process) over the course of a few days in order to achieve the desired operation of the motorized roller shades 104 in the space.

[0078] According to the second embodiment of the present invention, the motorized roller shades 104 are controlled such that the hembars 174 (Fig. 2) of all of the motorized roller shades on one of the facades 164 of the building 162 are aligned (i.e., positioned at approximately the same vertical position) at all times during the timeclock schedule. Since all of the motorized roller shades 104 on a facade 164 are adjusted at the same time, the lighting hub 140 will calculate the same controlled position P CNTL O) for all of the motorized roller shades on the facade at a specific event time (assuming that all of the motorized roller shades are controlled to limit the sunlight penetration distance dp EN to the same desired maximum sunlight penetration distance d M Ax)- Therefore, the hembars 174 of the motorized roller shades 104 on a faςade 164 will be aligned independent of differences in the size, shape, or height of the windows 166 of the faςade 164.

[0079] According to a third embodiment of the present invention, the lighting hub 140 generates a timeclock schedule in response to a maximum number N MAX of movements of the motorized roller shades 104 that may occur during the present day, as well as in response to the minimum time period T MIN that may exist between any two consecutive movements of the motorized roller shades. As in the first two embodiments of the present invention, the timeclock schedule provides for control of the motorized roller shades 104 to limit the sunlight penetration distance dp EN to be less than the desired maximum sunlight penetration distance d^i AX - The desired maximum sunlight penetration distance dMAx > the maximum number N MAX of roller shade movements, and the minimum time period TMIN between shade movements may be stored in the memory in the lighting hub 140 and may be entered by a user using the GUI software of the PC. For example, the maximum number N MAX of roller shade movements may have a minimum value of approximately three. Accordingly, the user is able to control the maximum number N MAX of roller shade movements and the minimum time period T MIN between shade movements in order to minimize distractions of an occupant in the space 160 due to roller shade movements. The user may select different values for the desired maximum sunlight penetration distance d M AX, the maximum number N MAX of roller shade movements, and the minimum time period T MIN between shade movements for different areas and different groups of motorized roller shades 104 in the building 162.

[0080] Fig. 15 is a simplified flowchart of a timeclock configuration procedure 1000 executed periodically by the lighting hub 140 of the load control system 100 (e.g., once each day at midnight) according to the third embodiment of the present invention. The timclock configuration procedure 1000 is executed to generate a timeclock schedule defining the desired operation of the motorized roller shades 104 of each of the facades 164 of the building 162. During the timeclock configuration procedure 1000, the lighting hub 140 first performs the optimal shade position procedure 500 for determining the optimal shade positions Popτ(t) of the motorized roller shades 104 in response to the desired maximum sunlight penetration distance d MAX for each minute between the start time tsTART and the end time t EN D of the present day (as described above with reference to Fig. 8).

[0081] The lighting hub 140 then executes a timeclock event creation procedure 1100 to generate the events of the timeclock schedule in response to the optimal shade positions Popτ(t), the maximum number N MAX of roller shade movements, and the minimum time period T M IN between shade movements according to the third embodiment of the present invention. Referring to Figs. 9A-9C, the plots of the optimal shade positions Popτi(t), Popτ2(t), Popτ3(t) each include a different number of "flat regions" 550 and "movement regions" 555. A flat region is defined as a portion of a plot of the optimal shade positions P OPT (0 that does not change in position for at least the minimum time period T MIN - A movement region is defined as a portion of a plot of the optimal shade positions P OPT O) during which the position changes (e.g., between two flat regions 550). The lighting hub 140 analyzes the flat regions and the movement regions of the plots of the optimal shade positions Popτi(t), POPT 2 (0, POPTCW in order to determine the event times of the timeclock schedule according to the third embodiment of the present invention. During the timeclock event creation procedure 1100, the lighting hub 140 generates controlled shade positions Pc NTL (t), which comprise a number of discrete changes in the position of the motorized roller shades at the specific event times as in the second embodiment of the present invention.

[0082] Referring back to Fig. 15, the lighting hub 140 concludes by executing a timeclock event optimization procedure 1200 to optimize the operation of the timeclock schedule by eliminating unnecessary timeclock events. The events of the resulting timeclock schedule may occur at any time between the start time tsTART and the end time tEND as long as two consecutive events do not occur within the minimum time period T MIN and the number of timeclock events does not exceed the maximum number N MAX of roller shade movements. The controlled shade positions P CNTL CO of the resulting timeclock schedule are used by the lighting hub 140 to adjust the position of the motorized roller shades during the timeclock schedule execution procedure 700 (as shown in Fig. 12).

[0083] Fig. 18A shows an example plot of controlled shade positions P CNTM O of the motorized roller shades 104 on the west facade of the building 162 on January 1 according to the third embodiment of the present invention. Fig. 18B shows an example plot of controlled shade positions P CNTLS OO of the motorized roller shades 104 on the north facade of the building 162 on June 1 according to the third embodiment of the present invention. Fig. 18C shows an example plot of controlled shade positions P CNTLO O) of the motorized roller shades 104 on the south facade of the building 162 on April 1 according to the third embodiment of the present invention.

[0084] Figs. 16A-16C are simplified flowcharts of the timeclock event creation procedure 1100, which is executed by the lighting hub 140 in order to generate the events of the timeclock schedule according to the third embodiment of the present invention. The lighting hub 140 first sets a variable N equal to the maximum number N MAX of roller shade movements at step 1110. The lighting hub 140 uses the variable N to keep track of how many more timeclock events may be generated without exceeding the maximum number N MAX - The lighting hub 140 determines the number N FR of flat regions of the optimal shade positions P O PT(0 between the start time tsTAR T and the end time tE ND at step 1112, and then generates timeclock events at the beginning of each of the flat regions. The lighting hub 140 begins by considering the first flat region at step 1114, before determining the beginning time t FR i and the end time t FR2 of the first flat region at step 1116 and determining the constant shade position P FR associated with the first flat region at step 1118. If the first flat region does not begin less than the minimum time period T M IN after the start time t S χARτ (i.e., if tFRi - ts TART ≥ T MI N) at step 1120, the lighting hub 140 generates an event at the beginning of the flat region at step 1 122. Specifically, the lighting hub 140 sets the controlled shade position PCNTLOFRI) at the beginning time t FR i of the first flat region to be equal to the optimal shade position Popτ(t FR i) at the beginning time tp R i at step 1122 and decrements the variable N by one at step 1124 (e.g., as shown at time tei in Fig. 18C).

[0085] If the first flat region begins less than the minimum time period TMI N after the start time tsTART (i.e., if tFRi - tsTAR T < T MI N) at step 1120, the lighting hub 140 determines the lowest shade position PLOW of the optimal shade position Popτ(tsτARτ) between the start time tsTART of the timeclock schedule and the beginning time tp R i of the flat region at step 1126. If the lowest shade position P LOW is equal to the constant shade position P F R of the flat region at step 1128 (i.e., if the plot of the optimal shade positions P OP TO) is moving downward at the start time I START ), the lighting hub 140 sets the controlled shade position PcN TL (tsτ AR τ) at the start time ts TA RT of the timeclock schedule to be equal to the constant shade position P FR of the flat region at step 1130 and decrements the variable N by one at step 1132. If the lowest shade position PLOW is not equal to the constant shade position Pp R of the flat region at step 1128 (i.e., if the plot of the optimal shade positions Popτ(t) is moving upward at the start time tsτ AR τ) > the lighting hub 140 sets the controlled shade position P CNTL ^ START ) at the start time tsTART of the timeclock schedule to be equal to the lowest shade position P LOW at step 1 134. If the present flat region is too small to create another timeclock event before the end time tpR2 of the flat region (i.e., if tFR 2 < tsTART + 2-T MI N) at step 1135, the lighting hub 140 simply decrements the variable N by one at step 1124.

[0086] However, if the present flat region is long enough to create another timeclock event before the end time tp R 2 of the flat region (i.e., if tFR2 < tsTART + 2-TM I N) at step 1135, the lighting hub 140 sets the controlled shade position PCNTLOS T A R T + TMΓN) to be equal to the constant shade position PF R of the flat region at a time that is the minimum time period TMIN after the start time ts TA RT (i.e., tsT A RT + TMIN) at step 1 136, and decrements the variable N by two at step 1138. After generating timeclock events at steps 1 122, 1130, 1134, 1136, the lighting hub 140 determines if there are more flat regions to consider at step 1140. If so, the lighting hub 140 considers the next flat region at step 1142, before determining the beginning time t FR i of the next flat region at step 1116, determining the constant shade position P FR associated with the next flat region at step 1118, and generating appropriate timeclock events at steps 1122, 1130, 1134, 1136.

[0087] Referring to Fig. 16B, if there are not more flat regions to consider at step 1140, and the variable N is equal to zero at step 1144 (i.e., the number of events generated so far is equal to the maximum number N MAX of roller shade movements), the lighting hub 140 determines if there should be one or more timeclock events during the movement regions (rather than those timeclock events created for the flat regions at steps 1122, 1130, 1134, 1136). Specifically, the lighting hub 140 considers the first lowering movement regions (i.e., a movement region during which the position of the motorized roller shade 104 is moving towards 0%) at step 1146, and determines the start time t MR i and the end time t MR2 of the first lowering movement region at step 1148. Next, the lighting hub 140 determines the lowest shade position P LOW of the optimal shade positions Popτ(t) during the present lowering movement region (i.e., between the time tMRi and the time tMR.) at step 1150. At step 1152, the lighting hub 140 then sets the controlled shade position P C NTLOMRI) at the beginning time t MR i of the present movement region to be equal to the lowest shade position P LOW of the optimal shade positions Popτ(t) during the present lowering movement region as determined in step 1150 (e.g., as shown at time tβ 6 in Fig. 18A). If there are more lowering movement regions to consider at step 1154, the lighting hub 140 considers the next lowering movement region at step 1156, and the timeclock event creation procedure 1100 loops around, to create a timeclock event for the next lowering movement region. If there are not more lowering movement regions to consider at step 1154, the timeclock event creation procedure 1100 exits.

[0088] Referring to Fig. 16C, if the variable N is not equal to zero at step 1144 (i.e., the number of events generated so far is greater than the maximum number N MAX of roller shade movements), the lighting hub 140 generates timeclock events during the movement regions of the optimal shade positions P OPT (0. At step 1160, the lighting hub 140 calculates the total combined length T TOTAL of the movement regions. Next, the lighting hub 140 determines if the user-selected maximum number N MAX of roller shade movements or the user-selected minimum time period T MIN between shade movements is the limiting factor for determining a movement time T MOVE , which will exist between the timeclock schedule events during the movement regions (e.g., as shown in Fig. 18B). Specifically, if the total combined length TJO T A L of the movement regions divided by the variable N (i.e., the number of remaining possible shade movements) is less than the minimum time period TMIN at step 1162, the minimum time period T MIN is the limiting factor and thus the lighting hub 140 sets the movement time T MOVE equal to the minimum time period T MIN at step 1164. If the total combined length T TOTAL of the movement regions divided by the variable N is not less than the minimum time period T MIN at step 1162, the number of remaining possible shade movements (i.e., the variable N) is the limiting factor and thus the lighting hub 140 sets the movement time T MO VE equal to the total combined length T TOTAL of the movement regions divided by the variable N at step 1166.

[0089] Next, the lighting hub 140 now generates timeclock events during the movement regions of the optimal shade positions P OPT (0- The lighting hub 140 considers the first movement region at step 1168, determines the start time tMRi and the end time Ϊ M R2 of the first movement region at step 1170, and sets a variable m to zero at step 1172. At step 1174, the lighting hub 140 considers a time segment that begins at a time tsi and ends at a time ts 2 as defined by: tsi = tMRi + m TMOVE; and (Equation 13) ts2 = t M Ri + (m + 1) TM O VE- (Equation 14)

If the time ts 2 of the present time segment is within the minimum time period T MIN of the end time tMRi of the present movement region at step 1176 (i.e., t M R2 - ts2 < T 0, a timeclock event will not be generated between the time t§ 2 of the present time segment and the end time I MR2 of the present movement region. Therefore, the lighting hub 140 sets the time ts 2 of the present time segment equal to the end time tMR2 of the present movement region at step 1178.

[0090] Next, the lighting hub 140 determines the lowest shade position P LOW of the optimal shade positions Popτ(t) during the present time segment (i.e., between the time tsi and the time ts 2 ) at step 1180. At step 1182, the lighting hub 140 then sets the controlled shade position P CNTL O S O at the time tsi to be equal to the lowest shade position PL O W of the optimal shade positions Popτ(t) during the present time segment as determined in step 1180 (e.g., as shown at time t E2 in Fig. 18B). If the time ts 2 of the present time segment is not equal to the end time t MR2 of the present movement region at step 1184, the lighting hub 140 increments the variable m at step 1186, considers the next time segment at step 1174, and generates a new timeclock event at step 1182. However, if the time ts 2 of the present time segment is equal to the end time tMR2 of the present movement region at step 1184 and there are more movement regions to consider at step 1188, the lighting hub 140 considers the next movement region at step 1190, and the timeclock event creation procedure 1100 loops around, such that the lighting hub 140 generates the timeclock events for the next movement region. If there are not more movement regions to consider at step 1188, the timeclock event creation procedure 1100 exits.

[0091] Fig. 17 is a simplified flowchart of the timeclock event optimization procedure 700, which is executed by the lighting hub 140 in order to optimize the operation of the timeclock schedule by eliminating unnecessary timeclock events. If there is more than one event in the timeclock schedule at step 1210, the lighting hub 140 first sets a previous position variable P PREV to be equal to the controlled shade position PciMT L (tsτ AR τ) at the start time ts TART at step 1212. The lighting hub 140 then determines a next event time t NE xτ of the timeclock schedule at step 1214, and sets a present position variable P PR E S equal to the controlled shade position PcNTL(tN E xτ) at the next event time tN E xr at step 1216. If the present position variable PP R ES is within a minimum shade position distance ΔP MI N (e.g., 5%) of the previous position variable P PREV at step 1218, the lighting hub 140 eliminates the present event at time tN EXT at step 1220. For example, the events at times t E2 and tε 6 of the controlled shade position P C NTLIO) in Fig. 18 A would be eliminated. If the present position variable P PRES is greater than the minimum shade position distance ΔPMIN away from the previous position variable PP R EV at step 1218, the lighting hub 140 keeps the present event at time t NEXT and sets the previous position variable P PRE V equal to the present position variable PPRE S at step 1222. If there are more events in the timeclock schedule at step 1224, the lighting hub 140 determines the next event time t NEXT of the timeclock schedule at step 1214, sets the present position variable PPRE S equal to the controlled shade position P C N T LO N EXT) at the next event time tN E XT at step 1216, before determining whether the present event should be eliminated at step 1218. If there are not more events in the timeclock schedule at step 1224, the lighting hub 140 enables the timeclock schedule at step 1226 and the timeclock event optimization procedure 1200 exits.

[0092] Alternatively, the lighting hub 140 may not generate a timeclock schedule prior to controlling the motorized roller shade 104 during normal operation in order to prevent the sunlight penetration distance dp E N from exceeding the desired maximum sunlight penetration distance d MAX while minimizing user distractions. According to a fourth embodiment of the present invention, the lighting hub 140 calculates the positions to which to control the motorized roller shades 104 "on-the-fly", i.e., immediately before adjusting the positions of the motorized roller shades 104. The lighting hub 140 adjusts the positions of the motorized roller shades 104 periodically, e.g., at times spaced apart by multiples of the minimum time period T MIN that may exist between any two consecutive movements of the motorized roller shades. Accordingly, the lighting hub 140 controls the positions of the motorized roller shades 104 to positions similar to the controlled shade positions PCNTLIO), P C NTL2(0, P C NTLJO) of the second embodiment of the present invention (as shown in Figs. 1 IA-11C).

[0093] Fig. 19 is a simplified flowchart of a shade control procedure 1300 executed by the lighting hub 140 according to the fourth embodiment of the present invention. The shade control procedure 1300 is executed periodically between a shade control start time ts TART and a shade control end time tEN D , such that movements of the motorized roller shades 104 are spaced apart by at least the user-specified minimum time period T MIN between shade movements. For example, if the shade control start time tsTART is 6 A.M., the shade control end time t END is 6 P.M., and the minimum time period T MIN between shade movements is one hour, the shade control procedure 1300 will be executed once every hour on the hour between 6 A.M. and 6 P.M.

[0094] Referring to Fig. 19, the lighting hub 140 sets an interval start time tiκπ equal to the present time t PRE s at step 1310. If there is presently not enough time for another move before the shade control end time tEND (i.e., if the interval start time tiNTi plus the minimum time period T MIN between shade movements is greater than the shade control end time t END ) at step 1312, the shade control procedure 1300 simply exits. Otherwise, the lighting hub 140 determines an interval end time tiNT2 that represents the end of the next time interval over which the lighting hub will calculate the position to which the motorized roller shades should be controlled. Specifically, if there is enough room for another movement of the motorized roller shades 104 after the present movement (i.e., if interval start time tiNTi plus two times the minimum time period T MIN between shade movements is not greater than the shade control end time tEND) at step 1314, the lighting hub 140 sets the interval end time tiNτ 2 equal to the interval start time t[ N τi plus the minimum time period TM IN between shade movements at step 1316. If there is not enough room for another movement of the motorized roller shades 104 after the present movement at step 1314, the lighting hub 140 sets the interval end time ti NT2 equal to the shade control end time t END at step 1318.

[0095] Next, the lighting hub 140 executes a position calculation procedure 1400 (which will be described in greater detail below with reference to Fig. 20) in order to determine a controlled position P CNTL for adjusting the positions of the motorized roller shades 104. If the controlled position P CNTL is greater than or equal to the visor position PV ISOR at step 1320, the lighting hub 140 sets the controlled position P CNTL equal to the visor position P VISOR at step 1322. If the controlled position is equal to the present position P PRES at step 1324, the shade control procedure 1300 exits without adjusting the position of the motorized roller shades 104. If the controlled position P CNTL is not equal to the present position P PRES at step 1324, the lighting hub 140 adjusts the positions of the motorized roller shades 104 to the controlled position P CNTL at step 1326 and sets the present position PP RES equal to the controlled position P CN T L at step 1328, before the shade control procedure 1300 exits.

[0096] Fig. 20 is a simplified flowchart of the position calculation procedure 1400, which is executed periodically by the lighting hub 140 whenever the shade control procedure 1300 is executed, i.e., immediately before the lighting hub adjusts the positions of the motorized roller shades 104. During the position calculation procedure 1400, the lighting hub 140 calculates an optimal shade position P OPT of the motorized roller shades 104 to limit the sunlight penetration distance dp E N to the desired maximum sunlight penetration distance diviAX at each minute during the present time interval (i.e., between the interval start time t]Nτi and the interval end time tiNT2 determined during the shade control procedure 1300). The lighting hub 140 sets the controlled position P CNTL equal to the lowest one of the calculated optimal shade positions P OPT - Referring to Fig. 20, the lighting hub 140 first sets a controlled position P CNTL to a default position, e.g., the fully-open position Ppo, at step 1410, and sets a variable time tv AR equal to the interval start time tiNTi at step 1412.

[0097] Next, the lighting hub 140 determines the worst-case faςade angle D F - WC to use to calculate an optimal position P OPT of the motorized roller shades 104 at the variable time W AR . The purpose of using the worst-case facade angle D F - WC is to account for human error that may occur when determining the facade angle D F of the faςade 164. Specifically, if the solar azimuth angle Ds is within a facade angle tolerance D TOL (e.g., approximately 3°) of the facade angle D F at step 1414 (i.e., if Dp - DTOL ≤ Os < DF + D TOL ), the lighting hub 140 sets the worst case facade angle π F- wc equal to the solar azimuth angle Ds of the facade 164 at step 1416. If the solar azimuth angle Ds is not within the facade angle tolerance D TOL of the facade angle D F at step 1414, the lighting hub 140 then determines if the facade angle Dp plus the facade angle tolerance D TOL is closer to the solar azimuth angle Ds than the facade angle D F minus the facade angle tolerance DT OL at step 1418. If so, the lighting hub 140 sets the worst case facade angle Dp-wc equal to the facade angle D F plus the facade angle tolerance D TOL at step 1420. If the facade angle Dp plus the facade angle tolerance D TOL is not closer to the solar azimuth angle Ds than the facade angle D F minus the facade angle tolerance D TOL at step 1418, the lighting hub 140 sets the worst case facade angle D F -wc equal to the facade angle Dp minus the facade angle tolerance D TOL at step 1422.

[0098] At step 1424, the lighting hub 140 uses Equations 1-12 shown above and the worst case facade angle DF-WC to calculate the optimal shade position P OPT that is required in order to limit the sunlight penetration distance dp EN to the desired maximum sunlight penetration distance dMAX at the variable time W AR - If the calculated optimal shade position P OPT is less than the present value of the controlled position P CN T L at step 1426, the lighting hub 140 sets the controlled position P C NT L equal to the calculated optimal shade position P OPT at step 1428. Otherwise, the lighting hub 140 does not adjust the present value of the controlled position P CNTL - If the variable time W A R is not equal to the interval end time tiκτ 2 at step 1430, the lighting hub 140 increments the variable time W AR by one minute at step 1432 and the position calculation procedure 1400 to determine the worst case facade angle D F- we and to calculate the optimal shade position P O pτ at the new variable time tv A R- If the variable time W AR is equal to the interval end time t!NT2 at step 1430, position calculation procedure 1400 exits.

[0099] While the present invention has been described with reference to the motorized window treatments 104, the concepts of the present invention could be applied to other types of motorized window treatments, such as motorized draperies, roman shades, Venetian blinds, tensioned roller shade systems, and roller shade systems having pleated shade fabrics. An example of a motorized drapery system is described in greater detail in commonly-assigned U.S. Patent No. 6,994,145, issued February 7, 2006, entitled MOTORIZED DRAPERY PULL SYSTEM, the entire disclosure of which is hereby incorporated by reference. An example of a tensioned roller shade system is described in greater detail in commonly-assigned U.S. Patent Application No. 12/061,802, filed April 3, 2008, entitled SELF-CONTAINED TENSIONED ROLLER SHADE SYSTEM, the entire disclosure of which is hereby incorporated by reference. An example of a roller shade system having a pleated shade fabric is described in greater detail in commonly-assigned U.S. Patent Application No. 12/430,458, filed April 27, 2009, entitled ROLLER SHADE SYSTEM HAVING A HEMBAR FOR PLEATING A SHADE FABRIC, the entire disclosure of which is hereby incorporated by reference.

[0100] Although the present invention has been described in relation to particular embodiments thereof, many other variations and modifications and other uses will become apparent to those skilled in the art. It is preferred, therefore, that the present invention be limited not by the specific disclosure herein, but only by the appended claims.