US20260132949A1
2026-05-14
19/381,205
2025-11-06
Smart Summary: A system helps control temperature in buildings by adjusting how heating and cooling systems work. It keeps track of certain settings and can change them based on real-time conditions. When something changes, like the weather or occupancy, the system detects this and updates the temperature settings. It then tells the heating and cooling system to switch between different modes to maintain comfort. This way, the system ensures that the temperature stays just right for the people inside. 🚀 TL;DR
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for using a dynamic balance point. One of the methods includes maintaining a first set of operating parameters for an HVAC system and a first dynamic balance point, the first dynamic balance point adjustable to a second, different dynamic balance point in response to one or more real-time triggers; detecting an updated set of operating parameters; determining the second, different dynamic balance point; and providing, to the HVAC system, an instruction that includes the second, different dynamic balance point to cause the HVAC system to select, for temperature control at a property using the second, different dynamic balance point, between a first operating mode and a second operating mode.
Get notified when new applications in this technology area are published.
F24F11/65 » CPC main
Control or safety arrangements characterised by the type of control or by internal processing, e.g. using fuzzy logic, adaptive control or estimation of values; Electronic processing for selecting an operating mode
F24F11/64 » CPC further
Control or safety arrangements characterised by the type of control or by internal processing, e.g. using fuzzy logic, adaptive control or estimation of values; Electronic processing using pre-stored data
F24F11/80 » CPC further
Control or safety arrangements; Control systems characterised by their outputs; Constructional details thereof for controlling the temperature of the supplied air
F24F2110/10 » CPC further
Control inputs relating to air properties Temperature
F24F2120/10 » CPC further
Control inputs relating to users or occupants Occupancy
F24F2130/10 » CPC further
Control inputs relating to environmental factors not covered by group Weather information or forecasts
This application claims the benefit of U.S. Provisional Application No. 63/719,150, filed Nov. 12, 2024, the contents of which are incorporated by reference herein.
Different weather conditions can impact the operation of a heating, ventilation, and air conditioning (HVAC) system. For instance, in response to extreme weather conditions, e.g., high heat in summer or extreme cold in winter, the HVAC system may need to work harder to maintain a comfortable indoor temperature, potentially leading to increased energy consumption and wear on the components of the HVAC system. Additionally, high humidity levels, whether in summer or winter, can strain the system as it works to maintain comfortable indoor humidity levels.
In general, one innovative aspect of the subject matter described in this specification can be embodied in a system including one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations including maintaining, in memory and for an HVAC system that a) is for a property, b) includes two or more temperature regulation sources including one or more heat transfer devices and one or more auxiliary temperature regulation sources, the one or more heat transfer devices generating heat in a different manner than the one or more auxiliary temperature regulation sources, and c) dynamically uses one or more of the two or more temperature regulation sources using one or more balance points, a first set of operating parameters for the HVAC system and a first dynamic balance point, the first dynamic balance point adjustable to a second, different dynamic balance point in response to one or more real-time triggers. The operations include detecting an updated set of operating parameters for the HVAC system that is different from the first set of operating parameters for the HVAC system, determining, using the updated set of operating parameters for the HVAC system, the second, different dynamic balance point, and providing, to the HVAC system, an instruction that includes the second, different dynamic balance point to cause the HVAC system to select, in response to at least one real-time trigger for the property and for temperature control at the property using the second, different dynamic balance point, between a first operating mode that causes at least one of the one or more heat transfer devices to operate, and a second operating mode that causes at least one of the one or more auxiliary temperature regulation sources to operate.
Other implementations of this aspect include corresponding methods, and computer systems, apparatus, computer program products, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods. A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.
The foregoing and other implementations can each optionally include one or more of the following features, alone or in combination. In some implementations, the at least one real-time trigger for the property includes a set point for the property, and providing the instruction causes the HVAC system to select, upon determining that the set point is triggered, between the first operating mode and the second operating mode using the second, different balance point.
In some implementations, determining, using the updated set of operating parameters, the second, different dynamic balance point includes: maintaining, historical performance data for a plurality of HVAC systems, each of the plurality of HVAC systems including at least one second heat transfer device and at least one second auxiliary temperature regulation source, where the historical performance data includes respective dynamic balance points for the plurality of HVAC systems, and computing, using the historical performance data, the second, different dynamic balance point for the HVAC system.
In some implementations, detecting the updated set of operating parameters for the HVAC system includes: receiving, from one or more sensors located at the property, sensor data that includes one or more of (i) a temperature in an area within a threshold distance of the property, (ii) an occupancy at the property, (ii) a temperature set point for the HVAC system, (iii) a current performance of at least one of the two or more temperature regulation sources, or (iv) weather data for the property, and determining, using the sensor data, the updated set of operating parameters for the HVAC system. Detecting the updated set of operating parameters for the HVAC system can include obtaining, from at least one of the two or more temperature regulation sources of the HVAC system, corresponding performance data indicating a current operation of the corresponding temperature regulation source, and determining, using the performance data and the sensor data, the updated set of operating parameters for the HVAC system.
In some implementations, detecting the updated set of operating parameters for the HVAC system includes: receiving training data including one or more of (i) local configuration data for the property, (ii) occupancy at the property, (iii) a temperature set point for the HVAC system, (iv) weather data for the property, or (v) installation information for the HVAC system, training, using the training data, a performance model that represents the performance of at least one of the two or more temperature regulation sources of the HVAC system, and computing, after the training and using the performance model, the updated set of operating parameters for the HVAC system.
In some implementations, detecting the updated set of operating parameters for the HVAC system includes: receiving a performance model that represents the performance of at least one of the two or more temperature regulation sources of the HVAC system, and computing, using the performance model, the updated set of operating parameters for the HVAC system.
In some implementations, the operations further include obtaining real-time environmental data, energy availability data, or a combination of both, and determining whether one or more of the real-time environmental data or the energy availability data satisfy a trigger that indicates whether the HVAC system should use the second, different dynamic balance point. Providing the second, different dynamic balance point can include, in response determining that the one or more of the one or more of the real-time environmental data or the energy availability data satisfy the trigger of the second, different dynamic balance point, providing the second, different dynamic balance point to cause the HVAC system to select, using the second, different dynamic balance point, between the first operating mode and the second operating mode.
In some implementations, the HVAC system has at least three operating modes including the first operating mode that causes the at least one of the one or more heat transfer devices to operate, the second operating mode that causes the at least one of the one or more auxiliary temperature regulation sources to operate, and a third operating mode that causes at least one of the one or more heat transfer devices to operate and at least one of the one or more auxiliary temperature regulation sources to operate, and providing the instructions causes the HVAC system to select, for temperature control at the property and in response to at least one real-time trigger for the property, between the first operating mode, the second operating mode, and the third operating mode.
In some implementations, determining the second, different dynamic balance point includes determining, using the updated set of operating parameters for the HVAC system, the second, different dynamic balance point and a third, different dynamic balance point, the second, different balance point includes a trigger for selecting between the first operating mode and the third operating mode, the third, different dynamic balance point includes a trigger for selecting between the second operating mode and the third operating mode.
In some implementations, the HVAC system maintains a first setpoint that, when triggered, causes the HVAC system to select at least one temperature regulation source using the second, different balance point, and a second setpoint that, when triggered, causes the HVAC system to select at least one temperature regulation source using the third, different balance point.
In some implementations, the operations further include detecting, by the HVAC system, a current temperature at the property, determining whether the current temperature satisfies a set point for the HVAC system, and using a result of the determination whether the current temperature satisfies the set point for the HVAC system, selectively sending or determining to skip sending an instruction to a temperature regulation source, selected using the second, different dynamic balance point, to adjust a temperature at the property.
In some implementations, the operations further include detecting, by the HVAC system, a current temperature at the property, determining whether the current temperature satisfies a set point for the HVAC system and to control the temperature at the property using at least one of the two or more temperature regulation sources, in response to determining that the current temperature satisfies a set point for the HVAC system and to control the temperature at the property using at least one of the two or more temperature regulation sources, selecting, using the second, different dynamic balance point, a temperature regulation source for controlling the temperature at the property, and sending, to the temperature regulation source that was selected using the second, different dynamic balance point, an instruction to cause the temperature regulation source to adjust a temperature at the property.
In some implementations, the system includes the HVAC system, the operations including selecting, by the HVAC system and using the second, different dynamic balance point, an operating mode that uses a corresponding temperature regulation source to use to control temperature at the property, the operating mode including one of the first operating mode or the second operating mode, and in response to selecting the operating mode to use to control temperature at the property, sending, to the temperature regulation source, an instruction to cause the temperature regulation source to adjust a temperature at the property.
In some implementations, the operations further include detecting a current temperature at the property, where selecting the operating mode uses the second, different dynamic balance point and the current temperature. Selecting the operating mode uses the second, different dynamic balance point and the current temperature can include determining whether the current temperature satisfies the second, different dynamic balance point, and selecting the operating mode using a result of the determination whether the current temperature satisfies the second, different dynamic balance point.
In some implementations, at least one temperature regulation source from the two or more temperature regulation sources selected using the second, different dynamic balance point would not have been selected using the first dynamic balance point and the at least one real-time trigger for the property.
In some implementations, the at least one real-time trigger for the property includes a current temperature at the property.
In some implementations, the heat transfer device includes a heat pump.
In some implementations, the operations further include providing, to the HVAC system, the first dynamic balance point to cause the HVAC system to select, in response to at least one real-time trigger, between the first operating mode including causing the one or more heat transfer devices to operate, and the second operating mode including causing the one or more auxiliary temperature regulation sources to operate.
In some implementations, determining, using the second set of operating parameters, the second, different dynamic balance point includes providing, to a trained model, the second set of operating parameters as input, and obtaining, as output from the trained model, the second, different dynamic balance point.
In some implementations, the operations further include selecting training data from a plurality of training data sets each of which have at least a threshold relevance to the second set of operating parameters for the HVAC system, and training the trained model using the selected training data.
In some implementations, the training data includes one or more of (i) historical usage data for other HVAC systems that satisfy a similarity criterion for the HVAC system, (ii) location data, (iii) weather data, (iv) HVAC system configuration data, or (v) installation data.
In some cases, the training data includes historical data for the HVAC system itself. For example, the training data can include historical data for the one or more heat transfer devices belonging to the HVAC system. The historical data for one or more heat pumps can be for the HVAC system, e.g., historical usage data for one or more heat pumps belonging to the HVAC system at the property.
In some implementations, the trained model includes one or more performance models each of which correspond to one of the temperature regulation sources of the HVAC system.
In some implementations, providing the instruction includes, providing, by a cloud system separate from the HVAC system, the instruction to the HVAC system.
This specification uses the term “configured to” in connection with systems, apparatus, and computer program components. That a system of one or more computers is configured to perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform those operations or actions. That one or more computer programs is configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by data processing apparatus, cause the apparatus to perform those operations or actions. That special-purpose logic circuitry is configured to perform particular operations or actions means that the circuitry has electronic logic that performs those operations or actions.
The subject matter described in this specification can be implemented in various implementations and may result in one or more of the following advantages. Determining a dynamic balance point for an HVAC system including at least one heat pump can provide an improvement on energy consumption for homeowners. For example, using a dynamic balance point can improve property energy consumption profiles, e.g., efficiency, usage, target comfort, over multiple seasons, occupancy levels, weather patterns, system demands, or any combination of two or more of these. This can be provided by, for example, selecting, using the updated set of operating parameters for the HVAC system, the second dynamic balance point.
In some implementations, the systems and methods described in this specification can include using operating mode-specific runtime information, which can be used to compare how the HVAC system performs under different conditions, select different combinations of temperature regulation sources of the HVAC system for an operating mode or balance point, or any combination of these. The HVAC system can leverage data from sensors distributed at the property, e.g., cameras, occupancy sensors, thermostats, power meters, solar panels, or any combination of these, to dynamically adjust a balance point in real-time. For example, indoor and/or outdoor humidity property or relative humidity can impact heat pump performance, e.g., efficiency, such that a balance point for selecting between a heat pump and an auxiliary temperature regulation source can change in response to a measured humidity. The sensor data can be used to enrich the system operation data, provide more subtle adjustment opportunities for the dynamic balance point in response to real-time triggers, e.g., a set point trigger, or both. For example, monitoring values and changes in values for a property over time, e.g., and normalizing for these values, the HVAC system can more accurately select an operating mode predicted to use less energy compared to other systems or operation.
With a direct measurement of energy consumption associated with different operating modes of the components the HVAC system, e.g., including a heat pump having two or more operating modes, the system can optimize the dynamic balance point in response to multiple operating parameters, e.g., constraints and/or priorities. For instance, the dynamic balance point can be optimized for any of a variety of types of one or more operating parameters, including one or more of energy consumption metrics, cost considerations, system performance characteristics, environmental conditions, user preferences, or any combination of these. For example, the dynamic balance point can be optimized to target a number of kilowatt-hours consumed, time-of-use pricing plans, performance and/or age of the different components of the HVAC system, or other usage-based considerations to further optimize energy usage. In some examples, the dynamic balance point can be optimized in response to the HVAC system performance over the lifespan of the respective components, e.g., the temperature regulation sources, such that a balance point can be updated in response to an adjustment in system efficiency due to age.
Determining of the dynamic balance point(s) can provide a baseline understanding of system performance. In some implementations, the dynamic balance point(s) can track performance degradation of the system over time, e.g., as the system performance changes the dynamic balance point value will be updated accordingly. For example, under otherwise identical conditionals, an updated value of the dynamic balance point can indicate a change in performance of one or more of the temperature regulation sources of a system. This can be used to identify sudden or gradual failures, validate service/cleaning completion, and evaluate system replacement timing.
According to some embodiments, image sensors, e.g., cameras, distributed about the property and can capture image data including potential heat sources and heat source activities, e.g., occupancy, cooking, vacuuming, indoor fireplace use, etc. The system can identify, within the image data, potential temperature-affecting sources and incorporate the identified sources into a decision making process for determining and using a dynamic balance point.
The details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
FIG. 1 is a block diagram of an example operating environment for a dynamic balance point control engine.
FIG. 2 is a flow diagram of an example process of a dynamic balance point control engine.
FIG. 3 is a diagram illustrating an example of a property monitoring system.
Like reference numbers and designations in the various drawings indicate like elements.
Sometimes, sudden weather changes, such as a quick shift from warm to cold temperatures, can cause an HVAC system to cycle on and off more frequently in response to triggering of a balance point of the HVAC system. This can reduce the HVAC system's efficiency, lifespan, or both.
As more residential and commercial properties rely on heat pumps for climate control, the importance of leveraging the most efficient temperature regulation source(s) at the right time increases. Heat pumps are often the most efficient temperature regulation sources in mild outdoor conditions, but their efficiency can decrease as the outdoor temperature moves towards more extreme heat/cold conditions, e.g., when heat pumps might need to use a backup temperature source. During heating operation, a heat pump transfers thermal energy from the outdoor environment into a temperature controlled space, while during cooling operation, it extracts heat from the temperature controlled space and releases it outdoors. In this specification, a heat pump is referred to as one type of heat transfer device while a backup temperature source is referred to as one example of an auxiliary temperature regulation source. These two types of devices generate heat in a different manner. Accordingly, the examples described in this specification apply to other types of heat transfer devices and other types of auxiliary temperature regulation sources.
Some heat pumps will have one or more backup temperature regulation sources, typically referred to as an auxiliary heat source. This can be an electric or fossil fuel source that has a heat exchange coefficient that is relatively constant regardless of fluctuating outdoor conditions, e.g., extreme heat/cold conditions. The auxiliary heat source can be used as the primary heat source when the outdoor conditions are sufficiently cold. Sometimes, a HVAC system can include an auxiliary cooling source, e.g., an air conditioning system. The threshold where HVAC systems switch from using the heat pump(s) as a primary temperature regulation source to an auxiliary temperature regulation source is called the balance point.
Generally, the balance point is a static value, e.g., using a manufacturer-specified default value. Sometimes, an operator (e.g., an entity that interacts with the HVAC system, e.g., a property owner, HVAC technician, or building manager) can adjust the value of a balance point. In both cases, the energy usage of an HVAC system might not be optimized, e.g., property owners might not be receiving the full benefits of owning an HVAC system including one or more heat pumps. For instance, manufacturers can set default values based on optimal installation settings, but the manufacturer default values might not reflect the HVAC system with which the thermostat will be installed, the size of the space it will be controlling, or the ducting that exists or is built to support the system. These factors, as well as insulation, property use, user-desired comfort, and local weather patterns all make it impossible to set a useful value at a factory that will be optimal to most property owners.
An HVAC system including at least one heat pump located at a property can operate to improve the performance, e.g., energy usage, of the HVAC system. This can include the HVAC system selecting, e.g., optimizing, a dynamic balance point based on multiple factors to maximize the temperature control efficiency of a home. More specifically, in some implementations, the system can leverage multiple, enriched data streams in real-time to determine a value for a dynamic balance point and trigger use of the dynamic balance point to select operation of one or more heat pumps versus one or more auxiliary temperature regulation sources of an HVAC system located at a property, or any combination of both. The system can refine a first value for a dynamic balance point for selecting between a heat pump and an auxiliary temperature regulation source of an HVAC system determined using a first set of operating parameters, e.g., manufacturer settings, to an updated value for the dynamic balance point to optimize operation of the HVAC system at the property based on an updated set of operating parameters for the HVAC system.
A balance point of a heat pump can represent a temperature value at which the heat pump's heat extraction from the outdoor environment approximately matches the heat loss of a temperature controlled space. A balance point can refer to the temperature at which the heat extracted from the temperature controlled space by the heat pump equals the heat gained by the temperature controlled space, depending on the heat pump's operating mode (e.g., heating or cooling the temperature controlled space). The balance point can indicate the temperature around, e.g., at or below, which an auxiliary heat source should be used to maintain a temperature of the temperature controlled space according to a set point value for the temperature controlled space.
FIG. 1 is a contextual diagram of an example operating environment 100 for a dynamic balance point control engine 102 at a monitored property 104 including an HVAC system 106. The monitored property 104 can be, for example, a single-dwelling or multi-unit residence, a commercial building, or the like. The monitored property can include multiple temperature-controlled zones, e.g., different levels, units, rooms, or other delineated spaces each having separate temperature regulation control, a separate HVAC system, or any combination of both.
HVAC system 106 includes one or more temperature regulation sources, e.g., sources 108-1, 108-2, 108-N. For example, a temperature regulation source can be a heat source, e.g., a gas or electric furnace. The heat source can be, for example, a forced air centralized furnace system, e.g., whether high velocity or otherwise, a local unit, e.g., a space heater, a hot water heater, or another type of thermal heat source. In some examples, a heat source can be a gas-based source, an electric source, or wood-fire source, e.g., a fireplace or wood-burning stove.
In some implementations, a temperature regulation source can be a cooling source, e.g., an electric air conditioning (AC) unit, fan, or another source of cooling. The AC unit can be a component of a forced air centralized system, or a local unit (e.g., a floor-standing, window or wall unit).
The temperature regulation sources of the HVAC system 106 include at least one heat transfer device, e.g., a heat pump. The heat transfer device generates heat in a different manner than the thermal source, e.g., by transferring heat from one region to another instead of using energy to generate heat. In some examples, the HVAC system 106 can include at least two heat pumps, e.g., a heat pump for each temperature controlled zone of the property.
The HVAC system 106 can include one or more temperature regulation sources, e.g., sources 108-1, 108-2, 108-N, which can optionally act as auxiliary sources to the heat transfer device and generate heat in a different manner than the heat transfer device. For example, a temperature regulation source can be configured to operate as an auxiliary, e.g., complimentary, temperature regulation source for a heat pump. For example, the HVAC system can include (i) a heat pump, (ii) a furnace which can be configured as an auxiliary heat source to the heat pump, and (iii) an AC unit which can optionally be an auxiliary cooling source to the heat pump.
The HVAC system 106 includes a control unit 108, e.g., a thermostat, in data communication with the one or more heat pumps and one or more auxiliary temperature regulation sources. The control unit 108 can be configured to be in data communication with, e.g., include or coupled with, the dynamic balance point control engine 102. In implementations in which the dynamic balance point control engine 102 is implemented on a device separate from the control unit 108, the control unit 108 can be configured to perform at least a portion of the operations of the dynamic balance point control engine 102 described in this specification. The control unit 108 can be in data communication with the one or more sensors 110 distributed about the property and can receive, from the sensors, sensor data 112.
The control unit 108 communicates over a wired or wireless connection over network 101 with connected devices. For example, control unit 108 communicates over the network with sensors 110, temperature regulation sources, e.g., sources 108-1, 108-2, 108-N, third party data sources, e.g., weather/climate data sources, historical data sources, utility/resource management sources, or any combination of these. The control unit 108 can receive sensor data 112 descriptive of events detected by the sensors 110 at the monitored property 104 over the network 101. In some implementations, the connected devices may connect via Wi-Fi, Bluetooth, or any other protocol used to communicate over a network 101, or multiple networks, to the control unit 108. In some examples, the control unit 108 can transmit, e.g., using the network 101, instructions to the devices, e.g., temperature regulation sources of the HVAC system 106, in the monitored property 104 for particular events, e.g., in response to a trigger of a dynamic balance point. The trigger of the dynamic balance point can be a set point, one or more values that define a set point, another appropriate value, or any combination of these.
The dynamic balance point control engine 102 can access one or more data streams to maintain, update, or both, a dynamic balance point 114, e.g., in real-time. The use of the dynamic balance point 114 can cause a switch to a different operating mode of the HVAC system 106 in response to a trigger, e.g., a real-time trigger, of the dynamic balance point. The one or more data streams can include, for example, sensor data 112, temperature regulation source data 116, operating parameters 118, historical data 120, environmental data 122, energy availability data 124, or any combination of these, and each of which is described in further detail below.
An operating mode for the HVAC system 106 can indicate different operation of temperature regulation sources of the HVAC system 106. For instance, a first operating mode can use only a heat pump while a second operating model can use only an auxiliary source. In some examples, operating modes might indicate variation between operation of a heat pump, as an example heat transfer device. For instance, one operating mode might indicate that the heat pump is operating at 50% of capacity, while another operating mode might indicate that the heat pump is operating at 100% capacity. By using multiple dynamic balance points, a system can more efficiently operate the heat pump given triggers that indicate whether to change a dynamic balance point, compared to other systems.
In some implementations, sensors 110 located at the monitored property are configured to collect sensor data 112 reflective of real-time characteristics of the monitored property, e.g., temperature, indoor and/or outdoor humidity, air flow, occupancy, lighting, weather, appliance performance, or any combination of these. Sensors 110 can include, for example, temperature sensors, humidity sensors, air flow sensors, motion sensors, cameras, or any combination of these. The sensors 110 can be located, for example, within air ducts, rooms, or walkways, inside and/or outside the monitored property. The temperature regulation sources can include sensors, e.g., to monitor performance and operation of the temperature regulation source. For example, the sensors can be configured to collect data related to the operative status of an oven, clothes dryer, fireplace, or another appliance.
In some implementations, the monitored property 104 may include one or more cameras. For example, the cameras can be video cameras that are located at the exterior of the monitored property 104, e.g., near an entryway, located at the interior of the monitored property 104, or a combination of both.
In some implementations, the sensors 110 may include a motion sensor located at the exterior of the monitored property 104, a front door sensor that is a contact sensor positioned at an entryway, a pressure sensor that receives button presses at a light device, an air flow sensor included in the air duct or the air-handling unit, a lock sensor that is positioned at an entryway and/or each window, e.g., to determine an open/closed position The airflow sensor may sense whether air is flowing through the HVAC system 106, a volume of airflow, and/or a temperature of the air being flowed through the HVAC system 106 when turned on to either heat or cool the monitored property 104.
In some implementations, sensors 110 are components of home appliances such as a washing machine, a dryer, a dishwasher, an oven, a stove, a microwave, or a laptop, to name a few examples. The one or more sensors 110 may include a humidity sensor. For example, sensor 110 is a humidity sensor that monitors an indoor humidity in one or more of the temperature-controlled zone(s) of the monitored property 104 and/or an outdoor humidity at the monitored property 104. The control unit 108 can adjust how much sun light comes into the monitored property 104 by adjusting a movement of shades covering each of the windows in the monitored property 104. In some instances, if the monitored property 104 is a commercial facility, an appliance can include a printer, a copier, a vending machine, or a fax machine, to name a few examples.
The dynamic balance point control engine 102 includes source data 116 collected from the temperature regulation sources, e.g., sources 108-1, 108-2, 108-N. Source data 116 can include performance data for each of the temperature regulation source. The performance data can indicate a current operation of the temperature regulation sources. For example, performance data can include efficiency with respect to operating environment, e.g., source efficiency at different environmental temperatures, weather conditions, or any combination of these. In some examples, performance data includes an age of the temperature regulation source versus an efficiency of the temperature regulation source. Efficiency of the temperature regulation source can be an energy efficiency, e.g., annual fuel utilization (AFUE) rating, or a cost per therm, to name a few examples.
The dynamic balance point control engine 102 can maintain, e.g., in memory, environmental data 122. The environmental data 122 can be collected, for example, by sensors 110 at the monitored property 104, and/or from third party sources, e.g., weather and climate monitoring services. The environmental data 122 can include data related to weather, seasonal climate change, location-based environmental patterns. In some instances, environmental data 122 includes predictive weather data, e.g., weather forecasts. In some instances, environmental data 122 can include sun-exposure patterns, shade patterns, or any combination of these, at the monitored property 104.
The dynamic balance point control engine 102 can include energy availability data 124. Energy availability data 124 includes predicted and/or actual cost per kWh, cost per therm, peak/off-peak hours for utilities, or any combination of these. The energy availability data 124 can be collected from third party sources, e.g., utility companies, power grid management systems, smart thermostats, or any combination of these.
In some implementations, the multiple data streams can include multiple time-scales of system performance. For example, a first, longer time scale can reflect changes due to seasonal changes, e.g., average temperatures during winter versus summer, daylight savings, path of sunlight with respect to property, or any combination of these. A second, shorter time scale can reflect changes based on event detection, e.g., short-term changes such as those based on occupancy, weather patterns, in-property activities such as cooking, or any combination of these.
The dynamic balance point control engine 102 includes a set of operating parameters 118,. The set of operating parameters can control operation of operating characteristics of the HVAC system 106. Operating parameters can include, for example, a number and types of temperature regulation sources, characteristics of the one or more temperature control zones at the property 104, e.g., volume, location, occupancy, or any combination of these, occupancy of the property 104, a local climate of the monitored property 104, a local environment of the monitored property 104, or any combination of these. Operating parameters of the HVAC system 106 can reflect a current understanding of how the HVAC system is operating under current conditions and configuration. The dynamic balance point control engine 102 can determine the operating parameters 118 for the HVAC system 106 using data from at least one of the multiple data streams, e.g., sensor data 112, third party data, or both. The data from the at least one of the multiple data streams can be used to generate an understanding, e.g., a local model, of the HVAC system 106 operation. The control unit 108, the model training module 103, or a combination of both, can generate the local model of the HVAC system 106.
In some implementations, a first set of operating parameters for the HVAC system 106 can be set based in part on the subcomponents of the HVAC system 106, e.g., the different temperature regulation sources. The first set of operating parameters can include, for example, manufacturer-provided settings. The dynamic balance point control engine 102 can establish a first set of operating parameters selected from historical data 120 for other similarly configured HVAC systems, for example, including a similar set of temperature regulation sources, installation location, installation region, property characteristics, or any combination of these. The dynamic balance point control engine 102 can use the first set of operating parameters to generate one or more dynamic balance points 114 for operation of the HVAC system. The first set of operating parameters can be stored locally at the control unit 108 of the HVAC system 106 or another device coupled to or included in the HVAC system 106.
The control unit 108 can store, in local memory, the dynamic balance point(s) 114. The control unit 108, when part of the HVAC system 106, can use the dynamic balance point(s) 114 to respond to one or more triggers to switch between a pair of operating modes from two or more operating modes of the HVAC system 106. The two or more operating modes can include two or three operating modes, to name a few examples. For example, the control unit 108 can use sensor data captured by the sensors at the property to determine changes in occupancy, temperature, or both at the property. The temperature can be an outdoor ambient temperature. The HVAC system 106, e.g., the control unit 108, can determine to update a value for the dynamic balance point using the determined changes.
In some implementations, the HVAC system can include multiple operating modes, each operating mode uses at least one temperature regulation source selected, e.g., one temperature regulation source, or two or more temperature regulation sources. The selected temperature regulation source(s) can be operated synchronously or asynchronously to provide the temperature control while the HVAC system is in the operating mode. The selected temperature regulation source(s) can be operable to be turned on or off in response to triggers, e.g., detecting that a current temperature at the property is outside a target range of temperatures. The target range of temperatures can be defined by the dynamic balance point.
In some implementations, the HVAC system can select two or more operating modes simultaneously, e.g., each operating mode including at least one temperature regulation source and for regulating a temperature of a corresponding thermal zone of the property. For example, each level of a home can have a respective selected operating mode including selecting a respective one or more temperature regulation sources for regulating the temperature of the corresponding level. At times, this can result in the HVAC selecting to use a heat pump to regulate a first thermal zone, and selecting a different temperature regulation source, e.g., of a different type, to regulate a second, different thermal zone.
In some examples, the HVAC system 106 can be configured for two or more, e.g., three, operating modes. In these examples, the HVAC system 106 can have corresponding dynamic balance points to trigger a switch between the different operating modes. Each operating mode includes a respective set of temperature control system(s) for performing temperature regulation during use of that operating mode. For example, a first operating mode can use a heat pump, a second operating mode can use a heat pump and an auxiliary temperature regulation source (either to supplement or to buffer in certain temperature ranges), and a third operating mode can use the auxiliary temperature regulation source (e.g., furnace or AC unit only).
During operation, the dynamic balance point control engine 102 can switch between operating modes, and corresponding temperature regulation sources if necessary, in response to a trigger of a dynamic balance point. When the trigger is satisfied, the dynamic balance point control engine 102 can switch between a first operating mode and another, different operating mode. The trigger can be a real-time trigger of the dynamic balance point such as, for example, temperature data from a sensor 110 indicating a current temperature at the property satisfies a criteria, e.g., a temperature criteria and/or humidity criteria, for the dynamic balance point, e.g., the current temperature is outside a threshold temperature range or above or below a temperature threshold for the balance point. A real-time trigger of the dynamic balance point can be, for example, temperature data from a sensor 110 indicating a trend in temperature at the property, e.g., a predicted temperature at the property is outside a threshold temperature range for the balance point within a threshold time duration.
In some implementations, dynamic balance point control engine 102 updates or otherwise changes a value of the dynamic balance point. The dynamic balance point control engine 102 can use data from at least some of the multiple sensor data streams, e.g., from sensors 110, to update a value of a dynamic balance point 114 for the HVAC system. For example, the dynamic balance point control engine 102 can update a value of the dynamic balance point 114 from a first dynamic balance point 114 determined based on a first set of operating parameters of the HVAC system 106, e.g., manufacturer settings, to a second dynamic balance point 114 determined based on a second set of operating parameters of the HVAC system 106 and using data from at least some of the multiple sensor data streams.
The dynamic balance point control engine 102 can determine to update the dynamic balance point, for example, based in part on a threshold performance value, e.g., for the HVAC system 106; an environmental change such as a seasonal change in a region that includes the property; an occupancy at the property; a change in appliance or routine at the property; or any combination of these. Generally, the dynamic balance point control engine 102 can use the sensor data 112 and/or third party data to update the operating parameters of the HVAC system 106 from which the dynamic balance point is determined. For example, the dynamic balance point control engine 102 can determine to update the dynamic balance point, for example, in response to determining that the HVAC system operation is below a threshold performance parameter. For example, if the dynamic balance point control engine 102 determines, from sensor data 112 and/or third party data, that the HVAC system 106 is operating at less than a threshold efficiency, above a threshold cost per kWh/therm, or any combination of these, the dynamic balance point control engine 102 can determine to update the dynamic balance point.
In some implementations, the HVAC system 106 can update a value of the dynamic balance point using predicted data trends to alter a trigger point, defined by the dynamic balance point, at which the system switches between two operating modes, e.g., between the heat pump and the auxiliary temperature regulation source. The predicted data trends can be generated using one or more models of the HVAC system performance in response to different factors, e.g., environmental factors. In some instances, data collected by distributed sensors 110 at the property and/or environmental data 122, e.g., third party weather data, can indicate a trend such that the system can predict a future trigger of the dynamic balance point, e.g., when a set point value will be satisfied, and preemptively update the dynamic balance point such that the HVAC system 106 switches from a first operating mode to a second operating mode when the system is within a threshold of the dynamic balance point, within a threshold of the set point, or any combination of both. For example, temperature data from the property can indicate a rising temperature trend within the property such that system predicts that temperature at the property will reach a set point, the dynamic balance point, or both, within one hour and can trigger selection of an operating mode using the balance point at the predicted time or within a threshold of the predicted time. In some examples, weather data in the vicinity of the property may indicate an upcoming snow storm such that the system predicts a rapid temperature drop at the property and can update dynamic balance point to trigger an operating mode change using the updated dynamic balance point in anticipation of the drop in temperature.
In some implementations, the dynamic balance point control engine 102 can determine to update the balance point by monitoring the impact of a current balance point. The dynamic balance point control engine 102 can determine to update the current balance point in response to one or more target operation parameters, e.g., efficiency, subsystem usage, cost, or any combination of these. For example, the dynamic balance point control engine 102 can determine a current efficiency of operation of the HVAC system 106 is below a target value, e.g., below 50%, and, in response, determine to update the dynamic balance point to increase the efficiency of operation.
In some implementations, the dynamic balance point control engine 102 can detect, using the collected sensor data, patterns in thermal regulation in the different temperature-controlled zones. For example, a second story of a monitored property may be inadvertently heated or cooled by a temperature regulation source designated for a first story of the monitored property. In such cases, the system can determine, using the sensor data from some or each of the temperature-controlled zones, to implement a different balance point for each temperature-controlled zone (e.g., each story of the monitored property), or to implement a different balance point for the monitored property generally. For example, the first story may be heated by the heat pump and an auxiliary heat source while the second story may be adequately heated by the heat pump, due to heating from the first story, within a temperature range.
In some implementations, the dynamic balance point control engine 102 can implement a trained model for determining a dynamic balance point for an HVAC system. For example, the dynamic balance point control engine 102 can include a model training module 103 to train one or more models, e.g., initial models 130 or previously trained models, for generating a dynamic balance point for an HVAC system having a given configuration. The dynamic balance point control engine 102, the control unit 108, another device from the environment 100, or any combination of these, can obtain training data representative of the HVAC system 106. Other devices at other properties can obtain training data for multiple different HVAC systems. The multiple HVAC systems can include various configurations, installation locations, climates, property layouts, occupancy, other environmental conditions, other operational conditions, or any combination of these. The training data can be extracted from sensor data 112 collected and refined from multiple HVAC system 106.
In some cases, the training data includes historical data for the HVAC system itself. For example, the training data can include historical operational data for one or more heat transfer devices belonging to the HVAC system, such as heat pumps. The historical data can include, e.g., past performance, energy consumption, temperature regulation patterns, other relevant metrics for training the one or more models for determining a dynamic balance point for an HVAC system, or any combination of these.
In some cases, the training data includes manufacturer data, e.g., technical data, performance-related data, or both. For example, the dynamic balance point control engine 102, the control unit 108, another device from the environment 100, other devices at other properties, or any combination of these, can receive the manufacturer data from a system of the equipment manufacturer of the HVAC components as part of the training data. Examples of manufacturer data can include airflow rates for components, refrigerant types, power consumption, or any combination of these.
The dynamic balance point control engine 102 can train, using differentiated sets of training data specific to particular configurations or configuration groups of HVAC systems, different initial models 130 which can be deployed for corresponding HVAC systems having a threshold match in configuration. For example, the dynamic balance point control engine 102 can generate a first initial model specified to HVAC systems located in the United States southwest region and a second initial model specified to HVAC systems located in the United States northeast region, e.g., given similar system energy efficiency ratings. Each initial model can be trained with training data representative of HVAC systems located in the respective regions, e.g., hot, dry summers versus cold, wet winters.
By training the model 130, a system, e.g., the dynamic balance point control engine 102, can normalize the model for the particular property given outdoor temperature, cloud cover, indoor and/or outdoor humidity, occupancy, or any combination of these. This training specific to the property can enable the model to determine at what confluence of points the efficiency of the heat pump will be more efficient than the auxiliary heat source. The system can train the model such that the trained model has coefficients weighing the importance of at least some of these property specific values.
The dynamic balance point control engine 102 can use the initial model 130 to determine one or more dynamic balance points for the HVAC system 106 installed at the monitored property 104. For example, the initial model 130 can receive, as input, a first set of operating parameters for the HVAC system 106, e.g., manufacturer's settings, an installation configuration, property layout, location information, climate information, or any combination of these, and provide, as output, the one or more dynamic balance points 114 for the dynamic balance point control engine 102.
The system can determine, from collected sensor data 112, an update to the set of operating parameters, e.g., where the actual operating parameters of the HVAC system may deviate from the first set of operating parameters. Updating the set of operating parameters can be based in part on sensor data collected at the monitored property and reflective of the HVAC system at the monitored property. For example, the set of operating parameters can be updated based on local configuration, occupancy, time, efficiency, temperature set points, weather data, or any combination of these.
In some implementations, the system can maintain a performance model of at least some, e.g., each, temperature regulation source. The performance model can reflect a real-time performance of the temperature regulation source over the lifetime of the temperature regulation source, e.g., efficiency can go down over time as the temperature regulation source ages or needs maintenance. The performance model for each temperature regulation source can be used to adjust a dynamic balance point of the HVAC system 106, e.g., as input to the local model 132 of the HVAC system 106.
Though environment 100 is shown and described including a particular set of components, the present disclosure need not be so limited. For instance, in some implementations, only a subset of the aforementioned components may be used by the environment 100 for implementing the dynamic balance point control engine 102. As an example, in some instances, the property may not include a full complement of the sensors and sensor types described with reference to FIG. 1, e.g., may not include motion sensors. Similarly, there can be implementations that the control unit 108 is external to the monitored property 104.
The dynamic balance point control engine 102 is an example of a system implemented as computer programs on one or more computers in one or more locations, in which the systems, components, and techniques described in this specification are implemented. The network 101, such as a local area network (“LAN”), wide area network (“WAN”), the Internet, or a combination thereof, connects the devices, e.g., sensors 110, HVAC system 106, control unit 108, temperature regulation sources (sources 108-1, 108-2, 108-N), or any combination of these, and the dynamic balance point control engine 102. In some examples, the dynamic balance point control engine 102 can be part of, e.g., implemented on, a home monitoring system, e.g., as described with reference to FIG. 3.
The environment 100 can include several different functional components, including the dynamic balance point control engine 102 and the model training module 103. Any combination of these components can include one or more data processing apparatuses, can be implemented in code, or a combination of both. For instance, each of the components can include one or more data processors and instructions that cause the one or more data processors to perform the operations discussed herein.
The various functional components of the model training module 103 can be installed on one or more computers as separate functional components or as different modules of a same functional component. For example, the components of the model training module 103 can be implemented as computer programs installed on one or more computers in one or more locations that are coupled to each through a network. In cloud-based systems for example, these components can be implemented by individual computing nodes of a distributed computing system.
FIG. 2 is a flow diagram of a process 200 for dynamic balance point control. For convenience, the process 200 will be described as being performed by a system of one or more computers, located in one or more locations, and programmed appropriately in accordance with this specification. For example, a dynamic balance point control engine, e.g., the dynamic balance point control engine 102 of FIG. 1, appropriately programmed, can perform the process 200.
The system maintains 202 a first set of operating parameters for an HVAC system at a property. The HVAC system including at least one heat pump and at least one auxiliary temperature regulation source. The system can receive the first set of operating parameters from another system, e.g., within a time period of installation of at least part of the HVAC system at the property.
For example, as depicted in FIG. 1, an HVAC system 106 can include temperature regulation sources 108-1, 108-2, 108-N, where the temperature regulation sources include at least one heat pump and at least one auxiliary temperature regulation source, e.g., an electric or gas furnace, an air conditioning system, or any combination of these. A first set of operating parameters, e.g., operating parameters 118, can include a current understanding of the HVAC system 106 at the monitored property 104. For example, the first set of operating parameters can be manufacturer's settings based on an initial understanding of the HVAC system 106 at the property. The first set of operating parameters can be selected, generated, or both, in part using operating parameters from other HVAC systems including temperature regulation sources, regional location, installation location, property characteristics, or any combination of these, having at least a threshold degree of similarity to the instant HVAC system 106 at the monitored property 104.
The system computes 204, using the first set of operating parameters for the HVAC system, a first dynamic balance point. For example, as depicted in FIG. 1, the dynamic balance point control engine 102 can compute, using the first set of operating parameters, a first dynamic balance point 114 for the HVAC system 106 to trigger a switch between a first operating mode and a second operating mode of the HVAC system, e.g., between a heat pump as a primary temperature regulation source and an auxiliary temperature regulation source. In some instances, the dynamic balance point control engine 102 selects the first dynamic balance point 114 using a rules-based process, e.g., a look up table or another rules-based system, which relates the operating parameters 118 to balance point values 114. In some instances, the dynamic balance point control engine 102 provides the first set of operating parameters to an initial model 130 as input and obtains a first dynamic balance point as output from the initial model 130.
The system maintains 206 the first dynamic balance point in memory, the first dynamic balance point adjustable to a second dynamic balance point in response to one or mor real-time triggers. The dynamic balance point control engine 102 stores the first dynamic balance point, e.g., in a dynamic balance point database 114. The first dynamic balance point can be stored locally and accessible by control unit 108, e.g., a thermostat, at the monitored property such that the control unit 108 can control the operations of the HVAC system 106 including the temperature regulation sources responsive to a real-time trigger of the dynamic balance point.
The system provides 208, to the HVAC system, the first dynamic balance point to cause the HVAC system to select, in response to at least one real-time trigger, between a first operating mode including causing the at least one heat pump to operate, and a second operating mode including causing the at least one auxiliary temperature regulation source to operate. The dynamic balance point control engine 102 provides, to the HVAC system 106 the first dynamic balance point 114 to cause the HVAC system 106 to select between first and second operating modes in response to a real-time trigger. In some instances, the dynamic balance point control engine 102 as operable by a control unit 108, e.g., thermostat, as a component of and/or in data communication with the HVAC system 106 can trigger the switch between operating modes of the HVAC system 106 in response to the real-time trigger. A real-time trigger can be a determination that a value, e.g., a measure temperature at the monitored property, is outside a threshold range of values for the dynamic balance point, above or below a value of the dynamic balance point, or a combination of both.
The system detects 210 an updated set of operating parameters for the HVAC system. The updated set of operating parameters is different than the first set of operating parameters, e.g., at least one value in the two parameter sets is different.
The dynamic balance point control engine 102 can determine to update the set of operating parameters for the HVAC system 106. The dynamic balance point control engine 102 can determine to update the set of operating parameters 118 for example, in response to a detected efficiency of the HVAC system being below a target value; a change in energy availability 124; changes in habits at the property, e.g., occupancy, appliance use, or both; detected using sensors data 112; environmental data 122; or any combination of these.
In some instances, a local model 132 of the initial model 130, the initial model 130, or a subsequent model that is prior to the local model 132 but generated after the initial model 130, can be used with locally collected or locally-relevant data, e.g., sensor data 112. The model can be refined to more accurately reflect the performance of the HVAC system 106 based on specific operation and configuration of the HVAC system 106 that may vary from a previous understanding of HVAC system 106. The dynamic balance point control engine 102 can use the local model to generate the updated set of operating parameters.
The system selects 212, using the updated set of operating parameters for the HVAC system, the second dynamic balance point. In some instances, the dynamic balance point control engine 102 selects the second dynamic balance point 114 using the rules-based process, e.g., a look up table or another rules-based system, which relates the operating parameters 118 to balance point values 114. In some instances, the dynamic balance point control engine 102 provides the updated set of operating parameters as input to the model and obtains the second dynamic balance point as output from the model.
The system maintains 214 the second dynamic balance point in memory. In some instances, the second dynamic point is adjustable to a third dynamic balance point in response to one or more real-time triggers, e.g., a change in a temperature at the property, activation of a set point, or a combination of both. The dynamic balance point control engine 102 stores, e.g., maintains, the second dynamic balance point, e.g., in database 114. The second dynamic balance point can be stored locally and accessible by control unit 108, e.g., a thermostat, at the monitored property such that the control unit 108 can control the operations of the HVAC system 106 including the temperature regulation sources responsive to a real-time trigger of the dynamic balance point.
The system provides 216, to the HVAC system, the second dynamic balance point to cause the HVAC system to select, in response to at least one real-time trigger, between a first operating mode including causing the at least one heat pump to operate, and a second operating mode including causing the at least one auxiliary temperature regulation source to operate. In some examples, the system can provide the second dynamic balance point as part of an instruction that causes the HVAC system to make this selection. The dynamic balance point control engine 102 provides, to the HVAC system 106, the second dynamic balance point 114 to cause the HVAC system 106 to select between first and second operating modes in response to a real-time trigger of the second dynamic balance point 114. In some instances, the dynamic balance point control engine 102 as operable by a control unit 108, e.g., thermostat, as a component of and/or in data communication with the HVAC system 106 can trigger the switch between operating modes of the HVAC system 106 in response to the real-time trigger of the second dynamic balance point.
A real-time trigger can be a determination that a value, e.g., a measured temperature at the monitored property, is outside a threshold range of values for the dynamic balance point, above or below a value of the dynamic balance point, or a combination of both. For instance, the dynamic balance point control engine 102 can determine, as part of the trigger, that a first measured temperature, e.g., an indoor temperature, satisfies a set point value for the HVAC system. Upon determining that the measured temperature satisfies the set point value, the dynamic balance point control engine 102 can determine whether a second measured temperature satisfies the second dynamic balance point. If the second measured temperature satisfies the second dynamic balance point, one of the two operating modes can be selected. If the second measured temperature does not satisfy the second dynamic balance point, the other of the two operating modes can be selected. The second measured temperature can be an ambient temperature, e.g., outside a building at the property for which the indoor temperature is measured. The ambient temperature can be a specific temperature, e.g., for a particular area outside the building such as where an external unit for the heat pump is located; a general temperature, e.g., for a region outside the building such as a general outdoor temperature at the property, an outdoor temperature measured at a measuring station, or both; or any combination of these. The measuring station can be an airport or another appropriate measuring station for the property.
In some implementations, the process 200 can include additional operations, fewer operations, or some of the operations can be divided into multiple operations. For example, the HVAC system 106 can include two or more dynamic balance points 114, where each dynamic balance point 114 corresponding to a set of operating modes of the HVAC system 106. For example, an HVAC system 106 can include three operating modes: (i) heat pump only, (ii) auxiliary temperature regulation source only, and (iii) a combination of heat pump and auxiliary temperature regulation source operation. The first dynamic balance point can trigger between operating modes (i) and (ii), the second dynamic balance point can trigger operating mode (iii).
By using the first dynamic balance point and the second dynamic balance point, which are different balance points, a system can dynamically change when it will use a first operating mode to control temperature at a property or a second operating mode to control temperature at the property. In particular, the triggers for selecting between the two operating modes changes between the two dynamic balance points. Although the operating modes can be the same for both dynamic balance points, the use of those modes changes, which can enable a property to be more energy efficient.
For situations in which the systems discussed here collect personal information about people, or may make use of personal information, the people may be provided with an opportunity to control whether programs or features collect personal information (e.g., information about a person's activities, a person's preferences, or a person's current location), or to control whether and/or how the dynamic balance point control engine 102 operates. In addition, certain data may be anonymized in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a person's identity may be anonymized so that no personally identifiable information can be determined for the person. Thus, the person may have control over how information is collected about them and used.
In this specification, the term “database” is used broadly to refer to any collection of data: the data does not need to be structured in any particular way, or structured at all, and it can be stored on storage devices in one or more locations. A database can be implemented on any appropriate type of memory.
In this specification the term “engine” or module is used broadly to refer to a software-based system, subsystem, or process that is programmed to perform one or more specific functions. Generally, an engine will be implemented as one or more software modules or components, installed on one or more computers in one or more locations. In some instances, one or more computers will be dedicated to a particular engine. In some instances, multiple engines can be installed and running on the same computer or computers.
In this specification, the term “likely” is used to mean that there is a likelihood that something might occur and that likelihood satisfies a likelihood threshold. For instance, when determining that an object is likely depicted in an image, a system would determine a likelihood that the object is depicted in the image. The system would then determine whether the likelihood satisfies, e.g., is greater than or equal to, a likelihood threshold by comparing the two values. If so, the system determines that the object is likely depicted in the image. If not, the system determines that the object is not likely depicted in the image.
FIG. 3 is a diagram illustrating an example of an environment 300, e.g., for monitoring a property. The property can be any appropriate type of property, such as a home, a business, or a combination of both. The environment 300 includes a network 305, a control unit 310, one or more devices 340 and 350, a monitoring system 360, a central alarm system 370, or a combination of two or more of these. In some examples, the network 305 facilitates communications between two or more of the control unit 310, the one or more devices 340 and 350, the monitoring system 360, and the central alarm system 370.
The network 305 is configured to enable exchange of electronic communications between devices connected to the network 305. For example, the network 305 can be configured to enable exchange of electronic communications between the control unit 310, the one or more devices 340 and 350, the monitoring system 360, and the central alarm system 370. The network 305 can include, for example, one or more of the Internet, Wide Area Networks (“WANs”), Local Area Networks (“LANs”), analog or digital wired and wireless telephone networks (e.g., a public switched telephone network (“PSTN”), Integrated Services Digital Network (“ISDN”), a cellular network, and Digital Subscriber Line (“DSL”)), radio, television, cable, satellite, any other delivery or tunneling mechanism for carrying data, or a combination of these. The network 305 can include multiple networks or subnetworks, each of which can include, for example, a wired or wireless data pathway. The network 305 can include a circuit-switched network, a packet-switched data network, or any other network able to carry electronic communications (e.g., data or voice communications). For example, the network 305 can include networks based on the Internet protocol (“IP”), asynchronous transfer mode (“ATM”), the PSTN, packet-switched networks based on IP, X.25, or Frame Relay, or other comparable technologies and can support voice using, for example, voice over IP (“VoIP”), or other comparable protocols used for voice communications. The network 305 can include one or more networks that include wireless data channels and wireless voice channels. The network 305 can be a broadband network.
The control unit 310 includes a controller 312 and a network module 314. The controller 312 is configured to control a control unit monitoring system, e.g., a control unit system, which includes the control unit 310. In some examples, the controller 312 can include one or more processors or other control circuitry configured to execute instructions of a program that controls operation of a control unit system. In these examples, the controller 312 can be configured to receive input from sensors, or other devices included in the control unit system and control operations of devices at the property, e.g., speakers, displays, lights, doors, other appropriate devices, or a combination of these. For example, the controller 312 can be configured to control operation of the network module 314 included in the control unit 310.
The network module 314 is a communication device configured to exchange communications over the network 305. The network module 314 can be a wireless communication module configured to exchange wireless, wired, or a combination of both, communications over the network 305. For example, the network module 314 can be a wireless communication device configured to exchange communications over a wireless data channel and a wireless voice channel. In some examples, the network module 314 can transmit alarm data over a wireless data channel and establish a two-way voice communication session over a wireless voice channel. The wireless communication device can include one or more of a LTE module, a GSM module, a radio modem, a cellular transmission module, or any type of module configured to exchange communications in any appropriate type of wireless or wired format.
The network module 314 can be a wired communication module configured to exchange communications over the network 305 using a wired connection. For instance, the network module 314 can be a modem, a network interface card, or another type of network interface device. The network module 314 can be an Ethernet network card configured to enable the control unit 310 to communicate over a local area network, the Internet, or a combination of both. The network module 314 can be a voice band modem configured to enable the alarm panel to communicate over the telephone lines of Plain Old Telephone Systems (“POTS”).
The control unit system that includes the control unit 310 can include one or more sensors 320. For example, the environment 300 can include multiple sensors 320. The sensors 320 can include a lock sensor, a contact sensor, a motion sensor, a camera (e.g., a camera 330), a flow meter, any other type of sensor included in a control unit system, or a combination of two or more of these. The sensors 320 can include an environmental sensor, such as a temperature sensor, a water sensor, a rain sensor, a wind sensor, a light sensor, a smoke detector, a carbon monoxide detector, or an air quality sensor, to name a few additional examples. The sensors 320 can include a health monitoring sensor, such as a prescription bottle sensor that monitors taking of prescriptions, a blood pressure sensor, a blood sugar sensor, or a bed mat configured to sense presence of liquid (e.g., bodily fluids) on the bed mat. In some examples, the health monitoring sensor can be a wearable sensor that attaches to a person, e.g., a user, at the property. The health monitoring sensor can collect various health data, including pulse, heartrate, respiration rate, sugar or glucose level, bodily temperature, motion data, or a combination of these. The sensors 320 can include a radio-frequency identification (“RFID”) sensor that identifies a particular article that includes a pre-assigned RFID tag.
The control unit 310 can communicate with a module 322 and a camera 330 to perform monitoring. The module 322 is connected to one or more devices that enable property automation, e.g., home or business automation. For instance, the module 322 can connect to, and be configured to control operation of, one or more lighting systems. The module 322 can connect to, and be configured to control operation of, one or more electronic locks, e.g., control Z-Wave locks using wireless communications in the Z-Wave protocol. In some examples, the module 322 can connect to, and be configured to control operation of, one or more appliances. The module 322 can include multiple sub-modules that are each specific to a type of device being controlled in an automated manner. The module 322 can control the one or more devices using commands received from the control unit 310. For instance, the module 322 can receive a command from the control unit 310, which command was sent using data captured by the camera 330 that depicts an area. In response, the module 322 can cause a lighting system to illuminate an area to provide better lighting in the area, and a higher likelihood that the camera 330 can capture a subsequent image of the area that depicts more accurate data of the area.
The camera 330 can be an image camera or other type of optical sensing device configured to capture one or more images. For instance, the camera 330 can be configured to capture images of an area within a property monitored by the control unit 310. The camera 330 can be configured to capture single, static images of the area; video of the area, e.g., a sequence of images; or a combination of both. The sequence of images can be a sequence of frames, e.g., when the video is compressed using a video codec. The image captured by the camera can be any appropriate type of image, e.g., a frame. The camera 330 can be controlled using commands received from the control unit 310 or another device in the property monitoring system, e.g., a device 350.
The camera 330 can be triggered using any appropriate techniques, can capture images continuously, or a combination of both. For instance, a Passive Infra-Red (“PIR”) motion sensor can be built into the camera 330 and used to trigger the camera 330 to capture one or more images when motion is detected. The camera 330 can include a microwave motion sensor built into the camera which is used to trigger the camera 330 to capture one or more images when motion is detected. The camera 330 can have a “normally open” or “normally closed” digital input that can trigger capture of one or more images when external sensors detect motion or other events. The external sensors can include another sensor from the sensors 320, PIR, or door or window sensors, to name a few examples. In some implementations, the camera 330 receives a command to capture an image, e.g., when external devices detect motion or another potential alarm event or in response to a request from a device. The camera 330 can receive the command from the controller 312, directly from one of the sensors 320, or a combination of both.
In some examples, the camera 330 triggers integrated or external illuminators to improve image quality when the scene is dark. Some examples of illuminators can include Infra-Red, Z-wave controlled “white” lights, lights controlled by the module 322, or a combination of these. An integrated or separate light sensor can be used to determine if illumination is desired and can result in increased image quality.
The camera 330 can be programmed with any combination of time schedule, day schedule, system “arming state”, other variables, or a combination of these, to determine whether images should be captured when one or more triggers occur. The camera 330 can enter a low-power mode when not capturing images. In this case, the camera 330 can wake periodically to check for inbound messages from the controller 312 or another device. The camera 330 can be powered by internal, replaceable batteries, e.g., if located remotely from the control unit 310. The camera 330 can employ a small solar cell to recharge the battery when light is available. The camera 330 can be powered by a wired power supply, e.g., the controller's 312 power supply if the camera 330 is co-located with the controller 312.
In some implementations, the camera 330 communicates directly with the monitoring system 360 over the network 305. In these implementations, image data captured by the camera 330 need not pass through the control unit 310. The camera 330 can receive commands related to operation from the monitoring system 360, provide images to the monitoring system 360, or a combination of both.
The environment 300 can include one or more thermostats 334, e.g., to perform dynamic environmental control at the property. The thermostat 334 is configured to monitor temperature of the property, energy consumption of a heating, ventilation, and air conditioning (“HVAC”) system associated with the thermostat 334, or both. In some examples, the thermostat 334 is configured to provide control of environmental (e.g., temperature) settings. In some implementations, the thermostat 334 can additionally or alternatively receive data relating to activity at a property; environmental data at a property, e.g., at various locations indoors or outdoors or both at the property; or a combination of both. The thermostat 334 can measure or estimate energy consumption of the HVAC system associated with the thermostat. The thermostat 334 can estimate energy consumption, for example, using data that indicates usage of one or more components of the HVAC system associated with the thermostat 334. The thermostat 334 can communicate various data, e.g., temperature, energy, or both, with the control unit 310. In some examples, the thermostat 334 can control the environment, e.g., temperature, settings in response to commands received from the control unit 310.
In some implementations, the thermostat 334 is a dynamically programmable thermostat and can be integrated with the control unit 310. For example, the dynamically programmable thermostat 334 can include the control unit 310, e.g., as an internal component to the dynamically programmable thermostat 334. In some examples, the control unit 310 can be a gateway device that communicates with the dynamically programmable thermostat 334. In some implementations, the thermostat 334 is controlled via one or more modules 322.
The environment 300 can include the HVAC system or otherwise be connected to the HVAC system. For instance, the environment 300 can include one or more HVAC modules 337. The HVAC modules 337 can be connected to one or more components of the HVAC system associated with a property. A module 337 can be configured to capture sensor data from, control operation of, or both, corresponding components of the HVAC system. In some implementations, the module 337 is configured to monitor energy consumption of an HVAC system component, for example, by directly measuring the energy consumption of the HVAC system components or by estimating the energy usage of the one or more HVAC system components by detecting usage of components of the HVAC system. The module 337 can communicate energy monitoring information, the state of the HVAC system components, or both, to the thermostat 334. The module 337 can control the one or more components of the HVAC system in response to receipt of commands received from the thermostat 334.
In some examples, the environment 300 includes one or more robotic devices 390. The robotic devices 390 can be any type of robots that are capable of moving, such as an aerial drone, a land-based robot, or a combination of both. The robotic devices 390 can take actions, such as capture sensor data or other actions that assist in security monitoring, property automation, or a combination of both. For example, the robotic devices 390 can include robots capable of moving throughout a property using automated navigation control technology, user input control provided by a user, or a combination of both. The robotic devices 390 can fly, roll, walk, or otherwise move about the property. The robotic devices 390 can include helicopter type devices (e.g., quad copters), rolling helicopter type devices (e.g., roller copter devices that can fly and roll along the ground, walls, or ceiling) and land vehicle type devices (e.g., automated cars that drive around a property). In some examples, the robotic devices 390 can be robotic devices 390 that are intended for other purposes and merely associated with the environment 300 for use in appropriate circumstances. For instance, a robotic vacuum cleaner device can be associated with the environment 300 as one of the robotic devices 390 and can be controlled to take action responsive to monitoring system events.
In some examples, the robotic devices 390 automatically navigate within a property. In these examples, the robotic devices 390 include sensors and control processors that guide movement of the robotic devices 390 within the property. For instance, the robotic devices 390 can navigate within the property using one or more cameras, one or more proximity sensors, one or more gyroscopes, one or more accelerometers, one or more magnetometers, a global positioning system (“GPS”) unit, an altimeter, one or more sonar or laser sensors, any other types of sensors that aid in navigation about a space, or a combination of these. The robotic devices 390 can include control processors that process output from the various sensors and control the robotic devices 390 to move along a path that reaches the desired destination, avoids obstacles, or a combination of both. In this regard, the control processors detect walls or other obstacles in the property and guide movement of the robotic devices 390 in a manner that avoids the walls and other obstacles.
In some implementations, the robotic devices 390 can store data that describes attributes of the property. For instance, the robotic devices 390 can store a floorplan, a three-dimensional model of the property, or a combination of both, that enable the robotic devices 390 to navigate the property. During initial configuration, the robotic devices 390 can receive the data describing attributes of the property, determine a frame of reference to the data (e.g., a property or reference location in the property), and navigate the property using the frame of reference and the data describing attributes of the property. In some examples, initial configuration of the robotic devices 390 can include learning one or more navigation patterns in which a user provides input to control the robotic devices 390 to perform a specific navigation action (e.g., fly to an upstairs bedroom and spin around while capturing video and then return to a property charging base). In this regard, the robotic devices 390 can learn and store the navigation patterns such that the robotic devices 390 can automatically repeat the specific navigation actions upon a later request.
In some examples, the robotic devices 390 can include data capture devices. In these examples, the robotic devices 390 can include, as data capture devices, one or more cameras, one or more motion sensors, one or more microphones, one or more biometric data collection tools, one or more temperature sensors, one or more humidity sensors, one or more air flow sensors, any other type of sensor that can be useful in capturing monitoring data related to the property and users in the property, or a combination of these. The one or more biometric data collection tools can be configured to collect biometric samples of a person in the property with or without contact of the person. For instance, the biometric data collection tools can include a fingerprint scanner, a hair sample collection tool, a skin cell collection tool, or any other tool that allows the robotic devices 390 to take and store a biometric sample that can be used to identify the person (e.g., a biometric sample with DNA that can be used for DNA testing).
In some implementations, the robotic devices 390 can include output devices. In these implementations, the robotic devices 390 can include one or more displays, one or more speakers, any other type of output devices that allow the robotic devices 390 to communicate information, e.g., to a nearby user or another type of person, or a combination of these.
The robotic devices 390 can include a communication module that enables the robotic devices 390 to communicate with the control unit 310, each other, other devices, or a combination of these. The communication module can be a wireless communication module that allows the robotic devices 390 to communicate wirelessly. For instance, the communication module can be a Wi-Fi module that enables the robotic devices 390 to communicate over a local wireless network at the property. Other types of short-range wireless communication protocols, such as 900 MHz wireless communication, Bluetooth, Bluetooth LE, Z-wave, Zigbee, Matter, or any other appropriate type of wireless communication, can be used to allow the robotic devices 390 to communicate with other devices, e.g., on or off the property. In some implementations, the robotic devices 390 can communicate with each other or with other devices of the environment 300 through the network 305.
The robotic devices 390 can include processor and storage capabilities. The robotic devices 390 can include any one or more suitable processing devices that enable the robotic devices 390 to execute instructions, operate applications, perform the actions described throughout this specification, or a combination of these. In some examples, the robotic devices 390 can include solid-state electronic storage that enables the robotic devices 390 to store applications, configuration data, collected sensor data, any other type of information available to the robotic devices 390, or a combination of two or more of these.
The robotic devices 390 can process captured data locally, provide captured data to one or more other devices for processing, e.g., the control unit 310 or the monitoring system 360, or a combination of both. For instance, the robotic device 390 can provide the images to the control unit 310 for processing. In some examples, the robotic device 390 can process the images to determine an identification of the items.
One or more of the robotic devices 390 can be associated with one or more charging stations. The charging stations can be located at a predefined home base or reference location in the property. The robotic devices 390 can be configured to navigate to one of the charging stations after completion of one or more tasks needed to be performed, e.g., for the environment 300. For instance, after completion of a monitoring operation or upon instruction by the control unit 310, a robotic device 390 can be configured to automatically fly to and connect with, e.g., land on, one of the charging stations. In this regard, a robotic device 390 can automatically recharge one or more batteries included in the robotic device 390 so that the robotic device 390 is less likely to need recharging when the environment 300 requires use of the robotic device 390, e.g., absent other concerns for the robotic device 390.
The charging stations can be contact-based charging stations, wireless charging stations, or a combination of both. For contact-based charging stations, the robotic devices 390 can have readily accessible points of contact to which a robotic device 390 can contact on the charging station. For instance, a helicopter type robotic device can have an electronic contact on a portion of its landing gear that rests on and couples with an electronic pad of a charging station when the helicopter type robotic device lands on the charging station. The electronic contact on the robotic device 390 can include a cover that opens to expose the electronic contact when the robotic device is charging and closes to cover and insulate the electronic contact when the robotic device 390 is in operation.
For wireless charging stations, the robotic devices 390 can charge through a wireless exchange of power. In these instances, a robotic device 390 needs only position itself closely enough to a wireless charging station for the wireless exchange of power to occur. In this regard, the positioning needed to land at a predefined home base or reference location in the property can be less precise than with a contact-based charging station. Based on the robotic devices 390 landing at a wireless charging station, the wireless charging station can output a wireless signal that the robotic device 390 receives and converts to a power signal that charges a battery maintained on the robotic device 390. As described in this specification, a robotic device 390 landing or coupling with a charging station can include a robotic device 390 positioning itself within a threshold distance of a wireless charging station such that the robotic device 390 is able to charge its battery.
In some implementations, one or more of the robotic devices 390 has an assigned charging station. In these implementations, the number of robotic devices 390 can equal the number of charging stations. In these implementations, the robotic devices 390 can always navigate to the specific charging station assigned to that robotic device 390. For instance, a first robotic device can always use a first charging station and a second robotic device can always use a second charging station.
In some examples, the robotic devices 390 can share charging stations. For instance, the robotic devices 390 can use one or more community charging stations that are capable of charging multiple robotic devices 390, e.g., substantially concurrently or separately or a combination of both at different times. The community charging station can be configured to charge multiple robotic devices 390 at substantially the same time, e.g., the community charging station can begin charging a first robotic device and then, while charging the first robotic device, begin charging a second robotic device five minutes later. The community charging station can be configured to charge multiple robotic devices 390 in serial such that the multiple robotic devices 390 take turns charging and, when fully charged, return to a predefined home base or reference location or another location in the property that is not associated with a charging station. The number of community charging stations can be less than the number of robotic devices 390.
In some instances, the charging stations might not be assigned to specific robotic devices 390 and can be capable of charging any of the robotic devices 390. In this regard, the robotic devices 390 can use any suitable, unoccupied charging station when not in use, e.g., when not performing an operation for the environment 300. For instance, when one of the robotic devices 390 has completed an operation or is in need of battery charge, the control unit 310 can reference a stored table of the occupancy status of each charging station and instructs the robotic device to navigate to the nearest charging station that has at least one unoccupied charger.
The environment 300 can include one or more integrated security devices 380. The one or more integrated security devices can include any type of device used to provide alerts based on received sensor data. For instance, the one or more control units 310 can provide one or more alerts to the one or more integrated security input/output devices 380. In some examples, the one or more control units 310 can receive sensor data from the sensors 320 and determine whether to provide an alert, or a message to cause presentation of an alert, to the one or more integrated security input/output devices 380.
The sensors 320, the module 322, the camera 330, the thermostat 334, the module 337, the integrated security devices 380, and the robotic devices 390, can communicate with the controller 312 over communication links 324, 326, 328, 332, 336, 338, 384, and 386. The communication links 324, 326, 328, 332, 336, 338, 384, and 386 can be a wired or wireless data pathway configured to transmit signals between any combination of the sensors 320, the module 322, the camera 330, the thermostat 334, the module 337, the integrated security devices 380, the robotic devices 390, or the controller 312. The sensors 320, the module 322, the camera 330, the thermostat 334, the module 337, the integrated security devices 380, and the robotic devices 390, can continuously transmit sensed values to the controller 312, periodically transmit sensed values to the controller 312, or transmit sensed values to the controller 312 in response to a change in a sensed value, a request, or both. In some implementations, the robotic devices 390 can communicate with the monitoring system 360 over network 305. The robotic devices 390 can connect and communicate with the monitoring system 360 using a Wi-Fi or a cellular connection or any other appropriate type of connection.
The communication links 324, 326, 328, 332, 336, 338, 384, and 386 can include any appropriate type of network, such as a local network. The sensors 320, the module 322, the camera 330, the thermostat 334, the robotic devices 390 and the integrated security devices 380, and the controller 312 can exchange data and commands over the network.
The monitoring system 360 can include one or more electronic devices, e.g., one or more computers. The monitoring system 360 is configured to provide monitoring services by exchanging electronic communications with the control unit 310, the one or more devices 340 and 350, the central alarm system 370, or a combination of these, over the network 305. For example, the monitoring system 360 can be configured to monitor events (e.g., alarm events) generated by the control unit 310. In these examples, the monitoring system 360 can exchange electronic communications with the network module 314 included in the control unit 310 to receive information regarding events (e.g., alerts) detected by the control unit 310. The monitoring system 360 can receive information regarding events (e.g., alerts) from the one or more devices 340 and 350.
In some implementations, the monitoring system 360 might be configured to provide one or more services other than monitoring services. In these implementations, the monitoring system 360 might perform one or more operations described in this specification without providing any monitoring services, e.g., the monitoring system 360 might not be a monitoring system as described in the example shown in FIG. 3.
In some examples, the monitoring system 360 can route alert data received from the network module 314 or the one or more devices 340 and 350 to the central alarm system 370. For example, the monitoring system 360 can transmit the alert data to the central alarm system 370 over the network 305.
The monitoring system 360 can store sensor and image data received from the environment 300 and perform analysis of sensor and image data received from the environment 300. Based on the analysis, the monitoring system 360 can communicate with and control aspects of the control unit 310 or the one or more devices 340 and 350.
The monitoring system 360 can provide various monitoring services to the environment 300. For example, the monitoring system 360 can analyze the sensor, image, and other data to determine an activity pattern of a person of the property monitored by the environment 300. In some implementations, the monitoring system 360 can analyze the data for alarm conditions or can determine and perform actions at the property by issuing commands to one or more components of the environment 300, possibly through the control unit 310.
The central alarm system 370 is an electronic device, or multiple electronic devices, configured to provide alarm monitoring service by exchanging communications with the control unit 310, the one or more mobile devices 340 and 350, the monitoring system 360, or a combination of these, over the network 305. For example, the central alarm system 370 can be configured to monitor alerting events generated by the control unit 310. In these examples, the central alarm system 370 can exchange communications with the network module 314 included in the control unit 310 to receive information regarding alerting events detected by the control unit 310. The central alarm system 370 can receive information regarding alerting events from the one or more mobile devices 340 and 350, the monitoring system 360, or both. In some implementations, the central alarm system 370 can be implemented, at least in part if not entirely, on the monitoring system 360. In these implementations, the monitoring system 360 can perform the operations described with reference to the central alarm system 370. One or both of the monitoring system 360 or the central alarm system 370 can be implemented in the cloud.
The central alarm system 370 is connected to multiple terminals 372 and 374. The terminals 372 and 374 can be used by operators to process alerting events. For example, the central alarm system 370, e.g., as part of a first responder system, can route alerting data to the terminals 372 and 374 to enable an operator to process the alerting data. The terminals 372 and 374 can include general-purpose computers (e.g., desktop personal computers, workstations, or laptop computers) that are configured to receive alerting data from a computer in the central alarm system 370 and render a display of information using the alerting data.
For instance, the controller 312 can control the network module 314 to transmit, to the central alarm system 370, alerting data indicating that a sensor 320 detected motion from a motion sensor via the sensors 320. The central alarm system 370 can receive the alerting data and route the alerting data to the terminal 372 for processing by an operator associated with the terminal 372. The terminal 372 can render a display to the operator that includes information associated with the alerting event (e.g., the lock sensor data, the motion sensor data, the contact sensor data, etc.) and the operator can handle the alerting event based on the displayed information. In some implementations, the terminals 372 and 374 can be mobile devices or devices designed for a specific function. Although FIG. 3 illustrates two terminals for brevity, actual implementations can include more (and, perhaps, many more) terminals.
The one or more devices 340 and 350 are devices that can present content, e.g., host and display user interfaces, audio data, or both. For instance, the mobile device 340 is a mobile device that hosts or runs one or more native applications (e.g., the smart property application 342). The mobile device 340 can be a cellular phone or a non-cellular locally networked device with a display. The mobile device 340 can include a cell phone, a smart phone, a tablet PC, a personal digital assistant (“PDA”), or any other portable device configured to communicate over a network and present information. The mobile device 340 can perform functions unrelated to the monitoring system, such as placing personal telephone calls, playing music, playing video, displaying pictures, browsing the Internet, and maintaining an electronic calendar.
The mobile device 340 can include a smart property application 342. The smart property application 342 refers to a software/firmware program running on the corresponding mobile device that enables the user interface and features described throughout. The mobile device 340 can load or install the smart property application 342 using data received over a network or data received from local media. The smart property application 342 enables the mobile device 340 to receive and process image and sensor data from the monitoring system 360.
The device 350 can be a general-purpose computer (e.g., a desktop personal computer, a workstation, or a laptop computer) that is configured to communicate with the monitoring system 360, the control unit 310, or both, over the network 305. The device 350 can be configured to display a smart property user interface 352 that is generated by the device 350 or generated by the monitoring system 360. For example, the device 350 can be configured to display a user interface (e.g., a web page) generated using data provided by the monitoring system 360 that enables a user to perceive images captured by the camera 330, reports related to the monitoring system, or both. Although FIG. 3 illustrates two devices for brevity, actual implementations can include more (and, perhaps, many more) or fewer devices.
In some implementations, the one or more devices 340 and 350 communicate with and receive data from the control unit 310 using the communication link 338. For instance, the one or more devices 340 and 350 can communicate with the control unit 310 using various wireless protocols, or wired protocols such as Ethernet and USB, to connect the one or more devices 340 and 350 to the control unit 310, e.g., local security and automation equipment. The one or more devices 340 and 350 can use a local network, a wide area network, or a combination of both, to communicate with other components in the environment 300. The one or more devices 340 and 350 can connect locally to the sensors and other devices in the environment 300.
Although the one or more devices 340 and 350 are shown as communicating with the control unit 310, the one or more devices 340 and 350 can communicate directly with the sensors and other devices controlled by the control unit 310. In some implementations, the one or more devices 340 and 350 replace the control unit 310 and perform one or more of the functions of the control unit 310 for local monitoring and long range, offsite, or both, communication.
In some implementations, the one or more devices 340 and 350 receive monitoring system data captured by the control unit 310 through the network 305. The one or more devices 340 and 350 can receive the data from the control unit 310 through the network 305, the monitoring system 360 can relay data received from the control unit 310 to the one or more devices 340 and 350 through the network 305, or a combination of both. In this regard, the monitoring system 360 can facilitate communication between the one or more devices 340 and 350 and various other components in the environment 300.
In some implementations, the one or more devices 340 and 350 can be configured to switch whether the one or more devices 340 and 350 communicate with the control unit 310 directly (e.g., through communication link 338) or through the monitoring system 360 (e.g., through network 305) based on a location of the one or more devices 340 and 350. For instance, when the one or more devices 340 and 350 are located close to, e.g., within a threshold distance of, the control unit 310 and in range to communicate directly with the control unit 310, the one or more devices 340 and 350 use direct communication. When the one or more devices 340 and 350 are located far from, e.g., outside the threshold distance of, the control unit 310 and not in range to communicate directly with the control unit 310, the one or more devices 340 and 350 use communication through the monitoring system 360.
Although the one or more devices 340 and 350 are shown as being connected to the network 305, in some implementations, the one or more devices 340 and 350 are not connected to the network 305. In these implementations, the one or more devices 340 and 350 communicate directly with one or more of the monitoring system components and no network (e.g., Internet) connection or reliance on remote servers is needed.
In some implementations, the one or more devices 340 and 350 are used in conjunction with only local sensors and/or local devices in a house. In these implementations, the environment 300 includes the one or more devices 340 and 350, the sensors 320, the module 322, the camera 330, and the robotic devices 390. The one or more devices 340 and 350 receive data directly from the sensors 320, the module 322, the camera 330, the robotic devices 390, or a combination of these, and send data directly to the sensors 320, the module 322, the camera 330, the robotic devices 390, or a combination of these. The one or more devices 340 and 350 can provide the appropriate interface, processing, or both, to provide visual surveillance and reporting using data received from the various other components.
In some implementations, the environment 300 includes network 305 and the sensors 320, the module 322, the camera 330, the thermostat 334, and the robotic devices 390 are configured to communicate sensor and image data to the one or more devices 340 and 350 over network 305. In some implementations, the sensors 320, the module 322, the camera 330, the thermostat 334, and the robotic devices 390 are programmed, e.g., intelligent enough, to change the communication pathway from a direct local pathway when the one or more devices 340 and 350 are in close physical proximity to the sensors 320, the module 322, the camera 330, the thermostat 334, the robotic devices 390, or a combination of these, to a pathway over network 305 when the one or more devices 340 and 350 are farther from the sensors 320, the module 322, the camera 330, the thermostat 334, the robotic devices 390, or a combination of these.
In some examples, the monitoring system 360 leverages GPS information from the one or more devices 340 and 350 to determine whether the one or more devices 340 and 350 are close enough to the sensors 320, the module 322, the camera 330, the thermostat 334, the robotic devices 390, or a combination of these, to use the direct local pathway or whether the one or more devices 340 and 350 are far enough from the sensors 320, the module 322, the camera 330, the thermostat 334, the robotic devices 390, or a combination of these, that the pathway over network 305 is required. In some examples, the monitoring system 360 leverages status communications (e.g., pinging) between the one or more devices 340 and 350 and the sensors 320, the module 322, the camera 330, the thermostat 334, the robotic devices 390, or a combination of these, to determine whether communication using the direct local pathway is possible. If communication using the direct local pathway is possible, the one or more devices 340 and 350 communicate with the sensors 320, the module 322, the camera 330, the thermostat 334, the robotic devices 390, or a combination of these, using the direct local pathway. If communication using the direct local pathway is not possible, the one or more devices 340 and 350 communicate with the sensors 320, the module 322, the camera 330, the thermostat 334, the robotic devices 390, or a combination of these, using the pathway over network 305.
In some implementations, the environment 300 provides people with access to images captured by the camera 330 to aid in decision-making. The environment 300 can transmit the images captured by the camera 330 over a network, e.g., a wireless WAN, to the devices 340 and 350. Because transmission over a network can be relatively expensive, the environment 300 can use several techniques to reduce costs while providing access to significant levels of useful visual information (e.g., compressing data, down-sampling data, sending data only over inexpensive LAN connections, or other techniques).
In some implementations, a state of the environment 300, one or more components in the environment 300, and other events sensed by a component in the environment 300 can be used to enable/disable video/image recording devices (e.g., the camera 330). In these implementations, the camera 330 can be set to capture images on a periodic basis when the alarm system is armed in an “away” state, set not to capture images when the alarm system is armed in a “stay” state or disarmed, or a combination of both. In some examples, the camera 330 can be triggered to begin capturing images when the control unit 310 detects an event, such as an alarm event, a door-opening event for a door that leads to an area within a field of view of the camera 330, or motion in the area within the field of view of the camera 330. In some implementations, the camera 330 can capture images continuously, but the captured images can be stored or transmitted over a network when needed.
Although FIG. 3 depicts the monitoring system 360 as remote from the control unit 310, in some examples the control unit 310 can be a component of the monitoring system 360. For instance, both the monitoring system 360 and the control unit 310 can be physically located at a property that includes the sensors 320 or at a location outside the property.
In some examples, some of the sensors 320, the robotic devices 390, or a combination of both, might not be directly associated with the property. For instance, a sensor or a robotic device might be located at an adjacent property or on a vehicle that passes by the property. A system at the adjacent property or for the vehicle, e.g., that is in communication with the vehicle or the robotic device, can provide data from that sensor or robotic device to the control unit 310, the monitoring system 360, or a combination of both.
A number of implementations have been described. Nevertheless, it will be understood that various modifications can be made without departing from the spirit and scope of the disclosure. For example, various forms of the flows shown above can be used, with operations re-ordered, added, or removed.
Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible non-transitory program carrier for execution by, or to control the operation of, a data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to a suitable receiver apparatus for execution by a data processing apparatus. One or more computer storage media can include a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.
The term “data processing apparatus” refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can be or include special purpose logic circuitry, e.g., a field programmable gate array (“FPGA”) or an application-specific integrated circuit (“ASIC”). The apparatus can optionally include, in addition to hardware, code that creates an execution environment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A computer program, which may also be referred to or described as a program, software, a software application, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub-programs, or portions of code. A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., a field programmable gate array (“FPGA”) or an application-specific integrated circuit (“ASIC”).
Computers suitable for the execution of a computer program include, by way of example, general or special purpose microprocessors or both, or any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. A computer can be embedded in some devices, e.g., a mobile telephone, a smart phone, a headset, a personal digital assistant (“PDA”), a mobile audio or video player, a game console, a Global Positioning System (“GPS”) receiver, or a portable storage device, e.g., a universal serial bus (“USB”) flash drive, to name just a few.
Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a liquid crystal display (“LCD”), an organic light emitting diode (“OLED”) or other monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball or a touchscreen, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well. For example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In some examples, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's device in response to requests received from the web browser.
Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some implementations, a server transmits data, e.g., an Hypertext Markup Language (“HTML”) page, to a user device, e.g., for purposes of displaying data to and receiving user input from a user device, which acts as a client. Data generated at the user device, e.g., a result of user interaction with the user device, can be received from the user device at the server.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some instances be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system modules and components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Particular implementations of the invention have been described. Other implementations are within the scope of the following claims. For example, the operations recited in the claims, described in the specification, or depicted in the figures can be performed in a different order and still achieve desirable results. In some implementations, multitasking and parallel processing may be advantageous.
1. A system comprising one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
maintaining, in memory and for a heating, ventilation, and air conditioning (HVAC) system that:
a) is for a property,
b) includes two or more temperature regulation sources including one or more heat transfer devices and one or more auxiliary temperature regulation sources, the one or more heat transfer devices generating heat in a different manner than the one or more auxiliary temperature regulation sources, and
c) dynamically uses one or more of the two or more temperature regulation sources using one or more balance points,
a first set of operating parameters for the HVAC system and a first dynamic balance point, the first dynamic balance point adjustable to a second, different dynamic balance point in response to one or more real-time triggers;
detecting an updated set of operating parameters for the HVAC system that is different from the first set of operating parameters for the HVAC system;
determining, using the updated set of operating parameters for the HVAC system, the second, different dynamic balance point; and
providing, to the HVAC system, an instruction that includes the second, different dynamic balance point to cause the HVAC system to select, in response to at least one real-time trigger for the property and for temperature control at the property using the second, different dynamic balance point, between a first operating mode that causes at least one of the one or more heat transfer devices to operate, and a second operating mode that causes at least one of the one or more auxiliary temperature regulation sources to operate.
2. The system of claim 1, wherein:
the at least one real-time trigger for the property comprises a set point for the property; and
providing the instruction causes the HVAC system to select, upon determining that the set point is triggered, between the first operating mode and the second operating mode using the second, different balance point.
3. The system of claim 1, wherein determining, using the updated set of operating parameters, the second, different dynamic balance point comprises:
maintaining, historical performance data for a plurality of HVAC systems, each of the plurality of HVAC systems including at least one second heat transfer device and at least one second auxiliary temperature regulation source, wherein the historical performance data comprises respective dynamic balance points for the plurality of HVAC systems; and
computing, using the historical performance data, the second, different dynamic balance point for the HVAC system.
4. The system of claim 1, wherein detecting the updated set of operating parameters for the HVAC system comprises:
receiving, from one or more sensors located at the property, sensor data that comprises one or more of (i) a temperature in an area within a threshold distance of the property, (ii) an occupancy at the property, (ii) a temperature set point for the HVAC system, (iii) a current performance of at least one of the two or more temperature regulation sources, or (iv) weather data for the property; and
determining, using the sensor data, the updated set of operating parameters for the HVAC system.
5. The system of claim 4, wherein detecting the updated set of operating parameters for the HVAC system comprises:
obtaining, from at least one of the two or more temperature regulation sources of the HVAC system, corresponding performance data indicating a current operation of the corresponding temperature regulation source; and
determining, using the performance data and the sensor data, the updated set of operating parameters for the HVAC system.
6. The system of claim 1, wherein detecting the updated set of operating parameters for the HVAC system comprises:
receiving training data including one or more of (i) local configuration data for the property, (ii) occupancy at the property, (iii) a temperature set point for the HVAC system, (iv) weather data for the property, or (v) installation information for the HVAC system;
training, using the training data, a performance model that represents the performance of at least one of the two or more temperature regulation sources of the HVAC system; and
computing, after the training and using the performance model, the updated set of operating parameters for the HVAC system.
7. The system of claim 1, wherein detecting the updated set of operating parameters for the HVAC system comprises:
receiving a performance model that represents the performance of at least one of the two or more temperature regulation sources of the HVAC system; and
computing, using the performance model, the updated set of operating parameters for the HVAC system.
8. The system of claim 1, the operations comprising:
obtaining real-time environmental data, energy availability data, or a combination of both; and
determining whether one or more of the real-time environmental data or the energy availability data satisfy a trigger that indicates whether the HVAC system should use the second, different dynamic balance point, wherein:
providing the second, different dynamic balance point comprises, in response determining that the one or more of the one or more of the real-time environmental data or the energy availability data satisfy the trigger of the second, different dynamic balance point, providing the second, different dynamic balance point to cause the HVAC system to select, using the second, different dynamic balance point, between the first operating mode and the second operating mode.
9. The system of claim 1, wherein:
the HVAC system has at least three operating modes including the first operating mode that causes the at least one of the one or more heat transfer devices to operate, the second operating mode that causes the at least one of the one or more auxiliary temperature regulation sources to operate, and a third operating mode that causes at least one of the one or more heat transfer devices to operate and at least one of the one or more auxiliary temperature regulation sources to operate; and
providing the instructions causes the HVAC system to select, for temperature control at the property and in response to at least one real-time trigger for the property, between the first operating mode, the second operating mode, and the third operating mode.
10. The system of claim 9, wherein:
determining the second, different dynamic balance point comprises determining, using the updated set of operating parameters for the HVAC system, the second, different dynamic balance point and a third, different dynamic balance point;
the second, different balance point comprises a trigger for selecting between the first operating mode and the third operating mode; and
the third, different dynamic balance point comprises a trigger for selecting between the second operating mode and the third operating mode.
11. The system of claim 10, wherein the HVAC system maintains:
a first setpoint that, when triggered, causes the HVAC system to select at least one temperature regulation source using the second, different balance point, and
a second setpoint that, when triggered, causes the HVAC system to select at least one temperature regulation source using the third, different balance point.
12. The system of claim 1, the operations comprising:
detecting, by the HVAC system, a current temperature at the property;
determining whether the current temperature satisfies a set point for the HVAC system; and
using a result of the determination whether the current temperature satisfies the set point for the HVAC system, selectively sending or determining to skip sending an instruction to a temperature regulation source, selected using the second, different dynamic balance point, to adjust a temperature at the property.
13. The system of claim 1, the operations comprising:
detecting, by the HVAC system, a current temperature at the property;
determining whether the current temperature satisfies a set point for the HVAC system and to control the temperature at the property using at least one of the two or more temperature regulation sources;
in response to determining that the current temperature satisfies a set point for the HVAC system and to control the temperature at the property using at least one of the two or more temperature regulation sources, selecting, using the second, different dynamic balance point, a temperature regulation source for controlling the temperature at the property; and
sending, to the temperature regulation source that was selected using the second, different dynamic balance point, an instruction to cause the temperature regulation source to adjust a temperature at the property.
14. The system of claim 1, wherein the system comprises the HVAC system, the operations comprising:
selecting, by the HVAC system and using the second, different dynamic balance point, an operating mode that uses a corresponding temperature regulation source to use to control temperature at the property, the operating mode comprising one of the first operating mode or the second operating mode; and
in response to selecting the operating mode to use to control temperature at the property, sending, to the temperature regulation source, an instruction to cause the temperature regulation source to adjust a temperature at the property.
15. The system of claim 14, the operations comprising:
detecting a current temperature at the property, wherein selecting the operating mode uses the second, different dynamic balance point and the current temperature.
16. The system of claim 15, wherein selecting the operating mode uses the second, different dynamic balance point and the current temperature comprises:
determining whether the current temperature satisfies the second, different dynamic balance point; and
selecting the operating mode using a result of the determination whether the current temperature satisfies the second, different dynamic balance point.
17. The system of claim 1, wherein at least one temperature regulation source from the two or more temperature regulation sources selected using the second, different dynamic balance point would not have been selected using the first dynamic balance point and the at least one real-time trigger for the property.
18. The system of claim 1, the operations comprising providing, to the HVAC system, the first dynamic balance point to cause the HVAC system to select, in response to at least one real-time trigger, between the first operating mode including causing the one or more heat transfer devices to operate, and the second operating mode including causing the one or more auxiliary temperature regulation sources to operate.
19. One or more computer storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:
maintaining, in memory and for a heating, ventilation, and air conditioning (HVAC) system that:
a) is for a property,
b) includes two or more temperature regulation sources including one or more heat transfer devices and one or more auxiliary temperature regulation sources, the one or more heat transfer devices generating heat in a different manner than the one or more auxiliary temperature regulation sources, and
c) dynamically uses one or more of the two or more temperature regulation sources using one or more balance points,
a first set of operating parameters for the HVAC system and a first dynamic balance point, the first dynamic balance point adjustable to a second, different dynamic balance point in response to one or more real-time triggers;
detecting an updated set of operating parameters for the HVAC system that is different from the first set of operating parameters for the HVAC system;
determining, using the updated set of operating parameters for the HVAC system, the second, different dynamic balance point; and
providing, to the HVAC system, an instruction that includes the second, different dynamic balance point to cause the HVAC system to select, in response to at least one real-time trigger for the property and for temperature control at the property using the second, different dynamic balance point, between a first operating mode that causes at least one of the one or more heat transfer devices to operate, and a second operating mode that causes at least one of the one or more auxiliary temperature regulation sources to operate.
20. A computer-implemented method comprising:
maintaining, in memory and for a heating, ventilation, and air conditioning (HVAC) system that:
a) is for a property,
b) includes two or more temperature regulation sources including one or more heat transfer devices and one or more auxiliary temperature regulation sources, the one or more heat transfer devices generating heat in a different manner than the one or more auxiliary temperature regulation sources, and
c) dynamically uses one or more of the two or more temperature regulation sources using one or more balance points,
a first set of operating parameters for the HVAC system and a first dynamic balance point, the first dynamic balance point adjustable to a second, different dynamic balance point in response to one or more real-time triggers;
detecting an updated set of operating parameters for the HVAC system that is different from the first set of operating parameters for the HVAC system;
determining, using the updated set of operating parameters for the HVAC system, the second, different dynamic balance point; and
providing, to the HVAC system, an instruction that includes the second, different dynamic balance point to cause the HVAC system to select, in response to at least one real-time trigger for the property and for temperature control at the property using the second, different dynamic balance point, between a first operating mode that causes at least one of the one or more heat transfer devices to operate, and a second operating mode that causes at least one of the one or more auxiliary temperature regulation sources to operate.