CLOUD COMPUTING ENABLED BUILDING CONTROL SYSTEM AND METHOD
Exemplary embodiments of the present invention relate generally to networked systems to monitor and control various building systems, such systems being configured to allow remote monitoring and control. Building control systems may comprise inputs and outputs that control various building functions. These functions commonly include heating/cooling and lighting. Building control systems may be used to increase occupant comfort, provide security, reduce operating costs, or to prevent damage to the building or its contents. The simplest building control systems are mechanical thermostat devices that are used to regulate building temperature. Over time, these mechanical devices developed into complex systems that incorporated sensors to detect temperature at various locations throughout a building. In addition to multiple sensing locations, these devices also incorporated mechanisms designed to account for the time required by the heating or cooling device to reach an optimum temperature for heating or cooling. This adaptation allowed the building control system to better regulate building conditions. In addition to adaptations to improve the system's ability to regulate building conditions, other adaptations were made to accommodate the various building systems being controlled. For example, certain heating systems have a heating component (for example, a boiler) and a separate component for distribution of the heat (for example, a pump). While such configurations provided additional control functionality, the additional involvement of the controller in the operation of the devices they also required that the controller be able to accommodate the specific requirements of various systems and manufacturers. Other embodiments of building control systems have incorporated a timer to control or modify the operation of the various controlled elements. For example, a thermostat may use a timer to set a lower heating temperature during periods of time when a building is not normally occupied. As computerized control devices became available, such devices were adapted to perform building control operations. Such devices were equipped with input and output connections that could be configured to receive inputs and provide outputs used to control building and systems. As computerized control systems became more capable and sophisticated, they also became more difficult to install and configure. For example, each input and output used by a control required programming to configure the input or output for its intended use. This programming required that the input or output be determined prior to installation of the controlling device so that the device could be configured for installation. With the advent of wide area networks such as the internet, programmable control devices were equipped with communications interfaces such that status information could be made available at remote locations. These communications interfaces could also be used for remote diagnostics and control. Known control systems are costly to purchase and install. This is the direct result of the increasing complexity of the control hardware and software required to implement a building control system. In particular, a builder, other installer, or end user may desire the benefits of a building control system but be unable to afford the initial purchase and installation cost of such a system. What is needed is a system that enables a reduced level of installation and setup cost as well as a system that enables a control-as-a-service approach to system pricing. An embodiment of the present invention may be implemented with a programmable hardware device that has remotely configurable input and output interface connections. Such an embodiment may be configured using a system that creates a virtual controller which may be programmed to configure characteristics of a controller's input and output interface connections. The configuration as well as programming that cause the inputs and outputs to perform various functions may be configured and stored using the virtual controller. In embodiments of the invention, the configuration may be stored in a database that is then transferred or synchronized with the actual controller when it is installed. Such an embodiment may allow a builder or other installer to maintain an inventory of non-configured hardware which can be configured remotely after installation. An additional advantage of such an embodiment is that configuration may be performed centrally by a person or organization that is well versed in such programming, allowing for a more cost effective and efficient programming process. Embodiments of the invention may also be configured to require periodic renewal of an operating license. In such an embodiment, an installed building control system may require periodic renewal of a license “key” that is provided by a remote license server or similar system. In such an embodiment, a building control system may periodically request an updated license from the license server. In the event that an updated license is not supplied, the building control system may be configured such that it will revert to a default control state for the various controlled building systems. For example, a building climate control implementation may revert to a fixed temperature setting of 68 degrees Fahrenheit. Such a fixed temperature may avoid building damage while encouraging an end-user to pay a subscription fee to gain the energy savings and additional comfort available from a fully controlled system. Such an embodiment may facilitate the provisioning of building control as a recurring service fee rather than a capital expenditure. Embodiments of the invention may be configured to be “cloud based”, that is, using a database of system configuration and status parameters that is remote from the building control hardware. As a result, configuration and status information may be retrieved without requiring the person or entity performing the configuration to have direct access to the computer network to which the building control system is connected. Embodiment of the invention may also implement tunnel or virtual private network techniques in order to avoid allowing the building control hardware to have access to other devices and systems connected to the network. In such an embodiment, a user may connect the building control hardware to the network and then subsequently access the building control hardware without the requirements of network permissions or network firewall reconfiguration. In addition to the features mentioned above, other aspects of the present invention will be readily apparent from the following descriptions of the drawings and exemplary embodiments, wherein like reference numerals across the several views refer to identical or equivalent features, and wherein: Various embodiments of the present invention will now be described in detail with reference to the accompanying drawings. In the following description, specific details such as detailed configuration and components are merely provided to assist the overall understanding of these embodiments of the present invention. Therefore, it should be apparent to those skilled in the art that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present invention. In addition, descriptions of well-known functions and constructions are omitted for clarity and conciseness. An example of the controller hardware utilized in an embodiment of the invention is illustrated in As illustrated in Many building systems rely on control wire systems that use contact closure interfaces. In such a system, a mechanical or electronic relay opens or closes a connection to provide a low voltage signal to or from a control system. As is illustrated in Embodiments of the invention may be modular in nature, that is, a controller may initially comprise a certain number of control wire inputs and outputs whereupon additional inputs and outputs may be added in anticipation of the need for a greater number of such inputs and outputs. In certain embodiments of the invention, a second control box may be placed in communication with the local computer network. In such an embodiment, the second control box may be configured to act as a slave to the primary control box. In other words, a first control box may control certain operations of a second control box to avoid conflicting operation between the two. The control performed by a master control box may be at a high level such as event scheduling and the presentation of a user interface while lower level functions, such as discrete control of various building systems may be performed by a control box regardless of whether the control box is configured as a master or a slave. Such configurations may be beneficial in implementations which require a larger number of inputs and outputs than may be supported by a single control box. Certain embodiments may be configured to appear as a single control box to a user regardless of how may control boxes are actually used in an implementation. This capability may be used to present a concise user interface such that a user need not be concerned with the actual physical configuration of such an implementation. In order to properly identify and control building systems connected to these inputs and outputs, identifiers must be assigned to the various inputs and outputs. These identifiers can be used to identify the purpose of an input or output both to control software and also for use in a user interface. For example, an input may be used to receive temperature readings from a sensor located in a certain portion of a building. A contact closure or wire control may be used to control a furnace burner and another may be used to control a blower motor in an air handler system. These inputs and outputs may be assigned identifiers which represent their function to a temperature control script (software program). The control script may perform the function of regulating the temperature of a certain portion of a building which involves control of one or more of the identified inputs and outputs. In addition to the modular nature of the input/output interface portions of a control box, the processor portion of the control box may also be modularized in certain embodiments of the invention. This modularization may comprise the processor 102, memory 104, software programming 106, external communication circuitry 114, and the system database 116. In addition to aiding manufacturing and assembly, such modularization may allow for installed system performance upgrades as improved processors become available and cost effective. In such a manner, an installed system may be upgraded to be compatible with improved technologies as they become available. Other elements of the control box may also be modularized to allow for easy repair or upgrade. An example of such modularity in certain embodiments of the invention may also be communication components such as wireless data. In such embodiments, radio components such as, but not limited to, Wi-Fi, Bluetooth, and cellular data transceivers may be configured as a modular component connected to a printed circuit board or communications interface buss. For example, as illustrated in When installed in a building or other structure, the control wires connected between the building controller 100 and various building systems may extend many feet from between the control box and building system being controlled or monitored. These long runs of wire may be susceptible to interference and voltage surges. In order to avoid such susceptibility and resultant control and measurement difficulties or damage, the input and output controls may comprise isolation and surge suppression components. In an exemplary embodiment, such isolation may be provided by an opto-isolator. Other embodiments may implement mechanical isolation such as relays or contactors to provide such isolation. One ordinarily skilled in the art will understand that there are there are various methods of obtaining the necessary isolation and thus, it should be understood that the optical and mechanical methods of isolation described are only exemplary and not intended to be limiting. In addition to isolation, surge suppression may be employed in combination with or separately from the isolation previously described. Examples methods of surge suppression include, but should not be limited to, metal oxide varistors (MOVs), discharge tubes, thyristors, capacitive filters, and inductive filters. As with the processors 102 and communications devices described above, these surge suppressor and isolation devices may be modularized for ease of maintenance and repair. Embodiments of the invention may utilize a plurality of databases to store and synchronize various configuration and data parameters. A program script may be used to perform the basic system maintenance functions. In addition to the scripts related to building systems, embodiments of the invention may utilize an additional script to control time-based control functions. Time-based control functions may be used to control building system operational characteristics with regard to a date and time. For example, an embodiment of the invention may change the temperature setpoints in an office building to match the expected use of certain areas by employees or guest at various times during the week. For example, an office area may be maintained at 69 degrees during a normal work week and allowed to drop to 63 degrees during the weekend. In another example, a call center area located in a different part of the building may be occupied 24 hours per day and as such, may be maintained at 69 degrees constantly. In order to manage a time-based operation, a scheduler script 308 may be used. This script may communicate with the system database 116 to change setpoints according to a predetermined time schedule. In an embodiment of the invention, such a time schedule may be contained in a scheduler database 310. Such a database may be a separate database as illustrated in Embodiments of the invention may also use the system database 116 to configure functions of the building controller 100. In particular, the I/O hardware (110 and 112) may be configured such that control wire inputs and outputs may be associated with their intended control function. For example, a relay output circuit 118 may be associated with a fan control contactor (not illustrated) that causes a fan motor to be energized. The system database 116 may associate this fan with a climate control system and control the fan as a component of that system. In such a manner, discrete components may be combined by function such that a timer or user input may be dedicated to a high level function such as increasing the temperature of a portion of the building. The high level function may execute a script function to control the temperature within a building. The temperature control script may operate at a high level such as a simple signal to turn on or off a furnace. In other embodiments, a script may operate at a lower level of control. The main difference between a high and low level script function is that the high level script requires that the building system (for example, a furnace) will have the necessary functionality to operate from a simple on/off control signal. Whereas, a low level control script may access sub-functions that when taken as a whole, perform the functions of the building system. For example, a high level script may send a signal to a furnace that causes the furnace to engage a heating element and blower motor to provide warm air. A low level script may send a signal turn on a heating element, sense the temperature of the heating element, and when the temperature is high enough, send a second signal to turn on an air circulation fan to provide warm air. Certain embodiments of the invention may allow for a plurality of heating elements to be controlled. In such an embodiment, heating elements can be activated incrementally as conditions dictate. Such an incremental action may reduce cost by reducing peak energy demands (and thus, costs) that may occur if a single large heating element were used. Such a configuration is referred to as a staged system. In certain embodiments of the invention, supplemental devices may be added and controlled using the building control system in a manner that is integrated with the control of an existing building system. For example, a common occurrence is a situation in which a portion of a building may not be able to be heated or cooled adequately by an existing climate control system. Embodiments of the current invention may be configured to control an existing climate control system and also a supplemental heater or cooler dedicated to the portion not adequately heated or cooled by the existing system. A climate control script may activate the existing climate control system and if needed, activate the supplemental heater or cooler to provide additional heating or cooling needed to regulate that portion of the building. The use of such an embodiment may greatly reduce the cost to a user by regulating the previously inadequately heated or cooled building portion without the requirement of increasing the capacity of the existing climate control system. Because the control functions of the building controller 100 are implemented using software scripts, additional features and functions may be added to the control box through the implementation of additional software scripts. These scripts may be communicated to the building controller 100 during a synchronization process. In such a manner, additional building systems may be added to implementations of the invention without the need for hardware replacement or upgrades. Example systems might comprise new heating and cooling technologies, energy generation and storage (for example, a solar array), and improvements to the control processes used to manage existing building systems. Another example may be improved communications security as new security standards are introduced. Using this capability, embodiments of the invention may be quickly reconfigured to accommodate new building configurations such as a shift from a boiler system to a forced air system as a building undergoes renovation. In embodiments of the invention, building controller 100 input and output hardware (110 and 112) may be configured and reconfigured by changing configuration information stored in the system database 116. In addition to control wire inputs and outputs 108, internal I/O functions may be configured using the system database 116. For example, in an embodiment which includes a RS-485 serial communications port, the system database 116 may comprise information that selects communication characteristics of the serial communication port. Because the configuration characteristics of the building controller 100 are contained in the system database 116, system configuration may be revised by changing the data housed in the system database. As is illustrated, a local user 204 may be in communication with the system database. By using such communication access, the local user 204 or remote user 210 may view the status of building devices in communication with the building controller 100. An embodiment of the invention may be configured to allow a local user to interact with the control box through an internet connection, appearing to the control box as if that local user were remotely located. The local user 204 may also be able to change the operating status of controlled building devices by modifying setpoint data contained within the system database 116. As is illustrated in A remote user 210 may also be in communication with the system database 116 of a building controller 100. As illustrated in As is illustrated in Known building control systems may require configuration at the time of installation or initial system start-up. As a result, a technician or other highly skilled individual may be required to visit the site of the system installation. Using a configuration software tool, a user may select setpoints and other configurations for a control box using the cloud database 208 and then cause the setpoints and configurations to be synchronized with the system database 116 when the building controller 100 is installed for use. In such an embodiment of the invention, a programmer, installer, or user may use cloud database 208 to preselect setpoints and other configuration settings in the cloud database. These setpoints and settings may then be uploaded to the system database 116 once the building controller 100 is installed. The result may be a more efficient use of a specialized resource like a programmer without impacting the installation schedule of the control box, which may be dependent upon a builder, remodeler, or electrician. Referring again to As was discussed above, a remote user 210, programmer, or installer may be able to preconfigure a building controller 100 using a cloud database that may later be synchronized with the system database 116 to transfer setpoints and other data to the system database of a building controller 100. In certain embodiments of the invention, the remote user 210 may connect directly to the system database however, in circumstances in which the remote user is unable to connect to the system database; the remote user may be directed instead to the cloud database 208. As the result of an ongoing synchronization process, the cloud database may closely reflect the data contained in the system database. Thus, the remote user may be able to review data in a cloud database that reflects the control box status as of the most recent synchronization between the control and cloud databases. In a manner similar to pre-configuration of a yet to be installed building controller 100, a remote user may be able to make changes to the operating characteristics stored in the cloud database and have those changes transferred to the system database when the cloud database next synchronizes with the system database. Embodiments of the invention may be configured to allow a user associated with one control box to have access to one or more additional control boxes. This access may be configured such that the user may have limited access to the additional control boxes. In certain embodiments of the invention, the limitations may be such that the user may only view system database information. In other embodiments, a user may have the ability to access and control a limited portion of the building systems associated with the additional control box. A user management function may be used to select permissions for a particular user or classification of users. As illustrated in the example user interface shown in One of the barriers faced by those responsible for the cost of building or maintaining a house or building is the cost of purchasing, installing, and maintaining building control systems. Leasing building control system equipment is a known method of mitigating these costs. Unfortunately, the party who owns the equipment (the lessor) may find it difficult to manage such a lease in the event that the party responsible for making lease payments (the lessee) fails to make their lease payments in a timely manner. In such a case, the building management systems are frequently installed in the lessee's property and not easily accessed by the lessor's agents. In certain embodiments of the current invention, an implementation may additionally comprise a license server. An illustration of such an embodiment is shown in As was described above, embodiments of the invention may utilize timing and staged heating and cooling functions to limit peak energy demand. Because utilities frequently provide discounted rates for customers who can limit their peak demand. Utilities also may also offer tiered energy rates based on demand level and time of day. Embodiments of the invention may implement energy consumption optimization scripts. These scripts may communicate with utility providers using interfaces such as application programming interfaces (APIs) to retrieve peak usage discount data. An embodiment of such an optimization script may utilize discount data to adjust peak energy usage based on current rates provided by utilities. Such an embodiment may provide greater energy savings than systems based solely on time of day limitations. Any embodiment of the present invention may include any of the optional or preferred features of the other embodiments of the present invention. The exemplary embodiments herein disclosed are not intended to be exhaustive or to unnecessarily limit the scope of the invention. The exemplary embodiments were chosen and described in order to explain the principles of the present invention so that others skilled in the art may practice the invention. Having shown and described exemplary embodiments of the present invention, those skilled in the art will realize that many variations and modifications may be made to the described invention. Many of those variations and modifications will provide the same result and fall within the spirit of the claimed invention. It is the intention, therefore, to limit the invention only as indicated by the scope of the claims. The present invention is a building control system and method that comprises a first and second database where the first database is located remotely from the building control system and is synchronized with the second database which is located within the control system. The second database is used by the building control system to store configuration data and building system state data. The first database may be used to store preconfigured characteristics of a building control system before installation of the building control system. The present invention may also comprise a license database that provides license codes to the building control system where the building control system defaults to a minimum performance configuration if the building control system does not receive a valid code from the license database. 1. A building control system comprising:
a first database in electronic communication with a first building controller; the first building controller comprising:
a processor; a second database; a memory; a communications interface; a plurality of input/output connections; and software instructions which when executed cause the processor to:
retrieve building device control data from the second database; configure at least one of the plurality of input/output connections using the retrieved data to control a building system in electrical communication with the at least one input/output connection; and synchronize data between the first database and the second database. 2. The system of 3. The system of 4. The system of 5. The system of 6. The system of 7. The system of 8. The system of 9. The system of a license database in electronic communication with the first building controller; and software instructions which when executed cause the first building controller to set at least one input/output connection to a predetermined default state unless a valid license code is stored in the license database. 10. A method of configuring a building control system comprising the steps of:
receiving at a first database, data representing configuration settings for a building controller; causing the building controller to be in electronic communication with the first database; receiving at the building controller data representing the configuration settings of the building controller from the first database; storing the received building controller data into a second database; and executing software instructions to cause a processor to:
retrieving building controller data from the second database; and configuring at least one building controller interface circuit using the retrieved building controller data. 11. The method of data corresponding to the configuration of a plurality of building controller inputs; and data corresponding to the configuration of a plurality of building controller outputs. 12. The method of 13. A method of controlling building systems comprising the steps of:
configuring a building controller comprising output circuitry to be in electrical communication with a plurality of building systems; configuring the building controller to be in electronic communication with a wide area network; receiving at a processor located within the controller, controller configuration data from a first database; receiving at the processor, building system state data from the first database; causing at least one building controller output circuit to provide a signal to a building system where such signal is intended cause the building system to change state to correspond to the building system state data from the first database; and synchronizing controller configuration and building state data between the first database and a second database. 14. The method of receiving at the processor from the first database, building system state data corresponding to predetermined time periods; receiving at the processor, data corresponding to a then current time; and executing software instructions which cause the processor to instruct at least one output circuit to change state according to the building system state data with predetermined time periods that correspond to the received then current time data. 15. The method of 16. The method of TECHNICAL FIELD
BACKGROUND AND SUMMARY OF THE INVENTION
BRIEF DESCRIPTION OF THE DRAWINGS
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENT(S)









