CN107408273B - Communication of historical and real-time information about devices in a building - Google Patents
Communication of historical and real-time information about devices in a building Download PDFInfo
- Publication number
- CN107408273B CN107408273B CN201480084575.4A CN201480084575A CN107408273B CN 107408273 B CN107408273 B CN 107408273B CN 201480084575 A CN201480084575 A CN 201480084575A CN 107408273 B CN107408273 B CN 107408273B
- Authority
- CN
- China
- Prior art keywords
- information
- user
- model
- electrical
- devices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title description 12
- 238000012806 monitoring device Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 184
- 230000008859 change Effects 0.000 claims description 94
- 230000009471 action Effects 0.000 claims description 18
- 238000012423 maintenance Methods 0.000 claims description 10
- 230000007704 transition Effects 0.000 description 78
- 238000012545 processing Methods 0.000 description 50
- 230000008569 process Effects 0.000 description 44
- 238000001514 detection method Methods 0.000 description 37
- 238000012546 transfer Methods 0.000 description 34
- 238000003860 storage Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 17
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 15
- 238000010438 heat treatment Methods 0.000 description 14
- VNWKTOKETHGBQD-UHFFFAOYSA-N methane Chemical compound C VNWKTOKETHGBQD-UHFFFAOYSA-N 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 7
- 230000006855 networking Effects 0.000 description 7
- 230000001052 transient effect Effects 0.000 description 7
- 230000001965 increasing effect Effects 0.000 description 6
- 239000003921 oil Substances 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 239000003345 natural gas Substances 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 5
- 238000013138 pruning Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000003066 decision tree Methods 0.000 description 4
- 239000007789 gas Substances 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000007637 random forest analysis Methods 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000005406 washing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000011143 downstream manufacturing Methods 0.000 description 2
- 238000004134 energy conservation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003442 weekly effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012731 temporal analysis Methods 0.000 description 1
- 238000000700 time series analysis Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Remote Monitoring And Control Of Power-Distribution Networks (AREA)
Abstract
Electrical usage of equipment in a building may be monitored to provide information to a user regarding operation of the equipment. The information communicated to the user may include historical information retrieved from the server and real-time information received from the power monitoring device. The historical information may be transmitted to the user device, wherein the historical information is retrieved using an identifier received from the user device. Real-time information may be received from the power monitoring device and transmitted to the user device. The historical information and the real-time information may be transmitted to the user equipment using different network connections or may be transmitted to the user equipment from different servers.
Description
Background
Among other things, reducing power usage provides the benefit of saving money by reducing payments to the utility company and also protecting the environment by reducing the amount of resources required to generate power. Power consumers, such as consumers, businesses, and other entities, may therefore desire to reduce their electrical usage to achieve these benefits. Users may be able to reduce their power usage more effectively if they have information about what devices (e.g., refrigerators, ovens, dishwashers, stoves, and light bulbs) are using the most power and what actions are available to reduce power usage in their homes and buildings.
Power monitors for individual devices may be used to measure power usage of a single device. For example, a device may be plugged into a power monitor, and the monitor may in turn be plugged into a wall outlet. These monitors may provide information about the power usage of one device to which they are attached, but it may be impractical to monitor all or even many devices in a house or building with these monitors, as this would require a large amount of equipment that may be expensive and also require significant manual effort to install.
Instead of a power monitor for a single device, a power monitor may be installed at an electrical panel to simultaneously obtain information about power used by many devices. Power monitors on electrical panels are more convenient because a single monitor can provide aggregated usage information about many devices. However, it is more difficult to extract more specific information about the power usage of a single device, as monitors typically measure one signal (or several signals for different zones of a house or building) reflecting the collective operation of many devices, which may overlap in a complex manner. The process of obtaining information about the power usage of a single device from electrical signals corresponding to the usage of many devices may be referred to as disaggregation.
In order to provide the greatest benefit to the end user, there is a need for more accurate disaggregation techniques so that the end user receives accurate information about the electrical usage of the individual devices. There is also a need for faster disaggregation techniques so that end users and other parties can receive information about electrical usage in real time.
Drawings
The following detailed description of the invention, as well as specific embodiments thereof, may be understood by reference to the following drawings:
fig. 1 illustrates one example of a system for performing disaggregation of electrical signals and providing information to a user.
FIG. 2 illustrates components of one implementation of a power monitor.
FIG. 3 illustrates a timeline of calculating features for electrical events and a data structure for storing the features.
FIG. 4 illustrates an example of a device model that may be used with a power monitor.
FIG. 5 illustrates an example of a search chart that may be used to determine information about a device.
FIG. 6 illustrates an example of an architecture for providing information about a device from a power monitor to a user.
7A-7G illustrate example displays for providing information to a user about devices in a home.
FIG. 8 illustrates components of one implementation of a server for discovering devices in a home and updating a model for the devices in the home.
Fig. 9 illustrates an electrical signal having electrical events from two devices.
Fig. 10 illustrates an example of a discovery graph that may be used to discover new devices.
FIG. 11 is a flow diagram illustrating an example implementation for providing historical and real-time information about a device.
FIG. 12 is a flow diagram illustrating an example implementation in which historical and real-time information about a device is presented to a user.
FIG. 13 is a flow diagram illustrating an example implementation of a network architecture for providing real-time information about devices.
FIG. 14 is a flow diagram illustrating an example implementation of determining information about device events.
FIG. 15 is a flow diagram illustrating an example implementation of discovering devices in a building.
FIG. 16 is a flow diagram illustrating an example implementation of a determination of a premise-specific model for determining information about a device.
FIG. 17 is a flow diagram illustrating an example implementation of using a graph, such as a search graph, to determine information about a device.
Detailed Description
Described herein are techniques for disaggregating electrical signals containing information about multiple devices to obtain information about the electrical usage of individual devices, techniques for efficiently presenting that information to an end user, and techniques for allowing an end user to take action (such as saving energy).
Fig. 1 illustrates one example of a system for performing disaggregation of an electrical signal and providing information to a user relating to a device that is consuming the electrical signal. Fig. 1 and other figures will be described with reference to power usage in the home to simplify the explanation of the techniques described herein, but the techniques described herein are equally applicable to any environment in which power is used, including but not limited to enterprise and commercial buildings, government buildings, and other venues. Reference to a household throughout should be understood to encompass such other venues.
In fig. 1, the electrical panel 110 may be a typical electrical panel in many homes. The electrical panel 110 receives power from the power utility and processes the power so that the power can be used by devices in the home. Typically, the power is Alternating Current (AC). For example, the electrical panel 110 may implement split phase electrical power, where a 240 volt AC electrical signal is converted to a three-wire distribution with a single ground and two rails (or legs) each providing 120 volts using split phase transformers. Some devices in a house may use one of the two mains to obtain 120 volts; other devices in the house may use another trunk to obtain 120 volts; and still other devices may use both rails simultaneously to obtain 240 volts. As one of ordinary skill in the art will appreciate, other voltage standards, such as for other countries or continents, are intended to be encompassed herein.
Any type of electrical panel may be used, and the techniques described herein are not limited to split-phase electrical panels. For example, the electrical panel 110 may be single phase, bi-phase, or three phase. These techniques are also not limited to the number of trunks provided by the electrical panel 110. In the discussion that follows, the electrical panel 110 will be described as having two trunks, but any number of trunks, including only a single trunk, can be used.
Fig. 1 shows a device 100 that is consuming power provided by an electrical panel 110. For example, one device may be a television receiving power from a first mains, another device may be a washing machine using two mains to receive power, and another device may be a light bulb receiving power from a second mains.
Fig. 1 shows a power monitor 120 that may use information about one or more electrical signals provided by electrical panel 110 to perform disaggregation. For example, the power monitor 120 may determine the voltage and/or current levels of the electrical signals output by the electrical panel 110 (e.g., one or more mains). Any available sensors may be used to determine these values, and the techniques are not limited to any particular sensor or any particular type of value that may be obtained from a sensor.
In one example, power monitor 120 may sample the voltage signal of each rail at a predetermined interval or frequency (such as at 10 MHz) and sample the current signal of each rail at another interval or frequency (such as 10 kHz). The voltage signal and the current signal may be used directly or may be combined to determine other signals, such as a power signal and a composed or combined signal, or the other signals may have different sampling rates. Power monitor 120 may determine other values from the sampled signal including, but not limited to, any one or any combination of the following: active power, reactive power, power factor, power quality, apparent power or phase between voltage and current. The determined value may be a Root Mean Square (RMS) or a peak value.
The power monitor 120 may be a device that is obtained separately from the electrical panel 110 and installed by a user or electrician to connect to the electrical panel 110. The power monitor 120 may be part of the electrical panel 110 and installed by the manufacturer of the electrical panel 110. The power monitor 120 may also be part of (e.g., integrated with or into) an electric meter, such as an electric meter provided by an electric utility company, and is sometimes referred to as a smart meter.
The arrangement of components and specific functionality of fig. 1 are merely providing one example of how the techniques described herein may be implemented, but other configurations are possible. For example, power monitor 120 may perform all operations of server 140, and power monitor 120 may provide information directly to user device 150. In another example, power monitor 120 may include some or all of the functionality of user device 150, and a user may interact directly with power monitor 120 to obtain information about device events and power consumption.
Power monitor
FIG. 2 illustrates components of one implementation of power monitor 120. As noted above, power monitor 120 may be a separate device or part of another device such as electrical panel 110 or a power meter.
The power monitor 120 may include any typical components of a computing device, such as one or more processors 280, volatile or non-volatile memory 270, and one or more network interfaces 290. The power monitor may also include any known input and output components, such as a display, buttons, dials, switches, a keyboard, and a touch screen. Power monitor 120 may also include various components or modules that provide particular functionality, and these components or modules may be implemented in software, hardware, or a combination thereof. Several examples of components are described below for one example implementation of power monitor 120, and other implementations may include additional components or exclude some of the components described below.
Electrical event detection component 230 may receive one or more digital signals from digital signal processing component 220 and detect an electrical event for further processing. The electrical event includes any change to an electrical signal that can provide useful information about the operation of the equipment in the premises or the power usage of the equipment in the premises. For example, the electrical event may correspond to a manual operation of the appliance (such as a user turning the appliance on or off), an automatic operation of the appliance (such as a dishwasher starting a pump as part of its operating cycle), a failure of the operation of the appliance (such as a failure of a dishwasher pump), a change in the operating mode of the appliance (such as a vacuum cleaner switching from a "carpet" mode to a "wood floor" mode), a change in the operating level of the appliance (such as an increase in cooking temperature of the oven), a change in the amount of electrical power used by the appliance (such as a change in electrical usage in response to heating or cooling of a component), or other appliance-related electrical events.
Some electrical events may occur within a relatively short period of time or be transient electrical events. For example, turning on a light bulb may significantly change the amount of power or current in the electrical signal over a short period of time. Other electrical events may occur over a longer period of time and correspond to a more gradual change in the electrical signal. For example, the fan of an air conditioner may have a longer and more gradual ramp up of power or current.
Electrical event detection component 230 may be implemented using any classification technique known to those skilled in the art. In some implementations, the classifier can be trained in a machine learning environment, such as by using data that has been labeled or classified by event type. In some implementations, electrical signals may be obtained from a house, and particular electrical events in the data may be automatically, semi-automatically, or manually noted. Automatic or semi-automatic labeling can be verified or adjusted by manual feedback. The manual annotation may be verified by automatic annotation or by a verification process involving other individuals. Using this data, one or more classifiers can be trained to automatically identify electrical events. Classifiers may include, but are not limited to, neural networks, self-organizing maps, support vector machines, decision trees, random forests, and gaussian mixture models. The input to the classifier may be the digital signal itself or features calculated from the digital signal. The classifier may use an electrical event model 200 that may be stored in power monitor 120.
In some implementations, the electrical event detection component 230 can look for a change in the value of the electrical signal. For example, a simple change in the value of the electrical signal that is greater than a threshold (volts, amps, watts, etc.) may indicate an electrical event. Changes in value over time (including the rate of change and its time derivative) are also potentially relevant indicators of electrical events. Some changes in the electrical signal may typically occur quickly and other changes occur more gradually. Multiple time scales and multiple thresholds may be used to identify both transient and longer term events. For example, a 5 watt change in less than one second may indicate a transient event, while a 20 watt change in more than one minute may indicate a longer term event.
In some implementations, electrical event detection is performed once per cycle (e.g., at a frequency of 60Hz on a typical line). For each cycle, a window before and after a given cycle may be used to identify an electrical event. For example, a 20-cycle window may be used to detect transient events, while a 600-cycle window may be used to detect longer term events. A value (e.g., power) may be calculated for each of the preceding and following windows, and a change in the value (which may be an additive change, a multiplicative change, or a change in other metrics) may be compared to a threshold. The threshold may be different for shorter and longer windows and the threshold may be different for different electrical measurements (power, amps, volts, etc.). The threshold may also be adapted over time. For example, where the recent history of the electrical signal indicates significant oscillations in the electrical signal, the threshold may be increased such that each individual oscillation of the electrical signal does not trigger a new electrical event. Accordingly, the methods and systems disclosed herein contemplate dynamically changing at least one of a detection window and an identification threshold in an automated electrical event detection and classification system to improve identification of a particular type of event.
For transient electrical events, the electrical event may be detected by electrical event detection component 220 shortly after the electrical event occurs. For example, the electrical event may be output within 20 milliseconds of the occurrence of the electrical event. For transient events, electrical events may be quickly detected because the information used to identify the electrical event may depend on electrical signals within a short duration window around the electrical event.
For longer term electrical events, the electrical event may be detected by electrical event detection component 220 significantly after the electrical event occurs. For example, the electrical event may be output several seconds after the electrical event occurs. For longer term electrical events, the information required to detect an electrical event may depend on the electrical signal within a longer duration window around the electrical event.
Each of the electrical events may be associated with one or more times. For example, for a transient electrical event, the time may correspond to an approximate time of the beginning of the electrical event, and for a longer electrical event, the time may correspond to an approximate midpoint of the electrical event or the starting and ending points of the electrical event. More generally, the electrical event may also be associated with: a start time, an end time, a duration, a time at which the electrical event was identified, and one or more trunks from which the electrical event was detected. The electrical event may also be associated with an event type. For example, electrical events may be specifically identified as corresponding to particular types of devices, such as motors, heating elements, power supplies for consumer electronic devices, battery chargers, lights, and the like. Subsequent processing may use the event type for more efficient and/or accurate processing.
Electrical event detection component 230 may output a stream of electrical events for each electrical signal that is processed. For example, if the digital signal includes two voltage signals and two current signals, the outputs may be four separate streams of electrical events. Alternatively, the output may comprise a first stream of electrical events for the current and voltage signals corresponding to the first rail and a second stream of electrical events for the current and voltage signals corresponding to the second rail. Alternatively, all electrical events may be included in a single stream.
After detection of the electrical event, the feature generation component 235 may determine a feature corresponding to the electrical event. These features may be useful in subsequent processes for determining information about the device from the electrical event. These features may include some of the features used to detect the electrical event itself, and may also include other features that are not used to detect the electrical event but may be useful for subsequent processing. The techniques described herein are not limited to any particular features and may use any features known to those of skill in the art. Each of the features may be calculated for an individual trunk or combination of trunks. Some features may also be calculated at different scales or window lengths. Some features may be calculated using a "residual" signal calculated by subtracting a steady state signal characteristic that exists before or after an electrical event. Some features may involve changes to longer duration spectral properties of the electrical signal. For example, the state of the device may cause energy to appear in a spectral band, and the characteristic may relate to the energy or a change in energy in that spectral band.
In some implementations, each electrical event can include a plurality of features (e.g., about 500 features), including but not limited to features relating to: comparing the power level (e.g., average, median, maximum, minimum, or logarithm of the foregoing) in the time period prior to the event with the power level (e.g., average, median, maximum, minimum, or logarithm of the foregoing) in the time period after the event; shape of launch (average power of launch, peak height of launch, power change during launch); a value (e.g., an average, median, maximum, or minimum) over one or more time periods; the change in the real or imaginary part of the spectrum (including at multiple harmonics) over two different time periods; matching the sinusoid to the signal; the maximum slope of the signal; a phase offset of the signal; variability of the signal between cycles over a period of time; slope, error or deviation of the exponential decay of the signal; the slope or duration of the startup surge; the value of the startup surge over a period of time (e.g., the average, median, maximum, or minimum, or the logarithm of the foregoing); a ratio of a peak height of the start-up surge to a minimum value after the start-up surge; the phase deviation at the frequency value or band changes over two time periods; a harmonic value; the total amplitude of the harmonic values; harmonic values relative to the total amplitude of the harmonics; and the difference in launch time between the main lines. These characteristics may be calculated from any of the electrical signals described above, including but not limited to current, voltage, and power signals. Some or all of these features may also be calculated for the remaining signal after subtracting the baseline period. Some or all of these features may be calculated for any number of trunks.
Features may be transformed individually or in combination before being processed by the classifier. As an example of an individual feature transformation, a logarithm of the wattage measurement may be used instead of or in addition to the wattage measurement itself. As an example of a combined transform, the electrical signal may be decomposed into a set of fourier coefficients or wavelet decomposed. Further, the subset of features may be transformed using techniques such as linear and quadratic discriminants and principal components. The signature may also be derived from a pattern of event timing (e.g., the number of events occurring within the past 5 seconds or a particular sequence of events, such as voltage spikes followed by steady state current consumption) or by adding a signature associated with one event to another event occurring previously or later. Thus, in addition to the many individual features that may be computed from the above disclosure, various sequence patterns may be identified and used for or to aid in classification.
Different characteristics for the same electrical event may be calculated at different times. For example, some features may require a short window of electrical signals around an electrical event and may be calculated shortly after the electrical event is detected. Other features may require a longer window around the electrical event and therefore the feature generation component 235 may need to wait and receive additional portions of the electrical signal before generating other features.
For example, a first feature may require a 10 millisecond window of electrical signals, a second feature may require a 0.5 second window of electrical signals, and a third feature may require a 5 second window of electrical signals. FIG. 3 illustrates an example timeline 310 of the occurrence of an electrical event, the detection of an electrical event, and the calculation of characteristics of an electrical event. FIG. 3 also illustrates an example data structure 320 of an electrical event. In fig. 3, an electrical event is generated at time t 1. As described above, an electrical event may be detected by electrical event detection component 230 at time t 2. The electrical event detection component 230 can then create a data structure 320 for the electrical event and add the time of the electrical event. Note that at this point in the process, the feature may not have been computed and the value of the feature may not have been present in the data structure 320. At time t3, feature generation component 235 may have received enough electrical signals to calculate feature 1 and then add the value 1 to data structure 320. Similarly, at time t4, feature generation component 235 may generate feature 2 and add a value of 2 to data structure 320, and at time t5, generate feature 3 and add a value of 3 to data structure 320.
The downstream processing of the electrical event may decide to process the electrical event before all features have been calculated. For example, if it is desired to determine the result quickly, the electrical event may be processed after feature 1 is calculated, even if not all possible information is available. If the most accurate result is desired, downstream processing may not occur until all characteristics of the electrical event have been calculated. In other implementations, electrical events may be processed and classifications updated each time a new feature is computed.
Device event detection component 240 can receive one or more electrical event streams from electrical event detection component 230 and the features computed by feature generation component 235. The device event detection component 240 can use the features to determine information about devices in the home, such as the lights being on or the amount of power used by the lights being on. The techniques described herein are not limited to any particular implementation of device event detection component 240, and one example implementation is described below.
In some implementations, device event detection component 240 can utilize a search process with the stream of electrical events and one or more models to determine device state changes. One implementation of the search process is shown in FIG. 5, which includes a search graph 510, an electrical event stream 520, and a Watt stream 530.
One example of a model that may be used is a transition model, which describes changes in the state of a device or an element of a device. In addition to the appliance changing state (lights on or off), elements of the appliance (a pump in a dishwasher, a light inside a refrigerator, a heating element or fan in an oven, etc. that are turned on during a wash cycle) may change state. To capture changes to elements of a device, a transition model may be created for elements of the device that may change state. The transition model may be created in a hierarchical manner. At the highest level, a transfer model may be created for a class of device or class of element (such as incandescent lighting element, fluorescent lighting element, LED lighting element, heating element, motor element, dishwasher with one pump, or dishwasher with two pumps). The transfer model may also be created by a particular manufacturer for a class of devices or elements (e.g., all dishwashers of a particular manufacturer may have common characteristics). The transfer model may also be created by a particular manufacturer for a particular version of the device (e.g., Kenmore 1000 dishwasher). It is even possible to create a transfer model for a particular device (e.g., a Kenmore 1000 dishwasher at 100 main street). In common use, "1000" in a Kenmore 1000 dishwasher may be referred to as a "model" of the dishwasher, but to avoid confusion with mathematical models, the "model" of the dishwasher will instead be referred to as a "version".
Some elements may have two states, such as an off state and an on state. For these elements, a transition model may be created for the transition from the off state to the on state, and vice versa. For elements with more than two states (e.g., "off," "low speed," and "high speed"), a transition model may be created for each allowed state change.
Any suitable technique may be used to create the transition model. In some implementations, the transfer model can be created using labeled training data (which can be labeled automatically, semi-automatically, or manually using validation and feedback among combinations of these). The training data may include electrical events extracted from electrical signals taken from the premises (or alternatively the signals themselves), which are then labeled as corresponding to the elements and labeled according to the starting and ending states of the transition. Features corresponding to electrical events can be generated and the transfer model can be created using any classifier known to those skilled in the art, including but not limited to neural networks, self-organizing maps, support vector machines, decision trees, logistic regression, bayesian models (including na iotave bayes), random forests, and gaussian mixture models. The classifier can be trained in this manner for each state change of each element. The classifier may receive as input the feature and provide as output an indication of whether the electrical event corresponds to a change in state of the element. The power monitor 120 may store a transition model 202 for each of the element and state changes.
In addition to the transfer model 202, other non-transfer models (not shown in fig. 2) may be used to identify useful electrical events that do not necessarily specifically correspond to a change in the state of a device or an element of a device. One type of other model may be a "noise" model. The noise model may identify portions of the electrical signal that correspond to patterns that are present but not useful for understanding the operation of the device. Once these patterns are detected, they can be removed from the electrical signals (e.g., using subtraction), and removing these unused portions of the signals can make it easier for the transition model to detect device state changes. Another type of other model may be an "operational" model. The operational model may relate to a property of the device or element that does not necessarily change state but exhibits a changing electrical characteristic when within a state. For example, a motor on a washing machine may cause a variety of electrical events without changing state. These identified operational characteristics may be used to detect the device (as described further below), even without clear identification of a state change.
Another example of a model is a device model that describes successive changes to the operation of the device. Any suitable model may be used for the equipment model. In some implementations, a directed graph (weighted or unweighted) may be used. In some implementations, the directed graph may allow for a loop back to the node representing a particular state. In other implementations, the directed graph may be aperiodic with no cycles back to a particular node. FIG. 4 shows an example directed graph, where the beginning state is labeled "B", the ending state is labeled "E", and the two intermediate states are labeled "S1" and "S2". The directed graph of fig. 4 may correspond to a burner of an electric furnace, for example. When a person turns on the burner of the fire, the heating element may not continuously consume power, and may instead consume power in cycles to maintain the desired temperature. In fig. 4, the transition from state B to state S1 may correspond to an initial activation of the burner. The fire may automatically turn the heating element off to transition from state S1 to state S and then back on to transition from state S2 back to state S1. When a person turns off the burner, the graph transitions from state S1 to state E. In some implementations, the directed graph may also indicate allowable transitions for proceeding from one state to another. For example, in FIG. 4, transition HE1 (indicating heating element on) is an allowable transition from state B to state S1, and transition HE0 (indicating heating element off) is an allowable transition from state S1 to state S2.
Similarly, other directed graphs may be constructed for other home devices. For example, a directional graph may be configured for a heating element and a pump of a dishwasher. Further, the dishwasher may have a different directed graph for each mode of operation ("light wash", "pot scrub", etc.). Simpler devices such as incandescent light bulbs may have a very simple device model or may not have a device model at all. The device models may also be hierarchical and may be created for a class of devices, by a particular manufacturer for a particular version of a device, or for a particular device in a household. Power monitor 120 may store device models 204 or may access device models 204 stored external to power monitor 120 (such as in a cloud storage environment). In some implementations, the device model can also include states corresponding to operational characteristics that do not necessarily involve transitions.
Another example of a model is a watt model, which indicates the expected power usage of a device or element over time. For example, when a 60 watt incandescent lamp is turned on, 70 watts may be consumed initially and transferred over time to 60 watts according to an exponential decay at a particular rate. Any suitable modeling technique may be used to create watt models for the elements and devices. For example, techniques such as the following may be used: templates, state machines, time series analysis techniques, kalman filtering, regression techniques (including autoregressive modeling), and curve fitting techniques.
In some implementations, templates can be used for the watt model. The template may characterize the expected power usage of the device over time. For example, the template may characterize power usage within each cycle after the device is turned on. In some implementations, the watt model for the device can be modeled by a gaussian (or gaussian mixture model) with a mean and variance that are determined for each cycle since the device was turned on. In some implementations, the watt model may also be configured such that modeling power usage at one cycle may depend on actual or estimated power usage from a previous cycle. For example, the watt model may model the difference between the power usage at the current cycle and the power usage at the previous cycle as another gaussian distribution with another mean and variance. Power monitor 120 may store the watt model 206 or access an externally stored watt model 206 such as from a cloud storage environment.
Another example of a model is an a priori model, which indicates the likelihood that a device or element will be in a particular state given known information. The known information may include any relevant factors such as time, weather, location, status of other devices, and usage history. The prior model may also model the expected duration of the state of the device and the repeatability of the state of the device, and this information may be determined from the usage history of individual users or collectively from the usage history of many users (or a combination thereof). Examples of information used to populate the prior model may include the following: the fire is most likely to be used at mealtime, many devices may be turned off at midnight, the stove is more likely to be turned on cold, the lights are more likely to be turned on after sunset (depending on the location), the kitchen lights may be turned on outside dark and the oven turned on, and the person may turn on the bedroom light at 5am every morning after the alarm clock rings. An a priori model may be created for each device or each possible transfer of device elements in the premises. The prior model may be trained using the labeled data and may use any suitable classifier, such as neural networks, self-organizing maps, support vector machines, decision trees, bayesian models (including na iotave bayes models), linear and non-linear regression, random forests, and gaussian mixture models. Power monitor 120 may store a prior model 208 for each of the devices and elements in the premises, and may access an externally stored prior model 208. In addition to data from electrical signals, the prior model 208 may optionally be populated in part by other data sources, such as weather information, information about sunrise and sunset times, information about the operating state of the device obtained from other sources (e.g., via Wi-Fi or via the cloud), and information from other models such as weather models.
The above model may be used in creating a search graph 510, the search graph 510 indicating the possible states of devices in the premises over time as electrical events are processed. Initially, the graph may contain no nodes or only initial nodes, such as N1 corresponding to a first time. Thereafter, nodes N2-N4 may be added to the graph and indicate the status of the devices in the premises at a second time later than the first time. There may be some uncertainty as to which of the nodes N2-N4 correspond to the actual state of the house, and each of these nodes may be associated with a score (such as a likelihood or probability). Further thereafter, nodes N5-N7 may be added to the graph and indicate the status of the devices in the premises at a third time later than the second time. The graph may continue beyond nodes N5-N7 with additional edges and nodes. In some implementations, a node corresponding to the operational non-transition may be added to the search graph 510, and the transition to the operational non-transition node may not change the state of any device between the node and the previous node.
Node N1 shows the initial or current state of the premises as shown by the table connected to node N1, where the table indicates the state of each device in the premises. In this example, a house has a fire, a television and a plurality of light bulbs. At node N1, the fire is in state B from fig. 4, the television is off, and there are 0 light bulbs on. In this example, the bulbs in the house are not distinguished from each other, and only the number of bulbs that are on is recorded. Implementations may choose to only record the number of bulbs turned on (rather than identifying the particular bulb turned on) because the status of the particular bulb is not important to the user.
In fig. 5, electrical event stream 520 is shown below search chart 510 with electrical events E1 and E2. Each of electrical events E1 and E2 may include features from one electrical signal or from multiple electrical signals. For example, where the device that caused the electrical event is dependent on a single trunk, the electrical event may include a characteristic determined from that trunk. In the case where the device causing the electrical event is dependent on two main lines, the electrical event may comprise a characteristic determined from the two main lines.
When device event detection component 240 receives electrical event E1, it processes the electrical event to determine a possible state change to the devices in the premises. Nodes N2-N4 in fig. 5 show possible state changes in response to E1. At node N2, the fire has moved from state B to state S1, at node N3 the number of lights turned on has increased from 0 to 1, and at node N4 the TV has transitioned from the off state to the on state.
When device event detection component 240 receives electrical event E2, it processes the electrical event to determine additional possible state changes to the devices in the premises. In the example of fig. 5: node N2 is followed by node N5, wherein the fire transitions from state S1 to state S2; node N3 is followed by nodes N6 and N7, where N6 corresponds to the second light being turned on and N7 corresponds to the fire transitioning from state B to state S1; and no node following node N4. No node may be added to follow node N4 because the score for N4 (discussed in more detail below) may be low and it is desirable to prune that portion of the search graph to save computation. Alternatively, no node may be added to follow node N4 because all possible transitions following node N4 have low scores. More generally, any pruning technique may be used to remove nodes from the search graph 510 to reduce computational complexity. For example, pruning techniques for pruning speech recognition charts may also be applied to the search chart 510.
The transitions or nodes of the search graph 510 may each be associated with a search score. The techniques described herein are not limited to the use of any particular search score, and any suitable search score may be used. In some implementations, each node may have a search score, and the search score may indicate a combination of all scores along the path from the start (e.g., node N1) to the current node. In some implementations, a transition model can be used to calculate the search score. For example, between N1 and N2, the electric furnace has changed from state B to state S1. Using the transition model for the state change and electrical event E1, a transition score indicating whether E1 corresponds to the transition may be calculated. In some implementations, the search score may be determined from a combination of all transition scores along the path to the current node.
In some implementations, the search score may also be calculated using other scores, such as a watt score calculated using a watt model and an a priori score calculated using an a priori model. For example, for each node added to the search graph 510, a search score for the node may be determined by combining a search score for a previous node, a transfer score for a current node, a watt score for the current node, and a prior score for the current node. The search score may be determined from the other scores using any suitable method. For example, the search score may be a sum, a weighted sum, or a product of other scores.
The watt score for a node may indicate a likelihood that an observed watt value may be generated by the device state assumed by the node, and the watt score may be determined using the watt stream 530 and a watt model. For example, if the templates are used in a watt model as described above, the watt value may be assigned to the device that is consuming power by maximizing the joint probability of the gaussian model over the appropriate period of the templates. The watt scores will be higher if the watt values for each device are proportional to the watt model for that device, and the scores will be lower if they are not proportional. In some implementations, the watt score may be a joint probability that the device consumes the assigned watt (e.g., according to a gaussian model from the template).
For example, consider W1 and W2 in fig. 5. Prior to electrical event E1, all devices were turned off, so W1 and W2 should be approximately 0 (subject to residual power usage not attributable to the particular device). After electrical event E1, the individual device is now consuming power, and W3 should match or nearly match the expected wattage of the device that is consuming power. If W3 is 300 watts, it may be more likely that the fire is on as opposed to inferring a 60 watt bulb on. After event E2, there may be two devices consuming power, and their expected wattage and pair of devices close to the total will take a higher score than their sum and pair of devices not close to the total.
In some implementations, the watt scores may be stored with the previous nodes of the search graph 510. For example, for node N2, the watt scores for W3 and W4 for a fire in state S1, TV off, and no lights on may be stored in association with node N2. If these wattage scores are low, it may not be likely that N2 is the correct path, and node N2 may be pruned from the graph. Conversely, if these wattage fractions are high, it may be more likely that N2 corresponds to the correct path. Similarly, for node N3, the watt scores for W3 and W4 may be stored in association with node N3. Because the path of N4 is not followed, there may not be any watt scores stored in association with node N4.
The search score may also be calculated using an a priori score. As noted above, a prior model may be created for each transfer of each device, and a prior score may be calculated by inputting known information (time, location, etc.) into the prior model and obtaining a corresponding prior score.
Different techniques may be used to select nodes that follow existing nodes in the search graph. In some implementations, all possible transitions are always added to the search chart. Although this increases computational complexity, it may also increase the accuracy of the search. In other implementations, only a subset of the possible transitions will be added to the search graph. For example, branches corresponding to the three highest search scores may be added, or all branches having a search score above a threshold may be added. In some implementations, only valid transitions may be added to the search chart (e.g., you cannot turn on a television that has already been turned on).
The search implemented by the device event detection component 240 can operate in different modes for different purposes. For example, one mode may be a real-time mode, where the search is implemented to determine transitions corresponding to electrical events as quickly as possible. Another mode may be a history mode, where a search is implemented with higher accuracy and with higher latency is acceptable. Device event detection component 240 can implement multiple modes simultaneously or initiate and terminate individual modes upon request.
In real-time mode, the search may be modified to reduce the amount of time between receiving an electrical event and determining which node or nodes to add to the search graph 510. One modification to the search involves deciding when to handle an electrical event. As described above, the feature generation component 235 may output features of the electrical event at different times. For real-time searches, device event detection component 240 may add additional nodes to search graph 410 based on a subset of the earlier available features and ignore other features that are not available until later. Alternatively, the device event detection component 240 may add additional nodes to the search graph 510 based on the earliest feature subset that provides a sufficient level of confidence. For example, the first feature (or first set of features) for electrical event E1 may indicate that it is most likely that the fire has transitioned from state B to state S1, but the confidence level may be low (such as below a threshold). Device event detection component 240 can choose to delay processing the electrical event until a second feature (or a second set of features) is received for electrical event E1. Processing an electrical event having both the first and second characteristics may indicate, with a higher confidence level (above a threshold), that the fire has transitioned from state B to state S1, and a node may be added to the search chart in response to processing the second characteristic for the electrical event.
Additionally, in real-time mode, the search may be modified to add only a single node in response to an electrical event. When adding nodes in response to an electrical event, only the highest scoring node may be added. Adding only a single node for each electrical event may reduce the required computations and increase speed.
In the history mode, the search may be modified to increase the accuracy of determining device events. One modification to the search may be to always wait for all features of the electrical event before processing the electrical event to add a node to the search graph. By waiting for all characteristics of the electrical event, device event detection component 240 may have the greatest amount of information available before deciding which nodes to add to search graph 410. Alternatively, the search may be modified to add additional nodes to the graph based on a subset of features of the electrical event that provide a sufficient confidence level (where the confidence level is higher than the confidence level for real-time searching).
Additionally, in the history mode, the number of nodes added to the graph may be increased or the pruning threshold may be decreased. By adding more nodes to the graph and performing less pruning, it is more likely that the device event detection component 240 will correctly determine the correct transition for the electrical event.
For both the real-time mode and the historical mode, electrical events may be processed out of order with respect to the time at which they occur. For example, electrical event E1 may occur at time 1, and features may be generated at times 5, 10, and 15. Electrical event E2 may occur at time 2 and may generate features at times 3, 4, and 5. In real-time mode, electrical event E2 may be processed at time 3 and electrical event E1 may be processed at time 5, even though electrical event E1 occurred first. Similarly, in the history mode, electrical event E2 may be processed at time 5 and electrical event E1 may be processed at time 15, even though electrical event E1 occurred first. Additionally, in some implementations, nodes for electrical events may be added to the search graph 510 at different times. For example, in response to electrical event E1, N2 may be added at a first time based on a first set of features for E1, and N3 may be added at a second time based on a second set of features for E1.
In addition to determining state transitions of the devices, device event detection component 240 may also determine the power used by each of the devices at regular (or irregular) intervals. For example, device event detection component 240 can calculate the power used by each device for each watt value in watt stream 530. As described above, the device event detection component 240 can assign a wattage value (such as W3) among the devices that are then operational. Because different nodes of the graph correspond to different sets of running devices, the power assignments among the running devices may be stored at the corresponding nodes, as described above.
Device event detection component 240 can thus generate an estimate of the power used by an individual device in addition to device events. Power monitor 120 may transmit this information to server 140 or user device 150.
Real-time architecture
The architecture of the network connection between power monitor 120 and server 140 may be configured to enhance the real-time transmission of information as power monitor 120 transmits device information to server 140. FIG. 6 illustrates one implementation of a system 600 having a network connection between the power monitor 120 and two server computers (labeled as an API server 610 and a monitor bridge 620). In addition, the user device 150 may also have a network connection between the API server 610 and the monitor bridge 620. The API server 610 and monitor bridge 620 may include any of the components described below for server 140.
In some implementations, the information transmitted over the network connection may depend on whether the user is currently viewing information about the device, such as via an app on the user device 150 or by viewing a web page with the user device 150. When the user is not viewing device information, system 600 may operate in a historical mode and power monitor 120 may not need to provide real-time information. While the user is viewing device information, system 600 may operate in real-time mode and power monitor 120 may provide real-time information so that the user always views the most up-to-date information.
In some implementations, monitor bridge 620 facilitates the transmission of real-time information from power monitor 120 to user device 150. To allow for faster switching between historical mode and real-time mode, the network connection C1 may be a persistent network connection. For example, power monitor 120 may be configured such that the connection is maintained even when not in use. For example, it may automatically connect to the monitor bridge after power up, and be configured so that if it loses the connection to the monitor bridge 620, it will immediately attempt to re-establish the connection. Other connections, such as connections C2-C4, may not be persistent connections, and these connections may be opened when the device needs to transfer information and closed when the transfer is complete (or shortly thereafter, when a timeout expires, or by some other criteria).
In some implementations, connection C1 will not be used to transfer information while system 600 is in history mode, even though connection C1 is maintained between power monitor 120 and monitor bridge 620. In the history mode, the power monitor 120 may periodically (e.g., every 15 minutes) open connection C2 to the API server 610 and provide updated information since the last transmission via connection C2. After transmitting this information, power monitor 120 may close connection C2. The API server 610 may store information so that it may be later accessed by a user, such as by using the user device 150.
While system 600 is in the history mode, the search by device event detection component 240 in power monitor 120 may also operate in the history mode and provide more accurate information about devices in the home. Although the historical pattern search by the power monitor 120 may increase the delay between the occurrence of an electrical event and the determination of information about the electrical event (because the power monitor 120 only provides information to the API server 610 on a periodic basis), the delay caused by the historical pattern search may be acceptable.
The system 600 may switch to real-time mode when a user accesses device information, such as by opening an app or viewing a web page with the device 150 (or some other device). In some implementations, monitor bridge 620 sends instructions to power monitor 120 to begin sending device information in real-time, and user device 150 is sent instructions to connect to monitor bridge 620. Upon receipt of the instruction by power monitor 120, the search by device event detection component 240 may begin operating in real-time mode, and power monitor 120 may transmit real-time device information to monitor bridge 620. Monitor bridge 620 receives the information and may immediately send it to user device 150 so that real-time information may be presented to the user. Monitor bridge 620 may optionally modify or add to the real-time information sent to user device 150. For example, the real-time information received from power monitor 150 may include a device identifier of a device in the home but may not include a device name. Monitor bridge 620 may add a device name to the real-time information so that the information is more easily understood by the user.
When the user stops viewing the device information, for example, by closing the app or navigating to a different web page, the system 600 may switch back to the history mode. In some implementations, monitor bridge 620 may instruct the power monitor to stop transmitting real-time information and the search by device event detection component 240 in power monitor 120 may also switch back to historical mode. Although the persistent connection C1 may not be used in the history mode, the connection may remain open to facilitate switching back to the real-time mode in the future.
In some implementations, more than one monitor bridge 620 may be available, and the power monitor 120 and the user device 150 may need to identify the particular monitor bridge to connect to. In some implementations, the power monitor 120 and the user device 150 can query the API server 610 to obtain the address of the monitor bridge to connect to, and the power monitor 120 and the user device 150 can then use that address to connect to the monitor bridge 620. In some implementations, the first monitor bridge may need to instruct the power monitor 120 and the user device 150 to reconnect to the second monitor bridge (e.g., for load balancing or maintenance of the monitor bridge). When the first monitor bridge needs to instruct the power monitor 120 and the user device 150 to reconnect to the second monitor bridge, it may send a disconnect instruction along with the address of the second monitor bridge, and the power monitor 120 and the user device 150 may then use that address to connect to the second monitor bridge.
The monitor bridge 620 and the API server 610 may also interact with one or more back-end services 630 to provide services to the user device 150 and the power monitor 120. Examples of backend services include providing alerts to user devices 150, storing and retrieving information about a particular user or device (discussed below) stored in power monitor profile 804, storing usage data 806 (discussed below) received from a power monitor, and providing updated models to a particular power monitor (discussed below).
Presentation of device information
7A-7G illustrate several examples of information that may be presented to a user based on information received from power monitor 120. Fig. 7A illustrates a display 700 that may correspond to the initial display of the home page or app of a website. The top 701 of the display 700 presents several graphical elements 702 indicating the power usage of several devices in the house. As shown, the graphical element 702 is a circle, but any suitable graphical representation may be used. The size, color, shading, highlighting, or other characteristic of the graphical element 702 may indicate the amount of power used by the corresponding device. For example, the area of the circle may indicate the amount of power. Alternatively, the volume of spheres having the same diameter may correspond to the amount of power. By using a non-linear scale, devices with significantly different power usage can be more easily represented. In the event that the user device 150 is receiving information in real-time, the graphical element 702 may also be updated in real-time so that the user views the information without significant delay from the measurement of the information. In some implementations, the graphical elements 702 may move or bounce into each other to provide a visually appealing display to the user. The top of the display may also include the total power 703 used by all devices in the house, and this may also be presented in real time. For example, if a user turns off lights in a house, total power 703 may indicate reduced power without significant delay. The power value may correspond to an amount of energy consumed during a time interval, such as one second or one period.
The devices presented in the top part 701 may be selected according to different criteria. For example, in some implementations, the devices presented in top 701 may represent the devices that consume the most power or may be the devices selected by the user. In some implementations, the user may specifically exclude some devices from the presentation in the top.
In some implementations, the specificity in naming the devices presented in the top 701 can be determined by a confidence in the correctness of the device identification, and a hierarchical model can be used to determine the appropriate specificity. In some implementations, the lowest level model in the hierarchy with sufficient confidence may be used to name the devices. For example, if a generic "lighting model" has a sufficiently high confidence score but all lower level models (e.g., LED lighting, incandescent lighting, etc.) do not, the device may be named a lamp. However, if the LED lighting model has a sufficient confidence score, the device may be named LED lamp.
The bottom 704 of the display 700 may present device events or other information about the device as list items 705. For example, in some implementations, the bottom 704 may present a device that has changed state (e.g., a coffee machine is on), a current state of the device (e.g., a dryer is on), information about the number of uses of the device over a period of time (e.g., the dryer has been used 5 times in the past week), an input element for creating an alert based on the change in state of the device (e.g., a user may want to create an alert to know when the washing machine is finished so he or she can put clothes into the dryer), or an alert that the device has been on for a particular period of time (e.g., an alert that a hair straightener has been on for half an hour). Each entry of the list may have additional information, such as a time associated with the device event or power consumption related to the device event.
In some implementations, the user can perform actions to view other information. For example, a user may select (via touch screen or clicking or mouse hovering) one of the graphical elements 702 to view additional information about the device. The user may select list item 705 to view more information about them. The user may slide in one direction to see other displays of information.
Fig. 7B shows another display in which the status of the devices in the house is shown as a list. For example, all devices in the house may be presented in alphabetical order, user-selected devices may be presented, or devices other than those excluded by the user may be shown. Information about each device may be shown, such as whether the device is on or off or the amount of power the device is consuming. In some implementations, the user can select a list item to see more information about the device.
Fig. 7C and 7D show examples of displays with additional information about individual devices. These displays may be accessed, for example, by selecting the corresponding device in fig. 7A or 7B. The display for information about the device may include, for example, a name indicating the type of device (e.g., a scrubber), an icon indicating the type of device, a picture of the actual device, the manufacturer and/or version of the device, the location of the device in the house, the amount of power being consumed by the device, the status of the device (e.g., on or off), the last time the device was used, the length of time the device was being used, the percentage of power usage attributable to the device, or the number of times the device has been used over a period of time. Additionally, the display for information about the device may include user input to allow the user to indicate whether the device should appear on other displays (such as fig. 7A and 7B), to allow the user to obtain additional information about the device (such as power usage and other information related to past use of the device), and to allow the user to create an alert related to the device (e.g., a change in the state of the device or whether to turn the device on for more than a period of time).
Some devices in the user's home may not be identifiable. For example, if a user purchases a new device, it may be referred to as an unknown device. The unknown device may be listed in various displays along with the name "unknown device" and the question mark for the image. An unknown device may not be identifiable, but power monitor 120 may be able to recognize it as a device and determine some information about it, such as when it is turned on or off and how much power it consumes. FIG. 7E illustrates an example display for an unknown device when the user selects "unknown" or "unknown device" from FIG. 7A or 7B. The display for the unknown device may provide some information about the unknown device, such as whether it is on or off and how much power the unknown device is consuming. The display for the unknown device may also include a user interface for providing additional information about the unknown device, such as name, device type, configuration, version, location, and the like.
In some implementations, a user may be able to take a picture or video of a device in a house, and object recognition techniques may be used to automatically identify the user's device. For example, a user may walk around a house and take pictures or videos of kitchen appliances, water heaters, stoves, washers, dryers, and televisions to quickly identify many large appliances in the house. The user may also be required to provide a "tour" of the devices in the house, turn the devices on and off and indicate through the user interface which device state was changed when changed.
In some implementations, the user may be required to help identify information about the always-on device. Some devices are always on or almost always on depending on their nature (e.g., refrigerator, Wi-Fi router, etc.), and others are not completely off even when they appear to be off to the user (e.g., television). For example, a user may be instructed to briefly unplug a particular device, such as a television and Wi-Fi router, wait a certain amount of time, and then be instructed to plug back into the device. With this information, power monitor 120 may determine information about the electrical usage of the device that is always on or nearly always on, and then provide a more informative report to the user. For example, a television's switching power supply may have certain characteristics, and once those characteristics are determined, power monitor 120 may be able to determine information about the television's electrical usage on an ongoing basis.
In some implementations, the user may be asked questions to help identify the devices in the premises. The question may be asked before the user installs power monitor 120 or after power monitor 120 is installed and preliminary data is collected. The question may be at a high level, such as a yes/no question as to whether the user has a particular type of device (e.g., hot water bath, aquarium, humidifier, etc.). The question may be more specific and require the user to provide the manufacturer and/or version of the device in the house. The problem may also involve requiring the user to confirm whether the power monitor 120 has accurately discovered a device in the premises (device discovery is explained in more detail below).
In some implementations, the display for the unknown device can implement a process for assisting the user in determining to which device in the house the unknown device corresponds. For example, the display for the unknown device may contain the button "identify me" (not shown in fig. 7E). The user can press (or hold, tap, or any other form of user input) the button and then change its state by turning on or off a device in the house. The power monitor 120 may then compare the electrical event received shortly after the button press with the electrical event from the unknown device to determine if the two are the same, and may then present the results on a display for the unknown device, such as "yes, this is the unknown device" or "no, that is not the unknown device". In this manner, the user may repeatedly try the device until an unknown device is determined. Thus, more generally, the user may verify or deny the initially presented information based on the determination made by power monitor 120, such as confirming that the particular device is in fact an oven, a light bulb, or the like.
After determining to which device the unknown device corresponds, the user may edit information about the device. For example, in FIG. 7E, the user may press the edit button 706 to activate an edit mode (not shown). In the edit mode, the user can enter information about the device including, but not limited to, name, type, manufacturer, version, and location (room or floor of the house). The user may then press the edit button 706 a second time to save the changes.
Additional information that may be presented to the user includes a display of historical power usage as shown in fig. 7F. The display may be accessed, for example, by touching a number from the total power 703 of fig. 7A. Any presentation format may be used in displaying the historical power usage of all devices, including but not limited to a bar chart, line graph, or numerical list. Different granularities may be available, such as hourly, daily, weekly, or monthly. For example, fig. 7F shows power usage monthly for 5 months. In some implementations, the user can change the timescale, for example by shrinking to show a larger timescale or widening to show a smaller timescale. In some implementations, a user may touch one bar in a bar chart to obtain the wattage corresponding to that bar.
The historical power usage of the individual devices may also be presented to the user, as shown in FIG. 7G, where the historical power usage of the washer is shown. Any of the techniques used in fig. 7F to present historical power usage for overall power usage may also be applied to present historical power usage for individual devices.
The relative power usage of individual devices may also be presented to help the user understand how much power the devices are consuming compared to each other. In some implementations, pie charts may be used to show relative power usage. For example, a pie chart may be shown, where the entire pie chart represents the total power usage over a period of time (e.g., the last month). The pie chart may present a slice for each device in the house, and the user may touch individual slices to obtain additional information about that device or the power usage of that device. In some implementations, a large number of devices may result in a complex pie chart, and categories of devices may be presented instead of some or all of the individual devices. For example, slices for all incandescent bulbs may be replaced with a single slice for an incandescent bulb. In some implementations, a user may be able to zoom in on a portion of the pie chart to more easily view the power consumption of the individual devices.
Device discovery and model update
The foregoing provides an example implementation of how power monitor 120 may be able to identify device events for devices in a home. However, the performance of power monitor 120 may be improved by using a model that is specific to or adapted to a particular household. First, power monitor 120 may have a model that corresponds to the type or class of device in the home. If the home is known to include a hot water bath, a model that can determine device information for the hot water bath may be added to power monitor 120. Second, the power monitor may have a model that corresponds to a particular configuration and/or version of the devices in the home. For example, a home may have a Kenmore 1000 microwave oven, and a model specific to that microwave oven may be added to the power monitor 120. Third, devices of a particular manufacturer and version may operate differently in different homes due to manufacturing differences, the particular power grid in the home, and other factors. The power monitor 120 may additionally have a model that is adapted to the specific operation of a Kenmore model 1000 microwave oven in a particular household.
FIG. 8 illustrates components of one implementation of a server 140 for discovering new devices in a home and updating models for devices in the home. In FIG. 8, the components are shown on a single server computer, but the components may be distributed among multiple server computers. For example, some servers may implement device discovery and other servers may implement model updates. Further, some of these operations may be performed by power monitor 120 or other devices in the home.
The server 140 may include any typical components of a computing device, such as one or more processors 880, volatile or non-volatile memory 870, and one or more network interfaces 890. The server 140 may also include any input and output components, such as a display, a keyboard, and a touch screen. The server 140 may also include various components or modules that provide particular functionality, and these components or modules may be implemented in software, hardware, or a combination thereof. Several component examples are described below for one example implementation, and other implementations may include additional components or exclude some of the components described below.
The server 140 may include a device discovery component 810 for discovering information about devices in the home. For example, when power monitor 120 is first installed in a home, it may not have any information about the devices in the home, or it may only have information about the class of devices that are (or may be) in the home but not about a particular device. Device discovery component 810 can receive information about electrical signals in a home, determine information about devices in the home, and then send the updated model to the home for use by power monitor 120.
In some implementations, device discovery component 810 can receive other information in addition to information about electrical signals. Where the power monitor 120 is connected to the home network (wired or wireless and with user permission), the power monitor may be able to determine information about other devices on the home network. For example, the power monitor may be able to determine information about the manufacturer and version of the wireless router to which it is connected. The power monitor may also be capable of determining information about other devices on the home network, such as home computers, mobile devices (e.g., phones, tablets, watches, glasses), and devices related to home automation or the internet of things (e.g., smart thermostats and other devices used to control lights, locks, security systems, cameras, and home entertainment systems). The power monitor 120 may also be able to obtain information about devices in the home by monitoring other network protocols, such as Wi-Fi, NFC, bluetooth, and ZigBee. The app on the user device 150 may also be configured to determine information about devices on the local network (such as Wi-Fi, bluetooth, and ZigBee). Device discovery component 810 can receive this information about devices on the local network to improve the model sent to power monitor 120. For example, a Wi-Fi router for a user and a device model for charging the user's particular smartphone may be added to the user's power monitor to improve the ability of the power monitor to determine power usage of those devices.
In some implementations, the device discovery component 810 receives a stream of information about an electrical event. The stream of electrical events may correspond to all electrical events detected by power monitor 120 or may include only electrical events that do not correspond to previously discovered devices. Device discovery component 810 can compare the flow of electrical events to one or more device discovery models 800 to determine a device corresponding to the electrical event. The device discovery component 810 can compare the electrical events to all of the device discovery models 800 to determine the devices, or can proceed in a hierarchical manner by first determining that the electrical events correspond to a dishwasher, then to a particular manufacturer's dishwasher, then to a particular version of the particular manufacturer's dishwasher.
In some implementations, device discovery component 810 can create a discovery graph using the electrical event stream, the transition model, and the device model. Fig. 9 shows an example electrical signal with electrical events from two devices, and fig. 10 shows an example of a discovery graph 1000 created for the electrical signal of fig. 9. Device discovery component 810 can receive electrical signal 900 and determine electrical events in electrical signal 900, or can alternatively receive a stream of electrical events in which electrical events are determined elsewhere. In the example of fig. 9, the electrical signal may generally correspond to the electrical signal received from the burner and incandescent bulb of the fire. The burner may be represented by a heating element, and electrical event HE1 may correspond to a transition of the heating element from an off state to an on state, while HE0 may correspond to a transition of the heating element from an on state to an off state. Electrical event I1 may correspond to a transition of an incandescent bulb from an off state to an on state, while electrical event I0 may correspond to a transition of an incandescent bulb from an on state to an off state. The electrical events 910-980 illustrate a possible sequence of electrical events generated by the heating element and the incandescent bulb.
As described above, fig. 4 illustrates an exemplary state model for an electric burner for an electric furnace. The device discovery component 810 can create a discovery graph using the electrical event stream and the device model of fig. 4 to determine whether the sequence of electrical events in the electrical event stream includes a combustor.
The discovery graph 1000 begins at node 1010, where node 1010 corresponds to an initial state of the plant model for the electric combustor (state B), and state B is indicated by diamonds. The first electrical event in the stream of electrical events is electrical event 910. The transfer model may be used to determine that electrical event 910 corresponds to transfer HE 1. This may be done, for example, by applying all transition models to electrical event 910 and selecting the transition whose transition model yields the highest score. The transfer HE1 may be compared to the discovery graph 1000 to determine whether HE1 is an allowable transfer from any current node in the discovery graph. Because node 1010 corresponds to state B and HE1 is an allowable transition from state B to state S1, node 1011 may be added to discovery graph 1000, where node 1011 corresponds to state S1 and is indicated by a solid circle.
The next electrical event is electrical event 920, and the transition model may be used to determine that electrical event 920 corresponds to transition I1. Transition I1 does not correspond to any valid transition from the node of discovery graph 1000, and therefore no node can be added in response to electrical event 920.
The next electrical event is electrical event 930, and the transfer model may be used to determine that electrical event 930 corresponds to transfer HE 0. The transfer HE0 is not an allowable transfer from node 1010, but is an allowable transfer from node 1011. Node 1011 corresponds to state S1, and HE0 is the allowable transition from state S1 to both state S2 and state E. Because both of these transitions are allowed, two nodes are added to discovery graph 1000: node 1012 and node 1013. Node 1012 corresponds to the transition to state S2 and is indicated by an open circle. Node 1013 corresponds to a transition to state E and is indicated by a square.
The next electrical event is electrical event 940, and the transition model may be used to determine that electrical event 940 corresponds to transition HE 1. As above, HE1 is an allowable transition from node 1010, and thus node 1060 may be added to discovery graph 1000, where node 1060 corresponds to state S1. Electrical event HE1 is also an allowable transition from node 1012, and thus node 1014 is also added to discovery graph 1000, where node 1014 corresponds to state S1.
Fig. 10 continues to illustrate the allowable transitions for electrical event 950 and 980. For each of these electrical events, a corresponding transition is determined and a node is added to discovery graph 1000 for the allowable transitions. Note that for clarity, the transitions following nodes 1018, 1020, 1031, 1043, 1050, 1060 and 1070 are indicated by ovals.
The discovery graph 1000 may be used to identify devices corresponding to the electrical event stream 1005. In some implementations, finding that the end state of diagram 1000 reaching the device model indicates that the sequence of electrical events may correspond to devices of the device model. In some implementations, additional information may be considered. For example, other information corresponding to the device model may be available, such as the expected duration of time the device remains in a particular state and the expected change in power consumption caused by an electrical event. For the device model of FIG. 4, the length of time the device stays in state S1 may be limited to 1-5 seconds. For the transition from node 1011 to node 1050 in fig. 10, the length of time for which the device stays in state S1 may be 10 seconds. Because the duration exceeds the allowable duration, the transition from node 1011 to node 1050 may not be an allowable transition and may be excluded from discovery graph 1000. Similarly, changes in power consumption caused by electrical events and any other relevant factors may be used to determine whether a sequence of electrical events corresponds to a device. Any information used in creating search charts may also be used with discovery charts. For example, the transition score, the watt score, and the a priori score may all be used to determine whether the sequence of electrical events corresponds to a device.
In the case where the graph 1000 is found to include a plurality of paths to the end state of the device model, one of the plurality of paths may be selected as the most likely path corresponding to the actual operation of the device. For example, in fig. 10, the paths ending at nodes 1013, 1016, 1019, and 1021 may all correspond to valid state transitions for the combustor. Other criteria may be used to select one of these paths as the path most likely to correspond to the operation of the combustor. For example, a longer path may be preferred over a shorter path, and thus a path ending at node 1019 may be preferred over paths ending at nodes 1013 and 1016. Additionally, based on the duration of the state of the device model, the path ending at node 1019 may be more likely to be considered than the path ending at 1021. In some implementations, each path of the discovery graph to an end state of the device model may be assigned a score. The score may be calculated using any relevant information including, but not limited to, the score generated by the transition model, the path length, state duration constraints, and power constraints. The path with the highest score may then be selected as the most likely path.
The consistency of nodes along a path may also be used to score paths or to select a path from several paths to an end state. For example, for each instance of the HE1 event, the power consumed during the event and/or the length of time in state S1 may be expected to be similar for each occurrence of state S1. Thus, paths with greater consistency may receive a higher score than paths with less consistency.
Once the most likely path is determined from the discovery graph 1000, the electrical events corresponding to the most likely path may be removed from the electrical event stream 1005. For example, if the most likely path is the path ending at node 1019, removing these electrical events from electrical event stream 1005 will leave only electrical event I1920 and electrical event I0970. These remaining electrical events may then be processed using another discovery graph 1000 to discover another device.
To determine a device corresponding to a sequence of electrical events, a discovery graph may be created for a variety of devices. In some implementations, a discovery chart may first be created for a class of devices to determine at a high level whether the devices correspond to the class of devices, such as refrigerator, fire, dishwasher, and so forth. In case only one discovery graph reaches the end state, the corresponding device class may be selected. In the case where more than one discovery graph reaches the end state, the device class may be selected according to the maximum score. After determining the class of the device, additional discovery graphs may be created to determine more specific information about the device. For example, a discovery chart may be created for each manufacturer's dishwasher, or a discovery chart may be created for each known version of the dishwasher. As above, a device may be selected by the highest scoring discovery graph with a path to the end state.
Once a device is determined from the sequence of electrical events, a model may be selected for transmission to power monitor 120. For example, an electrical event model, a transition pattern, a device model, a watt model, and/or an a priori model containing information about the discovered devices may be transmitted to power monitor 120.
In addition to discovering new devices, the server 140 may also update and adapt models for known devices. The model may be updated for a number of reasons: research and development efforts may determine new models that perform better than previous models, new models may be created as new equipment becomes commercially available, models may be adapted to specific equipment to account for manufacturing variances, and models may be adapted as electrical properties of equipment drift over time (e.g., caused by wear of equipment or changes in the quality of wires in a house). For example, a user may purchase the latest version of the Kenmore dishwasher. When the server 140 discovers the dishwasher, the server 140 may not yet have a device model for the latest version of the Kenmore dishwasher. Server 140 may provide a device model for a Kenmore dishwasher to power monitor 120. Thereafter, when server 140 has updated its device discovery model, it may again perform device discovery to determine a particular version of the Kenmore dishwasher and provide the device model to power monitor 120.
The server 140 may store the usage data 806 received from the power monitors in the home. The usage data 806 may include, for example: the electrical signal processed by power monitor 120, the portion of the electrical signal processed by power monitor 120 that corresponds to an electrical event, a feature generated from the electrical signal or electrical event, a device event detected by power monitor 120, or all or a portion of a search graph created by power monitor 120. To ensure the privacy of the end user, the usage data may be anonymized (removing information for personal identification) and/or retained for a limited period of time. The usage data 806 may be used to update or adapt the model, as described below.
The power monitor profile may also store a model specific to a particular user. As described below, the model may be updated or adapted to the particular user's house and the particular devices in the user's house. The house-specific model may be stored (or a link to the model may be stored) in the user's power monitor profile. The user's usage data may also be stored (or a link to the usage data may be stored) in the user's power monitor profile. The usage data may be annotated by the user or may be annotated automatically by the company that created the power monitor model for the user. This usage data may be used to create a house-specific model for the user, as described below.
Model updater 820-. The model updater 820-860 may perform model updates on a periodic basis. Shortly after the user obtains power monitor 120, model updater 820-. The models used may be more general when power monitor 120 is first installed, and by collecting premise-specific data, better performing models may be constructed as they are built using data from the user. The model may be updated less frequently over time, or may be updated upon receiving an indication that the user may have a new device in the house. Collecting data over a long period of time may generally allow for improvements to both house-independent models and house-specific models, and periodically providing these models to a user may improve performance.
When power monitor 120 is first installed, it may not have any models or may only have general models that apply to the class of device. For example, the initial model may include a model that is generally applied to dishwashers, ovens, motors, pumps, and heating elements. The more learned about the devices in the user's premises, the more specific models can be transmitted to the user's power monitor. For example, if it is learned that a user has a Kenmore version 1000 dishwasher, a model specific to the Kenmore version 1000 dishwasher pump and the Kenmore version 1000 dishwasher motor may be transmitted to the user's power monitor 120. Further, over time, the electrical properties of known devices may drift as parts wear or evolve. Thus, the house-specific models for individual devices may be periodically updated so that the house-specific models continue to match the devices as the properties of the devices drift over time.
The electrical event model updater 820 may create a house-specific electrical event model. Houses may have different electrical characteristics including the level and type of noise in the electrical signal. The usage data received from the premises may be used to create a more reliable premises specific electrical event model in detecting electrical events.
The diversion model updater 830 can create a house-specific diversion model. Two identical devices (in terms of manufacturer and version) may behave differently in different premises. The difference may be caused by, for example: manufacturing differences (e.g., a capacitor may have a slightly higher capacitance in one device than in another), the particular electrical configuration of the home (e.g., wiring quality and electrical interference from other devices), and the age of the device (e.g., older parts may have different electrical characteristics). Because two identical devices may have different electrical properties, a better transfer model may be created by collecting device-specific usage data. The house-specific transfer model may be created using the same techniques as the house-independent model but with different data. The house-independent model may be created using data from many houses, but the house-specific model may use a larger amount of data from the house for which it is being created.
Any suitable technique may be used to create the house-specific diversion model. For example, a first model may be created using a general set of data, a second model may be created using house-specific data, and the two models may be interpolated to create a house-specific model. The weight of each model in the interpolation may, for example, depend on the amount of house-specific data available.
The equipment model updater 840 may create a house-specific equipment model. In the case where a device model (such as that of fig. 4) is represented using a directed graph, the parameters of the directed graph may be adapted to match a particular device. For example, a directed graph for a dishwasher may have different paths for normal wash and pan scrub wash. If a user generally uses a pot scrub wash and does not generally use a normal wash, the path probability for the pot scrub wash may be increased to match the user's expected behavior. Other parameters that may be adjusted include expected durations and expected power usage corresponding to different states of the directed graph.
The watt model updater 850 may create a house-specific watt model. Two identical devices may behave differently in different premises. The house-specific usage data may be used to create a house-specific watt model using the same techniques discussed above for creating a house-independent model.
The prior model updater 860 may create a house-specific prior model. The house-specific a priori model may incorporate house-specific information such as location (which indicates hours of sunshine and temperature), number of people, number of floors, number of rooms, and type of building (single house, sold apartment, rented apartment building, etc.). This information may be provided by the user or automatically learned from historical usage data. Usage data from the premises may also be used to better predict when individual devices are likely to be used. For example, a user's morning routine (turn on bedroom lights, turn on bathroom lights, turn on shower water, etc.) in preparation for work may be incorporated into the prior model to allow the power monitor to more accurately identify these device events.
The model validator 865 may be used to evaluate the performance of any updated or adapted models before they are sent to the individual power monitor devices. The new model can only be sent if the new model performs better than the old model. The model validator 865 may evaluate the updated or adapted models by running them against stored usage data (which may be house-specific or house-independent). Where the stored usage data is annotated, an error metric may be determined for both the new model and the old model, and the improved performance of the new model may be verified before the new model is sent to the individual power monitor devices.
Applications of
The above techniques for notifying a user of home device usage provide a number of benefits to the user and the owner of the premises. For example, a user may benefit by: increase energy efficiency, receive warnings about improperly functioning devices, and monitor device events in the home from a distance.
Understanding the energy usage of individual devices in a home provides a number of opportunities for improving energy efficiency. An expert system may be created that receives energy usage information for a household and automatically provides recommendations to users for actions they may take to improve energy efficiency. In some implementations, the expert system may compare the energy usage of devices currently in the home to the energy usage of available replacement devices and compare device replacement costs to the reduced energy costs provided by the replacement devices. For example, the expert system may determine that the most effective action that the user can take is to replace a ten year old refrigerator with a new model, and inform the user that the new refrigerator will pay its own cost for energy savings within 18 months. The expert system may be further improved by receiving feedback as to which suggestions to the user were actually implemented by the user. With this additional feedback, the expert system may benefit recommendations that are more likely to be implemented by the user. Additionally, the user may be notified of the best transaction to purchase the device and may be directed to local or online merchandise.
In addition, by collecting data about many different versions of a device, information about the actual energy usage and efficiency of the device may be determined and may be more accurate than the information provided by the manufacturer. The versions of the devices may then be ranked according to efficiency and this information provided to the user to assist the user in selecting a new device.
In addition to informing users of their own energy usage, they may also be informed of how their energy usage compares to particular people (e.g., friends and relatives) or other people in similar contexts (e.g., people in similarly sized houses at the same geographic location). By learning about others about their own energy usage, users may be more motivated to reduce their energy usage. In some implementations, a time-specific reminder may be sent to the user. For example, in month 7, the user may be reminded or notified that they have used more energy than their friends and relatives and provide recommendations for reducing air conditioning use.
In some implementations, social networks and social networking applications may be used. Users may post information on the social network about their energy usage, how the energy usage has changed over time, and the effectiveness of particular changes in reducing energy usage. The user's posts may be supported by specific data obtained from the power monitor. Energy usage can be enhanced by creating games, competitions, and characterizing creative energy-saving methods based on energy usage. Information on how various users have taken action to reduce energy usage and the resulting energy savings may also be used to improve, for example, expert systems for providing energy savings recommendations.
Understanding the electrical energy usage of devices in the home may also allow the user to conserve other resources. For example, understanding the electrical use of a furnace, boiler, dryer, electric stove, or hot water heater may allow for the determination of water, oil, or natural gas used by these devices. For example, where the manufacturer and version of these devices may be determined by their electrical properties, a model may be created that determines the amount of water, gas, or oil used by these devices in addition to their electrical usage. Other data may be used to determine the amount of water, gas, or oil used by the device, including, but not limited to, information obtained from a water, gas, or oil bill (e.g., manually entered by a user or automatically obtained) or from other sources such as a utility company (e.g., using web-crawling techniques, obtaining information from a server of the utility company using an API provided by the utility company, or obtaining information from an intelligent water meter, intelligent gas meter, or intelligent oil meter).
The techniques described herein for de-aggregating electrical signals may also be applied to de-aggregate other types of signals. Sensors may be placed on water, oil and natural gas inlets. By processing the natural gas signal, for example, the natural gas usage of the electric furnace, furnace and hot water heater can be determined by using the models and search techniques described above. Depolymerisation of water, oil and natural gas signals can also be performed in combination with depolymerisation of electrical signals, as joint depolymerisation can be performed better than individual depolymerisation.
In some implementations, power monitor 120 may be capable of interacting with and/or controlling other devices in the premises. An increasing number of devices in a house are connected to a network. In the case where these connected devices have an API and power monitor 120 may be connected to them, power monitor 120 may control them for increased energy savings. For example, using an expert system, energy conservation policies may be determined, and the power monitor 120 may control thermostats, lights, or other devices to directly implement these energy conservation policies.
Understanding the operation of a particular device in a home may also allow for automatic identification of devices that require maintenance, are damaged, or may be destroyed in the near future. As components of the device wear or break, the electrical properties of these components may change. In some implementations, these changes can be detected using a model such as a transition model. For example, as a dishwasher's pump degrades, the electrical properties may change in a predictable manner. In some implementations, the transfer model may be created for various stages within the life of the dishwasher pump. As the dishwasher ages, the transfer model for the old and worn pump may provide a better match than the transfer model for the new pump. When this occurs, a notification may be sent to the user that the pump may fail in the near future. The user may additionally be notified that routine maintenance should be performed to improve the energy efficiency of the appliance (e.g., the need to clean the oven or replace the filter on the HVAC system), that routine maintenance should be performed to prevent the appliance from being damaged, or that the dishwasher is not operating because the water pump is damaged.
In some implementations, a fault model may be created specifically to detect a known type of equipment fault or to detect a known precursor to a known type of fault. An imminent failure or failure mode may be determined (e.g., by talking with an expert or collecting data) for a particular device or for a class of devices. For each of these potential faults, electrical signals and events may be collected over a period of time that gradually results in a fault, during a fault, and after a fault. This data may then be used to create one or more models for fault detection. In some implementations, one model may indicate that a fault may occur soon, another model may indicate that a fault is now occurring, and another model may indicate that a fault has occurred. For example, a dishwasher may already know a fault or failure mode, such as a capacitor failure in the motor or a bearing failure in the motor. Models may be created for these faults and applied by the power monitor 120 to detect them and inform the user of the possible reasons why the dishwasher is not operating.
Understanding the operation of devices in the home also allows users to monitor activities in the home for informational purposes, including when they leave, such as at work or on vacation. Periodic reports (e.g., weekly) may be provided to the user regarding the use of the various devices. For example, the user may be notified that the television was watched for 30 hours in the past week but that the treadmill was only used for 20 minutes. For monitoring purposes, a particular activity in the premises may have a repetitive pattern and a model may be constructed to process a sequence of device events to determine what activity is occurring. For example, the sequence of device usage may be similar each time a house cleaner cleans a house. Upon detection of this pattern, a notification may be sent to inform the user when the house cleaners have arrived and left. In another example, a child's use of a television may be detected and recorded, and a parent may be sent an announcement indicating how long the child watches the television each day. Notifications may be made for other conditions that may be dangerous or undesirable. For example, after going to work, a notification may be sent that the oven was opened or the garage door was not closed. For the elderly, a pattern corresponding to an emergency or situation in which assistance is required may be detected, and a notification may be given to friends and relatives to provide assistance. Upon leaving on vacation, a pattern may be detected indicating that someone may break into your home. These notifications (and any other notifications mentioned herein) may be sent to any device, including but not limited to user device 150, and may be sent using email, text messages, application notifications, or any other communication medium.
Any suitable classification technique may be used to detect patterns in the home that correspond to a particular scenario. Classifiers may include, but are not limited to: neural networks, self-organizing maps, support vector machines, decision trees, linear and non-linear regression, random forests, and gaussian mixture models. These classifiers can be trained using labeled data. For example, the user may indicate the day and time that the house cleaner is coming, and these sequences of device events may be retrieved and used to train the house cleaner detection classifier. Such models may be house-specific or house-independent.
In some implementations, the information obtained from the power monitor may be shared with a third party (anonymous or with the user's permission). For example, electrical utilities may benefit from understanding the type of power consumed by a user. In the event that many users are installing new types of devices (e.g., dishwashers) with different load attributes (e.g., inductive rather than resistive), then the electrical utility may be able to improve its service.
Illustrative Process
In some implementations, information regarding power usage of a device may be transmitted to a user device as described in the following clauses and illustrated by fig. 11.
1. A method for providing information about a plurality of devices in a building, the method comprising:
accepting a first network connection from a user equipment;
receiving an identifier from the user equipment;
retrieving first information from a data store using the identifier, wherein the first information comprises historical information about the first device and the second device;
transmitting the first information to the user equipment;
receiving second information from a power monitoring device, wherein the second information comprises real-time information about power consumption of a third device at a first time and real-time information about power consumption of a fourth device at the first time; and
transmitting the second information to the user equipment.
2. The method of clause 1, further comprising:
determining that a device requires maintenance or a portion of the device needs to be replaced using at least one of the first information and the second information;
transmitting information to the user equipment indicating that the equipment needs maintenance or that the part of the equipment needs to be replaced.
3. The method of clause 1, further comprising:
determining a recommendation for energy saving using at least one of the first information and the second information;
transmitting the recommendation to the user device.
4. The method of clause 3, wherein determining the recommendation for energy saving using at least one of the first information and the second information comprises using an expert system.
5. The method of clause 1, further comprising:
accepting a second network connection from the user equipment;
wherein transmitting the first information to the user equipment comprises transmitting the first information using the first network connection; and
wherein transmitting the second information to the user equipment comprises transmitting the second information using the second network connection.
6. The method of clause 1, wherein the first information comprises information regarding a change in state of the first device.
7. The method of clause 1, wherein transmitting the second information to the user equipment comprises transmitting information without a significant delay from the first time.
8. A system for providing information about a plurality of devices, the system comprising:
at least one server computer comprising at least one processor and at least one memory, the at least one server computer configured to:
accepting a first network connection from a first client device;
receiving an identifier from the first client device;
retrieving first information from a data store using the identifier, wherein the first information comprises historical information about a first device;
transmitting the first information to the first client device;
receiving second information from a second client device, wherein the second information comprises real-time information about power consumption of the second device at a first time; and
transmitting the second information to the first client device.
9. The system of clause 8, wherein the at least one server computer is further configured to:
determining information regarding a comparison between power usage of a first building and power usage of a second building or between power usage of the first building over a first time period and power usage of the first building over a second time period using at least one of the first information and the second information;
transmitting information about the comparison to the user equipment.
10. The system of clause 8, wherein the at least one server computer is further configured to:
determining an occurrence of an event in a building including the plurality of devices using at least one of the first information and the second information;
transmitting information about the event.
11. The system of clause 10, wherein the at least one server computer is further configured to transmit information about the event to the device as an announcement.
12. The system of clause 8, wherein the at least one server computer includes a first server computer and a second server computer, the first information being transmitted by the first server computer and the second information being transmitted by the second server computer.
13. The system of clause 8, wherein at least a portion of the first information was previously received from the second client device.
14. The system of clause 8, wherein the second information is transmitted to the first client device without significant delay from the first time.
15. A non-transitory computer-readable medium comprising computer-executable instructions that, when executed, cause at least one processor to perform acts comprising:
establishing a first network connection using a network interface;
establishing a second network connection using the network interface;
receiving first information via the first network connection, wherein the first information comprises historical information about a first device; and
receiving second information via the second network connection, wherein the second information comprises real-time information about power consumption of a second device at a first time.
16. The computer-readable medium of clause 15, wherein the instructions further cause the at least one processor to perform actions comprising presenting the first information and the second information to a user.
17. The computer-readable medium of clause 15, wherein the first network connection is a connection with a first server computer and the second network connection is a connection with a second server computer.
18. The computer-readable medium of clause 15, wherein the first information comprises information regarding a change in state of the first device.
19. The computer-readable medium of clause 15, wherein the second information is received without a significant delay from the first time.
20. The computer-readable medium of clause 15, wherein the instructions further cause the at least one processor to perform actions comprising:
receiving a recommendation for energy saving; and
presenting the recommendation to a user.
21. The computer-readable medium of clause 15, wherein the instructions further cause the at least one processor to perform actions comprising:
receiving third information via the first network connection, wherein the third information comprises historical information about the second device; and
receiving fourth information via the second network connection, wherein fourth information comprises real-time information about power consumption of the first device at the first time.
FIG. 11 is a flow diagram illustrating an example implementation for providing historical and real-time information about a device. Note that the ordering of the steps of fig. 11 (and the steps of other flowcharts described below) is exemplary, and other orders are possible. At step 1110, a network connection is created between a server and a first client device. The server may be, for example, server 140, API server 610 or monitor bridge 620. The first client device may be, for example, user device 150. The network connection may be initiated by the server or the first client device. The first client device may transmit an identifier, such as a user ID, house ID, or device ID, to the server. At step 1120, the server obtains historical information about devices, such as devices in a house or building associated with the first client device. The identifier may be used to retrieve historical information from a database. The historical information may include any information about the past operation of the devices (e.g., historical power usage of the building or individual devices in the building, device events of devices in the building) or any other information that may be derived from the processed electrical signals, as described above. In some implementations, other information may be transmitted to the first client device, as described above, such as recommendations for saving power, maintenance of the device, events occurring in the building, and comparisons of power usage. The comparison of power usage may be made between two buildings (e.g., two homes) using information from a first power monitor in the first building and information from a second power monitor in the second building. The comparison may also be made for a single building over two time periods, such as first month and second month. At step 1130, the history information is transmitted to the first client device. The first client device may present the historical information to the user. At step 1140, the server or another server (such as monitor bridge 620) may receive information from the second client device regarding the device's real-time power consumption. The second client device may be a power monitor 120. At step 1150, real-time information regarding the power consumption of the device is transmitted to the first client device. The transfer may be performed using the same network connection as step 1130 or a different network connection. The historical information and the real-time information may be about the same set of devices, two disparate sets of devices, or overlapping sets of devices. For example, the historical information may be about a refrigerator and a stove, and the real-time information may be about a light bulb and a refrigerator. The network connection may be a persistent connection that is maintained even when not in use.
In some implementations, information regarding the power usage of the device may be presented to the user as described in the following clauses and as illustrated in fig. 12.
1. A method for presenting information on power usage of a plurality of devices on a user device, the method comprising:
receiving first power consumption information corresponding to power consumption of a first device and second power consumption information corresponding to power consumption of a second device, wherein the first power consumption information and the second power consumption information correspond to power consumption substantially at a first time;
presenting first power information and second power information on a first portion of a display of the user device using a first graphical representation corresponding to the first power consumption information and a second graphical representation corresponding to the second power consumption information;
receiving first device event information corresponding to a change in device state of a third device and second device event information corresponding to a change in device state of a fourth device; and
presenting the first device event information and the second device event information on a second portion of the display of the device.
2. The method of clause 1, wherein the first graphical representation comprises a name of the first device, the first graphical representation comprises a circle, and an area of the circle corresponds to the first power information.
3. The method of clause 1, wherein the first power consumption information corresponds to an amount of energy consumed by the first device during a first time interval, a peak power consumption during the first time interval, or an average power consumption during the first time interval.
4. The method of clause 1, further comprising:
receiving third power consumption information corresponding to power consumption of the first device and fourth power consumption information corresponding to power consumption of the second device, wherein the third and fourth power consumption information correspond to power consumption substantially at a second time;
modifying the first graphical representation to correspond to the third power consumption information; and
modifying the second graphical representation to correspond to the fourth power consumption information.
5. The method of clause 1, wherein the first power consumption information is received without a significant delay from the first time.
6. The method of clause 1, wherein presenting the first device event information and the second device event information comprises presenting the first device event information and the second device event information in chronological order.
7. The method of clause 1, wherein the first device event information comprises a first time and a name of the third device.
8. The method of clause 1, wherein the first device event information comprises at least one of: an indication that the first device was turned on, an indication that the first device was turned off, a number of times the first device was used within a first time period, an indication that the first device has completed a task, an amount of time that the first device has been turned on, a suggested action for a user to save energy with the first device, an indication that the first device requires maintenance, an indication that the first device should be replaced, or an indication that a component of the first device is damaged.
9. The method of clause 1, further comprising:
receiving third power consumption information corresponding to power consumption of the third device and fourth power consumption information corresponding to power consumption of the fourth device, wherein the third and fourth power consumption information correspond to power consumption substantially at a first time; and
receiving third device event information corresponding to a change in the device state of the first device and fourth device event information corresponding to a change in the device state of the second device.
10. A user device for presenting information regarding power usage of a plurality of devices, the device comprising:
a network interface;
a display;
at least one processor;
at least one memory storing processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to:
receiving, via the network interface, first power consumption information corresponding to power consumption of a first device, wherein the first power consumption information corresponds to power consumption substantially at a first time;
presenting the first power consumption information on the display using a first graphical representation corresponding to the first power consumption information;
receiving, via the network interface, second power consumption information corresponding to power consumption of the first device, wherein the second power consumption information corresponds to power consumption substantially at a second time;
modifying the first graphical representation to correspond to the second power consumption information.
11. The user equipment of clause 10, wherein the first power consumption information and the second power information are received without significant delay.
12. The user equipment of clause 10, wherein the first power consumption information corresponds to a first time period of an electrical signal, the second power consumption information corresponds to a second time period of the electrical signal, and wherein the second time period immediately follows the first time period.
13. The user equipment of clause 10, wherein the first power consumption information is presented within one second of the first time.
14. The user equipment of clause 10, wherein the first graphical representation comprises a circle, and wherein an area of the circle corresponds to the first power consumption information.
15. The user equipment of clause 10, wherein the at least one memory stores processor-executable instructions that, when executed by the at least one processor, further cause the at least one processor to:
receiving, via the network interface, a first number of watts consumed by a plurality of devices substantially at the first time;
presenting the first wattage on the display;
receiving, via the network interface, a second number of watts consumed by the plurality of devices substantially at the second time; and
presenting the second wattage on the display.
16. A non-transitory computer-readable medium comprising computer-executable instructions that, when executed, cause one or more processors to perform acts comprising:
receiving first power consumption information corresponding to power consumption of a first device, wherein the first power consumption information corresponds to power consumption substantially at a first time;
presenting the first power consumption information on a display using a first graphical representation corresponding to the first power consumption information;
receiving a first user input; and
in response to receiving the first user input, presenting first historical power consumption information corresponding to a first time period and second historical power consumption information corresponding to a second time period.
17. The non-transitory computer-readable medium of clause 16, wherein the first user input comprises a request for historical power consumption information about the first device or devices.
18. The non-transitory computer-readable medium of clause 16, wherein presenting the first historical power consumption information corresponding to the first time period and the second historical power consumption information corresponding to the second time period comprises presenting at least one of a bar graph or a line graph.
19. The non-transitory computer-readable medium of clause 16, wherein the first time period corresponds to a day, week, month, or year.
20. The non-transitory computer-readable medium of clause 16, the actions further comprising:
receiving second power consumption information corresponding to power consumption of the first device, wherein the second power consumption information corresponds to power consumption substantially at a second time;
modifying the first graphical representation to correspond to the second power consumption information.
21. The non-transitory computer-readable medium of clause 16, the actions further comprising:
receiving a second user input; and
in response to receiving the second user input, presenting third historical power consumption information corresponding to a proportion of power used by the first device and fourth historical power consumption information corresponding to a proportion of power used by the second device.
Fig. 12 is a flow diagram illustrating an example implementation of presenting historical information and real-time information about a device to a user, which may be performed, for example, by user device 150. At step 1210, real-time information regarding power consumption of a plurality of devices is received. This information may be received from power monitor 120 via monitor bridge 620, for example. The real-time information may be received at regular intervals, such as every second or every electrical cycle, and may correspond to the number of watts consumed over a time interval. The real-time information about power consumption may substantially correspond to the first time. For example, the information may relate to energy used over a period of time, average power over a period of time, or peak power over a period of time. The time of the information may roughly (subject to small errors and uncertainties in timing) correspond to the beginning, middle or end of a time period or to a time range. At step 1220, a graphical representation is displayed to indicate power consumption information to a user. For example, graphical representations such as circles may be displayed, where each circle corresponds to a device and the circles may be updated in real-time. At step 1230, historical information regarding device events is received. The devices corresponding to the device event may be the same device as step 1210 or some of the same devices as step 1210 or may be different devices, and the device event may include any of the information described above. At step 1240, information regarding the device events is presented on the display, such as by presenting a chronological list of the device events. At step 1250, the user may provide user input, such as a touch/click on a graphical element or device event, to obtain historical information about power consumption. For example, a bar graph may be presented indicating power consumption of one or more devices over a period of time, or a pie chart may be presented indicating relative power consumption of one or more devices.
In some implementations, the network architecture may be used to transmit information about the power usage of the device to the user device as described in the following clauses and illustrated in fig. 13.
1. A method for providing information about a plurality of devices in a building, the method performed by a power monitoring device in the building and comprising:
establishing a first network connection between the power monitoring device and a first server computer, wherein the first network connection is maintained when not in use;
determining that a first device event occurred using an electrical signal, wherein the electrical signal comprises at least one of a voltage signal, a current signal, a power signal, or a reactive power signal;
transmitting information regarding the first device event to a second server computer using a second network connection, wherein the second network connection is closed after transmitting the information regarding the first device event;
receiving, from the first server via the first network connection, a request to provide real-time information about power consumption of the plurality of devices in the building;
determining information about power consumption of the plurality of devices at a first time;
transmitting information regarding power consumption of the plurality of devices to the first server via the first network connection;
receiving, from the first server via the first network connection, a request to stop providing real-time information regarding power consumption of the plurality of devices in the building; and
maintaining the first network connection with the first server.
2. The method of clause 1, wherein the first device event corresponds to a device of the plurality of devices transitioning from an on state to an off state or from an off state to an on state.
3. The method of clause 1, wherein the electrical signal is obtained using at least one of a voltage sensor or a current sensor.
4. The method of clause 1, wherein the information regarding power consumption of the plurality of devices at the first time comprises an amount of energy consumed by the first device over a period of time.
5. The method of clause 1, further comprising:
receiving a request from the first server computer to disconnect and connect to a third server;
disconnecting the first connection to the first server; and
establishing a third network connection between the power monitoring device and the third server computer, wherein the third network connection is maintained when not in use.
6. The method of clause 1, wherein transmitting information about power consumption of the plurality of devices comprises transmitting the information without a significant delay from the first time.
7. The method of clause 1, wherein:
determining that a first device event has occurred includes processing an electrical event from the electrical signal using a first processing mode; and
determining information about power consumption of the plurality of devices at a first time includes processing an electrical event from the electrical signal using a second processing mode.
8. A system for providing information about a plurality of devices in a building, the system comprising:
a first server computer comprising at least one processor and at least one memory, the first server computer configured to:
accepting a first network connection from a first client computer, wherein the first network connection is maintained when not in use,
accepting a second network connection from a second client computer;
transmitting a request to the first client computer to provide real-time information about power consumption of the plurality of devices in the building,
receiving first information from the first client computer, wherein the first information corresponds to power consumption of the plurality of devices at a first time,
transmitting the first information to a second client computer,
transmitting a request to the first client computer to stop providing real-time information,
closing the second network connection, an
Maintaining the first network connection.
9. The system of clause 8, further comprising a second server computer comprising at least one processor and at least one memory, the second server computer configured to:
accepting a third network connection from the first client computer,
receiving second information from the first client computer, an
Closing the third network connection.
10. The system of clause 8, wherein the first server computer is further configured to modify the first information before the first information is transmitted to the second client computer.
11. The system of clause 8, wherein the first client computer comprises a power monitor that receives electrical signals from an electrical panel, and the second client computer is a user device.
12. The system of clause 8, further comprising a third server computer, wherein the first server computer is further configured to transmit instructions to the first client computer to disconnect from the first server computer and connect to the third server computer.
13. The system of clause 8, wherein the first server is further configured to transmit the first information to the second client computer without significant delay from the first time.
14. A non-transitory computer-readable medium comprising computer-executable instructions that, when executed, cause at least one processor to perform acts comprising:
establishing a first network connection between a device and a first server computer, wherein the first network connection is maintained when not in use;
receiving, from the first server via the first network connection, a request to provide real-time information about power consumption of the plurality of devices in the building;
determining information about power consumption of the plurality of devices at a first time;
transmitting information regarding power consumption of the plurality of devices to the first server via the first network connection;
receiving, from the first server via the first network connection, a request to stop providing real-time information regarding power consumption of the plurality of devices in the building; and
maintaining the first network connection with the first server.
15. The computer-readable medium of clause 14, wherein the processor-executable instructions further cause the at least one processor to perform actions comprising:
determining that a first device event occurred using the electrical signal;
establishing a second network connection with a second server computer;
transmitting information regarding the first device event to the second server computer using the second network connection; and
closing the second network connection.
16. The computer-readable medium of clause 14, wherein the electrical signal is obtained using at least one of a voltage sensor or a current sensor.
17. The computer-readable medium of clause 14, wherein the information regarding power consumption by the plurality of devices at the first time comprises an amount of energy consumed by the first device over a period of time.
18. The computer-readable medium of clause 14, wherein the processor-executable instructions further cause the at least one processor to perform actions comprising:
receiving a request from the first server computer to disconnect and connect to a third server computer;
disconnecting the first network connection to the first server; and
establishing a third network connection between the device and the third server computer, wherein the third network connection is maintained when not in use.
19. The computer-readable medium of clause 14, wherein the processor-executable instructions cause the at least one processor to perform acts comprising: transmitting information about power consumption of the plurality of devices without a significant delay from the first time.
20. The computer-readable medium of clause 15, wherein the processor-executable instructions further cause the at least one processor to perform actions comprising:
determining that the first device event occurred comprises processing an electrical event from the electrical signal using a first processing mode; and
determining information about power consumption of the plurality of devices at a first time includes processing an electrical event from the electrical signal using a second processing mode.
FIG. 13 is a flow diagram illustrating an example implementation of an architecture for providing real-time information about a device. At step 1310, a network connection is established between the client device and the server computer. For example, between power monitor 120 and server 140 or monitor bridge 620. The first network connection may be a persistent network connection that is maintained when not in use. At step 1320, a second network connection is established between the client device and the second server computer. For example, between power monitor 120 and server 140 or API server 610. At step 1330, the client device may determine information about the device event (such as any of the device event information discussed above) and transmit the information to the second server using the second network connection. As described above, the device event information may be periodically transmitted, and the second network connection may be terminated after the device event information is transmitted. At step 1340, the first server may transmit a request to the client device to provide real-time information, such as real-time information regarding power consumption of a plurality of devices or real-time information regarding device events. At step 1350, the client device may transmit the requested real-time information to the first server. At step 1360, the first server may transmit a request to the client device to stop transmitting real-time information. At step 1370, the client device may stop transmitting the real-time information, but maintain the first network connection with the first server, as described above.
In some implementations, the device events may be determined as described in the following clauses and illustrated in fig. 14.
1. A method for determining a change in status of a device in a building, the method being performed by a monitoring device in the building, the method comprising:
receiving an electrical signal, wherein the electrical signal corresponds to electrical usage of a plurality of devices, and wherein the electrical signal comprises at least one of a voltage signal, a current signal, a power signal, or a reactive power signal;
identifying an electrical event in the electrical signal, wherein the electrical event corresponds to a first time;
calculating a first characteristic using a first portion of the electrical signal, wherein the first portion comprises the first time;
calculating a second characteristic using a second portion of the electrical signal, wherein the second portion includes the first time and wherein an end time of the second portion is later than an end time of the first portion;
executing a first process including:
calculating a first score using the first feature and a model, wherein the model corresponds to one or more devices and a change in state of the one or more devices, and wherein calculating the first score does not use the second feature, an
Selecting a first device and a first state change using the first score;
and
performing a second process comprising:
calculating a second score using the first feature, the second feature, and the model, an
Using the second score to select (i) the first device and the first state change or (ii) a second device and a second state change.
2. The method of clause 1, wherein identifying an electrical event in the electrical signal comprises: the method further comprises calculating a first value of the electrical signal within a first window before the first time, calculating a second value of the electrical signal within a second window after the first time, and comparing the first value to the second value.
3. The method of clause 1, wherein the first characteristic is calculated before an end time of the second portion of the electrical signal.
4. The method of clause 1, wherein:
the first process further comprises transmitting first information about the first device and the first state change to a first server computer; and
the second process further includes transmitting second information regarding (i) the first device and the first state change or (ii) the second device and the second state change to a second server computer.
5. The method of clause 1, wherein the first processing further comprises calculating the first score using a transition model corresponding to a state change of an element of the first device and a directed graph describing a plurality of state changes of the first device.
6. The method of clause 1, wherein the first processing further comprises selecting the first device and the first state change by generating a directed graph having a plurality of nodes, wherein a first node of the graph corresponds to the first device and the first state change.
7. The method of clause 4, wherein the first processing further comprises transmitting the first information to the first server without significant delay from the first time.
8. A monitoring device for determining a change in status of a device in a building, the device comprising:
at least one processor;
at least one memory storing processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to:
receiving an electrical signal, wherein the electrical signal corresponds to electrical usage of a plurality of devices;
identifying an electrical event in the electrical signal, wherein the electrical event corresponds to a first time;
calculating a first characteristic using a first portion of the electrical signal, wherein the first portion comprises the first time;
calculating a second characteristic using a second portion of the electrical signal, wherein the second portion includes the first time and wherein an end time of the second portion is later than an end time of the first portion;
executing a first process including:
calculating a first score using the first feature, wherein calculating the first score does not use the second feature, an
Selecting a first device and a first state change using the first score; and
performing a second process comprising:
calculating a second score using the first feature and the second feature, an
Using the second score to select (i) the first device and the first state change or (ii) a second device and a second state change.
9. The monitoring device of clause 8, wherein the at least one processor identifies an electrical event in the electrical signal by: the method further comprises calculating a first value of the electrical signal within a first window before the first time, calculating a second value of the electrical signal within a second window after the first time, and comparing the first value to the second value.
10. The monitoring device of clause 8, wherein the first characteristic is calculated before an end time of the second portion of the electrical signal.
11. The monitoring device of clause 8, wherein:
the first process further comprises transmitting first information about the first device and the first state change to a first server computer; and
the second process further includes transmitting second information regarding (i) the first device and the first state change or (ii) the second device and the second state change to a second server computer.
12. The monitoring device of clause 8, wherein the first process further comprises calculating the first score using a transition model corresponding to a state change of an element of the first device and a directed graph describing a plurality of state changes of the first device.
13. The monitoring device of clause 8, wherein the first process further comprises selecting the first device and the first state change by generating a directed graph having a plurality of nodes, wherein a first node of the graph corresponds to the first device and the first state change.
14. The monitoring device of clause 11, wherein the first process further comprises transmitting the first information to the first server without significant delay from the first time.
15. A non-transitory computer-readable medium comprising computer-executable instructions that, when executed, cause at least one processor to perform acts comprising:
receiving an electrical signal, wherein the electrical signal corresponds to electrical usage of a plurality of devices;
identifying an electrical event in the electrical signal, wherein the electrical event corresponds to a first time;
calculating a first characteristic using a first portion of the electrical signal, wherein the first portion comprises the first time;
calculating a second characteristic using a second portion of the electrical signal, wherein the second portion includes the first time and wherein an end time of the second portion is later than an end time of the first portion;
executing a first process including:
calculating a first score using the first feature, wherein calculating the first score does not use the second feature, an
Selecting a first device and a first state change using the first score; and
performing a second process comprising:
calculating a second score using the first feature and the second feature, an
Using the second score to select (i) the first device and the first state change or (ii) a second device and a second state change.
16. The computer-readable medium of clause 15, wherein identifying an electrical event in the electrical signal comprises: the method further comprises calculating a first value of the electrical signal within a first window before the first time, calculating a second value of the electrical signal within a second window after the first time, and comparing the first value to the second value.
17. The computer readable medium of clause 15, wherein the first characteristic is calculated before an end time of the second portion of the electrical signal.
18. The computer-readable medium of clause 15, wherein:
the first process further comprises transmitting first information about the first device and the first state change to a first server computer; and
the second process further includes transmitting second information regarding (i) the first device and the first state change or (ii) the second device and the second state change to a second server computer.
19. The computer-readable medium of clause 15, wherein the first process further comprises calculating the first score using a transition model corresponding to a state change of an element of the first device and a directed graph describing a plurality of state changes of the first device.
20. The computer-readable medium of clause 18, wherein the first processing further comprises transmitting the first information to the first server without a significant delay from the first time.
21. The computer-readable medium of clause 18, wherein the first information is used to provide real-time information about the first device to a user and the second information is used to provide historical information about the first device or the second device to the user.
FIG. 14 is a flow diagram illustrating an example implementation of determining information about device events that may be performed by a device, such as power monitor 120. At step 1410, an electrical signal is received. For example, the electrical signal may be a power signal, a current signal, or a voltage signal. At step 1420, an electrical event is identified from the electrical signal, for example, by using any of the techniques discussed above. At step 1430, a first feature (or first set of features) is computed using a first portion of the electrical signal that includes the electrical event. At step 1440, a first device and a first state change are selected using the first feature and the model without using the second feature described below. For example, a real-time search process may be used as described above. At step 1450, a second feature (or a second set of features) is calculated using a second portion of the electrical signal that includes the electrical event. The second portion of the electrical signal may have an end time that is later than the end time of the first portion of the electrical signal, and thus it may not be possible to calculate the second characteristic when calculating the first characteristic (because the desired portion of the electrical signal has not been received at that time). At step 1460, a second device and a second state change are selected using the first feature, the second feature, and the model. For example, the history search process may be used as described above. Selecting the second device and the second state change may be more accurate than selecting the first device and the first state change because the second feature may have additional information not present in the first feature. At step 1470, information regarding the first device and the first state change and the second device and the second state change may be sent to a server. In some implementations, information regarding the first device and the first state change may be sent to a first server, and information regarding the second device and the second state change may be sent to a second server.
In some implementations, devices may be discovered as described in the following clauses and as illustrated in fig. 15.
1. A method for determining information about a device, comprising:
obtaining first information about a plurality of electrical events, wherein the first information comprises a plurality of characteristics for each electrical event;
processing the first information with a first model to generate a first score, wherein the first model comprises a first plurality of states, and wherein the first model corresponds to a first device class;
processing the first information with a second model to generate a second score, wherein the second model comprises a second plurality of states, and wherein the second model corresponds to a second class of devices;
selecting the first model as the model most likely to correspond to the plurality of electrical events.
2. The method of clause 1, wherein processing the first information using the first model comprises:
determining that a first event matches a first state of the first plurality of states;
determining that the second event does not match any of the first plurality of states; and
determining that a third event matches a second state of the first plurality of states.
3. The method of clause 1, wherein the first information is received from a client device and the second model is transmitted to the client device.
4. The method of clause 1, wherein processing the first information using the first model comprises:
generating a graph, wherein each node of the graph corresponds to an electrical event; and
a path is selected from the graph.
5. The method of clause 4, further comprising:
identifying a plurality of paths of the graph corresponding to an end state of the first model;
determining a score for each of the plurality of paths; and
wherein selecting a path from the graph comprises selecting a path of the plurality of paths having a highest score.
6. The method of clause 1, further comprising:
generating second information from the first information by removing information corresponding to electrical events that match a state of the second model;
processing the second information with a third model to generate a third score, wherein the third model comprises a third plurality of states; and
selecting the third model as the model most likely to correspond to the second information.
7. The method of clause 1, wherein the first model and the second model are selected based on user-provided information.
Fig. 15 is a flow diagram illustrating an example implementation of discovering information about devices, which may be performed, for example, by server 140. At step 1510, first information regarding a plurality of electrical events is obtained. The electrical event may be identified by power monitor 120 or may be determined by server 140 using electrical signals received from power monitor 120. The first information may comprise features as described above. At step 1520, the first information is processed by a first model (such as a device discovery model or a device model as described above) to generate a first score. The processing of the first information with the first model may use any of the techniques described above, such as using a device discovery model to generate a discovery graph. The first model may correspond to, for example, a class of device, a class of manufacturer's device, or a version of manufacturer's device. At step 1530, the first information is also processed by a second model (which may have any characteristics of the first model) to generate a second score. The first information may be further processed by any number of models to generate additional scores. The models used may correspond to all available models or may be selected based on information provided by the user. For example, if the user indicates that he or she has a Kenmore dishwasher, all models involving the Kenmore dishwasher may be used. At step 1540, a model is selected. For example, the model may be selected based on the model that produced the highest score. At step 1550, the device model is transmitted to the client device, wherein the device model corresponds to the same device or the same device class as the selected model. The device model transmitted to the client device may be the same as the selected model or different from the selected model. For example, the selected model may be better suited for discovering devices and the device model may be better suited for identifying transfers of devices using electrical events. The first information may include information about a plurality of devices, and the above process may be repeated to identify additional devices. For example, the second information may be created from first information in which information about previously identified devices may be removed. The second information may then be processed to identify the second device.
In some implementations, the house-specific model may be generated as described in the following clauses and as illustrated in fig. 16.
1. A method for updating a model for determining information about a device, the method comprising:
transmitting a first model to a client device, wherein the first model corresponds to a first device class;
receiving, from the client device, first information regarding a first plurality of electrical events, wherein each of the first plurality of electrical events is associated with the first model;
selecting a second model using the first information, wherein the second model corresponds to a particular device or a second class of devices; and
transmitting the second model to the client device.
2. The method of clause 1, further comprising:
receiving second information about a second plurality of electrical events from the client device, wherein each of the second plurality of electrical events is associated with the second model;
modifying the second model using the second information; and
transmitting the modified second model to the client device.
3. The method of clause 1, further comprising:
receiving second information about a second plurality of electrical events from the client device, wherein each of the second plurality of electrical events is associated with the second model;
training a third model using the second information; and
transmitting the third model to the client device.
4. The method of clause 3, further comprising:
receiving, from a second client device, third information regarding a third plurality of electrical events, wherein each of the third plurality of electrical events is associated with the second model; and
wherein training the third model comprises using the third information.
5. The method of clause 1, wherein selecting the second model comprises selecting the second model from a plurality of models using a score generated by processing the first information with the second model.
6. The method of clause 1, wherein the first model comprises a transfer model or an equipment model.
7. The method of clause 1, wherein the particular device corresponds to a version of a manufacturer's device.
FIG. 16 is a flow diagram illustrating an example implementation of generating a house-specific model that may be performed, for example, by server 140. At step 1610, the first model is transmitted to a client device, such as power monitor 120. The first model may be transmitted to the client device during manufacture such that the model exists when the client device is purchased by a user, or the first model may be transmitted to the client device and installed by the user after the client device has been purchased. The first model may be any of the models discussed above, including, for example, a transfer model or an equipment model. The first model may correspond to a class of devices because information about devices in the household is not yet available. At step 1620, first information regarding a first plurality of electrical events is received from a client device. The first information may include a plurality of characteristics generated from the electrical signal. The first information may be generated during normal operation of the client device to detect device events in the home, or may be generated specifically for updating or adapting the model. At step 1630, a second model is generated using the first information and using any of the techniques described above. For example, the second model may be generated by: a selection is made from a plurality of models using a device discovery process as described above, an existing model (such as a first model) is modified or a new model is trained using the first information. The second model may be specific to the house where it corresponds to a class of devices in the house (e.g., Whirlpool dishwasher), a specific version of the device (e.g., version 1000 Whirlpool dishwasher), or may be adapted to specific characteristics of the devices in the home (e.g., the characteristics of the motor of the user's dishwasher). At step 1640, the second model may be transmitted to the client device. At step 1650-. Step 1650-.
In some implementations, device events may be determined as described in the following clauses and as illustrated in fig. 17.
1. A method for detecting a device event, the method comprising:
obtaining a graph comprising a plurality of nodes, the plurality of nodes comprising a first node;
receiving a plurality of characteristics corresponding to an electrical event;
processing the plurality of features with a first model to generate a first score, wherein the first model corresponds to a change in state of a first device;
processing the plurality of features with a second model to generate a second score, wherein the second model corresponds to a change in state of a second device;
adding a second node to the graph, wherein the second node corresponds to a state change of the first device, and wherein the second node follows the first node; and
adding a third node to the graph, wherein the third node corresponds to a state change of the second device, and wherein the third node follows the first node.
2. The method of clause 1, wherein the first score is generated using at least one of a transition model, a watt model, or a prior model.
3. The method of clause 1, further comprising removing the third node from the graph based at least in part on the second score.
4. The method of clause 1, wherein the first node indicates a status of each of a plurality of devices.
5. The method of clause 1, wherein the first model is selected using a first device model for the first device, and wherein the first device model indicates state transitions allowable for the first device.
6. The method of clause 1, further comprising:
receiving a second plurality of characteristics corresponding to a second electrical event;
processing the second plurality of features with a third model to generate a third score, wherein the third model corresponds to a change in state of a third device;
processing the plurality of features with a fourth model to generate a fourth score, wherein the fourth model corresponds to a state change of a fourth device;
adding a fourth node to the graph, wherein the fourth node corresponds to a state change of the third device, and wherein the fourth node follows the second node; and
adding a fifth node to the graph, wherein the fifth node corresponds to a state change of the fourth device, and wherein the fifth node follows the second node.
7. The method of clause 1, wherein the graph is a directed aperiodic graph.
FIG. 17 is a flow diagram illustrating an example implementation of determining device events that may be performed, for example, by power monitor 120. At step 1710, a graph is obtained that includes a plurality of nodes, including a first node. The graph may be, for example, a directed aperiodic graph or a search graph as described above. Each of the plurality of nodes may correspond to a possible or assumed state of the plurality of devices. At step 1720, a plurality of characteristics corresponding to the electrical event are received. The characteristics may be determined using any of the techniques described above. At step 1730, a plurality of features are processed with a first model corresponding to a state change of the first device, such as a transition of the light bulb from an off state to an on state. At step 1740, a plurality of features are processed with a second model corresponding to a change in state of a second device. Similarly, multiple features may be processed with additional models corresponding to state changes of other devices. The processing of the features with the model may use any of the techniques described above (e.g., using one or more of a transition score, a watt score, or an a priori score) to generate the score. The processing of the features with the model may correspond to a real-time mode or a historical mode as described above. At step 1750, a second node is added to the graph following the first node, where the second node corresponds to a state change of the first device. At step 1760, a third node is added to the graph following the first node, where the third node corresponds to the change in state of the second device. Step 1720-. Further, the nodes of the graph may then be pruned based on the scores of the nodes and/or paths corresponding to the graph. For example, nodes corresponding to lower scores may be removed to reduce computations.
Although only a few embodiments of the present invention have been shown and described, it will be apparent to those skilled in the art that many changes and modifications can be made thereto without departing from the spirit and scope of the disclosure as described in the following claims. All patent applications and patents (both foreign and domestic) and all other publications cited herein are incorporated herein by reference in their entirety to the full extent allowed by law.
The methods and systems described herein may be deployed in part or in whole by a machine executing computer software, program code, and/or instructions on a processor. The processor may be part of a server, cloud server, client, network infrastructure, mobile computing platform, fixed computing platform, or other computing platform. The processor may be any kind of computing or processing device capable of executing program instructions, code, binary instructions, etc. The processor may be or include a signal processor, a digital processor, an embedded processor, a microprocessor, or any variant that may facilitate directly or indirectly the execution of program code or program instructions stored thereon, such as a coprocessor (math coprocessor, graphics coprocessor, communications coprocessor, etc.), or the like. In addition, a processor may implement the execution of various programs, threads, and code. Multiple threads may be executed simultaneously to enhance the performance of the processor and to facilitate simultaneous operation of applications. As an implementation, the methods, program code, program instructions, etc. described herein may be implemented in one or more threads. Threads may spawn other threads, which may have an assigned priority associated with them; the processor may execute these threads based on priority or any other order (based on instructions provided in the program code). The processor may include a memory that stores methods, code, instructions, and programs as described herein and elsewhere. The processor may access a storage medium through the interface, which may store methods, code, and instructions as described herein and elsewhere. A storage medium associated with a processor for storing methods, programs, code, program instructions, or other types of instructions capable of being executed by a computing or processing device may include, but may not be limited to, one or more of CD-ROM, DVD, memory, hard disk, flash drive, RAM, ROM, cache memory, or the like.
The processor may include one or more cores that may enhance the speed and performance of the multiprocessor. In embodiments, the processing device may be a dual-core processor, a quad-core processor, other chip-level multiprocessor combining two or more independent cores, or the like (referred to as a die).
The methods and systems described herein may be deployed in part or in whole by a machine executing computer software on a server, cloud server, client, firewall, gateway, hub, router, or other such computer and/or networking hardware. The software programs may be associated with servers that may include file servers, print servers, domain servers, internet servers, intranet servers, and other variants (such as secondary servers, primary servers, distributed servers), and the like. A server may include one or more of a memory, a processor, a computer readable medium, a storage medium, ports (physical and virtual), communication devices, and interfaces capable of accessing other servers, clients, machines, and devices through a wired or wireless medium, and the like. The methods, programs, or code as described herein and elsewhere may be executed by a server. In addition, other devices required to perform methods as described herein may be considered part of the infrastructure associated with the server.
The server may provide an interface to other devices including, without limitation, clients, other servers, printers, database servers, print servers, file servers, communication servers, distributed servers, and the like. Additionally, such coupling and/or connection may facilitate remote execution of programs across a network. Networking of some or all of these devices may facilitate parallel processing of programs or methods at one or more locations without departing from the scope of the present disclosure. Additionally, any device attached to the server through the interface may include at least one storage medium capable of storing methods, programs, code, and/or instructions. The central repository may provide program instructions to be executed on different devices. In this implementation, the remote repository may serve as a storage medium for program code, instructions, and programs.
The software programs may be associated with clients that may include file clients, print clients, domain clients, internet clients, intranet clients, and other variants (such as secondary clients, primary clients, distributed clients), and the like. A client may include one or more of a memory, a processor, a computer readable medium, a storage medium, a port (physical and virtual), a communication device, and an interface capable of accessing other clients, servers, machines, and devices through a wired or wireless medium, and the like. Methods, programs, or code as described herein and elsewhere may be executed by a client. In addition, other devices needed to perform methods as described herein may be considered part of the infrastructure associated with the client.
Clients may provide interfaces to other devices, including without limitation servers, other clients, printers, database servers, print servers, file servers, communication servers, distributed servers, and the like. Additionally, such coupling and/or connection may facilitate remote execution of programs across a network. Networking of some or all of these devices may facilitate parallel processing of programs or methods at one or more locations without departing from the scope of the present disclosure. Additionally, any device attached to the client through an interface may include at least one storage medium capable of storing methods, programs, applications, code, and/or instructions. The central repository may provide program instructions to be executed on different devices. In this implementation, the remote repository may serve as a storage medium for program code, instructions, and programs.
The methods and systems described herein may be deployed in part or in whole through a network infrastructure. The network infrastructure may include elements such as: computing devices, servers, routers, hubs, firewalls, clients, personal computers, communication devices, routing devices, and other active and passive devices, modules, and/or components known in the art. The computing and/or non-computing device(s) associated with the network infrastructure may include storage media (such as flash memory, buffers, stacks, RAM, ROM), etc., among other components. The processes, methods, program code, instructions described herein and elsewhere may be performed by one or more of the network infrastructure elements.
The methods, program codes, and instructions described herein and elsewhere may be implemented on a cellular network having a plurality of cells. The cellular network may be a Frequency Division Multiple Access (FDMA) network or a Code Division Multiple Access (CDMA) network. The cellular network may include mobile devices, cell sites, base stations, repeaters, antennas, towers, and the like. The cellular network may be GSM, GPRS, 3G, EVDO, mesh, or other network type.
The methods, program codes, and instructions described herein and elsewhere may be implemented on or by a mobile device. The mobile device may include a navigation device, a cellular telephone, a mobile personal digital assistant, a laptop computer, a palmtop computer, a netbook, a pager, an e-book reader, a music player, and so forth. These devices may include storage media such as flash memory, buffers, RAM, ROM, and one or more computing devices, among other components. Computing devices associated with the mobile devices may be enabled to execute the program code, methods, and instructions stored thereon. Alternatively, the mobile device may be configured to execute instructions in cooperation with other devices. The mobile device can be in communication with a base station that interfaces with a server and is configured to execute program code. The mobile device may communicate over a peer-to-peer network, a mesh network, or other communication network. The program code may be stored on a storage medium associated with the server and executed by a computing device embedded within the server. A base station may include a computing device and a storage medium. The storage device may store program code and instructions for execution by a computing device associated with the base station.
The computer software, program code and/or instructions may be stored on and/or accessed on a machine-readable medium, which may include: computer means, devices and recording media retaining digital data for calculation over a certain time interval; semiconductor memory referred to as Random Access Memory (RAM); mass storage typically for more permanent storage, such as optical disks, forms of magnetic storage like hard disks, tapes, drums, magnetic cards, and other types; processor registers, cache memory, volatile memory, non-volatile memory; optical storage such as CDs, DVDs; removable media such as flash memory (e.g., USB stick or key), floppy disk, magnetic tape, paper tape, punch card, standalone RAM disk, Zip drive, removable mass storage, offline device, etc.; other computer memory such as dynamic memory, static memory, read/write memory, volatile memory, read-only memory, random-access memory, sequential-access memory, location-addressable memory, file-addressable memory, content-addressable memory, network-attached memory, a network of storage areas, barcodes, magnetic ink, etc.
The methods and systems described herein may transform a physical and/or intangible item from one state to another. The methods and systems described herein may also transform data representing physical and/or intangible items from one state to another, such as from usage data to a normalized usage data set.
The elements described and depicted herein are included in flowchart and block diagrams throughout the various figures to imply logical boundaries between the elements. However, in accordance with software or hardware engineering practices, the depicted elements and their functions may be implemented on a machine having a processor capable of executing program instructions stored on a computer-executable medium, stored as a single-chip software structure, as stand-alone software modules, or as modules employing external routines, code, services, etc., or any combination of these, and all such implementations may be within the scope of the present disclosure. Examples of such machines may include, but may not be limited to, personal digital assistants, laptop computers, personal computers, mobile phones, other handheld computing devices, medical equipment, wired or wireless communication devices, transducers, chips, calculators, satellites, tablet PCs, electronic books, gadgets, electronic devices, devices with artificial intelligence, computing devices, networking equipment, servers, routers, and so forth. Furthermore, the elements depicted in the flowchart and block diagrams, or any other logic components, may be implemented on a machine capable of executing program instructions. Thus, while the foregoing drawings and description set forth functional aspects of the disclosed systems, no particular arrangement of software for implementing these functional aspects should be inferred from these descriptions unless explicitly stated or otherwise clear from the context. Similarly, it will be appreciated that the various steps identified and described above may be varied, and that the order of the steps may be adapted to particular applications of the techniques disclosed herein. All such variations and modifications are intended to fall within the scope of the present disclosure. As such, the depiction and/or description of an order for various steps should not be construed as requiring a particular order of execution for those steps, unless required by a particular application or explicitly stated or otherwise clear from the context.
The methods and/or processes described above, and the steps thereof, may be implemented in hardware, software, or any combination of hardware and software as appropriate for a particular application. The hardware may include general purpose computers and/or special purpose computing devices or specific aspects or components of a specific computing device. The processes may be implemented in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors, or other programmable devices, along with internal and/or external memory. A process may also or alternatively be embodied in an application specific integrated circuit, a programmable gate array, programmable array logic, or any other device or combination of devices that may be configured to process electronic signals. It will also be appreciated that one or more of the processes may be implemented as computer executable code capable of being executed on a machine readable medium.
Computer executable code may be created using a structured programming language such as C, an object oriented programming language such as C + +, or any other high-level or low-level programming language (including assembly, hardware description, and database programming languages and techniques), which may be stored, compiled, or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software, or any other machine capable of executing program instructions.
Thus, in one aspect, each of the methods described above, and combinations thereof, may be embodied in computer-executable code that, when executed on one or more computing devices, performs the steps of the method. In another aspect, the method may be embodied in a system that performs its steps and may be distributed across devices in a variety of ways, or all of the functionality may be integrated into a dedicated, standalone device or other hardware. In another aspect, the means for performing the steps associated with the processes described above may comprise any of the hardware and/or software described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.
All documents cited herein are hereby incorporated by reference.
Claims (22)
1. A method for providing information about a plurality of devices in a building, the method comprising:
accepting a first network connection from a user equipment;
receiving an identifier from the user equipment via the first network connection;
retrieving first information from a data store using the identifier, wherein the first information comprises historical information about the first device and the second device;
transmitting the first information to the user equipment via the first network connection;
accepting a second network connection from the user equipment;
receiving second information from a power monitoring device, wherein the second information comprises real-time information about power consumption of a third device at a first time and real-time information about power consumption of a fourth device at the first time; and
transmitting the second information to the user equipment via the second network connection.
2. The method of claim 1, further comprising:
determining that a device requires maintenance or a portion of the device needs to be replaced using at least one of the first information and the second information;
transmitting information to the user equipment indicating that the equipment needs maintenance or that the part of the equipment needs to be replaced.
3. The method of claim 1, further comprising:
determining a recommendation for energy saving using at least one of the first information and the second information;
transmitting the recommendation to the user device.
4. The method of claim 3, wherein using at least one of the first information and the second information to determine a recommendation for energy saving comprises using an expert system.
5. The method of claim 1, wherein the first network connection is between a first server computer and the user device and the second network connection is between a second server computer and the user device.
6. The method of claim 1, wherein the first information comprises information regarding a change in state of the first device.
7. The method of claim 1, wherein transmitting the second information to the user equipment comprises transmitting information without a significant delay from the first time.
8. A system for providing information about a plurality of devices, the system comprising:
at least one server computer comprising at least one processor and at least one memory, the at least one server computer configured to:
accepting a first network connection from a first client device;
receiving an identifier from the first client device via the first network connection;
retrieving first information from a data store using the identifier, wherein the first information comprises historical information about a first device;
transmitting the first information to the first client device via the first network connection;
receiving second information from a second client device via a second network connection, wherein the second information comprises real-time information about power consumption of the second device at a first time;
accepting a third network connection from the first client device; and
transmitting the second information to the first client device via the third network connection.
9. The system of claim 8, wherein the at least one server computer is further configured to:
determining information regarding a comparison between power usage of a first building and power usage of a second building or between power usage of the first building over a first time period and power usage of the first building over a second time period using at least one of the first information and the second information;
transmitting information about the comparison to the first client device.
10. The system of claim 8, wherein the at least one server computer is further configured to:
determining an occurrence of an event in a building including the plurality of devices using at least one of the first information and the second information;
transmitting information about the event to a user.
11. The system of claim 10, wherein the at least one server computer is further configured to transmit information about the event as an announcement to a device of the user.
12. The system of claim 8, wherein the at least one server computer comprises a first server computer and a second server computer, the first information being transmitted by the first server computer and the second information being transmitted by the second server computer.
13. The system of claim 8, wherein at least a portion of the first information was previously received from the second client device.
14. The system of claim 8, wherein the second information is transmitted to the first client device without a significant delay from the first time.
15. The system of claim 8, wherein the second network connection is maintained when not in use.
16. A non-transitory computer-readable medium comprising computer-executable instructions that, when executed, cause at least one processor to perform acts comprising:
establishing a first network connection using a network interface;
transmitting an identifier via the first network connection;
establishing a second network connection using the network interface;
receiving first information via the first network connection, wherein the first information comprises historical information about a first device; and
receiving second information via the second network connection, wherein the second information comprises real-time information about power consumption of the second device at the first time.
17. The computer-readable medium of claim 16, wherein the instructions further cause the at least one processor to perform actions comprising presenting the first information and the second information to a user.
18. The computer-readable medium of claim 16, wherein the first network connection is a connection with a first server computer and the second network connection is a connection with a second server computer.
19. The computer-readable medium of claim 16, wherein the first information comprises information about a change in state of the first device.
20. The computer-readable medium of claim 16, wherein the second information is received without a significant delay from the first time.
21. The computer-readable medium of claim 16, wherein the instructions further cause the at least one processor to perform actions comprising:
receiving a recommendation for energy saving; and
presenting the recommendation to a user.
22. The computer-readable medium of claim 16, wherein the instructions further cause the at least one processor to perform actions comprising:
receiving third information via the first network connection, wherein the third information comprises historical information about the second device; and
receiving fourth information via the second network connection, wherein the fourth information comprises real-time information about power consumption of the first device at the first time.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2014/067662 WO2016085500A1 (en) | 2014-11-26 | 2014-11-26 | Communication of historical and real-time information about devices in a building |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107408273A CN107408273A (en) | 2017-11-28 |
CN107408273B true CN107408273B (en) | 2021-02-05 |
Family
ID=56074848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480084575.4A Active CN107408273B (en) | 2014-11-26 | 2014-11-26 | Communication of historical and real-time information about devices in a building |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3224792A4 (en) |
CN (1) | CN107408273B (en) |
WO (1) | WO2016085500A1 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9443195B2 (en) | 2014-11-26 | 2016-09-13 | Sense Labs, Inc. | Assisted labeling of devices with disaggregation |
US10175276B2 (en) | 2014-11-26 | 2019-01-08 | Sense Labs, Inc. | Identifying and categorizing power consumption with disaggregation |
US9152737B1 (en) | 2014-11-26 | 2015-10-06 | Sense Labs, Inc. | Providing notifications to a user |
WO2018156546A1 (en) * | 2017-02-22 | 2018-08-30 | Sense Labs, Inc. | Identifying device state changes using power data and network data |
US10750252B2 (en) | 2017-02-22 | 2020-08-18 | Sense Labs, Inc. | Identifying device state changes using power data and network data |
US9800958B1 (en) | 2017-02-22 | 2017-10-24 | Sense Labs, Inc. | Training power models using network data |
US9699529B1 (en) | 2017-02-22 | 2017-07-04 | Sense Labs, Inc. | Identifying device state changes using power data and network data |
EP3518152A1 (en) * | 2018-01-29 | 2019-07-31 | Panasonic Intellectual Property Corporation of America | Information processing method and information processing system |
US10740691B2 (en) | 2018-10-02 | 2020-08-11 | Sense Labs, Inc. | Identifying devices connected to a smart plug |
US11768228B2 (en) | 2019-07-11 | 2023-09-26 | Sense Labs, Inc. | Current transformer with calibration information |
USD944731S1 (en) | 2019-07-11 | 2022-03-01 | Sense Labs, Inc. | Electrical current sensor |
TWI751497B (en) * | 2020-02-20 | 2022-01-01 | 台灣松下電器股份有限公司 | Home appliance intelligent operation system and method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100111170A (en) * | 2009-04-06 | 2010-10-14 | 주식회사 바른기술 | Power saving system and method using ethernet network based multi-outlet |
CN203193399U (en) * | 2013-04-27 | 2013-09-11 | 湖北华辰凯龙电力有限公司 | Energy saving management monitoring terminal based on network |
CN103517527A (en) * | 2013-10-11 | 2014-01-15 | 山东迪生电气股份有限公司 | Voltage reactive power optimization energy-saving system of street lamp power supply network |
CN104040820A (en) * | 2012-01-06 | 2014-09-10 | 科特兰研究有限责任公司 | System for building management of electricity via network control of point-of-use devices |
KR101448683B1 (en) * | 2013-08-12 | 2014-10-08 | 주식회사 인코어드 테크놀로지스 | Apparatus and system for providing an information of energy |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020178047A1 (en) * | 2000-09-15 | 2002-11-28 | Or Ellen Pak-Wah | Energy management system and method for monitoring and optimizing energy usage, identifying energy savings and facilitating procurement of energy savings products and services |
KR101828461B1 (en) * | 2011-02-01 | 2018-03-29 | 삼성전자주식회사 | Electrical instrument, power management apparatus and method for controlling the same |
US8812427B2 (en) | 2011-04-27 | 2014-08-19 | Hewlett-Packard Development Company, L.P. | System and method for disaggregating power load |
KR20140121527A (en) * | 2013-04-05 | 2014-10-16 | 한국전자통신연구원 | Apparatus and method for control of building energy |
-
2014
- 2014-11-26 CN CN201480084575.4A patent/CN107408273B/en active Active
- 2014-11-26 EP EP14906856.1A patent/EP3224792A4/en not_active Ceased
- 2014-11-26 WO PCT/US2014/067662 patent/WO2016085500A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100111170A (en) * | 2009-04-06 | 2010-10-14 | 주식회사 바른기술 | Power saving system and method using ethernet network based multi-outlet |
CN104040820A (en) * | 2012-01-06 | 2014-09-10 | 科特兰研究有限责任公司 | System for building management of electricity via network control of point-of-use devices |
CN203193399U (en) * | 2013-04-27 | 2013-09-11 | 湖北华辰凯龙电力有限公司 | Energy saving management monitoring terminal based on network |
KR101448683B1 (en) * | 2013-08-12 | 2014-10-08 | 주식회사 인코어드 테크놀로지스 | Apparatus and system for providing an information of energy |
CN103517527A (en) * | 2013-10-11 | 2014-01-15 | 山东迪生电气股份有限公司 | Voltage reactive power optimization energy-saving system of street lamp power supply network |
Also Published As
Publication number | Publication date |
---|---|
WO2016085500A1 (en) | 2016-06-02 |
EP3224792A1 (en) | 2017-10-04 |
CN107408273A (en) | 2017-11-28 |
EP3224792A4 (en) | 2018-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210293863A1 (en) | Electrical meter for determining information about devices using different sets of features | |
US9691030B2 (en) | Assisted labeling of devices with disaggregation | |
US9057746B1 (en) | Determining information about devices in a building using different sets of features | |
CN107408273B (en) | Communication of historical and real-time information about devices in a building | |
US9739813B2 (en) | Determining information about devices in a building using different sets of features | |
US9172623B1 (en) | Communication of historical and real-time information about devices in a building | |
EP3224683B1 (en) | Determining information about devices in a building using different sets of features | |
US10175276B2 (en) | Identifying and categorizing power consumption with disaggregation | |
US11336096B2 (en) | Managing power for residential and commercial networks | |
US8560134B1 (en) | System and method for electric load recognition from centrally monitored power signal and its application to home energy management | |
US20180034657A1 (en) | Method and System of Monitoring Appliance Usage | |
US20170235290A1 (en) | Smart home system and method | |
GB2488164A (en) | Identifying electrical appliances and their power consumption from energy data | |
JP6870110B2 (en) | How to carry out itemization of home appliances | |
Makonin | Approaches to non-intrusive load monitoring (nilm) in the home | |
Schiefelbein et al. | Pervasive system based on situation-awareness for feedback of energy efficiency | |
Blasioli | Technical and socio-economic evaluation of energy disaggregation using Non-Intrusive Load Monitoring (NILM) for the characterization of residential appliances’ profiles: the Netherlands case study. | |
Chen | Investigating the human behavior side of building energy efficiency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |