APPLICATIONS FOR CONTROLLING OPTICALLY SWITCHABLE DEVICES
Software applications are used for controlling the optical state of one or more optically switchable windows or other optical products installed in a structure such as building. The applications permit users to send and/or receive data and/or commands for controlling the switchable optical products. In some embodiments, the applications provide an interface with a window network controller, which directly or indirectly controls windows in a structure. Relevant processing involving the application may include user authentication, commissioning, adaptive control, and decisions on whether to permit an action or change requested by a user. In some embodiments, the application allows users to directly control the tint state of one or more tintable windows. In some embodiments, the application allows users to change a rule or property associated with controlling a switchable optical product.
An Application Data Sheet is filed concurrently with this specification as part of the present application. Each application that the present application claims benefit of or priority to as identified in the concurrently filed Application Data Sheet is incorporated by reference herein in its entirety and for all purposes.
COPYRIGHT NOTICEA portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
FIELDThis application relates to software applications for controlling optically switchable devices, particularly optically switchable windows.
BACKGROUNDA switchable optical device such as an electrochromic device reversibly cycles between two or more optical states such as a clear state and a colored state. Switching between these states is controlled by applying predefined current and/or voltage to the device. The device controller typically includes a low voltage electrical source and may be configured to operate in conjunction with radiant and other environmental sensors, although these are not required. The controller may also be configured to interface with an energy management system, such as a computer system that controls the switchable optical device according to factors such as the time of year, time of day, security conditions, and measured environmental conditions. Such an energy management system can dramatically lower the energy consumption of a building, reduce glare, and maximize day lighting.
While electrochromic devices and related optically switchable devices were invented decades ago, they have not begun to realize their full commercial potential. Part of the difficulty is a lack of versatility in the operating modes of electrochromic devices. Additionally, known control systems for electrochromic devices have limited functionality and fail to account for some of the unique features of electrochromic devices, as well as user preferences.
SUMMARYDisclosed herein are software applications for controlling the optical state of one or more optically switchable windows or other optical products installed in a structure such as building. The applications are designed to permit users to send and/or receive data and/or commands for controlling the switchable optical products. In some embodiments, the applications provide an interface with a window network controller, which directly or indirectly controls windows in a structure. In such embodiments, the network controller serves as a receiver and a transmitter of data and commands for controlling the switchable optical products. The network controller may process certain data and commands used by the application. The processing may involve user authentication, commissioning, adaptive control, and decisions on whether to permit an action or change requested by a user. In some embodiments, the application allows users to directly control the optical state of one or more optically switchable windows. In some embodiments, the application allows users to change a rule or property associated with controlling a switchable optical product.
One aspect of the invention relates to a network controller for optically switchable devices. In some embodiments, the network optical device controller comprises: (a) a network interface for communicating with a network comprising a plurality of optically switchable devices and a plurality of monitors in one or more structures; (b) a remote device interface configured to receive communications from a remote wireless device, which communications contain user instructions for changing the optical state of at least one of the plurality of optically switchable devices; and (c) logic for providing instructions for controlling optical states of the plurality of optically switchable devices in the one or more structures. In some embodiments, the remote device interface in (b) is a wireless interface. In some embodiments, the optically switchable devices include one or more optically switchable windows. In some embodiments, the optically switchable windows include at least one electrochromic window.
In some embodiments, the logic described herein is implemented using one or more programmable logic devices, software routines and/or digital electronic devices. In some embodiments, the network optical device controller also includes logic for determining whether to implement the user instructions. In some embodiments, the network optical device controller further includes logic for receiving signals from the plurality of monitors within the one or more structures, and using the signals from the one or more monitors to determine whether to change the state of at least one of the plurality of optically switchable devices in the one or more structures. In some embodiments, the controller further includes logic for communicating with a building management system on the network. In some embodiments, the controller also includes logic for communicating with a security system on the network.
In some embodiments, the network optical device controller also includes logic for receiving user instructions provided from the remote wireless device for commissioning the plurality of optically switchable devices, and executing network operations to commission the devices. In some embodiments, the controller also includes logic for receiving user instructions provided from the remote wireless device for grouping the plurality of optically switchable devices, and organizing said devices into groups. All devices in a group have a common group attribute allowing common treatment and/or monitoring of the devices in the group. In some embodiments, the controller also includes logic for defining one or more roles for a user of said remote wireless device, wherein the roles specify permissible actions for the user. In some embodiments, the controller further includes logic for defining one or more devices that the user can control.
In some embodiments, the monitors in one or more structures include sensors. In some embodiments, the sensors include a power consumption monitor for at least a portion of the structure.
A second aspect of the invention relates to a computer program product comprising a computer readable medium storing non-transitory instructions for interfacing with a user and with a network. The network includes a plurality of optically switchable devices and a plurality of monitors. The instructions include: (a) presenting a user interface on a wireless device remote from the network, wherein the user interface presents features for receiving user input concerning monitoring and/or controlling at least some of the plurality of optically switchable devices; (b) receiving user instructions for changing the optical state of at least one of the plurality of optically switchable devices; and (c) transmitting the user instructions to the network.
In some embodiments, the computer program product further includes instructions for presenting rule-type user interface features for allowing the user to create, modify, and/or delete rules for controlling optical state of one or more windows. In some embodiments, the rule-type user interface features allow the user to input schedule information to the rules for controlling optical state of one or more windows. In some embodiments, the rule-type user interface features allow the user to input sensor output information to the rules for controlling optical state of one or more windows.
In some embodiments, the computer program product further includes instructions for presenting commissioning user interface features, which allow the user to commission at least some of the plurality of optically switchable devices on the network. In some embodiments, the user can group, through the user interface, two or more of the plurality of optically switchable devices on the network.
In some embodiments, the computer program product further includes instructions for determining the role of a user attempting to control or monitor a device on the network, and preventing the user from controlling or monitoring the device because the user's role does not permit the attempted control or monitoring.
Another aspect of the invention relates to a computational method of determining whether to modify an algorithm for controlling an optically switchable device having two or more optical states operating under at least partial control of an application having a user interface. The method involves: (a) monitoring a user's control over the optically switchable device's optical states, wherein the user's control is implemented via the application presenting the user interface on a device remote from a network on which the optically switchable device is connected; (b) inferring a new rule based on a monitored history of the user control via the application; and (c) providing an alert through the application, which alert suggests via the user interface that the new rule be adopted. In some embodiments, the method further involves determining through the user interface that the user has accepted the proposed new rule and instructing the network to implement the new rule.
In some embodiments, the monitored history of user control comprises a monitored time in which the user controls optical states of the optically switchable device, and the new rule comprises a schedule based algorithm. In some embodiments, the monitored history of user control comprises a monitored sensor state in which the user controls optical states of the optically switchable device, and the new rule comprises a sensor feedback based algorithm.
Yet another aspect of the invention relates to a computational method of determining whether to modify an algorithm for controlling an optically switchable device having two or more optical states operating under at least partial control of an application having a user interface. The optically switchable device is disposed in a structure and connected to a network. The method involves: (a) monitoring the response of the structure to changes in the heat, cooling or lighting provided to the structure; (b) inferring a new rule based on a monitored history of the response of the structure; and (c) providing an alert through the application, which alert suggests via the user interface that the user adopt the new rule. In some embodiments, the method further involves determining through the user interface that the user has accepted the proposed new rule, and instructing the network to implement the new rule. In some embodiments, the response monitored in (a) is affected by the thermal mass of the building.
These and other features and advantages of the disclosed embodiments will be presented below in greater detail with reference to the associated drawings.
The following disclosure concerns the use of software applications to control and/or monitor one or more switchable optical products in a structure such as a building. While the disclosure emphasizes certain types of applications running on certain types of computing devices (e.g., wireless, handheld devices), it should be understood that other types of applications and computing devices may be employed. Similarly, while the disclosure emphasizes certain types of optically switchable devices in certain types of structures, the disclosure is not so limited.
In various embodiments discussed herein, a software application will be described as controlling one or more devices such as optically switchable products, particularly optically switchable windows. However, the embodiments disclosed herein are not limited to switchable windows. Examples of other types of optically switchable products include mirrors, displays, and the like. In the context of this disclosure, these products are typically provided in a non-pixelated format.
An optically switchable product includes a switchable optical device such as an electrochromic device disposed on a surface, within a substrate or between substrates. The substrate permits the optical device to provide an observable optical response. In certain embodiments, the substrate is solid and transparent, such as a transparent glass or plastic sheet. A glass substrate may be processed in a way that makes it suitable for a particular end use. For example, glass substrates may be strengthened or unstrengthened. Examples of strengthened glass substrates are those that are tempered or laminated. Examples of types of suitable substrates and methods of producing optical devices utilizing such substrates are described in U.S. patent application Ser. No. 12/941,882, filed Nov. 8, 2010, and titled “ELECTROCHROMIC WINDOW FABRICATION METHODS,” which is incorporated herein by reference in its entirety.
It should be understood that while the disclosed embodiments focus on apparatus and methods for controlling electrochromic (EC) windows, the concepts disclosed herein may apply to other types of optically switchable devices. Examples of other optically switches devices include liquid crystal devices and suspended particle devices. The optically switchable devices may absorb, reflect, and/or scatter light. Such devices have controllable optical absorbance, color, reflectivity, and/or scattering characteristics. These characteristics may vary with spectral location; i.e., they may vary with the wavelength of impinging radiation.
In various embodiments, an optically switchable device is a thin device that changes optical state in response to electrical input. The device may reversibly cycle between two or more optical states. Switching between these states is controlled by applying predefined current and/or voltage to the device. The device typically includes two thin conductive sheets that straddle at least one optically active layer. The electrical input driving the change in optical state is applied to the thin conductive sheets. In certain implementations, the input is provided by bus bars in electrical communication with the conductive sheets.
Electrochromic devices are described in various references including U.S. patent application Ser. No. 12/645,111, filed Dec. 22, 2009, U.S. patent application Ser. No. 12/645,159, filed Dec. 22, 2009, U.S. patent application Ser. No. 12/772,055, filed Apr. 30, 2010, U.S. patent application Ser. No. 12/772,075, filed Apr. 30, 2010, U.S. patent application Ser. No. 12/814,277, filed Jun. 11, 2010, and U.S. patent application Ser. No. 12/814,279, filed Jun. 11, 2010, each incorporated herein by reference in its entirety.
Structures which may house optically switchable products controlled by applications disclosed herein include rooms, buildings (including multi-room buildings), vehicles, large displays, including collections of displays, and the like. Whenever reference is made to a building, structure, or the like, it is intended that the reference includes residential buildings, commercial buildings, greenhouses, etc., and extends to vehicles, displays, and the like. In various embodiments, the structure includes one or more controllers for controlling the switching of the optically switchable products contained therein.
Application software, sometime simply referred to as an “application” or an “app”, is computer software designed to help the user to perform specific tasks such as controlling the tint state in a switchable window. Many applications provide an interface for remotely controlling one or more devices such as optically switchable products. Applications may be bundled with the computer and its system software, or may be published separately. Application software is contrasted with system software and middleware, which manage and integrate a computer's capabilities, but typically do not directly apply them in the performance of tasks that benefit the user. The system software serves the application, which in turn serves the user. Application software applies the power of a particular computing platform or system software (e.g., a network server such as a window controller) to a particular purpose. Some applications are available in versions for several different platforms such as Apple iOS, MacOS, Android, Linux, etc. In various embodiments, an application is made available to a user through a graphical user interface presented on a device that is removed from one or more switchable optical products that are directly or indirectly controlled from the application.
The applications described herein monitor and/or control one or more “devices.” Optically switchable products are one class of device. Examples of other classes of device include controllers for controlling the optically switchable products, sensors for supporting control decisions for the switchable products, lighting controllers, etc.
In certain embodiments, the application is presented to a user on a “remote device” that can communicate with a controller for a switchable optical product. The remote devices may communicate with the controller via a wireless or wired connection. Many of the examples presented herein depict the remote device using wireless communication. In all cases, a wired link can be substituted.
The remote device can be, for example, a portable device or a non-portable device such as a desktop computer or terminal. In some implementations, the remote device is a smart phone, tablet computer, personal digital assistant (PDA), or any other wireless device. The remote device may communicate directly with the controller or, as described below, indirectly via a network controller.
The remote device provides an interactive user interface for allowing a user to control or monitor one or switchable optical products. In certain embodiments, the remote device displays a graphical representation, as part of a graphical user interface or “GUI,” of the switchable optical product(s) that are monitored or controlled.
In certain embodiments, a remote device includes a CPU with a cache. The device also includes a communications interface such a wireless interface allowing the CPU to communicate with a network and/or controller in a structure containing one or switchable optical products. In some implementations, an application is implemented in software that runs on the CPU. The code for the application may be resident on the remote device or stored elsewhere. A user interface and associated application are displayed on a display of the remote device. The remote device may also include other features such as a large memory, a location indicator (e.g., a GPS device), and/or a digital camera. As indicated, the wireless device may in various examples be a cell phone, a tablet computer, a PDA, or a personal computer.
The network 101 may be implemented in a building, a collection of buildings, a vehicle, or other structure having one or a plurality of optically switchable windows. For convenience, it will be assumed that network 101 is implemented in a building. However, as explained above, it should be understood that the network may be implemented on other types of structures. In the depicted embodiment, the network has a hierarchy of window controllers, implying that the building has many different windows, which may experience various environmental conditions and provide solar radiation to many different types of rooms or regions.
At the highest level in the depicted hierarchy, a network controller 103 provides network-wide control and instructions for intermediate level window controllers 113a, 113b, and 113c. Of course, depending upon the size and complexity of the building, additional window controllers in parallel with 113a through 113c may be provided. In some embodiments, the network controller implements algorithms for controlling one or more optically switchable devices or other devices. Examples of such algorithms are presented in U.S. patent application Ser. No. 13/772,969, filed Feb. 21, 2013 [VIEWP049], which is incorporated herein by reference in its entirety.
In the depicted embodiment, the window controller 113a in turn controls three low level window controllers 115a, 115b, and 115c. While not shown in
The network-level window controller 103 may interact with other control systems installed in the building. Examples of such other control systems include security systems, building management systems, and the like. A building management system, which is shown by example as building management system (BMS) 105 in the network 101, conventionally controls a wide number of the functions in a large commercial or residential building or building complex. Typically, building management systems control heating, ventilation, multi-media, and air-conditioning in these buildings. In some cases, the building management system will include the functionality of other systems such as security systems and window control systems. In the depicted embodiment, the network window controller 103 is a separate entity that interfaces with building management system 105. This interface gives network window controller 103 access to many types of information that might normally be collected or determined for the building management system. Examples of such information include building sensor information (e.g., the current temperature in one or more rooms), the current energy consumption of one or more environmental devices acting under the control of the BMS, etc. The interaction between network window controller 103 and building management system 105 also permits the building management system to direct the network window controller to take certain actions as may be appropriate. In certain embodiments, the network window controller functionality is integrated in a BMS or other building control system. Examples of a master network controller and a building network including a BMS and a hierarchical arrangement of window controllers is presented in U.S. patent application Ser. No. 13/049,756, filed Mar. 16, 2011, which is incorporated herein by reference in its entirety. For a description of certain aspects of suitable master window controllers, see U.S. patent application Ser. No. 13/772,969, filed Feb. 21, 2013 [VIEWP049], previously incorporated herein by reference. In one example, the window controller 103 is an appropriately programmed controller such as a controller from CAN2GO (now owned by Schneider Electric of Rueil-Malmaison, France).
The individual controllers used in a network of controllers and switchable devices can have many different logical or structural arrangements. Typically, a controller for a switchable optical device is designed or configured (e.g., programmed) to implement a control algorithm of the types described above. In various embodiments, the controller determines an appropriate level of current or voltage to apply and goes about applying such voltage or current to the switchable device. The controller may also detect current or voltage levels to ensure that the optical device operates correctly. Further, the controller may have various additional features such as timers, charge detectors (e.g., coulomb counters), oscillators, and the like. Various designs and components of controllers are presented in U.S. patent application Ser. No. 13/049,756, filed Mar. 16, 2011 [Attorney Docket No. SLDMP007], U.S. patent application Ser. No. 13/049,750, filed Mar. 16, 2011 [Attorney Docket No. SLDMP008], U.S. patent application Ser. No. 13/449,248, filed Apr. 17, 2012 [SLDMP041], and in U.S. patent application Ser. No. 13/449,251, filed Apr. 17, 2012 [SLDMP042], each of which is incorporated herein by reference in its entirety.
In some embodiment the controller (e.g., controller 115a) is integrated with the optical device or housing. In a specific embodiment, the controller is integrated in the housing or a seal of an insulated glass unit (IGU) containing a switchable optical device. Various arrangements of integrated controllers are presented in U.S. patent application Ser. No. 13/049,750, [Attorney Docket No. SLDMP008] and U.S. patent application Ser. No. 13/326,168, naming Brown as inventor, titled “CONNECTORS FOR SMART WINDOWS” and filed Dec. 14, 2011 [Attorney Docket No. SLDMP034], which is incorporated herein by reference in its entirety.
The controller typically includes a microprocessor for making switching decisions based on available input, sending commands, and receiving commands. In some embodiments, a controller includes a power converter configured to convert a low voltage to the power requirements of an optically switchable device. This power may be fed to the switchable device via a driver circuit (power driver). In one embodiment, a controller has a redundant power driver so that in the event one fails, there is a back-up and the controller need not be replaced or repaired.
A controller may also include one more communication ports and associated communication circuits for receiving and sending commands and/or data to other network entities such as a master controller. In one embodiment, power lines are also used to send and receive communications, for example, via protocols such as Ethernet.
In one embodiment, the power and communication functionality of an optical device controller may be combined in a single chip, for example, a programmable logic device (PLD) chip, field programmable gate array (FPGA) and the like. Such integrated circuits can combine logic, control and power functions in a single programmable chip. In one embodiment, the logic is configured to independently control each of the two or more switchable optical devices.
A controller may have wireless capabilities for communication and/or powering functions. Wireless communication transmission frequencies such as RF and/or IR can be used. Wireless protocols such as Bluetooth, WiFi, Zigbee, EnOcean and the like may be used to send instructions to the microprocessor and for the microprocessor to send data out to, for example, other window controllers and/or a building management system.
In various embodiments, the remote device 111 communicates with the network window controller 103 through a wireless link. In other embodiments, the remote device communicates with controller 103 via a wired link. In either case, the remote device may communicate directly or indirectly with the window controller 103. In some embodiments, the remote device communicates directly or indirectly with the building management system 105, which in turn communicates with the network window controller 103 during operation of the window control application. In such embodiments, the building management system 105 may itself play a role in the application or in providing information needed by the application. In the depicted embodiment, the remote device 111 communicates with network-wide window controller 103 via a wireless link through the Internet (cloud 109) and a router 107, which is part of the hardware of network 101. Many other configurations for implementing the communication between the remote device 111 and the network window controller 103 are possible and will be apparent to those of skill in the art.
In certain embodiments, the window controller application acts on information collected by one or more sensors in the building. For example, the application may use a sensor output to make a decision on whether to tint a particular window. Additionally, information from the sensors may also be presented to user 119 through remote device 111. For example, the temperature, solar irradiation at a window, etc. may be displayed on device 111 via the application. In some embodiments, one or more sensors wirelessly communicate with a window controller or controllers.
In certain embodiments, the sensors are distributed throughout the building and are associated with various physical or structural features on the building. In alternate embodiments, only one or a few sensors are employed. See for example, certain embodiments disclosed in US Patent Application No. U.S. patent application Ser. No. 13/772,969, filed Feb. 21, 2013, [VIEWP049], previously incorporated herein by reference. In the depicted embodiment, sensors 121d and 121e are associated with windows 117a and 117d, respectively. In the depicted embodiment, a sensor 121c is provided with window controller 115a. Additionally, a sensor 121a is associated with network window controller 103 and a sensor 121b is associated with the building management system 105. Typically, though not necessarily, the sensors are affixed to or positioned in close proximity to the network entity with which they are associated. Examples of sensors that may be associated with a window controller include light sensors, temperature sensors, and occupancy sensors.
As examples, the sensors may be temperature sensors, photo sensors, occupancy sensors, etc. Solar or artificial light can be measured using various types of sensors, with one example being a photometric sensor such as a silicon photodiode. Another type of sensor is a pyranometer which measures solar irradiance across a larger spectrum of solar radiation. The temperature of a device or any location can be inferred algorithmically or measured directly using a sensor (e.g. a thermocouple, thermister, or RTD (resistive thermal device)).
The applications that facilitate user interaction with the network window controller provide various functions associated with controlling the optical properties of one or more windows controlled by the network window controller. Examples of these various activities are presented in
In certain embodiments, the available tint states that a user can select are limited to clear or tinted. In other words, there are only two options available to the user. At the opposite extreme, a window may have a continuously variable level of tinting available for control. Applications for controlling such windows may permit the user to select any desired tint level between the maximum and minimum tints available with the window. For this purpose, the application includes, for example, a user interface slider bar representing all available tint states. In between the extremes of a binary option for selecting tints and a continuously variable option for selecting tint, a window may provide one or more intermediate discrete tint states. In various embodiments, the total number of available tint states for manual control may be 3, 4, 5, 6, 7, 8, 9, 10, or more such discrete states. In a specific embodiment, the window contains two or more lites, as is the case with an insulated glass unit (IGU). Each lite may contain its own electrochromic device configured to provide the IGU with 4 or more discrete tint states. See U.S. patent application Ser. No. 12/851,514, filed Aug. 5, 2010, which is incorporated herein by reference in its entirety.
Another example of a type of user control that may be afforded by a window control application is the ability to define and/or modify rules or properties for automatically controlling window tinting. As explained more fully below, examples of rules include schedule-based rules and sensor-based rules. In certain embodiments, the application permits the user to define such rules through selection of various scheduling parameters, environmental parameters, etc. An example of a user interface suitable for adding or editing such rules is presented in
The “manual” functions afforded the user by the window control application sometimes override existing tinting rules or routines programmed or otherwise configured in the network window controller 103. In some embodiments, user manual overrides are permitted only for a limited period of time such as about 1-3 hours. Such hard limits on overrides can have the benefit of preventing an energy inefficient setting (or other potentially undesirable setting) from remaining in place long after the user responsible for the override leaves an impacted area. The limit on manual overrides can be programmed into the window control application and/or the network window controller for example.
Another feature afforded by some window control applications is the grouping of various devices under the control of a network controller into groups that are treated in accordance with certain rules or other logical constructs. As explained below, such grouping may be conducted during part of a commissioning process.
Among the devices that may typically be grouped for purposes of similar treatment are window controllers, sensors, windows, and optionally switches for controlling lights or windows. Any one, two, or three of these types of elements may be included in a single group. There are various reasons why one would wish to group such devices for similar treatment. Frequently a group of devices will be similarly treated because they are subject to similar environmental conditions such as exposure to the sun at certain times of day. Another reason to group devices is that the various devices are shared by a particular group of workers or residents who require similar environmental conditions. Still other reasons for grouping devices include ease of control with, e.g., a single button, and lower infrastructure costs through sharing sensors/switches across multiple controllers. The similar treatment applied to the devices in a user-defined group includes, for example, rules or properties for controlling windows, as well as the identity of particular users who are given control over these devices (typically through a window control application), and the roles of these individuals able to exert influence over the grouped devices.
At times, a user may attempt to exert control over network 101 through the use of the window control application and find that the network window controller does not permit the user to execute a request. There may be various policy reasons why a user's ability to group, program, and/or manually control elements of network 101 is limited. One example is that the user's proposed actions may be inconsistent with a policy to limit the amount of energy consumed during peak load periods to not more than some threshold level. Another example may be that the user's input is inconsistent with the programmed input from another user having higher authority over the device that is influenced by the user's request.
Another example of a type of interaction between a user and a network window controller is through a concept referred to herein as “adaptive control.” With adaptive control, the window control application (or another application acting in concert with the window control application) is sufficiently intelligent to recognize when a particular change in the rules or program for controlling one or more windows needs to be made. When a controller comes to this recognition, it may use the window control application to notify the user of the proposed adaptation. The user can then elect to approve or reject the proposed adaptation. Note that in alternative embodiments, the user is not given this choice and the system will automatically make the change. Such automatic change may be accompanied by notification to the user via the application with changes being made. In an example of adaptive control, the application infers that the windows in a room should tint between noon and 1 PM on weekdays based on a user's history of manually tinting the windows during this time period.
Many variations on the system depicted in
In some embodiments, a window control application is used in a set up process for installed windows and other devices to be controlled using the application.
Commissioning is a way to inventory, group, and validate devices available to a window control application. Commissioning is normally triggered by a new installation of optically switchable products and/or associated controllers in a structure. In some cases, the installation would occur at the same time the structure is constructed. In other embodiments, the installation will occur at a later date, e.g. a retrofit application. In some embodiments, the commissioning may be implemented in stages, with each stage occurring after a new set of devices is installed in the structure. For example, in a first phase, some electrochromic windows may be installed on a south facing side of an existing building. These windows and their associated controllers would be commissioned soon after installation. At a later time, additional electrochromic windows and associated controllers are installed on east and west facing sides of the building. These new, later installed windows are then commissioned. Even later, the windows on the north facing side of the building are replaced with electrochromic windows and associated controllers. At this point, a further phase of the commissioning is performed. Perhaps, even later, more sensors, controllers, and or other devices are installed in the building and these are thereafter commissioned as appropriate. In some embodiments, at any event triggering possible commissioning, the application presents a notification through its user interface. The notification may be followed by receipt of user instructions to initiate the commissioning process.
A simple commissioning process 205 is depicted in
In another embodiment, the discovery routine receives a prepared list of the devices to be commissioned. The list may be provided in the form of a table, spreadsheet, database view, etc. Upon receipt of such list, the routine updates an internal list of the available devices under its control.
Examples of ways commissioning can be done include the following:
Method 1 (on-site Group Creation):
-
- (a) connect all devices and power up; each device identifies itself by device type/id etc. and is then added to the list of that specific device type and can be seen on user interface.
- (b) the user then creates groups via the user interface and adds members by selecting them from the lists created in (a) using drawings/graphics and/or document containing the grouping information. If needed, the user working with the user interface can confirm that member is physically present in the group's domain by sending a signal and observing response.
Method 2 (Off-site Group Creation):
-
- (a) Import a list of all devices as well as groups and possibly other information from a design document or file.
- (b) After power up, the presence of all elements is confirmed (similar to Method 1 for example) and any missing or additional elements are flagged on the application's user interface and subsequently added or deleted by the user.
- (c) If needed, the user can confirm that member is physically present in the group's domain by sending a signal and observing response
Each of the classes will have certain attributes associative therewith. For example, a class for a photosensor, may specify that photosensor provides output in particular increments of foot candle illuminance. The class may also specify other attributes of the device such as its dynamic range, its manufacturer, its model type, etc. The class may additional information such as a URL or contact for maintenance and replacement details provided by vendors, etc. Further information about classes is presented below in a sample API for a window control application.
The inventorying process may also discover the location of each device within the building. This may involve, for example, uploading installation data specifying the location of each the devices from the most recent installation. As an example, such information may be provided in a spreadsheet, a table, or other arrangement of text. As with the class and ID, the location information may be stored at a location on the window network, on the cloud, on remote devices, or any combination of these. Such configuration information may be created or modified remotely from the location where the devices are located. At an appropriate time, the configuration information is downloaded or otherwise transferred to the window network controller and/or window application for the affected building. This allows the configuration to be performed by an entity, such as a vendor of the optically switchable windows, who does not have access to the network of the building where the windows are installed.
Next, in process 205 of
Device groups may be created for various reasons. Often the devices in a group have one or more attributes in common. In some embodiments, a common attribute is a common location of the devices in the group. In some embodiments, a common attribute is control by a user or a group of users given access to the devices in the group.
In many cases, grouping lowers implementation costs. For example, all floors on the same side of the building may be able to leverage a single photo sensor across one or multiple groups. Additionally, grouping may reduce the burden (and reducing complexities) on any upstream BMS system or manual override switch since such entities need to only send commands for groups and not all or some devices in the group.
Further, the grouping may be done in a hierarchical fashion. In other words, a group may belong to higher level group; that is, a low level group may be a subset of the higher level group. As an example, one group may be limited to optically switchable windows on a north facing side of a building. This “north facing” group is containing within a higher level group that includes optically switchable windows from all sides of the building, but does not include windows from other any other buildings. The “building” is in turn contained within an even higher level group that includes multiple building groups, which each may be part of a building complex, for example. This design has the benefit of allowing the user of a mobile application to quickly identify a problem with a device and only after identifying that a problem exists, spending the effort to determine exactly where the problem resides. For example, a window network administrator for an entire complex of buildings may be able view the device status for the entire super group of devices within the complex.
Grouping is a logical abstraction of the physical network in a window management strategy. It may be n-tier hierarchical, with command-and-control information propagating top-down, and state-and-status information propagating bottom-up.
It should be understood that grouping and modifying groups may be performed outside the context of commissioning. Thus, while a group or groups may be established during commissioning, such group or groups may be modified, deleted, etc. long after commissioning has been completed.
Finally, the commissioning process 205 is concluded with a testing and validation phase 307. In this process, all of the inventoried and grouped devices are tested to ensure that they are working and that they are the devices they are shown to be in the inventorying process. In one embodiment, testing and validation is accomplished via a handheld remote device which receives inputs from a user moving around a building from device to device to check the functioning of the devices, which are individually identified on the user application. As part of the testing process, the application may test individual windows or other devices to determine whether they respond to manual commands issued through the application. The application may also test to determine whether particular sensors are operating as expected. For example, a temperature sensor may be exposed to a heat source and its output as presented in the application is used to establish that the sensor correctly shows an increasing temperature. If any devices are found to be malfunctioning or to be misrepresented during the testing and validation phase, such devices can be fixed, replaced, and/or re-identified as appropriate.
User Roles in the ApplicationIn various implementations, window control applications define and apply roles specific for users of the applications. This may be part of the step of creating user profiles (207) illustrated in
In certain embodiments, roles define a level of priority in the ability to control devices. For example, the roles may be arranged in a hierarchy, with the actions of some users being given higher priority than the actions of other users, who have lower priority roles. In such cases, the roles may be used to resolve conflicting instructions between two users. In a specific example, a building owner role is given a higher priority than a tenant or room occupant role. Also, roles may specify the ability of a user to override a control policy defined in network controller or other automated system for controlling switchable optical devices. For example, a building policy may require that all windows in the building tint when the outside temperature exceeds 100° F. Most user roles provide no authority to override this policy and render one or more windows transparent at such temperatures. However, users with the role “superuser” or “network administrator” may be permitted to selectively override this policy. To the extent that a role permits an override, the override may be limited to a defined period of time, e.g. a few minutes to a few hours.
In some implementations, there are both qualitative and quantitative elements to a security model. The “role” is qualitative insofar as it defines the operations that can be performed, and, in some cases, the object classes that can be controlled (e.g., particular types of devices). There is also a “resource” element (more quantitative in nature) that defines the individual object instances that can be controlled. In general, roles and resources may be delineated as follows: a user may do A, B, and C (roles) on X, Y, and Z (resources). In a particular example, the role of “building tenant” is only permitted to change the tint state of windows under the building tenant's control. The building tenant cannot modify or create rules and cannot accept or reject adaptive proposals. Particular individuals having the building tenant role are permitted to act in that role only for particular resources assigned to them—e.g., window resources in in a room where a particular individual works. In contrast an individual given the role of network administrator may be permitted to generate and modify rules, including rules automatically presented using adaptive control, override actions requested by individuals having lower roles, etc. The resources available to such individual may include all devices in one or more buildings, or alternatively to a particular floor or other region of a building.
In certain embodiments, creating the roles for users is accomplished by an on-site visit and speaking with the building owner or manager and, at that time, appropriately programming the application on a network server. Alternatively, the building owner or manager can provide a file listing all the users who will be given access to the application and the roles of each user. In various embodiments, the user roles are applied after device commissioning.
Here is an example of a hierarchy of user roles appropriate for a window control application:
-
- 1. Building manager
- 2. Floor 1 administrator; floor 2 administrator; . . . floor N administrator
- 3. Room 1 occupant, room 2 occupant, . . . room M occupant
Here are examples of permissions that may be provided as a function of user role in a window control application:
-
- Re-commissioning devices (reorganize groups, change the ID or other attributes of a device)
- Commissioning devices (create groups, inventory device, validate and/or test devices)
- Setting rules and/or programs (change a rule or a condition—e.g., replace a threshold of 300 Lux with a threshold of 500 Lux).
- Manual or direct control over devices (e.g., as described with respect to the screen shots of
FIGS. 4A, 4B, 5A, and 5B , as well as described with respect to the schematic diagram ofFIG. 1B .).
Device control software applications as described herein may afford users with the ability to select, create, and/or modify rules. In certain embodiments, an application providing access to windows or other devices provides a user interface through which user inputs are interpreted to create, modify, and/or delete rules and programs for controlling such devices. Application functions and actions provided in accordance with this permission may be part of operation 209 shown in the flowchart of
In some cases, at least two types of rules are provided via an application: schedule based rules and sensor based rules. More generally, these types of rules can be characterized as temporal and environmental. Some environmental rules may not come directly from a local sensor. As an example, a weather condition determined from a source of weather information for the locale of the window may be used as a source for an environmental rule. In some cases, a rule contains both temporal and environmental conditions are used together in a rule. In schedule based rules, certain control or monitoring events take place on a defined schedule which is set forth in the rule. In senor based rules, output from sensors serves as independent variables and the device states (e.g., level of tint in a window) are the dependent variables. Further information about and examples of sensor and schedule based rules are set forth in U.S. patent application Ser. No. 13/449,235, [Attorney docket number SLDMP035] filed on Apr. 17, 2012, and naming S. Brown et al. as inventors, which is incorporated herein by reference in its entirety. Any rule (schedule based, sensor based, or otherwise) may be comprised of two or more conditions, which may be coupled in a Boolean expression, for example. Other rules comprise only a single condition.
In accordance with various embodiments provided herein, device control rules may be part of a hierarchy in which “programs” are comprised of “rules” and rules have one or more “conditions” and “control states”. A rule's conditions (which act as independent variables) may employ schedule information and/or sensor information, for example. In other words, a rule takes schedule and/or sensor information as independent variables and determines a control state, which is a dependent variable.
Conditions are components of rules. If one or more conditions a rule are met, a “control state” of the rule is applied to one or more devices associated with the condition. Conditions in rules are met or unmet based on a comparison of an input with a threshold, a trigger, etc. that is built into the condition. The comparison may be a simple relationship (e.g., a direct equality, a <, or a > check of an input independent variable) or more complex evaluation of the input (e.g., a linear or non-linear expression, a graph, a look up table, etc.). In some cases, a condition may provide multiple thresholds, as with a bracket range (e.g., a room temperature must be between 64 and 72° F. for a condition to be met).
The input to the conditions may be temporal, environmental, user driven, etc. Temporal inputs may be a time or year (e.g., seasonal), a time of month, a time of week (e.g., weekdays and weekends), time of day (e.g., noon hour, sunrise, sunset). See
Some rules are comprised is a single condition. If that condition is met, the rule control state is applied. Some rules are comprised of two or more conditions. Such multi-condition rules have their control states triggered only if some combination of its constituent conditions are met. In some embodiments, the constituent conditions are linked by a Boolean operator such as ‘AND’, ‘OR’, ‘AND NOT’, ‘XOR’, or another operator. In the case of an ‘AND’ operator, each of two conditions linked by the operator must be met in order for the control state to be applied. In the case of an ‘OR’ operator, any one of the two more linked conditions must be met in order for the control state to be triggered. In some embodiments, the rule weights two or more constituent conditions to determine whether the control state applies. For example, a ‘condition 1’ may be given a weight of 75% and a ‘condition 2’ may be given a weight of 25%. The weights may be applied as coefficients, strengths of connections (as in neural networks), etc.
The control states applied by a rule may drive an optical transition of an optically switchable device or maintain an optical condition in such device. For example, the level of tint in an electrochromic window may be maintained in existing state or transitioned to a different state depending on the control state determined by a rule for controlling the tint level. Other optical states that can be maintained or adjusted as a control state of rule evaluation include the level of opacity, reflectivity, color, etc. Other control states of rules include power consumption of one or more devices controlled by the rule, sensor monitoring of devices under control of the rule, etc. In some embodiments, the control state may force power consumption to drop to particular level. This may require a reduction in air conditioning a structure, which may in turn require electrochromic windows to tint to a particular level and/or require lights to dim to a particular level. In some embodiments, the control state may require that power consumption information be transmitted to a utility. In some embodiments, a rule control state may trigger monitoring of one or more sensors under control of the rule. The rule may require that sensor information be provided as input to an algorithm or algorithms running on a building management system or security system. In some cases, the sensor information (or a conclusion drawn from the sensor information) is conveyed off site to an entity not associated with the structure having the sensors. Such entity may be a private or governmental emergency response organization such as the local policed department or fire department.
Some applications and/or their associated network servers may provide ‘programs’ comprised of one or more rules. Within a program, the constituent rules may have different priorities or applicability under different ranges of conditions. For example, a Rule 1 may apply in the winter, and a Rule 2 may apply in all other seasons. In another example, a Rule 1 will apply when its conditions are met and Rule 2 will apply when its conditions are met and rule 1's conditions are not met. In other words, Rule 1 has a higher priority than Rule 2. See
In certain embodiments, the application applies one or more maintenance rules. In such cases, the application is programmed to alert the user through the user interface when a maintenance issue arises. For example, it may be noted that a window is taking too long to tint. In certain embodiments, windows or other devices are depicted on a dashboard presented on user interface.
Description of Example Screen ShotsAs explained, a window control application permits users to interact with devices via a user interface. A “graphical user interface” (GUI) or “user interface” allows users to interact with electronic devices via images or text commands. As used herein, a user interface is part of an application or provided via an application. User interfaces can be used in computers, hand-held devices, such as smart phones or tablets, portable media players or gaming devices, household appliances and office equipment. A graphical user interface represents the information and actions available to a user through graphical icons and visual, auditory, or other sensory indicators or secondary notation such as position, indentation, color, symmetry, audible pitch and patterns, and the like. Any user interface, graphical or otherwise, may employ textual elements, typed command labels or text or keyboard navigation. In a graphical user interface, user actions may be performed through direct manipulation of the graphical elements. In some embodiments, the interface also permits voice activated interaction. This may be appropriate for handicapped users and/or users who cannot conveniently interact tactilely with a GUI (e.g., users driving vehicles). A voice recognition tool such as the Dragon Naturally Speaking product from Nuance Communications may be employed for this purpose.
A graphical user interface uses a combination of technologies and devices to provide a platform that the user can interact with, for the tasks of gathering and producing information. Various graphical and/or textual features may be employed to assist user interaction with an application deploying a user interface. Examples of such features include windows, icons, menus (including drop down menus), pick lists, pointing devices, and the like. Icons such as slider bars, radio buttons, toggle switches, and the like may provide graphical control mechanisms.
Certain modes of interaction employ a touch screen or other physical input device to control the position of a pointer and presents information organized in windows and represented with icons. Available commands are compiled together in menus, and actions are performed making gestures with the pointing device. A window manager may facilitate the interactions between windows, an application, and a windowing system. The windowing system handles hardware devices such as touch screens, pointing devices and graphics hardware, as well as the positioning of the pointer.
In computational devices, these elements may be modeled through a desktop metaphor, to produce a simulation sometimes called a desktop environment in which the display represents a desktop, upon which documents and folders of documents can be placed and removed. Window managers and other software combine to simulate the desktop environment with varying degrees of realism.
In the examples of user interfaces described below, the user interface comprises a group of screens and associated control and functionality that can receive user input and respond to that input by taking certain actions. Some of the actions whether triggered by the user input, or otherwise, result in changes in the information displayed on the display screen. Such changes may involve accentuation of different features, movement of slider bars, transition to different windows, etc.
The concept of a user interface, as used herein, not only incorporates the information displayed on a screen at any given instant in time but the associated logic and algorithms underlying that displayed information. Such logic and algorithms received as input, user inputs, parameter values from sensors or other monitoring devices used by the network window controller, external source feeds, schedule information, etc. In the relevant embodiments, the information displayed by the user interface may include textual information, graphical information, audio information, tactile information, olfactory information, video information, etc.
The display shown in
Within the interior of the home display screen, an appropriate background image may be depicted. In the illustrated example, a building belonging to Soladigm Corporation (now View, Inc.) is depicted. In various embodiments, the user is permitted to customize the background image presented in the home screen. For example, the user may enter a geographic location specified by an address, a zip code, latitude and longitude coordinates, etc. Many other possibilities will be apparent to those of skill in the art. For example, the background may be a video feed from a security camera or other remote monitoring tool.
On the left side of the interior region of the home screen shown in
Below the group identifier 424 is a control subpanel 426 containing buttons allowing the user to select either an automatic mode or a manual mode. Automatic mode provides control via one or more preset algorithms, programs, or rules resident on (or available to) the network window controller. Examples of such programs include schedule-based programs and sensor-based programs. In certain embodiments, the automatic button of the control subpanel 426 is implemented as a drop-down menu or pick list of available automatic programs the user can select, such as in the embodiment shown in
In the subpanel 426, a “manual” mode button is displayed as an alternative to the “automatic” mode button. That is, only one of these two buttons is selected at any instance in time. In the screenshot depicted in
Continuing downward in control the status panel 420, there is a status subpanel 430 which depicts the current status of the window or windows under the currently selected group. In this example, each available level of tint, and there are four of them in this example, has its own icon. Typically, only one of these will be accentuated at any given time, and this indicates in which of the available levels of tint the window currently resides. When the window is transitioning from one level of tint to another level of tint, there may be in arrow, as shown in the depicted embodiment, illustrating the transition from one state to another state. When the window(s) reaches the selected level of tint, the arrow disappears.
Continuing down the control and status subpanel 420, an external source feed subpanel 432 is shown. In the depicted embodiment, a selection of this button permits the user to identify an external source of content that may be displayed or otherwise provided to the application. For example, a source of local weather information such as the Weather Channel™ may be selected by the user to provide input to the application. Such input could be displayed in a window associated with subpanel 432 and/or used to provide weather information that might be an input parameter for one or more programs or rules that automatically control the optical state of the one or more windows in the selected group. The user may enter the external feed by keying in a URL associated with the source. In some embodiments, multiple sources are provided as predefined options through the user interface. In some implementations, the external feed is triggered by a user input that is interpreted as a request for a particular type of external feed. For example, a user may enter his/her geographic information (e.g., a postal zip code) or current location (through GPS for example) and the application will automatically provide content tailored for the location. Such content may be weather information for the user's location or zip code.
Finally, in the control and status subpanel 420, there is an environment button 434. When a user activates this button, the home screen displays an environment panel 422. In
Additionally in
While
In
Turning now to
The group screen is shown with two panels, a list of groups panel 604 and a list of group devices panel 606. In the list of groups panel 604, all available groups accessible by the application are depicted. At any instant in time, only one of these groups is highlighted. In the screenshot of
Panel 606 depicts a list of devices contained within the group currently selected in panel 604. The user can add or delete members of this device list by activating buttons 614 and 616, respectively. When the user selects button 614, the user interface presents a menu or other feature identifying the types and locations of devices that can be available for inclusion in the selected group. The available devices are normally limited to devices that have been previously inventoried as part of the commissioning process.
Note that
As depicted in
The Time Frame panel 704 allows the user to set start and stop dates associated with the schedule, start and stop times for each day the schedule program is active, and the unit of repetition associated with the schedule. In the depicted example, the schedule repeats every day. Other alternatives that may be presented to the user include, for example, weekdays and weekends. In certain embodiments, the user interface may allow the user to set multiple start and stop times over the course of a day. Thus, for example, while Time Frame panel 704 shows only one start time and one-stop time. In alternative embodiments, the panel may show two or more start times and correspondingly two or more stop times, as such is the case in the example shown in
In the Set Tint State panel 706, the user is permitted to select a particular tint state to be applied during the time frame set in panel 704. In the depicted example, the user has selected an intermediate tint state for use between 11 AM and 2 PM Pacific Standard Time during the days of autumn.
As illustrated in
The screen depicted in
In certain embodiments, requests to control or monitor devices via a window control application may be denied or overridden when necessary to effect a policy, a decision by a higher priority user, or the like. In some cases, the decision to override is made by arbiter logic executing on the network (e.g., a network window controller). In some implementations, a decision to override a user's attempted action is conveyed to the user through a message delivered via the application's user interface. See
As mentioned above, some application users may be given higher priorities than others. Such priority differences can provide a convenient way to arbitrate between conflicting commands for controlling the same device but issued from two different application user interfaces, one command from an interface for a low priority user and another from an interface for a higher priority user. In various embodiments, the command issued from the interface for the lower priority user would not be honored by the window network. Additionally, commands issued from certain users or systems will take precedence over conflicting commands regardless of whether such users or systems operate using a window management application. For example, a building manager or other high level building administrator may issue commands without using a window control application, and such commands will be given priority over any conflicting command issuing from an application used by a lower priority user. Similarly, certain instructions issued from a building management system or other high level power management system for a building may automatically take precedence over conflicting commands issued from an application.
The following are some examples of situations where a user's control request presented via a device control application is denied or overridden.
-
- 1. A peak load signal is received from energy utility during a hot day and the BMS or facilities manager overrides all commands or rules issued via applications, and forces all windows to tint to save energy on an air conditioning load.
- 2. A facilities manager is conducting upgrades or maintenance and does not want any interference caused by spurious commands issued by applications.
- 3. There is a pre-scheduled power outage, and a facilities manager decides to clear all windows to let more natural light in while power is out.
- 4. A heating system is down during winter and a facilities manager decides to bring in more solar energy into the building.
- 5. A building's air conditioning system is broken, and the facilities manager decides to keep all the heat out by tinting all or many windows.
In the list of scenarios for overriding user control, the first one indicates that a command from an application may be overridden when a peak load signal from energy utility is received. For example, on a day when utility energy consumption is very high due to increased heating or air-conditioning loads, the utility may send out a signal to its large customers such as commercial buildings indicating that energy consumption should be reduced. In some cases, the utility may charge more for energy while operating under the conditions. The network controller of a building that receives such signal may automatically take actions to block some or all instructions from an application that are inconsistent with the need to reduce energy consumption. For example, the network controller may automatically force the windows to remain tinted regardless of instructions from an application to make the windows transparent. In other embodiments, a network administrator or other superuser may program the network controller to prevent user override of the low-energy consumption settings.
More sophisticated implementations of network override of user actions are possible. Some have to do with policies for ensuring energy conservation policies. Other policies may be in place to protect windows or other devices from damage under certain conditions. One example of a policy intended to protect or preserve the long life of the window is one that requires that a window switch state periodically even if an automated network controller or a user controller does not indicate that a switch of states is warranted. For example, it may be desirable to have a windows switch tint states at least every 15 hours in order to lengthen the window life. To this end, the network controller may override a user command that would have the window in a single state for 15 hours. In one example, the network controller simply cycles the window through transition in the middle of the night to ensure that it transitions at least once every 24 hours. Alternatively, the controller can send the window through a transition once before business hours and again after business hours.
In another example, a network policy may require that the windows not be in a highly tinted state when they might be exposed to a strong escalation radiant solar energy exposure and potentially undergo thermal shock. For example, a policy may require that east facing windows in the building not be in a state of more than a defined level of tint during a time beginning 10 minutes before sunrise and ending one half hour after sunrise. Any application issued rule or manual attempt to configure an east facing window such that it exceeds the tint threshold during this duration would be rejected by the window controller.
Examples of Adaptive ControlIn certain embodiments, the logic for controlling optical switchable devices infers that a new rule should be suggested or that a change to an existing rule should be suggested. The logic making this inference and suggestion may be implemented solely within a control application or with such application in conjunction with a network controller, particularly with software executing thereon. A simple schematic representation of such adaptive control is depicted in
Examples of two types of adaptive control are (1) inferring control behavior from user actions (e.g., repeated manual operations) and (2) inferring control behavior from the environment (e.g., by monitoring sensors and/or power consumption). An example of an adaptive control procedure is depicted in the flow chart of
In certain embodiments, from the application's or network controller's perspective, the adaptive control logic may observe that a user is taking the same actions in a consistent manner—e.g., at the same time each day. The adaptive control logic then infers that a rule (schedule or sensor based for example) may be applied to implement consistent results that have been observed. The logic then develops the new or modified rule and suggests it to the user via the user interface on the remote device. The application then waits for a response from the user, which response elects to adopt the suggested rule, reject the suggested rule, or, as permitted in some implementations, modify the suggested rule. If the proposed rule is accepted or modified, the adaptive control logic then implements the accepted rule.
A few examples of adaptive control follow.
-
- 1. A user preference for tint level as a function of day/time is determined by monitoring and then used to override an automated setting. (e.g., user Jeff is in now in room 22 on the 3rd floor, and it has been observed consistently that he likes the glass partially tinted when he is in this room.)
- 2. Monitoring of the effect of powering on/off air conditioning to determine the impact of a building's thermal mass on its response to air conditioning, and, based on this impact, giving the air conditioning command to turn off/on in anticipation of the impact of the building's thermal mass. More generally, the adaptive control logic determines how fast or slow the temperature in one or more locations within a building responds to a change in a driver. Drivers may be air conditioning, heating, and solar radiation allowed in or blocked by windows.
- 3. The adaptive control logic determines that optimal settings for glass states change due to shadowing or reflection from a new neighboring building or from shadowing from tree. This effect may be inferred from a user (or multiple user's) window tint adjustments to compensate for the new building or tree. Using this inference, the adaptive control logic proposes a change to the tinting algorithms in the effected rooms.
Regarding the use of adaptive control logic to characterize the response of a building, some further points may be instructive. Commands to change lighting or window tinting provide an immediate effect on the radiation in a room. Temperature changes controlled by air conditioning or heating are slow by comparison. The temperature response is due in some measure to the thermal mass of a building. Unfortunately, the thermal mass varies widely from building-to-building and even from room-to-room within a building. To address this issue, adaptive control logic may monitor temperature response times after heating or air conditioning systems are powered on or off. From this information, the logic can characterize the response times of the building or portion of a building. Note that the response information from within the building may be obtained with the aid of a network controller.
In another example, an energy model for a particular season suggests that east facing windows of a building should be tinted at 9:00 AM. However, the application and/or network controller determine from monitoring of sensors that the east facing rooms receive more solar energy than expected prior to 9:00 AM. In fact, the rooms become too hot too early and require cooling to maintain a comfortable temperature. Based on this insight, the adaptive control logic determines that it should propose an adjusted tinting rule in which the east facing windows are tint at 8:30 AM, rather than 9:00 AM to conserve energy. Assuming that the user of the application accepts this proposal, the application and/or network controller will continue to monitor the early morning temperature in the east facing rooms. If it is found that there is still too much solar energy flowing through the east facing windows, the application may propose a further adjustment to the rule in which tinting occurs at 8:00 AM.
Example Application Programming Interface API for a Window Control ApplicationIn certain implementations, an application programming interface (API) is provided for window control applications. Such API may be used to develop applications for various remote device platforms including Microsoft Windows™, iPhone, and Android. Through such API internal developers, 3rd party developers, and systems integrators can implement new applications or extend existing applications to monitor and control optically switchable devices on a network.
In certain embodiments, the API provides portability and interoperability with common mobile, web, and embedded computing environments. The API is not tied to any specific language. Different platforms have different language requirements; e.g., objective C is typical of iOS, Java is typical of Android, etc. The API is generalizable to any language.
The API is typically used to create a layer of abstraction that separates application-level task and presentation logic from the underlying security, storage, communications, networking, and device-specific protocol layers comprising the management infrastructure for a building or other structure. The API allows clients to create, delete, view, and modify management objects without regard to their physical location and native access details.
ConclusionAlthough the foregoing embodiments have been described in some detail to facilitate understanding, the described embodiments are to be considered illustrative and not limiting. It will be apparent to one of ordinary skill in the art that certain changes and modifications can be practiced within the scope of the appended claims.
Claims
1. A controller comprising:
- at least one interface communicatively coupled with (i) a network of optically switchable devices disposed in one or more buildings and (ii) a plurality of sensors that provide information to the controller about one or both of an environmental parameter and power consumption in the one or more buildings;
- a remote device interface configured to receive communications from at least one remote wireless device, by way of a user interface of an application operating on the remote wireless device, the communications including user instructions for changing an optical state of at least one of the plurality of optically switchable devices; and
- logic configured to cause the controller to manage, by way of the at least one interface, the optical state of some or all of the plurality of optically switchable devices, wherein:
- managing the optical state includes: (a) monitoring the user instructions; (b) monitoring the information provided by the plurality of sensors; (c) inferring a new rule for controlling optical states of the plurality of optically switchable devices based on a monitored history of the user instructions and the information provided by the plurality of sensors; and (d) providing an alert through the user interface, which alert suggests that the new rule be adopted.
2. A system comprising a control application configured to manage an optical state of some or all of a network of optically switchable windows in a building, the control application configured to be interfaced through an API, wherein the control application is configured for use in a computing device and the API resides in one or more of a controller of a network of switchable window controllers, a building management system and the cloud.
3. The system of claim 2, wherein the API is configured to create a layer of abstraction between the control application and the network of optically switchable windows of the system.
4. The system of claim 3, wherein the network of window controllers comprises a master window controller, and a plurality of intermediate window controllers coupled to the master window controller.
5. The system of claim 4, wherein the network of window controllers comprises a plurality of low level window controllers coupled to the intermediate window controllers.
6. The system of claim 5, wherein the low level window controllers are coupled to the optically switchable windows.
7. The system of claim 2, wherein the control application is configured to define and/or modify rules or properties for automatically controlling tinting of optically switchable windows.
8. The system of claim 7, and wherein the rules include schedule-based rules and/or sensor-based rules.
9. The system of claim 7, wherein the rules are based at least in part on weather feed data.
10. The system of claim 9, wherein the system comprises sensors, and wherein the weather feed data is provided by at least one of the sensors.
11. The system of claim 9, wherein the system comprises a building, and wherein the weather feed data is provided by a sensor external to the building.
12. The system of claim 9, wherein the weather feed data is provided by a commercial or government entity.
13. The system of claim 12, wherein the rules are based at least in part on a history of user control of the control application.
14. The system of claim 9, wherein the rules are based at least in part on one or more of:
- a comparison of a sensor output value against a threshold value;
- a time of year and/or day; and
- a location of the window.
15. A method comprising:
- managing, with a control application, an optical state of some or all of a network of optically switchable devices in a building, wherein: the control application is configured to be interfaced through an API; the control application is configured for use in a computing device; and the API resides in one or more of a controller of a network of switchable window controllers, a building management system and the cloud.
16. The method of claim 15, wherein the API is configured to create a layer of abstraction between the control application and a plurality of optically switchable windows of the system.
17. The method of claim 16, wherein the network of window controllers comprises a master window controller, and a plurality of intermediate window controllers coupled to the master window controller.
18. The method of claim 15, wherein the control application is configured to define and/or modify rules or properties for automatically controlling tinting of optically switchable windows.
19. The method of claim 18, wherein the rules are based at least in part on a history of user control of the control application.
20. The method of claim 18, wherein the rules are based at least in part on one or more of:
- a comparison of a sensor output value against a threshold value;
- a time of year and/or day; and
- a location of the window.
21. A method of controlling an electrochromic window of a building, the method comprising: receiving weather feed data over a communication network from a data source; determining a tint level for the electrochromic window based at least in part on the weather feed data; and sending a tint command to transition the electrochromic window to the tint level.
Type: Application
Filed: Feb 7, 2022
Publication Date: May 19, 2022
Inventors: Dhairya Shrivastava (Los Altos, CA), Todd Marques (Pleasanton, CA), Stephen Clark Brown (San Mateo, CA)
Application Number: 17/666,355