This patent specification relates to systems and methods for coordinating energy use of disparately-controlled devices based on modeling characteristics of an enclosure. More particularly, this patent specification relates to enabling third party vendors to coordinate operation of third party devices existing within the enclosure with the enclosure's building control system to manage energy consumption.
It is often desired to reduce peak energy consumption within a home as measured over certain time frames, which can happen with there are two or more energy-intensive devices running at the same time. Accordingly, it would be useful to have a home control system that can control the operation of the devices to control the combined energy load within the home.
This patent specification relates to coordinating energy use of disparately-controlled devices based on predictive modeling characteristics of an enclosure. More particularly, this patent specification relates to enabling third party vendors to coordinate operation of third party devices existing within the enclosure with the enclosure's building control system to manage energy consumption. Embodiments discussed herein provide a smart control system associated with a building control system can generate near-term predictive models to simulate operation of the building control system and the thermal response of the enclosure to predict a run time operation of the system over the future near-term interval. The predictions can be generated using, for example, a state space model that accurately predicts when the system will be operating during the future near-term interval. This information can be stored in a database that is accessible by the third party vendor of a third party device. The third party vendor can use the future run time operation of the system to make sure that operation of the third party device is staggered with the future run time operation, while also optimizing the operation of the third party device in view of the constraints.
In one embodiment, a method for coordinating energy use of disparately-controlled devices located in a smart home is provided. The method can include accessing a thermal model prediction associated with a building control system of the smart home. The thermal model prediction can specify a future run time operation of the building control system. The method can include determining a third party device run time schedule based on the thermal model prediction. The third party device run time schedule can compliment the future run time operation in a manner that minimizes simultaneous aggregate power consumption by the building control system and a third party device operating according to the third party device run time schedule.
In another embodiment, a system that communicates with disparately controlled devices contained within an enclosure and with a third party vendor that controls operation of one of the disparately controlled devices is provided. The system can include a server that communicates with the disparately controlled devices, wherein the disparately controlled devices comprise a thermostat and a third party device, and a database coupled to the server, the database operative to store thermal model predictions associated with the enclosure and third party device run time schedules. The server can receive thermal model predictions from the thermostat on a periodic basis, store the received thermal model predictions in the database, and provide, from the database, a thermal model prediction to the third party vendor. The server can receive a third party device run time schedule from the third party vendor, wherein the received third party device run time schedule is coordinated with the thermal model prediction provided to the third party device, and provide the received third party device run time schedule to the third party device.
In yet another embodiment, a method for managing receipt of run time schedules for multiple third party devices is provided. The method can include receiving a request for a pending model prediction from a first third party application, and determining whether any third party device run time schedules are currently coordinated with the pending model prediction. If the determining is NO, the pending model prediction can be provided to the first third party application. If the determining is YES, the pending model prediction and each third party run time schedule currently coordinated with the pending model prediction can be provided to the first third party application. The method can include receiving a run time schedule from the first third party application.
A further understanding of the nature and advantages of the embodiments discussed herein may be realized by reference to the remaining portions of the specification and the drawings.
In the following detailed description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of the various embodiments. Those of ordinary skill in the art will realize that these various embodiments are illustrative only and are not intended to be limiting in any way. Other embodiments will readily suggest themselves to such skilled persons having the benefit of this disclosure.
In addition, for clarity purposes, not all of the routine features of the embodiments described herein are shown or described. One of ordinary skill in the art would readily appreciate that in the development of any such actual embodiment, numerous embodiment-specific decisions may be required to achieve specific design objectives. These design objectives will vary from one embodiment to another and from one developer to another. Moreover, it will be appreciated that such a development effort might be complex and time-consuming but would nevertheless be a routine engineering undertaking for those of ordinary skill in the art having the benefit of this disclosure.
It is to be appreciated that while one or more embodiments are described further herein in the context of typical building control systems used in a residential home, such as single-family residential home, the scope of the present teachings is not so limited. More generally, thermostats according to one or more of the preferred embodiments are applicable for a wide variety of enclosures having one or more building control systems including, without limitation, duplexes, townhomes, multi-unit apartment buildings, hotels, retail stores, office buildings and industrial buildings. Further, it is to be appreciated that while the terms user, customer, installer, homeowner, occupant, guest, tenant, landlord, repair person, and the like may be used to refer to the person or persons who are interacting with the thermostat or other device or user interface in the context of one or more scenarios described herein, these references are by no means to be considered as limiting the scope of the present teachings with respect to the person or persons who are performing such actions.
Provided according to one or more embodiments are systems, methods, computer program products, and related business methods for controlling one or more building control systems or HVAC systems based on one or more versatile sensing and control units (VSCU units), each VSCU unit being configured and adapted to provide sophisticated, customized, energy-saving HVAC control functionality while at the same time being visually appealing, non-intimidating, elegant to behold, and delightfully easy to use. The term “thermostat” is used hereinbelow to represent a particular type of VSCU unit (Versatile Sensing and Control) that is particularly applicable for HVAC control in an enclosure. Although “thermostat” and “VSCU unit” may be seen as generally interchangeable for the contexts of HVAC control of an enclosure, it is within the scope of the present teachings for each of the embodiments hereinabove and hereinbelow to be applied to VSCU units having control functionality over measurable characteristics other than temperature (e.g., pressure, flow rate, height, position, velocity, acceleration, capacity, power, loudness, brightness) for any of a variety of different control systems involving the governance of one or more measurable characteristics of one or more physical systems, and/or the governance of other energy or resource consuming systems such as water usage systems, air usage systems, systems involving the usage of other natural resources, and systems involving the usage of various other forms of energy.
Various methods, apparatus, systems, and computer-readable mediums are described herein that concern the field of thermodynamic behavioral modeling of structures. In many modern systems, including systems such include HVAC systems which manage the environmental characteristics in a structure, it is desirable to predict the thermodynamic behavior of a structure. Such predictions may have a variety of tangible, beneficial uses. In modern building control systems, such predictions may be used on a daily basis to accurately actuate the system in reaching or maintaining desired setpoint temperatures or to manage energy consumption. In addition, such predictions may be made available to third party vendors so that the third party vendor can coordinate the operation of their respective third party devices in connection with the building system and/or other third party devices operating within the structure in order to manage energy consumption within the structure. For example, third party devices can be refrigerators, freezers, lighting systems, energy storage systems, or other energy related devices contained within the structure. A third party application can be provided with a thermal model prediction, and based on that prediction, can schedule run times of its respective device so that it is staggered with the run time of the building system. This way, the operation of the building control system and the third party device can be staggered so as to reduce potential for peak power consumption events.
The third party devices and the building control system are disparately controlled. That is, each device is independently controlled by its own control system/software; they are not all controlled by a single god-like device that has infinite knowledge of all devices operating within the enclosure. Although, a single god-like device is in theory possible, implementation of such a device is not practical and do not work. Embodiments discussed herein provide a smart control system associated with a HVAC system can generate near-term predictive models to simulate operation of the HVAC system and the thermal response of the enclosure to predict a control trajectory of the HVAC system over the future near-term interval. The predictions can be generated using, for example, a state space model that accurately predicts when the HVAC system will be ON and OFF during the future near-term interval. This information can be stored in a database that is accessible by the third party vendor of a third party device. The third party vendor can use the predicted run time operation of the HVAC system to make sure that run times of the third party device are staggered with the predicted run time operation of the HVAC system, while also optimizing the operation of the third party device in view of the constraints.
In some embodiments, the third party vendor can publish its third party run time schedule to the database so that other vendors can access it and take it and the model prediction into account when formulating their respective run time schedules. If conflicts exist between among two or more third party vendors (i.e., both vendors have overlapping active operation periods that would result in excessive power consumption), a server (e.g., the server that maintains the database) may arbitrate which vendor has priority. The priority may be based on any number of different suitable criteria, including for example, first vendor in line, preferred vendors, and designated priority of vendors.
The predictive run time operation of the building control system can be obtained through the use of a thermodynamic model of the structure. The thermodynamic model itself may be defined by a state space model that characterizes the thermodynamic response of an enclosure, such as indoor temperature, in response to application of a stimulus, such as a change in HVAC actuation state and outdoor temperature. The state-space model is adaptable to incorporate actual measured data to update the model and is adaptable to incorporate new inputs and measured data points.
It should be recognized that the term “thermodynamic” may include all state variables that can be used to characterize a physical system. Examples of thermodynamic variables include, but are not limited to: pressure, temperature, airflow, humidity, and particulate matter. Further, the term “model” refers generally to a description or representation of a system. The description or representation can use mathematical language, such as in the case of mathematical models. Examples of such models used herein include state-space model or multi-input, multi-output systems.
The thermal model described herein can enable a control system, a thermostat and/or servers to compute accurate predictions related to temperature, humidity, HVAC runtime, and other factors pertaining to a particular enclosure. The thermal model can be used to predict energy consumption of the HVAC system to achieve desired thermal characteristics within the enclosure within a future time frame. The results of the thermal model can be used by a thermostat contained within the enclosure to control the operation of the HVAC system. In addition, the results of the thermal model can be also used as data inputs to the company that sells the thermostat so that information can be further analyzed, for example, by more powerful computers. Further still, the analyzed results of the thermal model may be provided to third party vendors (e.g., a smart home refrigerator vendor or energy partner so that it can make better assessments of energy production). In yet another approach, third party providers may be granted access to the thermal model and/or its results via an API.
Turning now to the figures,
Sensors 102 as described herein generally includes devices or systems that measure and/or register a substance, physical phenomenon and/or physical quantity. The sensor may convert a measurement into a signal, which can be interpreted by an observer, instrument and/or system. A sensor can be implemented as a special purpose device and/or can be implemented as software running on a general-purpose computer system. By way of example and not by way of limitation, one or more sensors 102 in a device 100 may be able to, e.g., detect acceleration, temperature, humidity, water, supplied power, proximity, external motion, device motion, sound signals, ultrasound signals, light signals, fire, smoke, carbon monoxide, global-positioning-satellite (GPS) signals, or radio-frequency (RF) or other electromagnetic signals or fields. Thus, for example, sensors 102 can include temperature sensor(s), humidity sensor(s), hazard-related sensor(s) or other environmental sensor(s), accelerometer(s), microphone(s), optical sensor(s) up to and including camera(s) (e.g., charged-coupled-device or video cameras), active or passive radiation sensor(s), GPS receiver(s) or radio-frequency identification detector(s). While
One or more user-interface components 104 in device 100 may be configured to present information to a user via a visual display (e.g., a thin-film-transistor display or organic light-emitting-diode display) and/or an audio speaker and/or some other communication medium. User-interface component 104 can also include one or more user-input components to receive information from a user, such as a touchscreen, buttons, scroll component (e.g., a movable or virtual ring component), microphone or camera (e.g., to detect gestures). In one embodiment, user-input component 104 includes a click-and-rotate annular ring component, wherein a user can interact with the component by rotating the ring (e.g., to adjust a setting) and/or by clicking the ring inwards (e.g., to select an adjusted setting or to select an option). In another embodiment, user-input component 104 includes a camera, such that gestures can be detected (e.g., to indicate that a power or alarm state of a device is to be changed).
A power-supply component in device 100 may include a power connection 106 and/or local battery 108. For example, power connection 106 can connect device 100 to a power source such as a line voltage source. In some instances, connection 106 to an AC power source can be used to repeatedly charge a (e.g., rechargeable) local battery 108, such that battery 108 can later be used to supply power if needed in the event of an AC power disconnection or other power deficiency scenario.
A communications component 110 in device 100 can include a component that enables device 100 to communicate with a central server or a remote device, such as another device described herein or a portable user device. Communications component 110 can allow device 100 to communicate via, e.g., Wi-Fi, ZigBee, 3G/4G wireless, CAT6 wired Ethernet, HomePlug or other powerline communications method, telephone, or optical fiber, by way of non-limiting examples. Communications component 110 can include a wireless card, an Ethernet plug, or another transceiver connection. In some embodiments, the communications component 110 facilitates communication with a central server to synchronize information between device 100, the central server, and in some cases additional devices. Techniques for synchronizating data between such devices are further described in the commonly assigned U.S. Pat. No. 8,635,373.
A modularity unit in device 100 can include a static physical connection, and a replaceable module 114. Thus, the modularity unit can provide the capability to upgrade replaceable module 114 without completely reinstalling device 100 (e.g., to preserve wiring). The static physical connection can include a docking station 112 (which may also be termed an interface box) that can attach to a building structure. For example, docking station 112 could be mounted to a wall via screws or stuck onto a ceiling via adhesive. Docking station 112 can, in some instances, extend through part of the building structure. For example, docking station 112 can connect to wiring (e.g., to 120V line voltage wires) behind the wall via a hole made through a wall's sheetrock. Docking station 112 can include circuitry such as power-connection circuitry 106 and/or AC-to-DC powering circuitry and can prevent the user from being exposed to high-voltage wires. Docking station 112 may also or alternatively include control circuitry for actuating (i.e., turning on and off) elements of an HVAC system, such as a heating unit (for heating the building structure), an air-condition unit (for cooling the building structure), and/or a ventilation unit (for circulating air throughout the building structure). In some instances, docking stations 112 are specific to a type or model of device, such that, e.g., a thermostat device includes a different docking station than a smoke detector device. In some instances, docking stations 112 can be shared across multiple types and/or models of devices 100.
Replaceable module 114 of the modularity unit can include some or all sensors 102, processors, user-interface components 104, batteries 108, communications components 110, intelligence components 116 and so forth of the device. Replaceable module 114 can be configured to attach to (e.g., plug into or connect to) docking station 112. In some instances, a set of replaceable modules 114 are produced with the capabilities, hardware and/or software, varying across the replaceable modules 114. Users can therefore easily upgrade or replace their replaceable module 114 without having to replace all device components or to completely reinstall device 100. For example, a user can begin with an inexpensive device including a first replaceable module with limited intelligence and software capabilities. The user can then easily upgrade the device to include a more capable replaceable module. As another example, if a user has a Model #1 device in their basement, a Model #2 device in their living room, and upgrades their living-room device to include a Model #3 replaceable module, the user can move the Model #2 replaceable module into the basement to connect to the existing docking station. The Model #2 replaceable module may then, e.g., begin an initiation process in order to identify its new location (e.g., by requesting information from a user via a user interface).
Intelligence components 116 of the device can support one or more of a variety of different device functionalities. Intelligence components 116 generally include one or more processors configured and programmed to carry out and/or cause to be carried out one or more of the advantageous functionalities described herein. The intelligence components 116 can be implemented in the form of general-purpose processors carrying out computer code stored in local memory (e.g., flash memory, hard drive, random access memory), special-purpose processors or application-specific integrated circuits, combinations thereof, and/or using other types of hardware/firmware/software processing platforms. The intelligence components 116 can furthermore be implemented as localized versions or counterparts of algorithms carried out or governed remotely by central servers or cloud-based systems, such as by virtue of running a Java virtual machine (JVM) that executes instructions provided from a cloud server using Asynchronous Javascript and XML (AJAX) or similar protocols. By way of example, intelligence components 116 can be configured to detect when a location (e.g., a house or room) is occupied, up to and including whether it is occupied by a specific person or is occupied by a specific number and/or set of people (e.g., relative to one or more thresholds). Such detection can occur, e.g., by analyzing microphone signals, detecting user movements (e.g., in front of a device), detecting openings and closings of doors or garage doors, detecting wireless signals, detecting an IP address of a received signal, or detecting operation of one or more devices within a time window. Intelligence components 116 may include image-recognition technology to identify particular occupants or objects.
In some instances, intelligence components 116 can be configured to predict desirable settings and/or to implement those settings. For example, based on the presence detection, intelligence components 116 can adjust device settings to, e.g., conserve power when nobody is home or in a particular room or to accord with user preferences (e.g., general at-home preferences or user-specific preferences). As another example, based on the detection of a particular person, animal or object (e.g., a child, pet or lost object), intelligence components 116 can initiate an audio or visual indicator of where the person, animal or object is or can initiate an alarm or security feature if an unrecognized person is detected under certain conditions (e.g., at night or when lights are out). As yet another example, intelligence components 116 can detect hourly, weekly or even seasonal trends in user settings and adjust settings accordingly. For example, intelligence components 116 can detect that a particular device is turned on every week day at 6:30 am, or that a device setting is gradually adjusted from a high setting to lower settings over the last three hours. Intelligence components 116 can then predict that the device is to be turned on every week day at 6:30 am or that the setting should continue to gradually lower its setting over a longer time period.
In some instances, devices can interact with each other such that events detected by a first device influence actions of a second device. For example, a first device can detect that a user has pulled into a garage (e.g., by detecting motion in the garage, detecting a change in light in the garage or detecting opening of the garage door). The first device can transmit this information to a second device, such that the second device can, e.g., adjust a home temperature setting, a light setting, a music setting, and/or a security-alarm setting. As another example, a first device can detect a user approaching a front door (e.g., by detecting motion or sudden light-pattern changes). The first device can, e.g., cause a general audio or visual signal to be presented (e.g., such as sounding of a doorbell) or cause a location-specific audio or visual signal to be presented (e.g., to announce the visitor's presence within a room that a user is occupying).
Device 100 has a cover 122 that includes a display 124 (that may be, e.g., part of user interface 104). Head unit 114 slides onto back plate 112. Display 124 may display a variety of information depending on, e.g., a current operational state of the device 100, direct user interaction with the device via ring 120, sensed presence of the user via, e.g., a proximity sensor 102 (such as a passive infrared motion sensor), remote user interaction with the device via a remote access device, etc. For example, display 124 may display central numerals that are representative of a current setpoint temperature.
According to some embodiments the connection of the head unit 114 to back plate 112 can be accomplished using magnets, bayonet, latches and catches, tabs or ribs with matching indentations, or simply friction on mating portions of the head unit 114 and back plate 112. According to some embodiments, the head unit 114 includes battery 108, communications component 110, intelligence components 116, and a display driver 126 (that may be, e.g., part of user interface 104). Battery 108 may be recharged using recharging circuitry (that may be, e.g., part of intelligence components 116 and/or may be included in the back plate 112) that uses power from the back plate 112 that is either obtained via power harvesting (also referred to as power stealing and/or power sharing) from the HVAC system control circuit(s) or from a common wire, if available. According to some embodiments, battery 108 is a rechargeable single cell lithium-ion, or a lithium-polymer battery.
Back plate 112 includes electronics 130 and a temperature sensor 132 (that may be, e.g., one of sensors 102) in housing 134, which are ventilated via vents 136. Temperature sensor 132 allows the back plate 112 to operate as a fully functional thermostat even when not connected to the head unit 114. Wire connectors 138 are provided to allow for connection to HVAC system wires, such as connection to wires for actuating components of the HVAC system, wires for receiving power from the HVAC system, etc. Connection terminal 140 is a male or female plug connector that provides electrical connections between the head unit 114 and back plate 112.
In some embodiments, the back plate electronics 130 includes an MCU processor, and driver circuitry for opening and closing the HVAC control circuits, thereby turning on and turning off the one or more HVAC functions such as heating and cooling. The electronics 130 also includes flash memory which is used to store a series of programmed settings that take effect at different times of the day, such that programmed setpoint (i.e., desired temperature) changes can be carried out even when the head unit 114 is not attached to the back plate 112. According to some embodiments, the electronics 130 also includes power harvesting circuitry (that may be in addition or alternatively to that provided in head unit 114) to obtain power from the HVAC control circuit(s) even when an HVAC common power wire is not available.
Device 100 in certain embodiments is an intelligent, network-connected learning thermostat that includes various components such as a head unit, a back plate, a user interface, communications components, intelligent components, etc. However, it will be appreciated by those skilled in the art that devices that perform the various operations described herein could operate equally well with fewer or a greater number of components than are illustrated in
The smart home environment 200 includes a plurality of rooms 252, separated at least partly from each other via walls 254. The walls 254 can include interior walls or exterior walls. Each room can further include a floor 256 and a ceiling 258. Devices can be mounted on, integrated with and/or supported by a wall 254, floor 256 or ceiling 258. The various devices that may be incorporated within the smart home environment 200 include intelligent, multi-sensing, network-connected devices that can integrate seamlessly with each other and/or with cloud-based server systems to provide any of a variety of useful smart home objectives. An intelligent, multi-sensing, network-connected thermostat 202 can detect ambient climate characteristics (e.g., temperature and/or humidity) and control a building control system 203 such as a heating, ventilation and air-conditioning (HVAC) system. It should be recognized that while control of an HVAC system is described herein, similar principles can equally be applied to controlling other temperature/humidity control systems, such as a heating system, an air conditioning system, a humidity control system, or any combination thereof. One or more intelligent, network-connected, multi-sensing hazard detection units 204 can detect the presence of a hazardous substance and/or a hazardous condition in the home environment (e.g., smoke, fire, or carbon monoxide). One or more intelligent, multi-sensing, network-connected entryway interface devices 206, which can be termed a “smart doorbell”, can detect a person's approach to or departure from a location, control audible functionality, announce a person's approach or departure via audio or visual means, or control settings on a security system (e.g., to activate or deactivate the security system).
In some embodiments, the smart home may include at least one energy consumption meter 218 such as a smart meter. The energy consumption meter 218 monitors some or all energy (electricity, gas, etc.) consumed by the devices in and around the structure 250. The energy consumption meter 218 may display the amount of energy consumed over a given period of time on a surface of the meter 218. The given period may be, e.g., a second, a minute, an hour, a day, a month, a time span less than one second, a time span greater than a month, or a time span between one second and one month. In some embodiments, the energy consumption meter 218 may include communication capabilities (wired or wireless) that enable the meter 218 to communicate various information, e.g., the amount of energy consumed over one or more given periods, the price of energy at any particular time or during any particular period of time, etc. The communication capabilities may also enable the meter to receive various information. For example, the meter may receive instructions for controlling one or more devices in the smart home such as the HVAC system 203, the price of energy at any particular time or during any particular period of time, etc. To facilitate control of devices in and around the structure 250, the meter 218 may be wired or wirelessly connected to such devices.
Each of a plurality of intelligent, multi-sensing, network-connected wall light switches 208 can detect ambient lighting conditions, detect room-occupancy states and control a power and/or dim state of one or more lights. In some instances, light switches 208 can further or alternatively control a power state or speed of a fan, such as a ceiling fan. Each of a plurality of intelligent, multi-sensing, network-connected wall plug interfaces 210 can detect occupancy of a room or enclosure and control supply of power to one or more wall plugs (e.g., such that power is not supplied to the plug if nobody is at home). The smart home may further include a plurality of intelligent, multi-sensing, network-connected appliances 212, such as refrigerators, stoves and/or ovens, televisions, washers, dryers, lights (inside and/or outside the structure 250), stereos, intercom systems, garage-door openers, floor fans, ceiling fans, whole-house fans, wall air conditioners, pool heaters 214, irrigation systems 216, security systems, and so forth. While descriptions of
In addition to containing processing and sensing capabilities, each of the devices within the smart home environment 200 can be capable of data communications and information sharing with any other devices within the smart home environment 200, as well as to any devices outside the smart home environment 240 such as the access device 266 and/or remote server 264. The devices can send and receive communications via any of a variety of custom or standard wireless protocols (Wi-Fi, ZigBee, 6LoWPAN, IR, IEEE 802.11, IEEE 802.15.4, etc.) and/or any of a variety of custom or standard wired protocols (CAT6 Ethernet, HomePlug, etc.). The wall plug interfaces 210 can serve as wireless or wired repeaters, and/or can function as bridges between (i) devices plugged into AC outlets and communicating using Homeplug or other power line protocol, and (ii) devices that are not plugged into AC outlets.
For example, a first device can communicate with a second device via a wireless router 260. A device can further communicate with remote devices via a connection to a network, such as the network 262. Through the network 262, the device can communicate with a central (i.e., remote) server or a cloud-computing system 264. The remote server or cloud-computing system 264 can be associated with a manufacturer, support entity or service provider associated with the device. In one embodiment, a user may be able to contact customer support using a device itself rather than needing to use other communication means such as a telephone or Internet-connected computer.
Devices' network connections can further allow a user to interact with the device even if the user is not proximate to the device. For example, a user can communicate with a device (e.g., thermostat 202) using a computer (e.g., a desktop computer, laptop computer, or tablet) or other portable electronic device (e.g., a smartphone) 266. A webpage or app can be configured to receive communications from the user and control the device based on the communications and/or to present information about the device's operation to the user. For example, when the portable electronic device 266 is being used to interact with the thermostat 202, the user can view a current setpoint temperature for a thermostat and adjust it using the portable electronic device 266. The user can be in the structure during this remote communication or outside the structure. The communications between the portable electronic device 266 and the thermostat 202 may be routed via the remote server 264 (e.g., when the portable electronic device 266 is remote from structure 250) or, in some embodiments, may be routed exclusive of the remote server 264.
The smart home environment 200 also can include a variety of non-communicating legacy appliances 240, such as old conventional washer/dryers, refrigerators, and the like which can be controlled, albeit coarsely (ON/OFF), by virtue of the wall plug interfaces 210. The smart home can further include a variety of partially communicating legacy appliances 242, such as IR-controlled wall air conditioners or other IR-controlled devices, which can be controlled by IR signals provided by the hazard detection units 204 or the light switches 208 or, in some embodiments, by using socket-based communication protocol such as powerline to communicate via a wall plug interface 210.
Smart home 200 in certain embodiments is an environment including a number of client devices and access devices all operable to communicate with one another as well as with devices or systems external to the smart home 200 such as remote server 264. However, it will be appreciated by those skilled in the art that such an environment could operate equally well having fewer or a greater number of components than are illustrated in
The remote server or cloud-computing system 264 can collect operation data 302 from the smart home devices. For example, the devices can routinely transmit operation data or can transmit operation data in specific instances (e.g., when requesting customer support). The remote server or cloud-computing architecture 264 can further provide one or more services 304. The services 304 can include, e.g., software update, customer support, sensor data collection/logging, remote access, remote or distributed control, or use suggestions (e.g., based on collected operation data 304 to improve performance, reduce utility cost, etc.). Data associated with the services 304 can be stored at the remote server or cloud-computing system 264 and the remote server or cloud-computing system 264 can retrieve and transmit the data at an appropriate time (e.g., at regular intervals, upon receiving request from a user, etc.).
One salient feature of the described extensible devices and services platform, as illustrated in
The derived data can be highly beneficial at a variety of different granularities for a variety of useful purposes, ranging from explicit programmed control of the devices on a per-home, per-neighborhood, or per-region basis (for example, demand-response programs for electrical utilities), to the generation of inferential abstractions that can assist on a per-home basis (for example, an inference can be drawn that the homeowner has left for vacation and so security detection equipment can be put on heightened sensitivity), to the generation of statistics and associated inferential abstractions that can be used for government or charitable purposes. For example, the processing engine 306 can generate statistics about device usage across a population of devices and send the statistics to device users, service providers or other entities (e.g., that have requested or may have provided monetary compensation for the statistics). As specific illustrations, statistics can be transmitted to charities 322, governmental entities 324 (e.g., the Food and Drug Administration or the Environmental Protection Agency), academic institutions 326 (e.g., university researchers), businesses 328 (e.g., providing device warranties or service to related equipment), or utility companies 330. These entities can use the data to form programs to reduce energy usage, to preemptively service faulty equipment, to prepare for high service demands, to store past service performance, etc., or to perform any of a variety of beneficial functions or tasks now known or hereinafter developed.
For example,
Processing engine 306 can integrate or otherwise utilize extrinsic information 416 from extrinsic sources to improve the functioning of one or more processing paradigms. Extrinsic information 416 can be used to interpret operational data received from a device, to determine a characteristic of the environment near the device (e.g., outside a structure that the device is enclosed in), to determine services or products available to the user, to identify a social network or social-network information, to determine contact information of entities (e.g., public-service entities such as an emergency-response team, the police or a hospital) near the device, etc., to identify statistical or environmental conditions, trends or other information associated with a home or neighborhood, and so forth.
An extraordinary range and variety of benefits can be brought about by, and fit within the scope of, the described extensible devices and services platform, ranging from the ordinary to the profound. Thus, in one “ordinary” example, each bedroom of the smart home can be provided with a smoke/fire/CO alarm that includes an occupancy sensor, wherein the occupancy sensor is also capable of inferring (e.g., by virtue of motion detection, facial recognition, audible sound patterns, etc.) whether the occupant is asleep or awake. If a serious fire event is sensed, the remote security/monitoring service or fire department is advised of how many occupants there are in each bedroom, and whether those occupants are still asleep (or immobile) or whether they have properly evacuated the bedroom. While this is, of course, a very advantageous capability accommodated by the described extensible devices and services platform, there can be substantially more “profound” examples that can truly illustrate the potential of a larger “intelligence” that can be made available. By way of perhaps a more “profound” example, the same data bedroom occupancy data that is being used for fire safety can also be “repurposed” by the processing engine 306 in the context of a social paradigm of neighborhood child development and education. Thus, for example, the same bedroom occupancy and motion data discussed in the “ordinary” example can be collected and made available for processing (properly anonymized) in which the sleep patterns of schoolchildren in a particular ZIP code can be identified and stored. Localized variations in the sleeping patterns of the schoolchildren may be identified and correlated, for example, to different nutrition programs in local schools.
Special-purpose computer system 500 comprises a computer 502, a monitor 504 coupled to computer 502, one or more additional user output devices 506 (optional) coupled to computer 502, one or more user input devices 508 (e.g., keyboard, mouse, track ball, touch screen) coupled to computer 502, an optional communications interface 510 coupled to computer 502, and a computer-program product including a tangible computer-readable storage medium 512 in or accessible to computer 502. Instructions stored on computer-readable storage medium 512 may direct system 500 to perform the methods and processes described herein. Computer 502 may include one or more processors 514 that communicate with a number of peripheral devices via a bus subsystem 516. These peripheral devices may include user output device(s) 506, user input device(s) 508, communications interface 510, and a storage subsystem, such as random access memory (RAM) 518 and non-volatile storage drive 520 (e.g., disk drive, optical drive, solid state drive), which are forms of tangible computer-readable memory.
Computer-readable medium 512 may be loaded into random access memory 518, stored in non-volatile storage drive 520, or otherwise accessible to one or more components of computer 502. Each processor 514 may comprise a microprocessor, such as a microprocessor from Intel® or Advanced Micro Devices, Inc.®, or the like. To support computer-readable medium 512, the computer 502 runs an operating system that handles the communications between computer-readable medium 512 and the above-noted components, as well as the communications between the above-noted components in support of the computer-readable medium 512. Operating systems can include, for example, Windows® or the like from Microsoft Corporation, Solaris® from Sun Microsystems, LINUX, UNIX, and the like. In many embodiments and as described herein, the computer-program product may be an apparatus (e.g., a hard drive including case, read/write head, etc., a computer disc including case, a memory card including connector, case, etc.) that includes a computer-readable medium (e.g., a disk, a memory chip, etc.). In other embodiments, a computer-program product may comprise the instruction sets, or code modules, themselves, and be embodied on a computer-readable medium.
User input devices 508 include all possible types of devices and mechanisms to input information to computer system 502. These may include a keyboard, a keypad, a mouse, a scanner, a digital drawing pad, a touch screen incorporated into the display, audio input devices such as voice recognition systems, microphones, and other types of input devices. In various embodiments, user input devices 508 are typically embodied as a computer mouse, a trackball, a track pad, a joystick, wireless remote, a drawing tablet, a voice command system. User input devices 508 typically allow a user to select objects, icons, text and the like that appear on the monitor 504 via a command such as a click of a button or the like. User output devices 506 include all possible types of devices and mechanisms to output information from computer 502. These may include a display (e.g., monitor 504), printers, non-visual displays such as audio output devices, etc.
Communications interface 510 provides an interface to other communication networks and devices and may serve as an interface to receive data from and transmit data to other systems, WANs and/or the Internet, via a wired or wireless communication network 522. Embodiments of communications interface 510 typically include an Ethernet card, a modem (telephone, satellite, cable, ISDN), a (asynchronous) digital subscriber line (DSL) unit, a FireWire® interface, a USB® interface, a wireless network adapter, and the like. For example, communications interface 510 may be coupled to a computer network, to a FireWire® bus, or the like. In other embodiments, communications interface 510 may be physically integrated on the motherboard of computer 502, and/or may be a software program, or the like.
RAM 518 and non-volatile storage drive 520 are examples of tangible computer-readable media configured to store data such as computer-program product embodiments, including executable computer code, human-readable code, or the like. Other types of tangible computer-readable media include floppy disks, removable hard disks, optical storage media such as CD-ROMs, DVDs, bar codes, semiconductor memories such as flash memories, read-only-memories (ROMs), battery-backed volatile memories, networked storage devices, and the like. RAM 518 and non-volatile storage drive 520 may be configured to store the basic programming and data constructs that provide the functionality of various embodiments, as described above.
Software instruction sets that provide the functionality may be stored in computer-readable medium 512, RAM 518, and/or non-volatile storage drive 520. These instruction sets or code may be executed by the processor(s) 514. Computer-readable medium 512, RAM 518, and/or non-volatile storage drive 520 may also provide a repository to store data and data structures used in accordance with embodiments. RAM 518 and non-volatile storage drive 520 may include a number of memories including a main random access memory (RAM) to store of instructions and data during program execution and a read-only memory (ROM) in which fixed instructions are stored. RAM 518 and non-volatile storage drive 520 may include a file storage subsystem providing persistent (non-volatile) storage of program and/or data files. RAM 518 and non-volatile storage drive 520 may also include removable storage systems, such as removable flash memory.
Bus subsystem 516 provides a mechanism to allow the various components and subsystems of computer 502 communicate with each other as intended. Although bus subsystem 516 is shown schematically as a single bus, alternative embodiments of the bus subsystem may utilize multiple busses or communication paths within the computer 502.
For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory. Memory may be implemented within the processor or external to the processor. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other storage medium and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
Moreover, as disclosed herein, the term “storage medium” may represent one or more memories for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information. The term “machine-readable medium” includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels, and/or various other storage mediums capable of storing that contain or carry instruction(s) and/or data.
Remote server 620 can include thermal model 622 and database 624. Remote server 620 can be any suitable server that can communicate with enclosure 610 and third party vendors 630. Thermal model 622 may be used in lieu of, or in addition to, thermal model 611. For example, thermal model 622 may be used if additional processing power is needed to generate the model predictions. Database 624 may store model predictions provided by thermal model 611 and/or thermal model 622. Database 624 may also store run time schedules provided by any one or more of third party vendors 630.
Third party vendors 630 can be remote servers or applications affiliated with a third party device (e.g., one of devices 615) contained in enclosure 610. For example, third party vendor 635a may be affiliated with third party device 615a, third party device 635b may be affiliated with third party device 615b, and so on. Third party vendors 630 can communicate with their respective devices (directly or indirectly via remote server 620) and can control the operation of their devices. For example, third party vendors can generate run time schedules that govern the operation of the devices. In accordance with various embodiments discussed herein, third party vendors 630 can access model predictions and/or other third party stored run time schedules stored in database 624 and can generate a run time schedule for its respective third party device. This way, when the third party device operates according to its run time schedule, the third party device's operation is coordinated with the predicted operation of the building control system.
The runtime schedule can vary depending on the type of third party device to which it is associated. For example, if the third party device is an energy consumption device, such as a refrigerator, then the run time schedule can include an ON/OFF run time schedule. If the third party device is an energy storage unit, such as a battery or car, the run time schedule can define a charge/discharge schedule.
Thermal model 611 or 622 may include computational logic that is operable to predict the thermodynamic behavior of a structure based historical observations of the enclosure, and inputs affecting the thermodynamics of the enclosure. Thermal models 611 and 622 may include a variety of computational logic for modeling such predictions, such as a thermodynamic state-space model engine and its own database. The thermodynamic state-space model engine can be a recursively learning model that characterizes the thermodynamic properties of an enclosure (e.g., structure such as a house) by taking any into any number of different inputs that affect the thermodynamic characteristics of the enclosure and learning from any errors in its predictions of any number of outputs generated to quantify environmental parameters of the enclosure based on actual internal enclosure parameter measurements fed back into the model. The thermal model database can maintain historical information characterizing the enclosure and sensor data. The historical information can include all data collected over the lifetime of the enclosure thereby providing a comprehensive historical database for model engine to leverage when modeling thermodynamic characteristics of the enclosure. The historical information stored in the database may be selectively updated with new data and with a bias to “forget” old data. This way, whenever relatively abrupt changes are introduced into the enclosure (e.g., a new sensor that provides additional measurement data or a new input), such changes are rapidly assimilated into to the database so that the model engine is provided with up-to-date data to provide more accurate predictions. This is in contrast with conventional database paradigms that have to rebuild a model from scratch whenever such an abrupt change is introduced. The model engine is not constrained as such because its state-space representation of the enclosure immediately evolves in response to any new data stored in the model database.
The thermal model according to embodiments discussed herein can be represented by a linear multi input multi output (MIMO) system, and in particular can be represented by a linear time-invariant (LTI) state-space system. This advantageously makes the thermal model compatible with existing analyses tools and control strategies. In addition, the inputs for the thermal model can be actual physical factors that affect the thermal dynamics of the enclosure. This is in contrast to conventional models that empirically determine nonlinear inputs. In addition, the thermal model can be general model that is learned and mapped for example to different zones.
Further still, only one thermal model needs to be learned to predict all the different HVAC operational stages or states. This way, the relative strengths of each HVAC operational stage can be appropriately modeled. This is in contrast with conventional modeling techniques that have to create a separate model for each HVAC operational stage. For example, different HVAC operational stages can include no HVAC operations, first stage heat, first and second stage heat, and first, second, and auxiliary heat.
The thermal state-space model can employ a recursive subspace identification algorithm that rapidly accommodates new additions of training data. The algorithm is recursive in the sense that the model has an intermediate state, which can be used as a history object, which can be stored in the model database. Whenever new training data becomes available, the history object is updated using only the new data. In addition, the algorithm can employ a “forgetting” factor that enables the thermal model to be adaptive over time. The thermal model may be initially programmed with an “out-of-the-box” history object. The out-of-the-box history object may be based on the thermostat's geographic location, the HVAC system the thermostat is controlling, enclosure type (e.g., house or office building), and any other suitable criteria. This enables the thermostat to begin immediate thermal modeling predictions, without having to wait for training data to be provided by various devices within the enclosure. The “forgetting” factor can enable the thermal model to evolve from the initial model and adapt to the actual thermodynamics of the enclosure.
The thermal model can be tunable to find a stable higher-order model. The ability to tune the order of the model enables the thermal model to account for higher order thermodynamics of the enclosure and thereby compute more accurate predictions (e.g., especially for short-cycle HVAC run times). With each new set of training data, the recursive subspace identification algorithm can tune itself to the highest order model it can sustain. If a particular order model cannot be sustained, the algorithm may attempt to stabilize at a lower order model. And if no order model can be sustained, the set of new training data may be discarded and the model may revert back to the highest sustainable order.
The thermal model according to embodiments discussed herein can be represented by the following state-space model:
where x(k)εRn, u(k)εy(k)εR1. The vectors, x, u, e, and y, and mapping functions A, B, C, and K are explained below in connection with
The mapping functions A, B, C, and K can represent state-space matrices that may be calculated by the thermodynamic state-space engine according to various embodiments on a periodic basis (e.g., once a day). The state-space engine may make assumptions that correlations exist between inputs and outputs (e.g., an HVAC input will affect temperature and humidity within the enclosure) so that the state-space matrices (e.g., A, B, C, and K mapping functions) can be calculated. When the state-space matrices are found, the state-space engine can determine that predicted outputs, y(k) and the next state space x(k±1) can be calculated.
One of the advantages of the thermal model defined by the state-space described in connection with
Inputs 810 can represent various factors that can affect the thermodynamic characteristics of an enclosure. The inputs can include, for example, HVAC states 811, outdoor temperature 812, ambient light 813, window states 814, door states 815, occupancy 816, clock 817, and weather 818. It should be understood that any additional inputs can be added and any inputs listed herein can be omitted. HVAC states 811 can represent all the different possible HVAC operational states that can be imposed on the enclosure (e.g., single stage, dual stage, dual stage and auxiliary pump, etc.). Outdoor temperature 812 can represent the temperature outside of the enclosure. Ambient light 813 can represent how much ambient light is striking the enclosure. Window and door states 814 and 815 may represent whether windows and doors are open or closed. Occupancy 816 can indicate whether any persons are present or expected to be present. Clock 817 can include calendar and time of day information. Weather 818 can indicate current conditions (e.g., temperature, humidity, wind, etc.) and predicted conditions.
Current state-space 820, correction factor 850, and next state-space 860 have been discussed above and require no further explanation.
Predicted outputs 830 can represent various predicted outputs generated by state-space model 800. Any suitable number of outputs may be generated. If desired, multiple outputs can be generated for each sensor/device. For example, as shown, outputs 831 and 833 may represent predicted indoor temperature for sensors 1 and 2, respectively, and outputs 832 and 834 may represent predicted indoor humidity for sensors 1 and 2, respectively. Output 835 may represent a predicted parameter for sensor N. For example, sensor 1 can be a thermostat, sensor 2 can be smoke detector, and sensor N can be a central alarm system. Each of the sensors can be located in different regions or zones of the enclosure, thereby providing a basis for thermal model 800 to map and predict parameters at those different zones.
Measured outputs 840 can represent actual measured data acquired from one or more sensors located within the enclosure. The measured outputs can match predicted outputs, or the measured outputs can be less than or greater than the number of predicted outputs. As illustrated in this FIG., the measured outputs match those of the predicted outputs. As such, outputs 841 and 843 may represent measured indoor temperature acquired at sensors 1 and 2, respectively, and outputs 842 and 844 may represent indoor humidity acquired at sensors 1 and 2, respectively. Measured output 845 may represent a parameter acquired by sensor N.
Mapping functions 870-873 can represent the variables used by thermal model 800 to ascertain the predicted outputs and the next state space. Over time, one or more of mapping functions 870-873 may change as new training data (e.g., measured outputs) is acquired. Mapping functions 870-873 may be updated on a periodic basis (e.g., once a day, every four hours, once a week, etc.). The manner by which mapping functions 870-873 are updated is discussed below in more detail. It should be appreciated that the mapping functions are used to solve x(k+1) and y(k) of the state space model.
The state space model can be represented by different mathematical representations that may enable state space model engine 800 to estimate values of the next state space and the outputs. These alternative representations of the state space are now discussed. The state space system can be represented in a predictor form:
x(k+1)=AKx(k)+BKz(k),
y(k)=Cx(k)+e(k),
where:
z(k)=[u(k)Ty(k)T]T,
Based on this representation, an extended state-space model can be formulated as:
Y
s,s,N=ΓsXs,N+HsUs,s,N+GsEs,s,N,
where:
The value of s can be chosen to represent a level of complexity or length of dynamics to be captured by the state space. In some embodiments, s can be defined as a function (e.g., a multiple of a fixed number) of the order of the state space model. As a specific illustrative example, s can be defined as two times the order model. Thus, if the order of the model is 5, s is 10.
Ys, Us, and Es are known, but Xs, Γs, Hs, and Gs are not known. Specifically, the Kalman state Xs,N is unknown, but the Kalman state can be estimated from past input and output data, and can be represented as:
where:
An assumption can be made that AK
where:
This can result in the following formulation of the extended state space model:
Y
f
=L
w
W
p
+H
s
U
f
+G
s
E
f.
Device inputs and measurements 908 may represent data points that are collected and stored in sensor database 910 on a period basis. The period basis for data collection can be, for example, one a minute, every five minutes, or any other suitable timeframe. In some embodiments, some the data collection rate may vary depending on the type of device. For example, thermostat devices may have a different data collection rate than a smoke detector device or security monitoring device. Device inputs can represent inputs provided by the device. For example, for thermostat devices, the input can be HVAC control instructions (e.g., run time, setpoints, etc.). In other embodiments, the device inputs can include one or more of the inputs provided to the state-space model (e.g., one or more of inputs 811-818). The measurements can be data measured by a device located within the enclosure. For example, a thermostat may measure the temperature at its location. In some embodiments, the measurements can include one or more of the same measurements that are used in the state-space model (e.g., outputs 841-845).
Sensor database 910 can function as a cache for temporarily storing device inputs and measurements. Sensor database 910 can accumulate data during the periodic basis set by the determination engine 900. Thus, if the periodic basis is one day, sensor database 910 accumulates data for a day, and after the day is over, the accumulated data is provided to subspace identification module 920, and the data stored in database 910 is flushed. New data can be collected and stored during the next periodic cycle.
Intermediate history database 914 can store a state-space model representation of an intermediate history object 912 that includes all previously acquired sensor data with a bias that puts less emphasis on older data. The intermediate history object maintains a fixed size regardless of how much data acquired and is updated each time accumulated data is provided by sensor database 910. The intermediate history object 912 provided to subspace identification 920 can incorporate the new sensor data (as being provided by sensor data base 910). The new sensor data is incorporated into the intermediate history object provided by intermediate history database 914. More particularly, the intermediate history object is updated in a recursive manner that only uses the new data to update the object. The recursive updating nature of the intermediate history block provides an advantage for enabling the state-space model to rapidly adapt to monitored changes in the enclosure. In addition, each recursive update of the intermediate history object is stored in intermediate history database 914. Moreover, as will be explained in more detail below, the intermediate history object is maintained the same format (e.g., LQ factorization) used by one of the subspace identification processes implemented by subspace identification module 920. This format can be the result of a least squares regression, for example.
Subspace identification module 920 can receive intermediate history database 912, which incorporates new sensor data provided by sensor databased 910 and the history object stored in history database 914. Using the updated intermediate history object 912, subspace identification module 920 can calculate updated mapping functions by processing the data in regression engine 922, model reduction engine 924, and parameter estimation engine 926. The updated mapping functions obtained from module 920 are represented by box 930. Updated mapping functions 930 are provided to engine 800 to evaluate state space and output determinations using the updated mapping functions.
Subspace identification module 920 may calculate the updated mapping functions by performing the following steps in order: regression, model reduction, and parameter estimation. Regression engine 922 may perform a least squares regression to estimate one or several high-order models. Regression engine 922 can computer the least squares estimates in the following equation:
where [•]† is a Moore-Penrose pseudo-inverse. This equation can be solved by examining the following LQ decomposition:
The LQ decomposition of a matrix A can be derived from the QR decomposition as follows:
QRR=AT,
S=diag(sgn(diag(R))),
QL=(QRS)·T,
Regression engine 922 may create an intermediate block, Lw, represented by the following equation:
{circumflex over (L)}
w=[(LU
where
[LU
Π=I2ms−L[2:3],[1:3]T(L[2:3],[1:3]L[2:3],[1:3]T)−1L[2:3],[1:3]ε2ms×2ms,
After the intermediate block, Lw, is obtained, model reduction engine 924 reduces it to an appropriate low dimensional subspace that is observable. In other words, model reduction engine 924 reduces the intermediate block to a lower order intermediate block. For example, the intermediate block, Lw, can be factorized using a Singular Value Decomposition (SVD). An SVD factorization of can be represented by the following equation:
{circumflex over (L)}
w={circumflex over (Γ)}s{tilde over (L)}s≅UnSnVnT,
where Un, Sn, and Vn are associated with the n largest singular values. Γs can be chosen to be represented by the following equation:
{circumflex over (Γ)}R=URSn1/2,
which enables parameter estimation engine 926 to estimate mapping functions A and C.
Parameter estimation engine 926 can estimate the mapping functions from the lower order intermediate block. Parameter estimation engine 926 may first solve mapping functions A and C. Once mapping functions A and C are found, engine 926 may solve for mapping function B, and then mapping functions K and R can be found. Mapping function R may represent noise in the data.
Parameter estimation engine 926 can estimate mapping functions A and C by defining the following two matrices:
Mapping functions A and C can be computed as the first n of
S=T
l
T
r
†εl+n×ms+n.
Parameter estimation engine 926 can solve mapping function B defining the following matrices:
where:
After the matrices are defined, parameter estimation engine 926 can solve the least squares equation to find the B mapping function:
vec({circumflex over (B)})=(Σk=1kQkTk)†vec(P).
Parameter estimation engine 926 may estimate mapping functions K and R by the following covariance matrices:
These matrices can be used to find a steady-state Kalman filter based observer (K) by solving a Discrete Algebraic Ricatti Equation (DARE).
After the mapping functions are found by subspace module 920, state space model with updated mapping functions 930 may update the intermediate history object and provide it to intermediate history database 940. This can be done by assuming that a solution exists to the LQ factorization, represented as:
The new sensor data can be added to the old intermediate history object in the following equation:
where βε[0,1] is a forgetting factor that puts less emphasis on older data. The new Lk+1 is provided to intermediate history database 940 for storage as the updated intermediate history object.
Starting at step 1002, the third party application can request a model prediction from the remote server. The request may pertain to a specific house or enclosure. At step 1004, the remote server can receive the request for the model prediction. The remote server may access a database (e.g., database 624) to pull the appropriate model prediction associated with the house or enclosure of interest and provide that model prediction to the third party application, at step 1006. The model prediction may include a run time schedule of the building control system (e.g., HVAC system) in the house of interest. The run time schedule may span a fixed future time. For example, referring briefly to
In some embodiments, the remote server may also provide a power threshold to the third party application. This can enable the third party application to schedule a run time of its third party device to coincide with the run time of the building control system so long as the combined power load does not exceed the power threshold. It should be appreciated that embodiments that use the power threshold may use a model prediction that includes a projected energy consumption profile over the future time period. For example, the model prediction may specify the anticipated power load of the building system, or a combination of the building system and other devices, over that fixed future time.
Referring back to
Referring back to
It should be understood that the steps shown in
At step 1210, a run time schedule from the first third party application can be received. At step 1212, a determination can be made as to whether the run time schedule from the first third party application satisfies criteria. Any suitable criteria can be used in making this determination. For example, the criteria can include authentication verification. The criteria can include verification that the run time schedule does not conflict with the prediction model or existing coordinated run time schedules. If the determination at step 1211 is NO, the first device's run time schedule can be rejected and the first third party application can be informed of the rejection, as indicated by step 1214. If the determination at step 1212 is YES, the first device's run time schedule can be stored in a database and can be marked as coordinated with the pending model prediction, as indicated at step 1216. At step 1218, the first device's run time schedule can be provided to a third party device associated with the first third party application.
It should be understood that the steps shown in
It should be understood that the steps shown in
In other embodiments, the model predictions can be provided directly to disparately-controlled devices located in a smart home. For example, third party devices may access a thermal model prediction associated with a smart home to obtain a future parameter associated with the smart home. The future parameter can include, for example, building control nm time predictions or temperature predictions. Upon receiving the future parameter, the third party device can optimize a run time schedule based on the future parameter. This way, the third party device can self-adjust its operations based on the model predictions provided by the thermal model.
Whereas many alterations and modifications of the present disclosure will no doubt become apparent to a person of ordinary skill in the art after having read the foregoing description, it is to be understood that the particular embodiments shown and described by way of illustration are in no way intended to be considered limiting.