Smart plug operating system and method
A power monitor system connected to both power lines and network data accurately identifies and tracks individual device power usage, addressing the impracticality of existing systems by using sensors and models to enhance disaggregation efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-08-28
- Publication Date
- 2026-04-07
AI Technical Summary
Existing power monitoring systems struggle to accurately disaggregate electricity consumption data for individual devices within a building, requiring numerous costly smart plugs and manual effort, which is impractical.
A method involving a power monitor connected to both the building's power lines and network, using sensors and network data to identify devices and determine their power usage by processing power monitoring signals and network data, employing mathematical models and machine learning techniques to enhance accuracy.
Provides precise information on individual device power usage, reducing the need for multiple smart plugs and manual effort, thereby enhancing energy management efficiency and cost-effectiveness.
Smart Images

Figure 0007842162000001 
Figure 0007842162000002 
Figure 0007842162000003
Abstract
Description
Technical Field
[0001] [Cross - reference to Related Applications] This application (SAGE - 0006 - WO) claims priority to U.S. Provisional Patent Application No. 62 / 740,201, entitled "POWER MONITORING USING SMART PLUGS", filed on October 2, 2018 (SAGE - 0006 - P01).
[0002] Also, this application claims priority to and is a continuation of U.S. Non - Provisional Patent Application No. 16 / 179,567, entitled "DETERMINING A POWER MAIN OF A SMART PLUG", filed on November 2, 2018 (SAGE - 0006 - U01); U.S. Non - Provisional Patent Application No. 16 / 179,598, entitled "IDENTIFYING DEVICES CONNECTED TO A SMART PLUG", filed on November 2, 2018 (SAGE - 0006 - U02); and U.S. Non - Provisional Patent Application No. 16 / 179,619, entitled "TRAINING A MATHEMATICAL MODEL FOR A DEVICE USING A SMART PLUG", filed on November 2, 2018 (SAGE - 0006 - U03).
[0003] U.S. Non - Provisional Patent Application No. 16 / 179,567, filed on November 2, 2018, claims priority to U.S. Provisional Patent Application No. 62 / 740, at (SAGE - 0006 - P01), filed on October 2, 2018.
[0004] U.S. Non - Provisional Patent Application No. 16 / 179,598, filed on November 2, 2018, claims priority to U.S. Provisional Patent Application No. 62 / 740,201 (SAGE - 0006 - P01), filed on October 2, 2018.
[0005] U.S. Non-Provisional Patent Application No. 16 / 179,619, filed on November 2, 2018, claims priority over U.S. Provisional Patent Application No. 62 / 740,201 (SAGE-0006-P01), filed on October 2, 2018. [Background technology]
[0006] Reducing electricity or power consumption brings several benefits, particularly money savings through lower payments to power companies and environmental protection through reduced resource consumption for power generation. Therefore, electricity users, including consumers, businesses, and other organizations, are eager to reduce their consumption to reap these benefits. Users can more effectively reduce their electricity consumption if they have information on which appliances in their homes and buildings (e.g., refrigerators, ovens, dishwashers, boilers, and light bulbs) consume the most electricity, and what measures are available to reduce their consumption.
[0007] To obtain information about the electricity used by many devices within a building, power monitors can be installed on electrical panels. Power monitors on electrical panels are convenient because a single monitor provides aggregated usage information for many devices. However, since monitors typically measure signals that reflect the collective operation of many devices, which can overlap in complex ways, it is even more difficult to extract more detailed information about the power usage of a single device. The process of obtaining information about the power usage of a single device from electrical signals corresponding to the usage of many devices can be called disaggregation.
[0008] To measure the power consumption of a single device, individual device power monitors can also be used. For example, a device can be connected to a smart plug, and the smart plug can be plugged into a wall outlet. While these smart plugs can provide information about the power usage of the devices they supply, monitoring all or many devices in a home or building with these smart plugs would require a large number of smart plugs, which would be costly and require considerable manual effort to implement, making it impractical. [Overview of the project] [Problems that the invention aims to solve]
[0009] To maximize benefits for end-users, there is a need for more accurate application breakdown methods so that end-users receive precise information about the power usage of individual devices. [Means for solving the problem]
[0010] According to exemplary and non-limiting embodiments, a computer implementation method for determining the power main associated with a smart plug includes establishing a network connection with a smart plug that receives power from the building's electrical main and supplies power to one or more devices, receiving a smart plug power monitoring signal via the network connection indicating the amount of power the smart plug is supplying to one or more devices, and determining the building's first electrical main. This includes obtaining a first main power monitoring signal using measurements from a first sensor measuring the electrical characteristics of the main; obtaining a second main power monitoring signal using measurements from a second sensor measuring the electrical characteristics of the second electrical main of the building; identifying multiple event times corresponding to events in the smart plug power monitoring signal; collecting smart plug portions of the smart plug power monitoring signal corresponding to each of the multiple event times; collecting first main portions of the first main power monitoring signal corresponding to each of the multiple event times; collecting second main portions of the second main power monitoring signal corresponding to each of the multiple event times; determining that the smart plug is receiving power from the first electrical main by comparing the smart plug portions to the first main portions and comparing the smart plug portions to the second main portions; and updating entries in the datastore to indicate that the smart plug is receiving power from the first electrical main.
[0011] In another exemplary and non-limiting embodiment, a computer implementation method for determining that a first device is connected to a smart plug includes: establishing a network connection with a smart plug that is supplying power to one or more devices; receiving a smart plug power monitoring signal via the network connection indicating the amount of power the smart plug is supplying to one or more devices; obtaining a first mains power monitoring signal using measurements from a sensor that measures the electrical characteristics of a first mains in a building; identifying a smart plug power event corresponding to an event time in the smart plug power monitoring signal; identifying a first mains power event in the first mains power monitoring signal using the event time; determining that the first mains power event corresponds to a first device by processing the first mains power event using a plurality of power models; determining that the first device is connected to a smart plug using the determination that the first mains power event corresponds to a first device; and updating an entry in a datastore to indicate that the first device is receiving power from the smart plug.
[0012] According to another exemplary and non-limiting embodiment, a computer implementation method for training a mathematical model of a first device includes: receiving a smart plug power monitoring signal indicating the amount of power supplied by a smart plug to one or more devices including the first device; identifying a plurality of on-operation times corresponding to the smart plug power monitoring signal transitioning from zero power to non-zero power; identifying a plurality of off-operation times corresponding to the smart plug power monitoring signal transitioning from non-zero power to zero power; obtaining a first main power monitoring signal using measurements from a sensor measuring the electrical characteristics of a first main electrical conduit in a building; and identifying in the first main power monitoring signal the power event for which each power event corresponds to the event time. This includes: clustering power events into multiple clusters; selecting a first cluster from the multiple clusters using (i) multiple on-operation times and (ii) event times of power events in the first cluster; selecting a second cluster from the multiple clusters using (i) multiple off-operation times and (ii) event times of power events in the second cluster; training a first transition model for a first device using one or more power events from the first cluster; training a second transition model for the first device using one or more power events from the second cluster; and identifying state changes of the device using the first and second transition models.
[0013] The following detailed description of the present invention and some of its embodiments can be understood by referring to the following figures. [Brief explanation of the drawing]
[0014] [Figure 1] Figure 1 shows an example system that uses power monitoring and network monitoring to identify changes in the status of equipment and devices. [Figure 2] Figure 2 shows an example system for power monitoring and network monitoring, illustrating the main electrical lines and circuits. [Figure 3A] Figure 3A shows an example of power monitoring signals from the main pipe and smart plug. [Figure 3B] Figure 3B shows examples of power monitoring signals from the main pipe and smart plug. [Figure 3C] Figure 3C shows examples of power monitoring signals from the main pipe and smart plug. [Figure 4] Figure 4 shows an example of a system for power monitoring and network monitoring services. [Figure 5] Figure 5 shows an example of a list of devices. [Figure 6] Figure 6 is a flowchart of an implementation example for identifying the main electrical conduit that supplies power to the smart plug. [Figure 7] Figure 7 is a flowchart of an implementation example that determines whether the device is receiving power from a smart plug. [Figure 8A] Figure 8A is a flowchart of an implementation example that uses the main power monitoring signal and the smart plug power monitoring signal to identify changes in the state of the device. [Figure 8B] Figure 8B is a flowchart of an implementation example that uses the main power monitoring signal and the smart plug power monitoring signal to identify changes in the state of the device. [Figure 9] Figure 9 is a flowchart of an implementation example that uses smart plug power monitoring signals to train a device transition model. [Figure 10] Figure 10 is a flowchart of an implementation example for training a transition model for a device with three or more states using a smart plug power monitoring signal. [Figure 11A] Figure 11A shows an example of a device state model. [Figure 11B] Figure 11B shows an example of a device state model. [Figure 12A] Figure 12A shows an example of a power monitoring signal for the device. [Figure 12B]FIG. 12B is an example of a power monitoring signal of the device. [Figure 13] FIG. 13 is an example of a device that processes a smart plug power monitoring signal.
DETAILED DESCRIPTION OF THE INVENTION
[0015] In this specification, a method for identifying a device and determining information regarding a change in the state of a device within a building will be described. One data source for determining information regarding a device within a building is a power transmission line that supplies power to the device within the building. An electrical sensor can be placed on the power transmission line (or lines) that supply power to the building, and the use decomposition method can be used to determine information regarding individual devices within the building. For example, any of the methods described in U.S. Patent No. 9,443,195 can be used to determine information regarding a device using electrical measurement methods, and this document is hereby incorporated by reference in its entirety for all purposes.
[0016] Another data source for identifying a device or determining information regarding a change in the state of a device within a building is a computer network within the building. The building can have a network such as a local area network, and the device can be connected to the network via wired (e.g., Ethernet cable) or wireless (e.g., Wi-Fi). The building can have multiple networks such as a local area network regulated by a wireless router, a mesh network formed by other cooperating devices (e.g., Sonos speakers), or a personal area network (e.g., Bluetooth connection between devices). For example, any of the methods described in U.S. Patent No. 9,699,529 can be used to determine information regarding a device using network data, and this document is hereby incorporated by reference in its entirety for all purposes.
[0017] Some devices are powered by the building's power lines but do not have network connectivity (e.g., conventional refrigerators). Some devices are powered by the building's power lines and have network connectivity (e.g., "smart" refrigerators). Some devices have network connectivity but are not powered by the power lines (e.g., mobile devices such as smartphones), or are only powered by the power lines occasionally (e.g., when charging). The method described herein can provide more information and / or more accurate information about devices within a building by using a combination of information from the power lines and information from the building's network.
[0018] A service can be provided that informs users about the status of equipment within a building using information from power lines and the building's network. A company could offer a power monitoring device (or power monitor) that can be installed in a building and connected to both the building's power lines and computer network. The power monitoring device can use both power line and network data to determine what equipment is present in the building and its status (e.g., on or off). This information can then be made available to users through a dedicated application, such as an app (on a smartphone) or a webpage. This service can provide users with information about the equipment in the building, including real-time information on the equipment's status, real-time power consumption by the equipment, and historical information on the equipment's activity.
[0019] A building may also include a device known as a "smart plug." A smart plug can provide information about the power consumption of a device that receives power from it. For example, a smart plug can plug into a conventional power outlet, allowing a device to connect to it. Thus, the device receives power through the smart plug. A smart plug may also include a function to provide information about the power supplied to a device connected to it. For example, a smart plug may include one or more sensors that measure the electrical characteristics (e.g., current, voltage, or power) of the power supplied to a device connected to it. This sensor data can be used to determine how much power the device consumed over a period of time. A smart plug may also have a network connection (e.g., Wi-Fi or Bluetooth) to transmit information about the power usage of a device connected to it, such as a smartphone. A smart plug may also have other functions. For example, a smart plug may have a relay that starts and stops the flow of electricity to a device connected to it, and the user may have an app on their smartphone that allows them to control this relay.
[0020] A power monitor can receive information from a smart plug and use it to improve the services it provides. For example, a power monitor can have a network connection to a smart plug and receive information from the smart plug about the amount of power it has supplied to the devices connected to it.
[0021] To clarify the explanation, the methods described herein use residential or home buildings as examples of buildings to which these methods can be applied. However, the methods described herein are equally applicable to any environment where electricity is used, including, but not limited to, corporate and commercial buildings, government buildings, and other venues. References to homes throughout this document should be understood to include such other venues as well.
[0022] Power monitoring environment Figure 1 shows an example of a system 100 that can determine information about household devices using power monitoring and network monitoring. In Figure 1, a power company 120 supplies power to a house 110. The power is transmitted to an electrical panel 140, where it can be distributed to different electrical circuits within the house.
[0023] The electrical panel 140 can be any electrical panel found in a building. For example, the electrical panel 140 can implement split-phase electric power, which uses a split-phase transformer to convert a 240-volt electrical signal into a three-wire distribution with a single ground and two mains (or phases or legs) each supplying 120 volts. Some devices in the house can obtain 120 volts using one of the two mains, other devices in the house can obtain 120 volts using the other main, and yet another device can obtain 240 volts using both mains simultaneously.
[0024] Any type of electrical panel can be used, and the method described herein is not limited to single-phase three-wire electrical panels. For example, electrical panel 140 can be single-phase, two-phase, or three-phase. Furthermore, the method is not limited to the number of mains provided by electrical panel 140. In the following description, electrical panel 140 will be described as having two mains, but any number of mains, including one or fewer, can be used. As those skilled in the art will understand, other voltage standards, such as those for other countries or continents, are also intended to be included herein.
[0025] Figure 1 shows devices consuming power supplied by the electric panel 140. For example, a power monitor 150, a refrigerator 160, and a stove 165 can consume power supplied via the electric panel 140.
[0026] The power monitor 150 can be connected to a sensor 130 that measures the electrical characteristics of the power lines connected to the house 110. For example, the sensor 130 can measure the voltage and / or current levels of the power lines supplying power to the electrical panels 140. These measurements can be obtained using any available sensor, and this method is not limited to any particular sensor or any particular type of value that can be obtained from a sensor. The sensor 130 may include multiple sensors, such as one or more sensors per main pipe.
[0027] The sensor 130 can provide the power monitor 150 with one or more power monitoring signals, such as measured values of current and / or voltage from each main tube connected to the electrical panel 140. The power monitor 150 can process the power monitoring signals to break them down into applications or to obtain information about individual appliances in the home. For example, the power monitor 150 can identify changes in the status of appliances, such as the television being turned on at 8:30 p.m., or the refrigerator compressor starting at 10:35 a.m. and 11:01 a.m.
[0028] The power monitor 150 can be a device acquired separately from the electrical panel 140 and can be installed by the user or electrician to connect to the electrical panel 140. The power monitor 150 can also be part of the electrical panel 140 and can be installed by the manufacturer of the electrical panel 140. The power monitor 150 can also be part of an electric meter, such as one provided by a power company (for example, integrated or combined with it), and may be called a smart meter.
[0029] The power monitor 150 may use any method suitable for performing application decomposition or determining information regarding the power consumption or status of individual devices from the power monitoring signals. For example, the power monitor 150 may use any of the methods described in U.S. Patent No. 9,443,195.
[0030] The power monitor 150 can be connected to a computer network within the home. For example, the power monitor 150 may have a wired connection to a router within the home (e.g., LAN Ethernet), a wireless connection to the network (e.g., Wi-Fi), or a direct network connection to other devices (e.g., Bluetooth). In these implementations, the power monitor 150 is also a network monitor, but for clarity, the term "power monitor" will continue to be used in the following description.
[0031] Figure 1 shows the network connection between the power monitor and other devices in the home. In this example, the power monitor 150 has a network connection to a network device 115, which can be any device that facilitates networking within the home, such as a modem, router, or hub. Other devices in the home can also be connected to the network device 115. For example, a television 125 (e.g., a smart TV), a computer 135 (e.g., a personal computer), a smart plug 145 (e.g., a Phillips Hue or Belkin Wemo switch), and a telephone 170 (e.g., an Android phone or iPhone) can also be connected to the home network. The power monitor 150 can connect to other devices in the home using any suitable wired or wireless network configuration, such as a direct connection to a LAN Ethernet or other device. In some implementations, the power monitor 150 can communicate simultaneously over multiple networks (e.g., a Wi-Fi connection to a home router and a Bluetooth connection to specific devices).
[0032] Figure 2 shows an example of system 200, which has two main pipes and four circuits in a house such as the house of system 100. However, the method described herein is applicable to any number of main pipes and circuits.
[0033] In Figure 2, the power company 120 provides two electrical mains of power, such as a first electrical main and a second electrical main with a 180-degree phase difference. The power monitor 150 may have a first sensor 231 that measures the electrical characteristics of the first main and obtains a first main power monitoring signal, and a second sensor 232 that measures the electrical characteristics of the second main and obtains a second main power monitoring signal.
[0034] The two main power lines can distribute power to devices within the house via multiple electrical circuits. For example, the first-main bus bar 211 can distribute the first main power to circuits 221 and 222, and the second-main bus bar 212 can distribute the second main power to circuits 233 and 234. Various devices can receive power from the electrical circuit shown in Figure 2. Note that multiple devices can receive power from a single circuit, and some devices can receive power using both the first and second main lines, but these configurations are not shown in Figure 2 for clarity.
[0035] The power monitor 150 can have a network connection with the smart plug 145 and can receive a smart plug power monitoring signal from the smart plug 145 that provides information about the power consumption of one or more devices, such as the device 155 connected to the smart plug 145. Thus, the power monitor can receive information about the power consumption of the device 155 from two sources: (1) a first main power monitoring signal obtained via the first sensor 231, and (2) a smart plug power monitoring signal obtained from the smart plug 145.
[0036] Figures 3A to 3C show examples of a virtual first main power monitoring signal 301, a second main power monitoring signal 302, and a smart plug power monitoring signal 303 that the power monitor 150 can process.
[0037] In Figure 3A, the first main power monitoring signal 301 indicates power events resulting from state changes of two devices: an oven toaster and an incandescent light bulb. Both the oven toaster and the incandescent light bulb receive power from the building's first main electrical supply. In Figure 3A, the power event denoted as HE1 corresponds to the oven toaster's heating element turning on, and the power event denoted as HE0 corresponds to the stove's heating element turning off (in the oven toaster, the heating element may appear to be on to the user, but the oven toaster can periodically switch the heating element on and off to maintain the desired temperature). The power event denoted as I1 corresponds to the incandescent light bulb turning on, and the power event denoted as I0 corresponds to the incandescent light bulb turning off.
[0038] In power event 310, the toaster oven is turned on and the heating element consumes electricity. Consequently, the power consumption of the first main power monitoring signal 301 increases. In power event 320, the incandescent light bulb is also turned on while the heating element is on, further increasing the power consumption. In power events 330, 340, 350, and 360, the heating element switches between off, on, off, and on in that order. In power event 370, the incandescent light bulb is turned off, and in power event 380, the toaster oven is turned off and the heating element stops consuming electricity.
[0039] In Figure 3B, the second main power monitoring signal 302 indicates a power event 390 resulting from a change in the state of a device receiving power from the building's second main electrical supply. For example, power event 390 could correspond to the charging of an electric vehicle. Since the devices changing state in Figures 3A and 3B each receive power from a single main electrical supply, the power event resulting from the change in the device's state appears in only one of Figures 3A or 3B. For a device receiving power from both main electrical supply lines (for example, an electric dryer), the power event resulting from the change in the device's state can appear in both Figures 3A and 3B.
[0040] Figure 3C shows the smart plug power monitoring signal 303 received from the smart plug connected to the oven toaster in Figure 3A. Therefore, for each change in the state of the oven toaster, a power event appears in both the first main power monitoring signal 301 and the smart plug power monitoring signal 303.
[0041] Power events originating from the toaster oven appear in both power monitoring signals (the first main and the smart plug), but these power events can appear in different ways in the two power monitoring signals. For example, these two power monitoring signals may measure different electrical characteristics (e.g., current and voltage), use different types of physical sensors that produce different readings, may be temporally shifted or transformed due to network transmission or other delays, may be scaled in different ways (e.g., due to different sensor gains), or may be digitally sampled at different sampling rates. For example, with some smart plugs, power events 330, 340, 350, and 360 may not appear in the smart plug power monitoring signal 303 at low sampling rates, and the smart plug power monitoring signal may have a relatively constant value between power events 310 and 380.
[0042] Power Monitoring The power monitor 150 can process a first main power monitoring signal 301 and a second main power monitoring signal 302 (both of which can be referred to as power monitoring signals) to identify a device and / or determine a change in the device's state. Some changes in state may correspond to a person switching the device on or off, and some changes in state may correspond to a change in the device's function (for example, a cycle of a heating element or a change from a washing machine's wash mode to a spin-dry mode). The power monitor 150 can identify a device from the power monitoring signals and determine a change in the device's state using any suitable method, such as any of the methods described in U.S. Patent No. 9,443,195.
[0043] In some implementations, the power monitor 150 can use mathematical models to process power monitoring signals to identify devices and determine changes in their state. Such models are called power models. For example, the power monitor 150 may have power models for different types of devices (e.g., stoves, dishwashers, refrigerators, etc.), different models of devices (e.g., Kenmore dishwashers, Maytag dishwashers, etc.), different versions of devices (e.g., Kenmore 1000 dishwashers), and specific devices (e.g., 100 Main St. dishwashers). The power monitor 150 may also have power models for specific state changes, such as when a device turns on, when a device turns off, or when a device changes its operation in a different way (e.g., the dishwasher's water pump switches on or off). Generally, the "1000" in Kenmore 1000 dishwashers could also be called the "model" of the dishwasher, but to avoid confusion with mathematical models, this specification will refer to the "model" of the dishwasher as the "version" instead.
[0044] When a power monitoring signal is processed using a power model, such as one of the power models described above, the power model can generate a score (e.g., probability, likelihood, confidence, etc.) indicating the agreement between the power model and the power monitoring signal. When a power event occurs in the power monitoring signal (such as one of the events in Figures 3A to 3C), a portion of the power monitoring signal containing that power event can be processed by various power models, and each of these power models can generate a score. These power model scores can be used to identify devices in the home and / or determine changes in the state of those devices.
[0045] In some implementations, power monitoring can proceed as follows: The power monitoring signal can be continuously processed to identify power events within the power monitoring signal. A power event detection component can detect changes in electrical signals that are likely to correspond to changes in the state of the device, and these parts of the power monitoring signal can be further processed. The power event detection component can be implemented using any appropriate technique, such as a classifier.
[0046] After a power event is detected, a feature generation component can be used to generate features from the portion of the power monitoring signal that contains the power event. Any suitable feature can be calculated, such as one of the features described in U.S. Patent No. 9,443,195.
[0047] Subsequently, features can be processed using one or more power models to identify the device or determine the state change of the device corresponding to a power event. Any suitable power model can be used, such as a transition model, a device model (also referred to herein as a state model), a wattage model, and a conventional model described in U.S. Patent No. 9,443,195. For example, each power model can generate a score, and the state change of the device can be determined by selecting the power model with the highest score.
[0048] The following describes how to identify devices in a home using a power model. In some implementations, the power monitor 150 can be populated with an initial set of power models corresponding to devices that are likely to be present in the home.
[0049] In some implementations, the power monitor 150 can identify a device as being present in the dwelling if the score generated by the power model exceeds a threshold. For example, a dishwasher model may generate a score exceeding the threshold when it processes a portion of the power monitoring signal corresponding to the dishwasher starting up. This threshold may be specific to the dishwasher model or may be the same for all power models. In some implementations, a confidence level may be calculated in addition to or instead of the score, and the device is identified when the confidence level exceeds a threshold.
[0050] In some implementations, additional criteria can be considered before identifying a device. For example, the power monitor 150 may have multiple dishwasher power models corresponding to different types of dishwashers (e.g., a standard dishwasher and an energy-efficient dishwasher), or there may be power models for different types of dishwashers. When processing the power monitoring signal corresponding to the start of a dishwasher, multiple dishwasher models may produce scores (or confidence levels) above a threshold. Instead of identifying multiple dishwashers, a single dishwasher corresponding to the model with the highest score above the threshold can be identified. For example, the power monitor 150 may have power models for Kenmore and Bosch dishwashers. Each model may produce a score above the threshold, but the Kenmore model's score may be higher than the Bosch model's score. Thus, a Kenmore dishwasher can be identified.
[0051] In some implementations, the power monitor 150 can be updated with additional power models after the device has been identified. For example, after it is determined that a dishwasher is present in the house, the power model corresponding to the most common type of dishwasher can be added to the power monitor 150. The power monitoring signal can then be processed using the power models for different types of dishwashers, and the model of the dishwasher in the house can be identified using the power model with the highest score. This process can be repeated to determine additional information, such as the version of the dishwasher (e.g., Kenmore 1000 dishwasher).
[0052] After the devices within the house are identified, the power monitor 150 can process the power monitoring signals to determine changes in the state of the identified devices. In addition to having a power model for a specific device, the power monitor 150 may also have models for specific changes in the state of the device, and these models can be used to determine when the device changed state.
[0053] As described above, power monitoring signals can be processed using power models for device state changes to generate scores for possible state changes. If the score (or confidence level) exceeds a threshold, the power monitor 150 can determine that a state change corresponding to the model has occurred. For example, the power monitor 150 may have power models for the dishwasher's start and end operations. If the power model for dishwasher start generates a score above the threshold, the power monitor 150 can determine that the dishwasher has started. Similarly, if the power model for dishwasher end generates a score above the threshold, the power monitor 150 can determine that the dishwasher has finished its cycle.
[0054] The power model used to determine a state change does not need to be the same as the power model used to identify the device, and the threshold used to determine a state change does not need to be the same as the threshold used to identify the device. The models and thresholds can be adjusted to achieve the desired trade-off between accuracy and error rate.
[0055] The actions described above for identifying the device and determining changes in the device's state can also be performed by another computer (for example, a server computer operating with the power monitor) instead of the power monitor 150. For example, in some implementations, the power monitor 150 supplies power monitoring signals to another computer (for example, a server), which can identify the device and changes in its state. In some implementations, the other computer can identify the device, and the power monitor 150 can determine changes in the device's state.
[0056] Network Monitoring In some implementations, the power monitor 150 can be connected to a computer network within the home. For example, the power monitor 150 may have a wired connection to a router within the home (e.g., LAN Ethernet), a wireless connection to the network (e.g., Wi-Fi), or a direct network connection to other devices (e.g., Bluetooth). In these implementations, the power monitor 150 is also a network monitor, but for clarity, the term power monitor will continue to be used in the following description. The power monitor 150 can identify devices from network data and determine changes in the state of devices using any suitable method, such as any of the methods described in U.S. Patent No. 9,699,529.
[0057] The power monitor 150 can learn about devices within the home using data transmitted over a computer network. For example, the power monitor 150 can listen to broadcast messages from other devices, poll other devices, or listen to network data generated by other devices. In some implementations, the power monitor 150 can learn indirectly about other devices within the home via a network outside the home. For example, a device within the home can send information to a third-party server operating with it, and the third-party server can send information to a server operating with the power monitor 150. Using each of these methods, devices within the home can be identified, and changes in the device's state (e.g., whether the device is on or off) can be determined.
[0058] In some implementations, devices within a home network can transmit data containing information about the device itself (e.g., broadcast messages or responses to polling). For example, a network transmission may include any of the following: status (e.g., whether the device has just been turned on or is scheduled to be turned off), services provided by the device, user-assigned name (e.g., "John's Mac"), model, hardware version, software version, network address (e.g., IP address), identification number (e.g., MAC address, device serial number, universally unique identifier, globally unique identifier, or temporary identifier), or other information (e.g., protocol-specific identifier (such as a Zeroconf service name), or a resource locator used with the SSDP protocol).
[0059] The power monitor 150 can learn information about other devices by listening to broadcast messages from other devices (broadcasting equipment). Some devices can be configured to broadcast information across the network informing other devices on the network of services or capabilities that the device provides to other devices on the network. For example, a television can provide a service that allows other devices (e.g., telephones or personal computers) to stream video content displayed on the television to the television, and can broadcast a message across the network so that other devices know that this service is available.
[0060] Information from this broadcast message can be used to identify devices within the dwelling. For example, the message may include data that can be used to identify a device, such as text or an identifier that describes the device. Information from the broadcast message can also be used to determine the status of a device. For example, a service availability notification may indicate that a device is on, and a service withdrawal notification may indicate that a device is off. In some implementations, the broadcast message may provide some information about a device, and when the power monitor 150 receives this broadcast message, it can poll the device to obtain additional information about the device's status. For example, a network speaker system may broadcast that its service is available, and the power monitor 150 can then poll the network speaker system to discover that the network speaker system is currently playing music and information about the music being played (e.g., song title, volume, etc.).
[0061] The power monitor 150 can also learn information about other devices using polling techniques. Polling to devices can be done using any suitable polling technique. In some implementations, the broadcast communication techniques described above can also enable polling. For example, SSDP can allow one device to poll other devices on the network to determine what services these devices are providing, and these devices can respond with messages similar to the broadcast messages described above. In some implementations, low-level protocol polling such as Internet Control Message Protocol (ICMP) ping or Address Resolution Protocol (ARP) ping can also be used.
[0062] Information from pole responses can also be used to identify devices within a home. For example, a pole response may include data that can be used to identify a device, such as text or an identifier that describes the device. Pole responses can also be used to determine the status of a device. For example, no response to a pole request may indicate that the device is off, a response may indicate that the device is on, and the information in the response may provide additional information (e.g., the song currently playing).
[0063] The power monitor 150 can also learn information about other devices by monitoring network data transmitted by one device to another. In some implementations, individual device monitoring can only be used with explicit opt-in by the user, or individual device monitoring can use only the network packet header (and not the packet body) to avoid collecting too much information or to avoid collecting sensitive information. The power monitor 150 can passively receive this network data on the network, for example, by passively receiving network packets.
[0064] The power monitor 150 can process the received data to determine information about the monitored device. The device can be identified using information such as text or identifiers describing the device within the received data. The received data can also be used to determine the device's state. For example, the fact that the device is transmitting data indicates that the device is on, while the device being off can be determined if it does not transmit any data for a certain period of time.
[0065] In some implementations, the power monitor 150 may have information about publicly available APIs for third-party devices, which can be used to determine whether such third-party devices are present in the dwelling. For example, the power monitor 150 may periodically send requests using the Nest thermostat API to determine whether a Nest thermostat is present in the dwelling. After determining that a Nest thermostat is present in the dwelling, it can poll more frequently to determine the status of the Nest thermostat or the heating / cooling system. These APIs can enable other devices to determine, for example, the temperature of the dwelling, the user's desired temperature setting, or the status of the heating or cooling system (e.g., whether the boiler is currently running, or the start and stop times of boiler operation). The power monitor 150 can determine the status of the device itself (e.g., the Nest thermostat) and other devices connected to it (e.g., the boiler) by querying the device using specialized APIs.
[0066] In some implementations, the power monitor 150 may consent to notifications sent by a third-party device, referred to herein as a notification device. A notification device can be configured to send notifications to other devices (for example, periodically or when a state changes) so that the other devices can sign to receive the notifications using an API. If the power monitor 150 determines that a notification device is present in the dwelling, it may consent to receive notifications from the device. The power monitor 150 may send a request to receive notifications from a notification device without knowing that a notification device exists, and if a notification device exists, it may consent to receive notifications. Some notification devices may have a pairing procedure that requires user assistance, and the power monitor 150 may be configured to receive input from the user to assist in the pairing process, such as receiving a username and password to pair with the notification device.
[0067] Other third-party devices may also provide information about the connected or controlled device, such as the smart switch 340 or a smart light bulb (e.g., Phillips Hue or Belkin Wemo). The smart switch may have an API that enables interaction with the smart switch by other devices, and the power monitor 150 may use this API to determine the state of the switch and therefore whether the device connected to the smart switch is consuming power (e.g., the device is on, the device is off, or the dimmer switch is at 40%). Other examples include a smart thermostat that can control a heating or cooling system and send a network packet containing information about the state of the heating or cooling system; a device that can control lighting (e.g., LED lighting) and send a network packet containing information about the state of the lighting; a device that can control a speaker and send a network packet containing information about the state of the speaker; a network connection plug that can control the flow of power to a device connected to the plug and send a network packet containing information about whether the flow of power is valid for the connected device; or a car charger that can charge an electric vehicle and send a network packet containing information about the vehicle's power consumption.
[0068] In some implementations, the power monitor 150 can receive information about devices within the home via an external server, such as a third-party server that operates in conjunction with third-party devices within the home. The power monitor 150 can operate with the power monitor server, and third-party devices within the home can operate with the third-party server. For example, a Nest thermostat can send information about the status of the thermostat or the home's heating / cooling system to a server operated by Nest. The third-party server can allow users to provide configuration information that triggers the transmission of information from the third-party server to the power monitor server, for example, using the power monitor server or the third-party server's API. For example, the Nest server can send information received from a Nest thermostat within the home to the power monitor server periodically or when the thermostat status changes (or when the heating / cooling system status changes). In some implementations, the power monitor server can send requests to the third-party server for information about third-party devices instead of receiving notifications from the third-party server. In some implementations, third-party devices can communicate directly with the power monitor server, or the power monitor 150 can communicate directly with the third-party server.
[0069] In some implementations, information received in network transmissions from a device can be used to obtain further information about the device. For example, network transmissions may include a unique identifier, such as a Media Access Control (MAC) address. Using this unique identifier, additional information about the device can be determined using a datastore or repository of information about devices that use this unique identifier. The datastore may provide information about the device's type, model, and / or version based on the unique identifier. For example, with MAC addresses, a block of consecutive MAC addresses may be specific to the type of device (e.g., a television), manufacturer, or version of the device (e.g., a specific model of television). In some implementations, a datastore of MAC address information can be made available through a third-party service, allowing information about a device to be obtained using the MAC address. To obtain information about a device from an identifier, a datastore of identifiers can be created, purchased, or accessed (e.g., using a third-party server).
[0070] In some implementations, a user device such as a smartphone can be used to determine information about devices within the home, and the smartphone can relay this information to the power monitor 150. For example, a speaker (e.g., a portable Bluetooth speaker) may not have a network connection with the network device 115 and instead can communicate with other devices using another network, such as a Bluetooth network. The speaker may also be too far from the power monitor 150 for the power monitor to detect the speaker's network. If a user device such as a telephone 170 is brought into the same room as the speaker, the telephone 170 can use its direct network connection to determine the presence and / or operating status of the speaker. The telephone 170 can then relay information about the speaker's presence and / or operating status to the power monitor 150 or a server working with the power monitor 150.
[0071] In some implementations, devices can be identified or their state determined by processing network data using a network model. The network model can include any suitable mathematical model, such as classifiers, neural networks, self-organizing maps, support vector machines, decision trees, random forests, logistic regression, Bayesian models, linear and nonlinear regression, and Gaussian mixture models. The network model can take data from network transmissions as input and output device identification or device state changes with an arbitrary score. For example, the network model could receive broadcast messages, information (or lack thereof) about pole responses received from a device, or information about network data generated by that device. In some implementations, the network model can receive only the header of the network transmission, or it can receive all the data from the network transmission.
[0072] In some implementations, a network model can be used to identify a device or determine its state using messages broadcast by the device. For example, a device might send a specific number and / or type of messages before turning off and a different number and / or type of messages when entering sleep mode. A first network model can be created that describes the expected messages when the device is about to turn off, and a second network model can be created that describes the expected messages when the device is about to enter sleep mode. When broadcast messages are received from the device, both network models can be used to process the messages and generate a score for each network model, and the network model with the highest score can be used to determine the state transition.
[0073] It is also possible to create network models that describe other aspects of the network transmissions described above. For example, a network model could be created that describes how often a device responds to a pole request and the expected delay between sending a pole request and receiving a response. In another example, a network model could be created that describes the expected network transmissions of a device in a particular state, and this network model could be applied when passively monitoring the device's network transmissions.
[0074] In some implementations, a rule-based approach can also be used to identify devices within a dwelling or to determine the status of those devices. The power monitor 150 (or a server working with the power monitor) may have rules created to identify the type of device, the model or version of the device, rules to determine changes in the status of the device, and rules to determine other aspects of the device. Rules can also be created for any of the methods described above, such as processing broadcast messages from the device, polling the device, or monitoring network data generated by the device.
[0075] Some rules can output a Boolean value indicating whether the rule's conditions are met. For example, a rule can be created to determine whether a device transmitting network data is a television, and if the rule's conditions are met, the device can be determined to be a television. Some rules can output a score on a scale of 1 to 100 indicating the match between the network data and the rule. For example, a rule can be created to determine whether a device transmitting network data is a television, and the score generated by the rule can be used to make a determination by comparing this score to a threshold, or by combining this score with other scores as described herein.
[0076] Multiple rules can exist for making a determination. For example, there may be multiple rules for determining whether a device transmitting network data is a television, and if any one of these rules is met, the device can be determined to be a television.
[0077] Any data in a network transmission or data related to a network transmission can be used as input to a rule. For example, information extracted from a network transmission (such as network address, identifier, header, or string) can be used as input to a rule. Information that is not present in the network transmission but is related to it, such as the time the network transmission was received, can also be used.
[0078] In some implementations, a rule may include one or more conditions that must be satisfied in order to be valid. For example, a condition may include any comparison of data, such as not equal, equal, greater than, or less than. A rule can employ any combination of conditions, including, but not limited to, combinations using Boolean algebra. Examples of rules include: a device broadcasting Zerconf services, including AFP, HTTP, and SSH, being an Apple Mac computer; structured data returned as part of a NetBIOS STATUS pole request providing a hostname visible to the user; a device with a previously unknown MAC address making a DHCP request being a new device joining the network for the first time; and the vendor of a device being determined using a known MAC address vendor prefix.
[0079] In some implementations, device fingerprinting can be used to identify devices on a network. Device fingerprints can be created for known devices such as MAC computers, Windows computers, and Linux computers, and possibly for different operating system versions of each. Fingerprints can be created by sending multiple requests to each device using different protocols and port numbers (for example, using a program such as Nmap). A fingerprint can be created for each device by recording the responses of each device. When creating a device fingerprint, appropriate data can be used, such as the number and type of network protocols broadcast by the device, the broadcast behavior, the number or frequency of different types of broadcasts, or the parameters used for network transmission (for example, TCP window size).
[0080] For unknown devices within a home network, a similar request can be sent to the device, and the response can be used to create a fingerprint of the unknown device. This fingerprint of the unknown device can then be compared to the fingerprints of known devices to determine information about the unknown device. For example, if the fingerprint of the unknown device closely matches the fingerprint of a MAC laptop, the unknown device can be identified as a MAC laptop. In some implementations, after identifying devices on the network using the Address Resolution Protocol (ARP), the fingerprint of each identified device can be obtained using the method described above.
[0081] The methods for identifying devices or determining device status using network data described above can both generate scores indicating the correspondence between the data and the identified device or state change. For example, applying the rules to a broadcast message can determine that it is a Toshiba television with an 80% score, or a Sony television with a 60% score. As will be further detailed below, the scores generated by these network models can be combined with scores generated by power models.
[0082] Combination of power monitoring and network monitoring Figure 4 shows a system 400 that provides a user with information about devices in their home using either or both power monitoring and / or network monitoring. In Figure 4, the power monitor 150 may have any of the functions described above. For example, the power monitor 150 may be able to identify the presence of devices in the home, determine the status of devices in the home, and determine the power consumption of devices in the home. The power monitor 150 may transmit information about devices in the home to a server 410 using any known network technology. For example, the power monitor may have a wireless connection to a router that connects to the server 410.
[0083] Server 410 processes information received from the power monitor 150 and can present the information to the user through user devices 440 and the like. Server 410 maintains a device list of devices in the home and can update this device list with newly identified devices or the latest device status. Furthermore, Server 410 can log changes in device status, record a history of power consumption for the home and individual devices, and perform any of the other operations described in U.S. Patent No. 9,443,195. Server 410 can access other resources, such as third-party servers 430 and device information data stores 420, to perform some operations.
[0084] The user can use the user device 440 to obtain information about devices within the home. The user device 440 may be any device that provides information to the user, including, but is not limited to, a telephone, tablet, desktop computer, and wearable device. The user device 440 may, for example, present the user with information about changes in the status of devices and real-time power usage. For example, the user device 440 may present the user with a web page, or a dedicated application may be installed on the user device 440. The information presented by the user device 440 may include any of the information described in U.S. Patent No. 9,443,195.
[0085] A list of devices in the home can be maintained to provide users with information about devices in the home. Figure 5 shows an example of a device list 500. The device list may include any of the following information about the devices in the home, but can be specific to all devices known to that home or the company providing the service: device ID, name (e.g., a name specified by the user), type, model, version, one or more power models used to identify changes in the device's status, network ID (e.g., network address, or other identifier such as a MAC address), one or more network models used to identify changes in the device's status, the main power source supplying power to the device (e.g., first, second, both, or (for portable devices that can be connected to different power outlets) one), identifier of the smart plug to which the device is connected (or an indicator that the device is not connected to a smart plug), and the status of the device.
[0086] The device list 500 can be stored in one or more locations. For example, the device list 500 can be stored in one or more of the following: the power monitor 150, the server 410, the device information data store 420, or the user device 440. Different locations may store different versions of the device list corresponding to the processing at that location. For example, the power monitor 150 may not store the name, type, model, or version of a device because it may not be necessary to determine changes in the device's state. The user device 440 may not store information about the power model and network model because it may not determine changes in the device's state.
[0087] In Figure 1, the power monitor 150 processes one or more power monitoring signals and network data to identify devices within the home and to identify changes in the status of those devices. The power monitor 150 can receive one or more power monitoring signals from a sensor 130 that measures the electrical characteristics of the power supplied to the house 110. The power monitor 150 is also connected to the network within the house 110 via a network device 115. The power monitor 150 can receive network data from other devices via the network device 115 (as shown by the dotted line) or it can receive network data directly from other devices (not shown in Figure 1).
[0088] For some devices in a home, power monitoring and / or network monitoring may be less accurate or have a higher error rate than expected when identifying a device or a change in its status. Using both power monitoring and network monitoring in coordination or simultaneously can improve the ability to identify a device or a change in its status. Simultaneous execution of power monitoring and network monitoring can be achieved using one of the appropriate methods, such as combining scoring, rules, or voting techniques, as further detailed below.
[0089] In some implementations, the operation of the power monitor 150 can vary depending on whether the user is interacting with the user device 440 to view information about devices in the home. When the user is using the user device 440 to view information about devices in the home, it is desirable to identify new devices or changes in the status of devices more quickly than when the user is not viewing information about devices in the home.
[0090] When a user begins viewing information about devices in their home using user device 440, user device 440 can establish a network connection with server 410, and server 410 can send information about the devices to user device 440. Server 410 may also have a (direct or indirect) network connection with power monitor 150. Thus, server 410 can send information to power monitor 150 to trigger changes in the operation of power monitor 150. Any changes in the operation of power monitor 150 can improve the end-user experience. In some implementations, power monitor 150 can be modified to more quickly identify new devices and changes in the state of new devices. For example, the power monitor can increase the polling frequency used to poll other devices in the home. If there is no user viewing information about a device, a polling frequency of 5 minutes may be sufficient to check for updates. When a user begins viewing information about a device, the polling frequency can be increased (e.g., 10 seconds) to check for updates more quickly.
[0091] The component arrangements and specific functions shown in Figures 1 and 2 are merely examples illustrating how the methods described herein can be implemented, and other configurations are possible. For example, the power monitor 150 may perform some or all of the operations of the server 410 and may also provide information directly to the user device 440. In another example, the power monitor 150 may include some or all of the functions of the user device 440, and the user may interact directly with the power monitor 150 to obtain information about device events and power consumption.
[0092] Device identification When the power monitor 150 is first installed in a home, it can create a device list of the devices in the home. Some implementations allow for the creation of an empty device list. Some implementations allow for the initialization of the device list based on input from one or more people in the home. For example, the user can specify one of the following: the type, model, and / or version of the devices in the home.
[0093] The power monitor 150 may add or update devices in the device list using either or both power monitoring and / or network monitoring, using any of the methods described herein. Devices may be added to the device list after being identified by the power monitor, and devices on the device list may be further updated when additional information about them is determined. For example, the power monitor 150 may first determine that a dishwasher is present in the house, and then determine that a Kenmore 1000 dishwasher is present in the house.
[0094] In some implementations, the power monitor 150 can add multiple devices to the device list in response to processing power events in the power monitoring signal. For example, if two power models produce scores above a threshold, the device corresponding to each power model can be added to the device list. In some implementations, the scores produced by the power models can also be included in the device list.
[0095] The power monitor 150 can also process network data to identify devices within the house and add them to a list of devices. For example, the power monitor 150 can obtain information about devices connected to the network within the house using one of the methods described above, and then add those devices to the list of devices in the house.
[0096] In some implementations, the power monitor 150 can add multiple devices (optionally with scores) to the device list in response to processing network data transmissions. For example, in response to processing a broadcast message, it can add a Toshiba television to the device list with a first score and a Sony television with a second score.
[0097] The scores of devices on the device list can be updated over time. For example, by processing a first power event, the first and second devices can be added to the device list along with their corresponding scores. At a later point, the power monitor 150 can process a second power event to generate a second set of scores for the first and second devices. Using this second set of scores generated with the second power event, the overall scores of the first and second devices on the device list can be updated.
[0098] Similarly, network data transmissions at a later point in time can be used to update the scores of devices on the device list. For example, based on the processing of the first network transmission, the first and second devices can be added to the device list along with their corresponding scores. At a later point in time, the power monitor 150 can process a second network transmission to generate second scores for the first and second devices. As described above, the set of second scores generated using this second power transmission can be used to update the overall scores of the first and second devices on the device list.
[0099] In some implementations, devices in an device list may have scores generated using both power monitoring and network monitoring. After processing a power event, a first device can be added to the device list along with its corresponding score. Subsequently, the score of the first device can be updated by processing a first network transmission. An overall score for devices on the device list can be generated by any combination of processing power events and network transmission events.
[0100] The scores can be combined using any appropriate method. In some implementations, the overall score for a device can be the average of all the individual scores generated for that device. In other implementations, the variance can be calculated for each score, and the scores can be normalized (e.g., Z-scored) before being combined.
[0101] In some implementations, the power monitor can identify a device using both power monitoring and network monitoring simultaneously. For devices connected to power lines and with network connectivity, the device can trigger a power event with a power monitoring signal when a state change occurs, and transmit data over the network (network event). The power monitor 150 can also identify a device by processing both power events and network events simultaneously.
[0102] Power events and network events can occur in any order. For example, a power event could correspond to the television turning on, followed by a broadcast message from the television announcing service availability. In another example, a user could turn off the television, followed by a broadcast message withdrawing the service, and then a power event could correspond to the television turning off.
[0103] The power monitor 150 can search for network events that are temporally close to a power event (for example, within a certain time interval such as less than 1 second) while processing a power event, and process them simultaneously. For example, the power monitor 150 can process network events where the difference between the time of the power event and the time of the network event is less than a threshold. Similarly, the power monitor 150 can also search for power events that are temporally close to a network event while processing a network event.
[0104] In some implementations, the power monitor 150 can process a power event and generate a score for the corresponding power model. The power monitor 150 can then search for a network event that is temporally close to the power event and use the information from this network event to adjust the score generated by the power model. For example, suppose the two power models with the highest scores are for Toshiba TVs and Sony TVs, and these scores are close to each other. Suppose a network event occurs immediately after the power event, and this network event corresponds to the Toshiba TV. The power monitor 150 can use this network event to increase its score for identifying the Toshiba TV, then identify the Toshiba TV and add it to the device list.
[0105] Devices can also be identified using the time difference between power events and network events. A device may transmit a network event with a consistent delay after causing a power event, or vice versa. For example, a television, when turned on, may consistently transmit a network event (e.g., broadcasting a service) approximately 3.5 seconds after causing a power event. The timing of power and network events can be features that can be used in conjunction with any of the identification methods described herein.
[0106] Some implementations can use an equipment identification model that takes both information about power events and information about network events as input and then generates a score indicating the match between the input and the equipment. For example, the equipment identification model can be created for the type of equipment, the model of the equipment, or the version of the equipment. In some implementations, the power monitor 150 can calculate the score for each equipment identification model, select the equipment identification model with the highest score, and use this highest-scoring equipment identification model to identify the equipment. The equipment identification model can be created using any appropriate classification method, such as neural networks, self-organizing maps, support vector machines, decision trees, random forests, logistic regression, Bayesian models, linear and nonlinear regression, and Gaussian mixture models.
[0107] Some implementations may also calculate a confidence level in addition to the score and use this confidence level to determine whether a device should be added to the device list or whether information about devices in the device list should be updated. For example, if only one score exceeds the threshold and this score is significantly higher than all other scores, the confidence level may be high. If multiple scores exceed the threshold, if no scores exceed the threshold, or if the highest score is close to the second highest score, the confidence level may be low. Any appropriate method can be used to determine the confidence level of the state change of the highest-scoring device. If the confidence level of the highest-scoring model (e.g., power model, network model, or device identification model) is low, the device list may not be updated.
[0108] Devices can also be removed from the device list. For example, a user can review the device list and remove devices that are not present in the home. Devices can also be automatically removed from the device list. For example, devices can be removed if they have not been identified for a period longer than a threshold, if their overall score is below a threshold, or if enough data has been collected to distinguish them from other devices (for example, enough data has been collected to confidently determine that a television is a Toshiba television and not a Sony television).
[0109] The method described above, using a combination of power monitoring and network monitoring, improves the identification of equipment within a building compared to methods based solely on power monitoring. Some equipment cannot be identified at all by power monitoring alone, or can only be identified with low accuracy. Combining network monitoring with power monitoring allows for the identification of more equipment (such as network equipment that does not contain mechanical components) and enables higher accuracy in equipment identification. Using information from both power monitoring and network monitoring allows for the creation of models and / or classifiers with lower error rates than models and / or classifiers that use information from power monitoring alone.
[0110] Identification of changes in the state of the device In addition to identifying devices within the home, the power monitor 150 can also determine the status of devices within the home using either or both power monitoring and / or network monitoring. Some devices (e.g., light bulbs) may only have two states: on and off. Other devices may have multiple states. For example, a washing machine may have a wash cycle, a rinse cycle, and a spin cycle. A television may have an on state, an off state, and a sleep state.
[0111] Power monitoring can be used to identify changes in state using any of the methods described herein and those described in U.S. Patent No. 9,443,195. For example, power monitor 150 can process the power monitoring signal, select the power model that produced the highest score, determine the change in the state of the device from this model, and update the state of the device in the device list.
[0112] Network monitoring can also be used to identify changes in state using any of the methods described herein. For example, as mentioned above, a power monitor can process broadcast messages, poll the device, and monitor device network data to determine the state of the device from this network data.
[0113] In some implementations, a power monitor can use both power monitoring and network monitoring simultaneously to identify changes in the state of equipment. For equipment connected to both power lines and network connections, the equipment can trigger a power event with a power monitoring signal around the time of a change in state, transmitting data over the network (network event). The power monitor can process both power events and network events to identify changes in state. As mentioned above, power events and network events can occur in either order.
[0114] As described above, the power monitor can search for network events that are temporally close to a power event while processing a power event, and process them simultaneously. For example, the power monitor can process network events where the difference between the time of the power event and the time of the network event is less than a threshold. Similarly, the power monitor can search for power events that are temporally close to a network event while processing a network event.
[0115] In some implementations, a power monitor can process power events and generate a score for the corresponding power model. The power monitor can then search for network events that are temporally close to the power event and use information from these network events to adjust the score generated by the power model. For example, suppose the two highest-scoring power models are for a Toshiba TV turning on and a computer turning on, and these scores are close to each other. Suppose a network event occurs immediately after the power event, and this network event corresponds to the Toshiba TV turning on. The power monitor can use this network event to increase the score for the Toshiba TV turning on. For example, the score may be increased by a certain amount, a percentage, or combined with the score generated by the network event processing to generate an overall score for the device state change. The power monitor can then identify this state change as corresponding to the Toshiba TV turning on. The timing of power events and network events can also be used as a feature of any of the device state change determination methods described herein.
[0116] Depending on the device, the exact timing between a device state change and a network event may be unknown. For example, some implementations can determine that a device is off if it has not transmitted any network data for a certain period of time. Therefore, it may be possible to determine that the device turned off some time after its last network transmission, but the exact moment of the shutdown may be unknown. In some implementations, the power monitor can process network events and determine a time-varying score. For example, if the device's last network transmission occurred at a first point in time, the power monitor may output a high score for the period immediately following this first point in time, and then output a lower score, such as one with exponential decay, over the following period of time.
[0117] Some devices may have a known rebroadcast window in which they rebroadcast services they have provided at fixed time intervals. If a device has sent a broadcast but has not sent another broadcast within the rebroadcast window, it can be determined that the device has turned off.
[0118] Some implementations can use a state change model that, after receiving information about both power events and network events as input, generates a score indicating the correspondence between this input and the state change of the device. For example, a state change model can be created for each state change of the device (e.g., a state change of the device type, device model, or device version). In some implementations, the power monitor can calculate a score for each state change model, select the state change model with the highest score, and use this highest-scoring state change model to identify the state change. State change models can be created using any appropriate classification method, such as neural networks, self-organizing maps, support vector machines, decision trees, random forests, logistic regression, Bayesian models, linear and nonlinear regression, and Gaussian mixture models.
[0119] As mentioned above, in addition to the score, a confidence level can also be calculated and used to determine whether a state change has occurred. If the model with the highest score (e.g., a power model, a network model, or a state change model) has a low confidence level, the state change may not be identified.
[0120] The power monitor 150 can use a list of known states of the device and possible transitions between the device states when determining a change in the device's state. For example, a television can have three states: on, off, and sleep. However, due to the way the television operates, not all state transitions are possible. With three states, there are six possible state transitions (on to off, on to sleep, off to on, off to sleep, sleep to on, and sleep to off). From the "off" state, only a transition to the "on" state is considered possible (it is not possible from off to sleep). From the "sleep" state, only a transition to the "on" state is considered possible (it is not possible from sleep to off). Therefore, the power monitor can implement a method (e.g., a model or rule) to recognize all possible changes in the device's state. When determining a change in the device's state, the power monitor can select one change from the list of possible changes in the device's state and determine the current state from the end state of the change (for example, if a change from off to on is selected, the device is determined to be currently on). The power monitor, upon determining the state of the device, can select one state from a list of possible states for the device. The power monitor may change or select a state depending on the implementation and / or the device being monitored.
[0121] Any of the above-described methods for identifying a device can also be used to determine a change in the device's state. Similarly, any of the above-described methods for determining a change in the device's state can be used to identify the device.
[0122] The method described above, using a combination of power monitoring and network monitoring, improves the identification of changes in the state of equipment within a building compared to a method based solely on power monitoring. Some changes in equipment state cannot be identified at all by power monitoring alone, or can only be identified with low accuracy. Combining network monitoring with power monitoring allows for the identification of more changes in equipment state (such as changes in the state of network equipment that do not contain mechanical components), and also enables the identification of changes in equipment state with higher accuracy. Using information from both power monitoring and network monitoring allows for the creation of models and / or classifiers with lower error rates than models and / or classifiers that use information from power monitoring alone.
[0123] Smart plug power monitoring A smart plug in a home can supply power to one or more devices that receive power from the smart plug, such as the smart plug 145 in Figures 1 and 2. A smart plug may have a single socket (receptacle) that allows a single device to connect to the smart plug, or it may have multiple sockets that allow multiple devices to connect to the smart plug (this may also be called a smart power strip). If the smart plug has a single socket, a conventional power cord can be plugged into the smart plug so that multiple devices can receive power from the smart plug. The smart plug may also be wired directly into the home's power grid in combination with a conventional power outlet.
[0124] The smart plug as used herein is a device that receives power from a building circuit (for example, circuit 222 in Figure 2), supplies power to one or more other devices (connected devices), has sensors that measure information about the power supplied to one or more connected devices, and has a network connection (wired or wireless) to transmit information about the measured power to other devices such as a power monitor. The smart plug may also provide other functions, such as allowing the user to effectively turn off connected devices by releasing a relay within the smart plug.
[0125] Smart plugs in a home provide additional information about the power consumption of devices that can be used to improve the operation of the power monitor. Because smart plugs provide information about a subset of devices in the home, it is considered more effective to use the information received from the smart plug (such as the smart plug power monitoring signal) to determine information about the devices connected to the smart plug (compared to the main power monitoring signal, which contains information about many more devices). However, depending on the smart plug, the information it provides may be less detailed (e.g., lower sampling rate) and / or less accurate than the main power monitoring signal obtained by the power monitor. Therefore, it is considered beneficial to use both the information from the smart plug and the information from the main power line.
[0126] A power monitor can obtain information from a smart plug using any appropriate network connection and method. For example, a power monitor can establish a direct network connection with the smart plug (e.g., using Bluetooth or Wi-Fi Direct) or connect via the home's local area network. In some implementations, the power monitor can receive information from the smart plug via a server computer outside the home. For example, the smart plug can send information to the server computer, and the server computer can send information to the power monitor. The server can be operated by the company that provides the power monitor or the company that provides the smart plug. In some implementations, the smart plug can send information to a smart plug server operated by the company that provides the smart plug, and the smart plug server can send information to a power monitor server operated by the company that provides the power monitor. The power monitor server can perform necessary processing on the information received from the smart plug or send this information to the power monitor for processing.
[0127] Comparison of power events and power monitoring signals The method described herein allows for the comparison of a main power monitoring signal (e.g., a first or second main power monitoring signal) with a smart plug power monitoring signal (if the smart plug is receiving power from this main). For example, if a power event occurs in the main power monitoring signal, it is desirable to know whether this main power event matches the power event in the smart plug power monitoring signal. If the two power events match, it can be determined that the main power event was likely caused by a device receiving power from the smart plug. If the two power events do not match, it can be determined that the main power event was likely caused by a device not receiving power from the smart plug.
[0128] The main power monitoring signal and the smart plug power monitoring signal can be compared by comparing a portion of each power monitoring signal. For example, the Euclidean distance (sum of squares of the differences between the two power monitoring signals), cosine similarity, or any other appropriate comparison method can be used.
[0129] In some implementations, the smart plug portion or the main portion can be modified before performing the comparison. If the two portions being compared have different sampling rates, one portion can be resampled to match the sampling rate of the other portion. For example, if the main portion has a higher sampling rate than the smart plug portion, the main portion can be downsampled to the sampling rate of the smart plug portion. One or both portions can be scaled using an appropriate metric. For example, one or both portions can be modified so that each portion has the same L2 norm. To obtain a more accurate comparison, one or both portions can be temporally transformed. For example, a time translation that maximizes the similarity between the portions can be determined (for example, by performing a convolution of these portions), and this time translation can be used to perform the comparison.
[0130] In some implementations, comparisons can be calculated using baseline values from the smart plug power monitoring signal and / or main power monitoring signal. The main power monitoring signal may indicate the power consumption of many devices in the home that are not connected to the smart plug and may therefore contain values that cannot be directly compared to the smart plug. To obtain an improved comparison, the baseline power consumption of the main can be calculated as the amount of energy in the main power monitoring signal at a point in time prior to the power event. For example, the baseline power consumption of the main can be the power value at a point in time prior to the power event (e.g., 3 seconds prior), or the average power consumption during a time window prior to the power event (e.g., 3 to 13 seconds prior to the power event) (or any other appropriate statistic such as the median or mode). When comparing the smart part and the main part, the main part can be normalized by subtracting the baseline of the main part from each power value of the main part. The comparison between the smart plug part and the normalized main part can then be performed.
[0131] For example, in Figure 3A, we can collect data for the first main pipe around the time of power event 310. Prior to this power event, the amount of power consumed by the first main pipe was approximately 1000 watts. Therefore, using a baseline value of 1000 watts, the first main pipe can be normalized by subtracting 1000 watts from each time-series value of the first main pipe.
[0132] A comparison between a main power monitoring signal and a smart plug power monitoring signal can be performed by comparing the characteristics of the power events in each power monitoring signal. Any appropriate characteristic can be calculated, such as one of the characteristics described in U.S. Patent No. 9,443,195. For example, one characteristic may be the time difference or time delay between the power events in the main power monitoring signal and the power events in the smart plug power monitoring signal. In another example, the characteristics of a power event may be the change in energy before and after the power event. The energy before the power event can be determined by obtaining the power measurement at the point in time before the power event, or the mean (or median or some other statistical value) over the time window before the power event. The energy after the power event can be determined similarly. To compare the main power monitoring signal with the smart plug power monitoring signal, a first power change representing a first power event in the main power monitoring signal can be compared with a second power change representing a second power event in the smart plug power monitoring signal. In some implementations, a first feature vector can be created for the power events in the smart plug power monitoring signal, and a second feature vector can be created for the power events in the main power monitoring signal. These feature vectors can be used to calculate comparisons, such as by calculating the distance or similarity between the feature vectors.
[0133] The main power monitoring signal can be compared to the smart plug power monitoring signal using a wattage model of the device. Any suitable wattage model can be used, such as the wattage model described in U.S. Patent No. 9,443,195. The wattage model can indicate the expected power consumption of the device over a period of time after the device has changed state. The main power monitoring signal may include power events from different devices that occurred at similar times so that the two power events overlap. These wattage models can be used to separate the two power events in the main power monitoring signal so that each power event can be compared to the smart plug power monitoring signal.
[0134] Determination of the main control for smart plugs In some implementations, it is desirable or useful to know which main power line in the house the smart plug is connected to. For example, knowing which main power line the smart plug is receiving power from can improve other ways in which information from the smart plug is used, as will be further detailed below. While a smart plug (such as a smart plug for 240V devices) can potentially receive power from multiple main power lines in a house, the following description focuses on a smart plug receiving power from a single main power line, and similar methods can be applied to smart plugs receiving power from multiple main power lines.
[0135] The main power supply of a smart plug can be determined by comparing the smart plug power monitoring signal received from the smart plug with a first main power monitoring signal and a second main power monitoring signal. For devices connected to the smart plug, power events resulting from changes in the device's state may appear in the smart plug power monitoring signal and either the first or second main power monitoring signal.
[0136] For example, consider the power monitoring signals in Figures 3A and 3C. In Figure 3C, the smart plug power monitoring signal shows power events from the oven toaster connected to the smart plug. Since the smart plug receives power from the first main pipe, the power events from the oven toaster also appear in the first main pipe power monitoring signal in Figure 3A. The first main pipe power monitoring signal also includes power events from other devices on the first main pipe that are not connected to the smart plug (e.g., light bulbs), and therefore the smart plug power monitoring signal includes only a subset of the power events that appear in the first main pipe power monitoring signal. Since the smart plug does not receive power from the second main pipe, the power events from the oven toaster do not appear in the second main pipe power monitoring signal.
[0137] Power events from a smart plug also appear in the primary main power monitoring signal, but it can not always be easy to determine which main power supply a smart plug power event appears in. For example, the main power monitoring signal may contain many power events that overlap with each other, there may be devices in the home that are not connected to a smart plug that have power events with similar characteristics (signatures) to the power events of the devices connected to the smart plug, and / or the smart plug power monitoring signal may have different delay times, resolution (e.g., sampling rate) or amplitude relative to the main power monitoring signal.
[0138] Figure 6 is a flowchart of an example implementation for determining the main power supply to a smart plug. In Figure 6 and other flowcharts herein, the order of steps is illustrative and other orders are possible; not all steps are necessary, and some steps may be omitted or other steps added depending on the implementation. The process in the flowchart can be executed by, for example, one of the computers or systems described herein.
[0139] In step 610, a network connection is established between the power monitor and the smart plug. Any suitable network connection (e.g., wired or wireless, Wi-Fi, Bluetooth) can be used, and the network connection can be direct or indirect. For example, the network connection can go through the home router or a computer outside the home. The network connection can be established using either the appropriate method. For example, the user can configure one or both of the power monitor and the smart plug to form a network connection, or the power monitor and / or smart plug can automatically establish a network connection without requiring personal configuration.
[0140] In step 615, the power monitor receives a smart plug power monitoring signal from the smart plug. In some implementations, the smart plug power monitoring signal can provide a real-time (or near real-time) measurement of the amount of power (or other electrical characteristics) supplied to the device connected to the smart plug. In some implementations, the smart plug can only send a power monitoring signal if the supplied power is zero or above some other threshold. Signal 303 in Figure 3C is an example of a smart plug power monitoring signal.
[0141] In step 620, a first mains power monitoring signal is obtained using measurements of the electrical characteristics of the first mains of the house by the first sensor (e.g., current or voltage). The first mains power monitoring signal can provide real-time (or near real-time) measurements of the amount of energy (or other electrical characteristics) supplied to devices receiving power from the first mains. Signal 301 in Figure 3A is an example of a first mains power monitoring signal.
[0142] In step 625, the second sensor acquires a second main power monitoring signal using a measurement of the electrical characteristics (e.g., current or voltage) of the second main pipe of the house. The second main power monitoring signal can provide a real-time (or near real-time) measurement of the amount of energy (or other electrical characteristics) supplied to devices receiving power from the second main pipe. Signal 302 in Figure 3B is an example of a second main power monitoring signal.
[0143] In step 630, a power event is detected in the smart plug power monitoring signal, and the time of the power event is identified. The power event may correspond to any state change of the device connected to the smart plug, such as the device turning on, turning off, or an event between an on-event and an off-event (such as the cycle of the heating elements of a toaster oven while it is on). The power event may be identified using any suitable method, such as any of the methods described in U.S. Patent No. 9,443,195.
[0144] Any subset of power events can be used. For example, all on events can be used, all off events can be used, all on and off events can be used, or all events can be used. The event time of each event can be identified, such as the start time, middle time, or end time of the event. For example, the power events to be detected could be any of power events 310, 330, 340, 350, 360, and 380 in Figure 3C.
[0145] An ON event can be determined as a transition from supplying zero power to supplying non-zero power. Similarly, an OFF event can be determined as a transition from supplying non-zero power to supplying zero power. An appropriate threshold can be used when determining the transition between zero power and non-zero power. For example, even if all devices connected to the smart plug are OFF, the smart plug may still indicate that a relatively small amount of power is being supplied due to a short circuit in the devices connected to the smart plug or the smart plug itself. Power levels below a threshold can be determined to be zero power, even if they are not exactly zero.
[0146] When multiple devices are connected to a smart plug, it is possible that the first device is on, and the second device turns on later. Therefore, when the second device turns on, the smart plug power monitoring signal will transition from non-zero power to a larger amount of power. Thus, when multiple devices are connected to a smart plug, when all on events are selected, only the on events from zero power to non-zero power can be used, or all on events can be captured using other methods.
[0147] In step 635, the portion of the smart plug power monitoring signal (or smart plug portion) corresponding to the event time is collected. For example, a window of the smart plug power monitoring signal around the time of the event (e.g., a 10-second window) may be collected, or the portion of the smart plug power monitoring signal from before the ON event to after the OFF event may be collected. For example, possible smart plug portions 311, 331, 341, 351, 361, and 381 are shown in Figure 3C.
[0148] In step 640, a portion of the first main power monitoring signal (or the first main portion) corresponding to the time of the event is collected, and in step 645, a portion of the second main power monitoring signal (or the second main portion) corresponding to the time of the event is collected. These portions can be collected using the same time frame as the smart plug portion or a different time frame.
[0149] In step 650, the smart plug portion is compared with the first main pipe portion and the second main pipe portion. The comparison between the smart plug portion and the first main pipe portion and the second main pipe portion can be performed using any of the methods described herein.
[0150] A comparison can be made between the smart plug and the first main pipe for each power event, and between the smart plug and the second main pipe for each power event. For example, if there are 50 power events, the comparison between the smart plug and the first main pipe can be made 50 times, and the comparison between the smart plug and the second main pipe can be made 50 times. Each comparison can be represented using any appropriate method, such as representing the comparison as a number (for example, the distance between the parts).
[0151] In step 655, the comparison results are used to determine whether the smart plug is powered by the first main pipe or the second main pipe. Any suitable method can be used. For example, a first score can be calculated using a comparison between the smart plug portion and the first main pipe portion, and a second score can be calculated using a comparison between the smart plug portion and the second main pipe portion. Any suitable score can be calculated, such as a statistical value of the Euclidean distance between the portions. This statistical value can be the mean, median, sum of squares, or any other suitable statistical value. In some implementations, it can be determined that the smart plug is receiving power from the first main pipe if the first score is greater than the second score, or if the difference between the first score and the second score is greater than a threshold. In some implementations, if the first and second scores are too close to each other, the decision may be withheld due to low confidence, and more data may be collected to obtain a more confident determination.
[0152] In step 660, the device list, such as the device list in Figure 5, is updated to indicate that the smart plug is receiving power from the main pipe identified in step 655. The device list can be stored in any appropriate data store. Other appropriate information, such as the determination date, can also be stored.
[0153] In step 665, the user is provided with information informing them that the smart plug is receiving power from an identified main pipe, using one of the methods described herein or described in U.S. Patent No. 9,443,195. In some implementations, step 665 may be omitted, and the user may not be informed of the main pipe from which the smart plug is receiving power.
[0154] At least some smart plugs can be plugged into different power outlets and receive power from different mains, so the process in Figure 6 can be repeated at other times. For example, the process in Figure 6 can be repeated once a day or once a week.
[0155] In some implementations, artificial neural networks can be used to determine which main power supply is providing power to a smart plug. Any suitable neural network, such as a recurrent neural network, can be used. The neural network can be trained using a training corpus of data, where the training corpus contains multiple training examples. Each training example may include a smart plug power monitoring signal, one or more main power monitoring signals, and an indication of which main power supply is providing power to the smart plug. For example, the smart plug monitoring signals and main power monitoring signals can be collected over a set period, such as a day or a week.
[0156] The parameters of a neural network can be trained using any suitable method, such as backpropagation and stochastic gradient descent. To train a neural network, you can set the input to a power monitoring signal and the output to indicate which main power supply is providing power to the smart plug (for example, setting a value of 1 for the main power supplying the smart plug and a value of 0 for other main power supplies). The parameters of the neural network can then be trained by iterating over the entire training data.
[0157] After training the neural network, it can be used to determine which main pipe is supplying power to the smart plug. Smart plug monitoring signals and main pipe power monitoring signals can be collected from the house for processing by the trained neural network. The neural network can process the power monitoring signals and output a score for each main pipe indicating whether it is supplying power to the smart plug. For example, these scores could be probabilities or likelihoods. These scores can be used to identify the main pipe supplying power to the smart plug, for example, by selecting the main pipe with the highest score.
[0158] In some implementations, additional power monitoring signals can be collected to increase the reliability of the results. For example, after processing one day's worth of power monitoring signals, the score might be a 0.6 probability for the first main and a 0.4 probability for the second main. These scores may not provide sufficient confidence, and therefore additional data can be collected. After processing one week's worth of power monitoring signals, the score might be a 0.9 probability for the first main and a 0.1 probability for the second main. These scores may provide sufficient confidence to make a decision, and therefore the first main can be selected as supplying power to the smart plug.
[0159] In some implementations, the main power supply to the smart plug can be identified as described in the following clauses and any combination of two or more of them.
[0160] Determining the device connected to the smart plug In some implementations, it is desirable to know which devices in the home are receiving power from the smart plug. For example, if it is known which devices are connected to the smart plug, this information can be presented to the user. This information can be used to benefit the user or to improve the functionality of the power monitoring system.
[0161] For example, when a user connects a toaster oven to a smart plug, the power monitor may detect the change in the toaster oven's state, but may not recognize that the device connected to the smart plug is a toaster oven. The power monitor may have power models for detecting changes in the state of devices that include heating elements (such as toaster ovens, stoves, aquarium heaters, or hair irons), and these models can detect changes in the toaster oven's state without knowing that the device is a toaster oven. The power monitor may report to the user that "heating element 1" is connected to the smart plug. The user can see this and provide information indicating that the device connected to the smart plug is a toaster oven. The power monitor may then report that the toaster oven is turned on instead of reporting that "heating element 1" is turned on.
[0162] Knowing that a device connected to a smart plug is an oven toaster can also be helpful in identifying changes in the status of other users' oven toasters. For example, a company providing a power monitoring service can use the information received from users to create an oven toaster power model that can be used for the user's oven toaster and other users' oven toasters.
[0163] In some cases, information provided by users can be used to correct errors in power monitors and improve the processing of power monitors for the user and other users. For example, a power monitor might incorrectly determine that a hair iron is connected to a smart plug and notify the user. The user can then correct this information by indicating that the device connected to the smart plug is actually a toaster oven and not a hair iron. Companies providing power monitoring services could potentially use this information to improve the power models of these two types of devices so that they can better distinguish between toaster ovens and hair irons.
[0164] Figure 7 is a flowchart of an implementation example for determining that the first device is receiving power from the smart plug. Before performing the steps in Figure 7, it can be confirmed that the smart plug is receiving power from the first main pipe by performing the steps in Figure 6, for example. In step 710, a network connection is established between the power monitor and the smart plug; in step 715, the power monitor receives a smart plug power monitoring signal from the smart plug; and in step 720, a first main pipe power monitoring signal is obtained using measurements of the electrical characteristics of the first main pipe of the house by the first sensor. These steps can be performed using any of the methods described above for steps 610, 615, and 620.
[0165] In step 725, identify a smart plug power event that occurs in conjunction with the event time of the smart plug power monitoring signal. Power event identification can be performed using any suitable method, such as one of the methods described in U.S. Patent No. 9,443,195. In some implementations, a power event can be identified by detecting a transition from zero power to non-zero power in the smart plug power monitoring signal (for example, caused by a device connected to the smart plug being turned on). The event time, such as the start, middle, or end of the power event, can be determined using any suitable method.
[0166] In some implementations, multiple smart plug power events can be identified in step 725. For example, the smart plug power monitoring signal can be processed over a period of time, such as 24 hours or 7 days, to identify multiple smart plug power events. The identified smart plug power events may correspond to the same type of power event (e.g., the device turning on or a transition from zero power to non-zero power) or may include multiple types of power events (e.g., the device turning on and the device turning off).
[0167] Since we know that the smart plug receives power from the first main power line, the device that caused the smart plug power event will also cause a power event in the first main power line power monitoring signal around the time of the event.
[0168] In step 730, the event time determined in step 725 is used to identify the first main power event of the first main power monitoring signal. The first main power event can be selected using any appropriate method. For example, the first main power monitoring signal may contain multiple power events near the event time, and the power event closest to the event time can be selected. In some implementations, a known delay time may exist, or the delay time between the smart plug power monitoring signal and the first main power monitoring signal can be measured. This known or measured delay time can be used when selecting the first main power event.
[0169] In some implementations, step 730 can identify multiple power events in the first main power monitoring signal. For example, the first main power monitoring signal may include a first main power event and a second main power event that is temporally close to the event time. These first and second main power events can be compared to the smart plug power event (or the portion of the power monitoring signal containing the power event can be compared). The first main power event with the comparison result closest to the smart plug power event can be selected.
[0170] If multiple smart plug power events are identified in step 725, then in step 730, a first main power event can be identified for each smart plug power event using the method described above. Thus, after step 730, multiple pairs of smart plug power events and first main power events can be used for further processing.
[0171] In step 735, the identified first main power event is processed to determine the first main power event corresponding to the first device. For example, the first main power event can be processed by multiple power models, each corresponding to a device (e.g., device type (television), device model / version (Toshiba television), or specific device (living room television)). Each power model can output a score indicating the match between the first main power event and the device corresponding to the power model. The first device can be selected by processing these scores, for example, by selecting the power model with the highest score.
[0172] In some implementations, it is possible to identify changes in the state of a device and to identify a device from a change in its state. For example, each power model can correspond to a change in the state of a device, a power model can be selected using a model score, and if a change in state corresponds to a change in the state of a first device, it can be determined that the power event corresponds to the first device.
[0173] If multiple pairs of smart plug power events and first main power events are identified in steps 725 and 730, step 735 can be performed for each first main power event to identify the device (which may be the first device or a different device) corresponding to the power event.
[0174] In step 740, it is determined that the first device is receiving power from the smart plug. If only one first main power event was processed in step 735, the first main power event corresponds to the first device, and as a result of the first main power event corresponding to the smart plug power event, it can be determined that the first device is receiving power from the smart plug.
[0175] If multiple first main power events are identified and processed in steps 725-735, it can be determined by other means that the first device is receiving power from the smart plug.
[0176] In some implementations, the number of devices identified for multiple first main power events in step 735 can be used to determine that the first device is receiving power from the smart plug. For example, suppose 100 first main power events are processed in step 735, and it is determined that 75 correspond to the first device, 15 to the second device, and 10 to the third device. Since the first device has the largest number of occurrences, it can be selected as the device receiving power from the smart plug.
[0177] In some implementations, the determination in step 740 can be made using a comparison between the smart plug power event and the first main power event. The smart plug power event and the first main power event (or the portion of the power monitoring signal containing the power event) can be compared using any of the methods described herein. Each comparison can generate a distance between the power events (or the corresponding portion of the power monitoring signal). These distances can then be used to determine that the first device is receiving power from the smart plug.
[0178] For example, for each first main power event determined to correspond to the first device in step 735, the distance between the first main power event and the corresponding smart plug power event can be calculated. As a result, multiple distances can be calculated for the first device. These multiple distances for the first device can be combined and scored, for example, by using one of the methods described above for step 655. Then, using this score for the first device, it can be determined whether the first device is receiving power from the smart plug. For example, the score for the first device can be compared to a threshold, or the value of the first device can be compared to similar scores calculated for other devices to select the device with the highest score.
[0179] In some implementations and examples, a smart plug can provide power to multiple devices (e.g., a smart power cord). In such examples, multiple devices can be selected as receiving power from the smart plug. For example, all devices with a score above a threshold (e.g., calculated from the distance as described above) can be selected as receiving power from the smart plug.
[0180] In step 745, update the device list, such as the device list in Figure 5, to indicate that the first device is receiving power from the smart plug. The device list can be stored in any appropriate data store. Other appropriate information, such as the determination date, can also be stored.
[0181] At a later point, the first device can be unplugged from the smart plug and plugged directly into a power outlet. It can then be determined that the first device is no longer receiving power from the smart plug, and the device list can be updated to reflect this. For example, a power event in the first main power monitoring signal at the time of the event can be detected. This power event can be processed using a power model, and it can be determined that the power event corresponds to a transition from the off state to the on state of the first device, and therefore the first device is receiving power after the power event. The smart plug power monitoring signal can then be processed to determine if the signal contains a power event corresponding to the first device being turned on around the time of the event. If it does not (for example, the smart plug power monitoring signal indicates that no devices are receiving power), it can be determined that the first device is no longer connected to the smart plug.
[0182] In step 750, the user is provided with information indicating that the first device is receiving power from the smart plug, using one of the methods described herein or described in U.S. Patent No. 9,443,195. In some implementations, step 750 may be omitted, and the user may not be informed that the first device is receiving power from the smart plug.
[0183] In some implementations, devices connected to a smart plug may be identified as described in the following clauses and any combination of two or more of them.
[0184] Identifying changes in the state of a device using a smart plug. Information about which devices are connected to the smart plug can be used to improve the identification of changes in the status of devices within a home. For example, suppose we know that a first device is connected to the smart plug (for example, using the method in Figure 7) and a second device is not connected to the smart plug.
[0185] By using knowledge of which devices are connected to the smart plug, combined with the smart plug power monitoring signal, the accuracy of identifying changes in the status of devices within the home can be improved. Since the first and second devices may have similar electrical characteristics, it is likely that a change in the status of the first device will be misidentified as a change in the status of the second device (or vice versa). Knowing that the first device is connected to the smart plug and the second device is not, this information can be used to reduce the probability of making mistakes when identifying changes in the status of the first and second devices.
[0186] For example, a first main power event of the first main power monitoring signal can be detected at the time of the event. When information from the smart plug is unavailable, this first main power event can be processed using a first power model for the first device and a second power model for the second device (and possibly other power models) to identify the device state change corresponding to the first main power event. Since the first and second devices have similar characteristics, there is a risk of mistakenly identifying a first main power event caused by the first device as a state change of the second device, and vice versa.
[0187] This error rate can be reduced by using the smart plug power monitoring signal. For example, if the smart plug power monitoring signal indicates that the connected device is not receiving power at or around the time of the event, this information can be used to improve the accuracy of identifying the device state change from the first main power event. Since the smart plug is not supplying power, it can be inferred that the first device is off, and therefore the first main power event cannot correspond to the first device. Thus, the first main power event can be processed by a subset of all available power models except for the power model corresponding to the first device. Since the power model corresponding to the first device is excluded, the error rate in identifying the state change can be reduced. Since the first power model for the first device is not used, for example, if the first main power event corresponds to a state change in the second device, this cannot be mistakenly identified as a state change in the first device.
[0188] Figure 8A is a flowchart of an implementation example that uses a smart plug power monitoring signal to determine changes in the device's state. Before performing the steps in Figure 8A, it is possible to confirm that the smart plug is receiving power from the first main pipe by performing the steps in Figure 6, for example. It is also possible to confirm that the first device is connected to the smart plug by performing the steps in Figure 7, for example.
[0189] In step 870, information is obtained indicating that the first device is connected to the smart plug and the second device is not connected to the smart plug. For example, this information can be obtained from a device list, such as one of the device lists described herein.
[0190] In step 872, a network connection is established between the power monitor and the smart plug; in step 874, the power monitor receives a smart plug power monitoring signal from the smart plug; and in step 876, a first main power monitoring signal is obtained using measurements of the electrical characteristics of the first main pipe of the house by the first sensor. These steps can be performed using any of the methods described above for steps 610, 615, and 620.
[0191] In step 878, the first main power event of the first main power monitoring signal is identified. The first main power event can be identified using any suitable method, such as any of the methods described in U.S. Patent No. 9,443,195.
[0192] In step 880, it is determined that the smart plug power monitoring signal does not contain a power event corresponding to the first main power event. Any appropriate method can be used. The first time point of the first main power event can be used to process a portion of the smart plug power monitoring signal that includes or is close to the time of the first main power event. In some implementations, if the smart plug power monitoring signal has a value of zero (or close to zero) during the time window around the first time point, it can be determined that the smart plug power monitoring signal does not contain a power event corresponding to the first main power event.
[0193] In some implementations, a first main power event can be compared to a power event in the smart plug power monitoring signal that occurred closer to a first point in time, for example, by using one of the methods described herein. If the first main power event is not similar to any of the power events in the smart plug power monitoring signal, it can be determined that the smart plug power monitoring signal does not contain a power event corresponding to the first main power event.
[0194] In step 882, a subset of power models is selected from multiple power models, which includes at least one power model for the second device, while excluding at least one power model for the first device. A power model for the first device may be excluded, for example, because the first device is connected to a smart plug, and the smart plug indicates that no power is being consumed for the device connected to the smart plug.
[0195] In step 884, it is determined that the second device has changed state by processing the first main power event using a selected subset of power models. For example, each power model can calculate a score indicating the agreement between the first main power event and the device state change, and select the device state change corresponding to the highest score.
[0196] In step 886, the device list is updated using the device state change identified in step 884. The device list can be stored in any appropriate data store.
[0197] In step 888, the user may be provided with information regarding the change in the state of the device identified in step 884, using any of the methods described herein or described in U.S. Patent No. 9,443,195. In some implementations, step 888 may be omitted, and the user may not be informed of the change in the state of the device.
[0198] When identifying a state change in the first device connected to the smart plug, a modified version of the flowchart in Figure 8A can also be used. Alternatively, in step 880, it can be determined that the smart plug power monitoring signal contains a power event corresponding to the first main power event. For example, by comparing the first main power event with the power event in the smart plug power monitoring signal, it can be determined that the characteristics of the first main power event are similar to those of the smart plug power event. In step 882, at least one power model of the second device can be excluded and at least one power model of the first device can be included. In step 884, it can be determined that the first device has changed state by processing the first main power event using the subset of selected power models. Thus, the process in Figure 8A can be used to distinguish between state changes in devices connected to the smart plug and state changes in devices not connected to the smart plug.
[0199] In some implementations, changes in the state of the device can be identified by describing them in the following clauses and any combination of two or more of these clauses.
[0200] Clause 1. A computer implementation method for identifying changes in the state of devices within a building, comprising the steps of: obtaining information from a device list indicating that a first device in the building is connected to a smart plug and a second device in the building is not connected to a smart plug; establishing a network connection with a smart plug supplying power to one or more devices; receiving a smart plug power monitoring signal via the network connection indicating the amount of power supplied by the smart plug to one or more devices over a certain period of time; obtaining a first main power monitoring signal using measurements from a sensor measuring the electrical characteristics of a first main electrical conduit in the building; and responding to changes in the state of a second device using the first main power monitoring signal. A computer implementation method comprising: identifying a first main power event; determining that the smart plug power monitoring signal does not include a power event corresponding to the first main power event; selecting a subset of power models from a plurality of power models, the subset of which includes (i) excluding at least one power model corresponding to a first device and (ii) including at least one power model corresponding to a second device; processing the first main power monitoring signal using the selected subset of power models to determine that the first main power event corresponds to a state change of the second device; and updating the entry for the second device in the device list to indicate the current state of the second device.
[0201] Clause 2. The computer implementation method of Clause 1, wherein the step of determining that the smart plug power monitoring signal does not include a power event corresponding to a first main power event includes the step of determining that the smart plug power monitoring signal indicates that, during the time window around the first main power event, power was not being supplied to the device connected to the smart plug.
[0202] The computer implementation method of Clause 1, wherein the step of determining that the smart plug power monitoring signal does not include a power event corresponding to a first main power event includes the step of determining that the smart plug power monitoring signal has a value of zero during the time window around the first main power event.
[0203] Clause 4. The computer implementation method of Clause 1, wherein the step of determining that the smart plug power monitoring signal does not include a power event corresponding to a first main power event includes the step of comparing the first main power event with one or more power events of the smart plug power monitoring signal.
[0204] Clause 5. The computer implementation method of Clause 4, wherein the step of determining that the smart plug power monitoring signal does not include a power event corresponding to a first main power event includes the steps of: calculating a first feature vector including the characteristics of the first main power event; calculating a second feature vector including the characteristics of the power event in the smart plug power monitoring signal; and comparing the first feature vector and the second feature vector.
[0205] Clause 6. The computer implementation method of Clause 1, wherein the step of determining that the smart plug power monitoring signal does not include a power event corresponding to a first main power event includes the step of calculating the distance between a portion of the first main power monitoring signal that includes the first main power event and a portion of the smart plug power monitoring signal.
[0206] Clause 7. The computer implementation method of Clause 1, wherein the step of determining that the smart plug power monitoring signal does not include a power event corresponding to a first main power event includes the step of determining the time difference between the first main power event and the power event of the smart plug power monitoring signal.
[0207] A computer implementation of Clause 8, comprising the steps of: identifying a second first main power event in a first main power monitoring signal that corresponds to a change in the state of a first device; determining that the smart plug power monitoring signal includes a power event corresponding to the second first main power event; selecting a second subset of power models from a plurality of power models, the subset of which includes (i) including at least one power model corresponding to a first device and (ii) excluding at least one power model corresponding to a second device; processing the first main power monitoring signal using the selected subset of power models to determine that the power event corresponds to a change in the state of a first device; and updating the entry for the first device in the device list to indicate the current state of the first device.
[0208] However, the information in the device list may be outdated, and the first device may have been removed from the smart plug and plugged directly into a power outlet. After the first device is removed, completely excluding the first power model when processing the first main power event may result in an error. Some implementations can use weights to reduce the probability of errors instead of completely excluding the power model. The weights can be selected using any appropriate method. For example, if the smart plug indicates that it is not supplying power to any connected devices, a weight of 1 can be used for the second device and a weight less than 1 for the first device. Instead of making the strict judgments described above, these weights can be used to influence the judgment. For example, a first weighted score can be calculated by combining the first weight with the first score calculated by the first power model for the first device (as described above), and a second weighted score can be calculated by combining the second weight with the second score calculated by the second power model for the second device. These weighted scores can then be used to select the device state change corresponding to the power event.
[0209] In some implementations, the model weights can be determined by comparing a first main power event with smart plug power events. For example, a first main power event may occur at event time. This first main power event can be compared with smart plug power events that are close to the event time. If the first main power event is close to the smart plug event, the power model of devices receiving power from the smart plug can be given a higher weight, and the power model of devices not receiving power from the smart plug can be given a lower weight. Conversely, if the first main power event is not close to the smart plug event, the power model of devices receiving power from the smart plug can be given a lower weight, and the power model of devices not receiving power from the smart plug can be given a higher weight. The weights can be calculated, for example, using the distance between the first main power event and the smart plug power event. The weights can also be calculated using the time difference between the first main power event and the smart plug power event.
[0210] Figure 8B is a flowchart of an implementation example that uses a smart plug power monitoring signal to determine changes in the device's state. Before performing the steps in Figure 8B, it is possible to confirm that the smart plug is receiving power from the first main pipe by performing the steps in Figure 6, for example. It is also possible to confirm that the first device is connected to the smart plug by performing the steps in Figure 7, for example.
[0211] In step 810, information is obtained indicating that the first device is connected to the smart plug and the second device is not connected to the smart plug. For example, this information can be obtained from a device list, such as one of the device lists described herein.
[0212] In step 815, a network connection is established between the power monitor and the smart plug; in step 820, the power monitor receives a smart plug power monitoring signal from the smart plug; and in step 825, a first main power monitoring signal is obtained using measurements of the electrical characteristics of the first main pipe of the house by the first sensor. These steps can be performed using any of the methods described above for steps 610, 615 and 620.
[0213] In step 830, a power event of the first main power monitoring signal is identified. The power event can be identified using any suitable method, such as one of the methods described in U.S. Patent No. 9,443,195.
[0214] In step 835, the first main power event and the smart plug power monitoring signal are used to calculate a match score indicating the similarity between the first main power event and the smart plug power monitoring signal. The match score can be calculated using any of the methods described herein. For example, the match score can be calculated as the distance between a portion of the first main power monitoring signal containing the power event and a portion of the smart plug power monitoring signal. The match score can also be calculated by comparing the first main power event with the smart plug power event in the smart plug power monitoring signal (for example, by comparing the power changes caused by the power events).
[0215] In step 840, using the matching score and the information that the first device is connected to the smart plug and the second device is not connected to the smart plug, the first weight is calculated for the first device and the second weight is calculated for the second device. Weights can also be calculated for any other devices in the house. The weights can be calculated using any appropriate method.
[0216] In some implementations, since the first device is connected to a smart plug, the first weight can be increased when the match score is high (indicating a close match between the first main power event and the smart plug power monitoring signal) and decreased when the match score is low. For example, the first weight can be equal to the match score. Conversely, the second weight can be decreased when the match score is high and increased when the match score is low. For example, if the match score is in the range of 0 to 1, the second score can be 1 minus the match score.
[0217] In some implementations, it can be determined that the smart plug power monitoring signal was not supplying any power during the time window around the time of the first main power event. Therefore, it is highly likely that the first device was not consuming power and thus did not cause the first main power event, and the first weight can be set to zero.
[0218] In step 845, the first main power event is processed using a power model in which each model can handle the state change of the equipment. Each power model can output a score indicating the agreement between the first main power event and the corresponding state change of the equipment. For example, a power model may include a first power model that outputs a first score representing the state change of the first equipment, and a second power model that outputs a second score representing the state change of the second equipment. If the weight is zero, a zero weight can indicate that the corresponding equipment is excluded from consideration, and thus the processing of the power model can be skipped.
[0219] In step 850, the first weight, the second weight, and the score from step 845 are used to identify the device state change. For example, the first weighted score can be calculated using the first score and the first weight (for example, by multiplying them or applying any other appropriate combination), and the second weighted score can be calculated using the second score and the second weight. The weighted scores can then be used to select the device state change, for example, by selecting the device state change corresponding to the highest weighted score. For example, the first device state change can be selected if the first weighted score is the highest, and the second device state change can be selected if the second weighted score is the highest.
[0220] In step 855, the device list is updated using the device state changes identified in step 850. The device list can be stored in any appropriate data store.
[0221] In step 860, the user may be provided with information regarding the change in the state of the device identified in step 850, using any of the methods described herein or described in U.S. Patent No. 9,443,195. In some implementations, step 860 may be omitted, and the user may not be informed of the change in the state of the device.
[0222] In some implementations, changes in the state of the device can be identified by describing them in the following clauses and any combination of two or more of these clauses.
[0223] Clause 1. A computer implementation method for identifying changes in the state of devices within a building, comprising the steps of: obtaining information from a list of devices indicating that a first device in the building is connected to a smart plug and a second device in the building is not connected to a smart plug; establishing a network connection with a smart plug supplying power to one or more devices; receiving a smart plug power monitoring signal via the network connection indicating the amount of power supplied by the smart plug to one or more devices over a certain period of time; obtaining a first main power monitoring signal using measurements from a sensor measuring the electrical characteristics of a first main electrical conduit in the building; and the first main power monitoring signal, A computer implementation method comprising: identifying a first main power event corresponding to a state change of a first device; calculating a match score using the first main power event and a smart plug power monitoring signal; using the match score to calculate a first weight for a first power model for the first device and a second weight for a second power model for a second device that is smaller than the first weight; processing the first main power event using the first power model, the first weight, the second power model and the second weight to determine that the first main power event corresponds to a state change of the first device; and updating the entry for the first device in the device list to indicate the current state of the first device.
[0224] The computer implementation method of Clause 1, wherein the step of calculating the match score includes the steps of identifying a smart plug power event in the smart plug power monitoring signal and comparing the smart plug power event with a first main power event.
[0225] Clause 3. The computer implementation method of Clause 1, wherein the step of calculating the match score includes the step of calculating the distance between a portion of the first main power monitoring signal, which includes a first main power event, and a portion of the smart plug power monitoring signal.
[0226] Clause 4. The computer implementation method of Clause 1, wherein the step of calculating the match score includes the step of using the time difference between the first main power event and the smart plug power event of the smart plug power monitoring signal.
[0227] Clause 5. A computer implementation of Clause 1, where the first weight is 1 and the second weight is zero.
[0228] The computer implementation method of Clause 6, which includes the steps of processing a first main power event using a first power model, a first weight, a second power model and a second weight to determine that the first main power event corresponds to a state change of a first device, the steps of processing the first main power event using a first power model to generate a first score, calculating a first weighted score using the first score and a first weight, processing the first main power event using a second power model to generate a second score, calculating a second weighted score using the second score and a second weight, and determining that the first main power event corresponds to a state change of a first device using the first weighted score and a second weighted score.
[0229] A computer implementation method of Clause 7, comprising the steps of: identifying a second first main power event corresponding to a state change of a second device in a first main power monitoring signal; calculating a second match score using the second first main power event and the smart plug power monitoring signal; using the second match score to calculate a third weight for a first power model for the first device and a fourth weight for a second power model for the second device that is smaller than the third weight; processing the second first main power event using the first power model, the third weight, the second power model and the fourth weight to determine that the second first main power event corresponds to a state change of the second device; and updating the entry for the second device in the device list to indicate the current state of the second device.
[0230] Model training using smart plugs Smart plugs can assist in training mathematical models of devices. To train a mathematical model of a device, a training corpus of power monitoring signals can be obtained that includes examples of the device changing state (e.g., turning on and off). For some devices, it is considered relatively easy to collect enough training data to train a model of the device. For example, these devices may change state relatively frequently or have power events that are relatively easy to identify in the main power monitoring signal (e.g., by large power changes or distinctive state transition features).
[0231] However, for some devices, collecting enough training data to train a model can be even more difficult. For example, these devices may change states relatively infrequently, the power changes during state transitions may be relatively small, or the characteristics of their state changes may be similar to those of other devices. Smart plugs can facilitate the collection of training data for such devices.
[0232] Users can intentionally connect devices to smart plugs for the purpose of training the device's model. For example, a user can connect a device to a smart plug and then submit a request to a company providing power monitoring services to train the device's model. Alternatively, a user might connect a device to a smart plug for other reasons, and the power monitor determines that a mathematical model for the connected device is unavailable, and continues to collect data from the smart plug for the purpose of training the device's mathematical model.
[0233] A trainable power model for an apparatus includes any of the mathematical models described in U.S. Patent No. 9,443,195, such as a transition model, an apparatus model (referred to herein as a state model), and a wattage model.
[0234] Figure 9 is a flowchart of an implementation example for training a mathematical model of a device using a smart plug power monitoring signal. In step 910, the power monitor receives a smart plug power monitoring signal from the smart plug. This step can be performed using one of the methods described above for step 615. For example, a network connection can be established between the power monitor and the smart plug before receiving the smart plug power monitoring signal from the smart plug.
[0235] In step 915, the on-operation time is determined by processing the smart plug power monitoring signal. For example, the on-operation time can be determined as the time corresponding to the transition from zero power to non-zero power in the smart plug power monitoring signal. As mentioned above, an appropriate threshold can be used so that zero power does not need to be exactly zero, corresponding to an amount of energy below the threshold. The on-operation time can be identified by processing the smart plug power monitoring signal over a certain period of time, such as a day, a week, or a month. The on-operation time can correspond to the on-operation of all first devices, or (for example, if multiple devices are connected to the smart plug) to the on-operation of multiple devices.
[0236] In step 920, the off-time is identified by processing the smart plug power monitoring signal. For example, the off-time can be determined as the point in time corresponding to the transition of the smart plug power monitoring signal from non-zero power to zero power (for example, using an appropriate threshold). The off-time can be identified by processing the smart plug power monitoring signal over a certain period of time, such as a day, a week, or a month. The off-time can correspond to the off-time of all first devices, or (for example, if multiple devices are connected to the smart plug) to the off-time of multiple devices.
[0237] In step 925, a first main power monitoring signal is obtained. This step can be performed using any of the methods described above for step 620. In some implementations, if it has been previously determined that the smart plug is receiving power from the first main, such as by using the methods described herein, the first main power monitoring signal can be selected from other power monitoring signals (e.g., a second main power monitoring signal).
[0238] In step 930, a power event is identified in the first main power monitoring signal. A power event may indicate a change in state, such as the device switching on or off (which may or may not be receiving power from the smart plug). Power events can be identified using any suitable method, such as any method described herein or in U.S. Patent No. 9,443,195. Each power event may be associated with an event time, which can be stored for each power event. Power events can be identified by processing the first main power monitoring signal over a period of time, such as a day, a week, or a month.
[0239] In step 935, power events are clustered into multiple clusters. Clustering of power events can be done using any appropriate method, such as by calculating features from the power events and then using these features for clustering. The features can be any appropriate, such as the agreement between the power event and the template, Fourier coefficients, neural network features, or changes in power, current, voltage, or phase before and after the power event. Any appropriate clustering method can be used, such as k-means clustering, hierarchical clustering, centroidal clustering, or density clustering.
[0240] Clustering power events allows similar power events to reside in the same cluster, while dissimilar power events reside in different clusters. For example, all on-operation power events for a particular device may reside in the same cluster. In some cases, a cluster may contain only specific power events for a particular device, such as the power event for the on-operation of a toaster oven. In some cases, a cluster may contain power events from multiple devices, such as the power event for the on-operation of a toaster oven and the power event for the on-operation of a hair iron.
[0241] In step 940, the first cluster is selected from among multiple clusters using the on-operation time and the event time of power events in the first cluster. The first cluster can be selected using any appropriate method. For example, the event time of power events in the first cluster can be compared to the on-operation time. In some implementations, a score can be calculated for each cluster that shows a match between the event time of its power events and the on-operation time, and the cluster with the highest score can be selected. For example, the cluster score can be the percentage of power events in the cluster that occur within a certain time window of the on-operation time, such as around 5 seconds before or after the on-operation time. If many of the event times of a cluster are close to the on-operation time, it is considered likely that this cluster corresponds to the on-operation of the device connected to the smart plug.
[0242] In step 945, the second cluster is selected from among multiple clusters using the time of the shutdown and the event time of the power event in the second cluster. The second cluster can be selected using any suitable method, such as the method described in step 940.
[0243] In step 950, the first transition model is trained using one or more power events in the first cluster. Any suitable transition model can be trained using any suitable method, such as any transition model or method described herein or in U.S. Patent No. 9,443,195. In some implementations, the first transition model can be trained using a subset of power events in the first cluster. For example, the first transition model can be trained using only power events that exist within a certain time window of the ON-operation point.
[0244] In step 955, the second transition model is trained using one or more power events from the second cluster. The second transition model can be trained using any suitable method, such as the method described in step 950.
[0245] In step 960, the first and second transition models are used to identify changes in the state of the devices. For example, the first and second transition models can be extended to a power monitor in the same building that acquires the smart plug monitoring signal and the first main power monitoring signal. The first and second transition models can be used to identify changes in the state (e.g., switching to on and off) of devices connected to the smart plug, or devices connected to devices that are not connected to (or are no longer connected to) the smart plug.
[0246] In some implementations, the first and second transition models can be used in a different building from the one that acquired the smart plug monitoring signal and the first main power monitoring signal. For example, the first and second transition models can be trained on power events corresponding to the on and off switching of an oven toaster in the first building, and then these first and second transition models can be used in the second building to identify power events from the on and off switching of an oven toaster.
[0247] For some devices, it may be desirable to train more than two transition models. For devices with only two states (on and off), such as a light bulb, two transition models are considered sufficient. The first transition model can represent the transition from the off state to the on state, and the second transition model can represent the transition from the on state to the off state. In contrast, an air conditioner can have three states: a first state where it is off, a second state where the condenser motor is operating but the blower motor is not, and a third state where both the condenser motor and the blower motor are operating. For an air conditioner, it is desirable to have a first transition model representing the transition from the first state (off) to the second state (where only the condenser motor is operating), a second transition model representing the transition from the second state to the third state (where both the condenser motor and the blower motor are turned on), and a third transition model representing the transition from the third state back to the first state. For other devices, further device states and transition models may be desirable.
[0248] Figure 10 is a flowchart of an implementation example that uses smart plug power monitoring signals to train more than two mathematical models of a device. The process in Figure 10 can be used in conjunction with, for example, the process in Figure 9.
[0249] In step 1010, a state model is initialized that has two states for a device receiving power from a smart plug. For example, the first state may correspond to the device being off, and the second state may correspond to the device being on. This state model may include a first transition from the first state to the second state, and a second transition from the second state to the first state. Figure 11A shows an example of a state model with two states, for example, state 1 may be the off state and state 2 may be the on state.
[0250] In step 1015, a first cluster of power events representing a first transition is selected, and in step 1020, a second cluster of power events representing a second transition is selected. Steps 1015 and 1020 can be performed using any of the methods described herein, such as one of the methods shown in Figure 9. For example, the on-operation and off-operation times of the power monitoring signal can be identified, power events of the first main power monitoring signal can be identified, power events can be clustered into multiple clusters, and the on-operation time, off-operation time and event time of the power events can be used to select the first and second clusters.
[0251] In step 1025, the degree of fit between the state model and the device being modeled is determined. The degree of fit can be determined using any appropriate method.
[0252] If a device has only two states (for example, on and off), it can consume zero power when off and a relatively constant amount of power when on. The first transition can be from zero power to the device's typical power consumption. The device can continue to consume typical power consumption until the second transition from typical power consumption back to zero power. Figure 12A shows an example of a power monitoring signal for a device with two states: consuming 0 watts when off and 100 watts when on. A state model including the two states fits the device in Figure 12A.
[0253] If a device has more than two states, the amount of power the device consumes over a period of time can change while it is ON. A first transition can be from zero power to the device's first typical power consumption (e.g., capacitor motor). The device can continue to consume typical power consumption until a second transition from the first typical power consumption to a second typical power consumption (e.g., both capacitor motor and blower motor). A third transition can be a return to zero power. Figure 12B shows an example of a power monitoring signal for a device with three states: consuming 0 watts when OFF, consuming 50 watts after being ON, and consuming 100 watts at a later point in time. A state model with two states is not considered to fit the device in Figure 12B.
[0254] The degree of suitability can be determined, for example, by creating a wattage model of the device. Any suitable wattage model can be used, such as any wattage model described herein or described in U.S. Patent No. 9,443,195. The wattage model can be created by calculating the expected change in power consumption corresponding to the transition from a first state to a second state.
[0255] The expected change in power consumption corresponding to a transition can be determined using either an appropriate method, and this expected change can be calculated from either or both the smart plug power monitoring signal and the first main power monitoring signal. For each power event corresponding to a transition, the energy can be calculated both before and after the power event. This energy can be, for example, the energy at a specific point in time (e.g., 2 seconds before and 2 seconds after the power event), or the average power consumption over a certain time window (e.g., a window from 1 to 3 seconds before to after the power event). Power change can be determined for each power event by calculating the change in power before and after the power event.
[0256] The expected power consumption change for a transition can be calculated from the power change of the power event corresponding to the transition. Any appropriate method can be used, such as calculating a statistical value of the power change of the power event. For example, this statistical value can be the mean or median of the power change of the power event (and outliers can be excluded).
[0257] The wattage model of the device can assume that the device consumes a relatively constant amount of power while in a particular state, and the expected power can correspond to the power changes during the transition to this particular state.
[0258] The goodness of fit of a state model can be determined by comparing the wattage model to the actual power consumption indicated by the power monitoring signal. For example, the wattage model of the device in Figure 12A can indicate that it is expected to consume 99 watts while the device is on (as indicated by the dashed line). In the power monitoring signal in Figure 12A, the device actually consumes 100 watts, and therefore the wattage model is close to the power monitoring signal, and the state model fits the power monitoring signal. In contrast, the wattage model of the device in Figure 12B can indicate that it is expected to consume 90 watts while the device is on (as indicated by the dashed line). In the power monitoring signal in Figure 12B, the device actually consumes 50 watts or 100 watts, and therefore the state model does not fit the power monitoring signal.
[0259] The degree of fit between a state model and a specific power monitoring signal can be calculated using any suitable method. For example, the distance between a wattage model and a specific power monitoring signal can be calculated by sampling the power monitoring signal at continuous intervals and calculating the sum of squares of the differences between these samples and the expected energy values indicated by the wattage model.
[0260] The smart plug power monitoring signal can have multiple instances where the device is on and off, and the degree of fit can be calculated for each instance where the device is on and off. The degree of fit between the state model and the device can be calculated by combining the degree of fit between the state model and each instance of the smart plug power monitoring signal. For example, the degree of fit between the state model and the device can be the average or median of the degree of fit values calculated for each instance of the device in the ON state of the smart plug power monitoring signal (and outliers can be excluded).
[0261] This goodness of fit can be used to determine whether another state should be added to the state model. For example, the goodness of fit can be compared to a threshold. If the goodness of fit calculated in step 1025 is insufficient, the process can proceed to step 1030.
[0262] In step 1030, a new state is added to the state model. For example, Figure 11B shows a state model in which a third state is inserted after the second state in Figure 11A. For example, state 1 can still correspond to the off state, state 2 can correspond to a first operating state (e.g., only the capacitor motor is operating), and state 3 can correspond to a second operating state (e.g., both the capacitor motor and the blower motor are operating). Thus, the transition from state 1 to state 2 can correspond to the device being turned on, the transition from state 2 to state 3 can correspond to a change in operation while the device is on, and the transition from state 3 to state 1 can correspond to the device being turned off. In this example, the state model only includes the three transitions shown in Figure 11B, but some implementations may include further transitions by adding transitions between state pairs.
[0263] After adding a third state, a first cluster of power events can be assigned to the transition from state 1 to state 2 (device on operation), and a second cluster of power events can be assigned to the transition from state 3 to state 1 (device off operation).
[0264] In step 1035, a cluster of power events is selected for a transition to a new state (for example, the change from state 2 to state 3 in Figure 11B). Since the transition to a new state occurs while the device is already on, this transition should generally occur between the on-operation point and the subsequent off-operation point. Therefore, a third cluster can be selected by comparing the event timing of the power events in the selected cluster with the time the device connected to the smart plug is in the on state (for example, between the on-operation point and the subsequent off-operation point obtained from the smart plug power monitoring signal). In some implementations, a score can be calculated for each cluster that shows a match between the event timing of the cluster's power events and the time between the on-operation point and the subsequent off-operation point. The cluster with the highest score can then be selected. For example, the cluster score can be the percentage of power events in the cluster that exist between the on-operation point and the subsequent off-operation point. If many of the event timings in a cluster fall within this range, it is considered likely that this cluster corresponds to a transition to a new state.
[0265] After step 1035, the process returns to step 1025 to determine the degree of fit between the state model (which now has three states) and the device. Since the state model now has two operating states (states 2 and 3), a wattage model can be calculated for each operating state, and each wattage model can be compared to a portion of the smart plug power monitoring signal. For example, the wattage model for state 2 can be compared to portion 1210 in Figure 12B, and the wattage model for state 3 can be compared to portion 1220. Portions 1210 and 1220 can be identified from the power monitoring signal using either an appropriate method, such as identifying these portions using power events or selecting portions that match the wattage model. If the degree of fit is still insufficient, the process can proceed again to step 1030 to add another state to the model. If the degree of fit is sufficient, the process can proceed to step 1040.
[0266] In step 1040, a transition model is trained for each selected cluster, and in step 1045, the transition model is used to identify changes in the state of the device. Steps 1040 and 1045 can be performed using any of the methods described herein, such as the method shown in Figure 9.
[0267] In some implementations, instead of initializing the state model with two states as described above, it is possible to initialize the state model with more than two states. The number of initial states can be determined using any appropriate method.
[0268] In some implementations, the initial number of states can be determined by searching for transitions in an example of a smart plug power monitoring signal. For example, a portion of the smart plug power monitoring signal can be obtained in which each portion starts near the transition from zero power to non-zero power (device on operation) and ends near the subsequent transition from non-zero power to zero power (device off operation). For each of these portions of the smart plug power monitoring signal, power events between device on operation and off operation (internal power events) can be identified using one of the methods described herein. For each portion, the number of states for that portion can be determined to be two greater than the number of internal power events. For example, if no internal power events exist, the number of states for that portion can be 2 (on and off), and if one internal power event exists, the number of states can be 3. The number of states for these portions of the smart plug power monitoring signal can be combined to determine the initial number of states in the state model. For example, the initial number of states can be a statistical value of the states of these portions (e.g., mean or median), or a maximum or minimum value.
[0269] In some implementations, the number of initial states can be determined using the timing of power events within a cluster. For example, the first cluster can be selected using the on-operation time, as described in step 940, and the second cluster can be selected using the off-operation time, as described in step 945. For each of the other clusters, the frequency of power events in the cluster existing between the on-operation time and the subsequent off-operation time can be determined. If the percentage or proportion of power events within a cluster existing between the on-operation time and the subsequent off-operation time is high (e.g., above a threshold), then that cluster is likely to correspond to a state change of the device while the device is on, and it can be determined that the device has multiple operating states (in addition to the on state). The number of initial states in the state model can be determined to be 2 greater than the number of clusters likely to correspond to a state change of the device while the device is on. For example, the number of initial states can be 2 (on and off) if there are no clusters likely to correspond to a state change of the device while the device is on, and the number of initial states can be 3 if there is one cluster likely to correspond to a state change of the device while the device is on.
[0270] After determining the initial number of states, if the initial number of states is greater than two (for example, if there are multiple operating states), the process in Figure 9 can be adapted to train further transition models. As shown in Figure 9, the first transition model can be trained using clusters corresponding to the on-operation time, and the second transition model can be trained using clusters corresponding to the off-operation time. For each state added to the two states, a cluster can be selected using its event time (for example, by comparing the event time with the on-operation and off-operation times), and the transition model can be trained using the power events of the selected cluster. Some implementations may decide to add further states using the process in Figure 10, increasing the number of states beyond the initial number.
[0271] In some implementations, it can be determined that the initial number of states is too large and therefore the number of states can be reduced. For example, when selecting a cluster, it can be determined that there is no cluster suitable for a state transition (for example, based on a comparison of the event time of available clusters with the on-operation time and the off-operation time), and as a result, the number of states can be reduced.
[0272] In some implementations, the transition model can be trained to meet the following requirements and any combination of two or more of them.
[0273] implementation Modifications of the methods described above are also possible. While the methods described above refer to a single smart plug, these methods can also be adapted for use with multiple smart plugs within a building. For example, a power monitor could establish a network connection with two or more smart plugs, receive a smart plug power monitoring signal from each smart plug, and perform one of the methods described above for each smart plug power monitoring signal.
[0274] All of the methods described above can also be implemented using a smart circuit breaker instead of a smart plug. A smart circuit breaker can provide information about the power consumption of devices that receive power from it. For example, a smart circuit breaker can be installed in an electrical panel and supply power to one or more devices via an electrical circuit connected to it. A smart circuit breaker can include the ability to provide information about the power supplied to devices that receive power from it. For example, a smart circuit breaker can include one or more sensors that measure the electrical characteristics (e.g., current, voltage, or power) of the electricity supplied to the circuit. Using this sensor data, the amount of power consumed by devices connected to the circuit over a period of time can be determined. A smart circuit breaker can also have a network connection (e.g., Wi-Fi or Bluetooth) to transmit information about the power usage of connected devices to other devices such as smartphones. A smart circuit breaker can also have other functions. For example, a smart circuit breaker can have relays to start and stop the flow of electricity to the circuit, and the user can have an application (or app) on a smartphone that allows the user to control the relays.
[0275] The smart circuit breaker as used herein is a device that receives power from the building's mains (for example, via the first main busbar 211 in Figure 2), supplies power to a circuit, has sensors that measure information about the power being transmitted to one or more devices connected to the circuit, and has a network connection (wired or wireless) for transmitting information about the measured power consumption to other devices such as a power monitor. The smart circuit breaker may also provide other functions, such as allowing the user to effectively disconnect power to the circuit by opening a relay within the smart circuit breaker.
[0276] The power monitor can establish a network connection with a smart circuit breaker (or multiple smart circuit breakers) and receive a smart circuit breaker power monitoring signal from the smart circuit breaker. When the power monitor is introduced near the smart circuit breaker (e.g., within or near an electrical panel), it can receive sensor data directly from the smart circuit breaker, and thus in some cases a network connection may not be required.
[0277] The smart circuit breaker power monitoring signal can be processed using any of the methods described above for the smart plug power monitoring signal. Since the smart circuit breaker supplies power to a circuit (compared to a smart plug that supplies power to one or more devices connected to it), the smart circuit breaker power monitoring signal can indicate the power consumption of more devices than the smart plug power monitoring signal. It is easy for those skilled in the art to extend the methods described above to the smart circuit breaker power monitoring signal.
[0278] FIG. 13 shows some implementations of components of a computer device 1300 that can be used in either a power monitor or a server operating with the power monitor. In FIG. 13, the components are shown as existing on a single computer device, but these components can also be distributed among multiple computer devices, such as between any of the devices described above or between multiple server computer devices.
[0279] The computer device 1300 may include any of the components typical of a computer device, such as one or more processors 1311, volatile or non-volatile memory 1310, and one or more network interfaces 1312 for connecting to a computer network. The computer device 1300 may also include any of the input and output components, such as a display, keyboard, and touch screen. The computer device 1300 may also include various components or modules that provide specific functions, and these components or modules may be implemented in software, hardware, or a combination thereof. Below, several component examples are described for one implementation example, and other implementations may include additional components or omit some of the components described below.
[0280] The computer device 1300 may include a power event processing component 1320 that can be used to process power monitoring signals and determine information about the device, such as identifying devices and changes in device status from the power monitoring signals. The computer device 1300 may include a network event processing component 1321 that can be used to process data from a computer network and determine information about the device, such as identifying devices and changes in device status from the network data. The computer device 1300 may include a main pipe identification component 1322 that can be used to identify the main pipe from which the smart plug is receiving power. The computer device 1300 may include a device identification component 1323 that can be used to identify the device from which the smart plug is receiving power. The computer device 1300 may have a status change component 1324 that can be used to determine changes in device status corresponding to power events using the main pipe power monitoring signals and the smart plug power monitoring signals. The computer device 1300 may have a model training component 1325 that can be used to train a mathematical model of the device using the main pipe power monitoring signals and the smart plug power monitoring signals.
[0281] The computer device 1300 includes, or can access, various data stores such as data stores 1330, 1331, and 1332. The data stores can use any known storage technology, such as files, relational databases, non-relational databases, or any non-transitory computer-readable medium. For example, the computer device 1300 can have a power model data store 1330 that stores a power model or information about a power model. The computer device 1300 can have a network model data store 1331 that stores a network model or information about a network model. The computer device 1300 can have a device information data store 1332 that can be used to store information about devices, such as a list of devices in one or two or more buildings.
[0282] Although only a few embodiments of the present invention have been illustrated and described, it will be apparent to those skilled in the art that many changes and modifications can be made to these without departing from the spirit and scope of the present disclosure as set forth in the following claims. All foreign and domestic patent applications and patents, and all other documents referenced herein, are hereby incorporated by reference in their entirety to the maximum extent permitted by law.
[0283] The methods and systems described herein can be deployed in part or in whole through a machine that executes 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 type of computing or processing unit that can execute program instructions, code and binary instructions, etc. The processor may be a signal processor, a digital processor, an embedded processor, a microprocessor, or a variant of a coprocessor (such as a numerical coprocessor, a graphics coprocessor and a communications coprocessor) and similar devices that can directly or indirectly facilitate the execution of stored program code or program instructions, or may include these. The processor may also enable the execution of multiple programs, threads and code. Threads may run concurrently to enhance the processor's performance and facilitate the simultaneous operation of applications. As an implementation, the methods, program code and program instructions described herein may be implemented in one or more threads. Threads may trigger other threads to which associated priorities may be assigned, and the processor may execute these threads based on priority or any other order based on instructions provided within the program code. The processor may include memory for storing methods, code, instructions, and programs as described herein and elsewhere. The processor may have an interface to access storage media capable of storing methods, code, and instructions as described herein and elsewhere.Processor-related storage media for storing methods, programs, code, program instructions, or other types of instructions that a computer device or processing unit can execute include, but are not limited to, one or more of the following: CD-ROMs, DVDs, memory, hard disks, flash drives, RAM, ROM, and cache.
[0284] The processor may include one or more cores that can enhance the speed and performance of the multiprocessor. In embodiments, the process may be a dual-core processor, a quad-core processor, other chip-level multiprocessors, and similar combinations of two or more independent cores (referred to as chips).
[0285] The methods and systems described herein can be deployed in part or in whole through servers, cloud servers, clients, firewalls, gateways, hubs, routers, or other machines that run computer software on such computer hardware and / or networking hardware. Software programs may be associated with servers that include file servers, print servers, domain servers, internet servers, intranet servers, and other variants such as secondary servers, host servers, and distributed servers. A server may include one or more of the following: memory, processors, computer-readable media, storage media, (physical and virtual) ports, communication devices, and interfaces that allow access to other servers, clients, machines, and devices via wired or wireless media. Methods, programs, or code as described herein and elsewhere can also be executed by a server. Furthermore, other equipment necessary for performing the methods described herein can be considered part of the infrastructure associated with the server.
[0286] The server may provide interfaces to other devices, including, but is not limited to, clients, other servers, printers, database servers, print servers, file servers, communication servers, and distributed servers. This coupling and / or connection may also facilitate remote program execution across networks. Networking of some or all of these devices may, without departing from the scope of this disclosure, facilitate parallel processing of programs or methods at one or more locations. Furthermore, any device connected to the server via an interface may include at least one storage medium capable of storing methods, programs, code, and / or instructions. Program instructions executed on different devices may be provided by a central repository. In this implementation, a remote repository may function as a storage medium for program code, instructions, and programs.
[0287] A software program may relate to a client that includes file clients, print clients, domain clients, internet clients, intranet clients, and other variants such as secondary clients, host clients, and distributed clients. A client may include one or more interfaces that allow it to access other clients, servers, machines, and devices via wired or wireless media, such as memory, processors, computer-readable media, storage media, (physical and virtual) ports, communication devices, and wired or wireless media. Methods, programs, or code as described herein and elsewhere may also be executed by a client. Other devices necessary for executing the methods described in this application may be considered part of the infrastructure related to the client.
[0288] The client may provide interfaces to other devices, including, but is not limited to, servers, other clients, printers, database servers, print servers, file servers, communication servers, and distributed servers. This coupling and / or connection may also facilitate remote program execution across networks. Networking of some or all of these devices may, without departing from the scope of this disclosure, facilitate parallel processing of programs or methods at one or more locations. Furthermore, any device connected to the client via an interface may include at least one storage medium capable of storing methods, programs, applications, code, and / or instructions. Program instructions executed on different devices may be provided by a central repository. In this implementation, a remote repository may function as a storage medium for program code, instructions, and programs.
[0289] The methods and systems described herein can be deployed partially or entirely through a network infrastructure. The network infrastructure may include elements such as computer devices, servers, routers, hubs, firewalls, clients, personal computers, communication devices, routing devices, and other active and passive devices, modules, and / or components, as are well known in the art. Computer devices and / or non-computer devices associated with the network infrastructure may include storage media such as flash memory, buffers, stacks, RAM, and ROM, apart from other components. Processes, methods, program code, and instructions as described herein and elsewhere may be performed by one or more of these network infrastructure elements.
[0290] The methods, program code, and instructions described herein and elsewhere can be implemented on a cellular network having multiple cells. The cellular network may be either 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, and towers. The cellular network may include GSM, GPRS, 3G, EVDO, mesh, or other network types.
[0291] Methods, program code, and instructions as described herein and elsewhere can be implemented on or via mobile devices. Mobile devices may include navigation devices, cellular telephones, mobile phones, personal digital assistants, laptops, palmtops, netbooks, pagers, e-book readers, and music players. These devices may include storage media such as flash memory, buffers, RAM, ROM, and one or more computer devices, apart from other components. Computer devices associated with mobile devices can execute stored program code, methods, and instructions. Alternatively, mobile devices may be configured to execute instructions in cooperation with other devices. Mobile devices can communicate with base stations configured to execute program code in conjunction with servers. Mobile devices can communicate over peer-to-peer networks, mesh networks, or other communication networks. Program code can be stored in storage media associated with a server and executed by computer devices embedded in the server. Base stations may include computer devices and storage media. Storage devices can store program code and instructions executed by computer devices associated with base stations.
[0292] Computer software, program code and / or instructions may be stored in and / or accessed on machine-readable media, which may include computer components, devices and recording media that hold digital data used for calculations over some time intervals, mass storage typically for more persistent storage such as semiconductor storage known as random access memory (RAM), optical disks, hard disks, tapes, drums, cards and other types of magnetic storage, processor registers, cache memory, volatile memory, non-volatile memory, optical storage such as CDs and DVDs, flash memory (e.g., USB sticks or keys), floppy disks, magnetic tape, paper tape, punch cards, standalone RAM disks, Zip drives, removable mass storage and offline media, dynamic memory, static memory, read / write storage, variable storage, read-only, random access, sequential access, location-addressable, file-addressable, content-addressable, network-attached storage, storage area networks, barcodes, magnetic ink and other computer memory.
[0293] The methods and systems described herein can transform physical items and / or intangible items from one state to another. The methods and systems described herein can also transform data representing physical items and / or intangible items from one state to another, such as from usage data to a normalized usage data set.
[0294] The elements described and illustrated herein, including those shown in flowcharts and block diagrams, suggest logical boundaries between them. However, in accordance with the conventions of software or hardware engineering, the illustrated elements and their functions can be implemented on a machine through a computer executable medium having a processor capable of executing stored program instructions as modules employing monolithic software structures, independent software modules, or external routines, code, and services, or any combination thereof, and all such implementations may be included within the scope of this disclosure. Examples of such machines include, but are not limited to, personal information terminals, laptops, personal computers, mobile phones, other handheld computer devices, medical devices, wired or wireless communication devices, transducers, chips, calculators, satellites, tablet PCs, e-books, gadgets, electronic devices, devices with artificial intelligence, computer devices, networking devices, servers, and routers. Furthermore, the elements shown in flowcharts and block diagrams or any other logical components can also be implemented on a machine capable of executing program instructions. Accordingly, while the drawings and descriptions above illustrate the functional aspects of the disclosed system, unless explicitly stated or otherwise evident from the context, no specific configuration of the software implementing these functional aspects should be inferred from these descriptions. Similarly, the various steps identified and described above can be modified, and the order of the steps can be adapted to specific applications of the technology disclosed herein. All such variations and modifications are intended to be within the scope of this disclosure. Therefore, any illustrations and / or descriptions of the order of the various steps should not be understood as requiring a specific execution order of these steps unless necessary for a particular application, explicitly stated, or otherwise evident from the context.
[0295] The methods and / or processes described above, and their steps, can be implemented in hardware, software, or any combination of hardware and software suitable for a particular application. Hardware may include general-purpose computers and / or dedicated computer devices, or specific computer devices or specific embodiments or components of specific computer devices. These processes can 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. In addition to or separately from these, these processes can also be embodied in application-specific integrated circuits, programmable gate arrays, programmable array logic, or any other device or combination of devices that can be configured to process electronic signals. Furthermore, it will be understood that one or more of these processes can also be implemented as computer-executable code that can run on machine-readable media.
[0296] Computer executable code can be written using structured programming languages such as C, object-oriented programming languages such as C++, or any other high-level or low-level programming language (including assembly languages, hardware description languages, and database programming languages and techniques) that can be stored, compiled, or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or different hardware and software combinations, or any other machine capable of executing program instructions.
[0297] Accordingly, in one embodiment, each of the methods and combinations of methods described above can be embodied in computer executable code that performs the steps of the method when executed on one or more computer devices. In another embodiment, these methods can be embodied in a system that performs its steps and distributed across multiple devices, or all functions can be integrated into a dedicated standalone device or other hardware. In yet another embodiment, the means for performing the steps related to the processes described above may include either the hardware and / or software described above. All such substitutions and combinations are intended to be within the scope of this disclosure.
[0298] All references made herein are incorporated herein by citation.
Claims
1. A method for determining the power main related to smart plugs, Establishing a network connection with the smart plug that receives power from the building's main electrical line and supplies power to one or more devices, The smart plug receives a smart plug power monitoring signal via the aforementioned network connection, which indicates the amount of power the smart plug is supplying to the one or more devices. A first main power monitoring signal is obtained using measurements from a first sensor that measures the electrical characteristics of the first main electrical conduit of the building, The process involves obtaining a second main power monitoring signal using measurements from a second sensor that measures the electrical characteristics of the second main electrical conduit of the building, To identify multiple event time points corresponding to events in the smart plug power monitoring signal, The smart plug portion of the smart plug power monitoring signal, corresponding to each of the multiple event time points, To collect the first main power monitoring signal corresponding to each of the multiple event times, The second main power monitoring signal is collected for each of the multiple event times corresponding to the second main power monitoring signal, The smart plug portion is compared with the first main pipe portion, and the smart plug portion is compared with the second main pipe portion to determine that the smart plug is receiving power from the first main electrical pipe. Updating the entry in the datastore to indicate that the smart plug is receiving power from the first main electrical outlet, A method for getting it to run on at least one computer.
2. The aforementioned event corresponds to the smart plug transitioning from supplying zero power to supplying non-zero power. The method according to claim 1.
3. The aforementioned method, The first main power monitoring signal calculates a plurality of first basic power consumption amounts corresponding to one of the plurality of event time points, The second main power monitoring signal calculates a plurality of second basic power consumption amounts corresponding to one of the plurality of event time points, Furthermore, Determining that the smart plug is receiving power from the first main electrical supply includes using the plurality of first basic power consumptions and the plurality of second basic power consumptions, The method according to claim 1.
4. Calculating the first basic power consumption includes calculating the average value of the first main power monitoring signal over a certain period prior to the corresponding event time. The method according to claim 3.
5. The first main pipe portion is modified by downsampling it to match the sampling rate of the smart plug portion. The method according to claim 1.
6. The system includes temporally converting either the first main pipe portion or the smart plug portion before comparing the first main pipe portion and the smart plug portion. The method according to claim 1.
7. Comparing the first main pipe portion and the smart plug portion includes calculating the distance between the first main pipe portion and the smart plug portion. The method according to claim 1.
8. Comparing the first main pipe section and the smart plug section is, Calculating a first feature vector for the first main pipe section, To calculate a second feature vector for the smart plug portion, Calculating the distance between the first feature vector and the second feature vector, The method according to claim 1, including the method described in claim 1.
9. A system for determining the power manager related to smart plugs, A computer comprising at least one processor and at least one memory, the at least one computer A network connection is established with the smart plug, which receives power from the building's main electrical line and supplies power to one or more devices. The smart plug receives a smart plug power monitoring signal via the aforementioned network connection, which indicates the amount of power the smart plug is supplying to the one or more devices. A first main power monitoring signal is obtained using measurements from a first sensor that measures the electrical characteristics of the first main electrical conduit of the building. A second main power monitoring signal is obtained using measurements from a second sensor that measures the electrical characteristics of the second main electrical conduit of the building. Identify multiple event time points corresponding to events in the smart plug power monitoring signal, The smart plug portion of the smart plug power monitoring signal corresponding to each of the multiple event time points is collected, The first main power monitoring signal is collected, and the first main portion corresponding to each of the multiple event times is collected. The second main power monitoring signal is collected, and the second main portion corresponding to each of the multiple event times is collected. By comparing the smart plug portion with the first main pipe portion and comparing the smart plug portion with the second main pipe portion, it is determined that the smart plug is receiving power from the first main electrical pipe. Update the entry in the datastore to indicate that the smart plug is receiving power from the first main electrical outlet. A system that is configured in such a way.
10. The at least one computer is configured to compare the first main pipe portion and the smart plug portion by calculating the distance between the first main pipe portion and the smart plug portion. The system according to claim 9.
11. The aforementioned at least one computer is By calculating a first set of distances between the first main pipe portion and the smart plug portion, the smart plug portion is compared with the first main pipe portion. The smart plug portion is compared with the second main pipe portion by calculating a second set of distances between the second main pipe portion and the smart plug portion. The system according to claim 9, configured as described above.
12. The aforementioned at least one computer is A first value is calculated from the above-mentioned first plurality of distances, A second value is calculated from the aforementioned second set of distances, Compare the first value with the second value. The smart plug is configured to determine that it is receiving power from the first main electrical pipe. The system according to claim 11.
13. The first value is the mean or median of the first set of distances. The system according to claim 12.
14. The at least one computer is configured to scale the amplitude of either the first main pipe portion or the smart plug portion before comparing the first main pipe portion with the smart plug portion. The system according to claim 9.
15. One or more non-temporary computer-readable media containing computer-executable instructions, wherein the computer-executable instructions are executed by at least one processor, Establish a network connection with a smart plug that receives power from the building's main electrical line and supplies power to one or more devices, The smart plug receives a smart plug power monitoring signal via the aforementioned network connection, which indicates the amount of power the smart plug is supplying to the one or more devices. A first main power monitoring signal is obtained using measurements from a first sensor that measures the electrical characteristics of the first main electrical conduit of the building, The process involves obtaining a second main power monitoring signal using measurements from a second sensor that measures the electrical characteristics of the second main electrical conduit of the building, To identify multiple event time points corresponding to events in the smart plug power monitoring signal, The smart plug portion of the smart plug power monitoring signal, corresponding to each of the multiple event time points, To collect the first main power monitoring signal corresponding to each of the multiple event times, The second main power monitoring signal is collected for each of the multiple event times corresponding to the second main power monitoring signal, The smart plug portion is compared with the first main pipe portion, and the smart plug portion is compared with the second main pipe portion to determine that the smart plug is receiving power from the first main electrical pipe. Updating the entry in the datastore to indicate that the smart plug is receiving power from the first main electrical outlet, A computer-readable medium that enables the execution of actions including [specific actions].
16. Comparing the first main pipe portion and the smart plug portion includes calculating the distance between the first main pipe portion and the smart plug portion. The computer-readable medium according to claim 15.
17. Comparing the first main pipe section and the smart plug section is, Calculating a first feature vector for the first main pipe section, To calculate a second feature vector for the smart plug portion, Calculating the distance between the first feature vector and the second feature vector, A computer-readable medium according to claim 15, including the following:
18. The operation further includes identifying a second number of time points corresponding to a second event in the smart plug power monitoring signal. The computer-readable medium according to claim 15.
19. The second event described above corresponds to the smart plug transitioning from supplying non-zero power to supplying zero power. The computer-readable medium according to claim 18.
20. Determining that the smart plug is receiving power from the first main electrical pipe means that To calculate a first basic power consumption corresponding to the time of the event from the first main power monitoring signal, The normalized first main pipe portion is calculated by subtracting the first basic power consumption from the first main pipe portion corresponding to the event time, Calculate a first distance between the smart plug portion corresponding to the event time and the normalized first main pipe portion, To calculate the second basic power consumption corresponding to the event time from the second main power monitoring signal, The normalized second main pipe portion is calculated by subtracting the second basic power consumption from the second main pipe portion corresponding to the event time, Calculating the second distance between the smart plug portion corresponding to the event time and the normalized second main pipe portion, Includes, Determining that the smart plug is receiving power from the first main electrical pipe includes using the first distance and the second distance, The computer-readable medium according to claim 15.
21. A first sensor for measuring the electrical characteristics of a first main electrical conduit that supplies power to equipment within a building, A second sensor for measuring the electrical characteristics of a second main electrical conduit that supplies power to the equipment within the building, Network interface and At least one processor, A network connection is established with a smart plug that receives power from the main electrical pipe of the aforementioned building and supplies power to one or more devices. The smart plug receives a smart plug power monitoring signal via the aforementioned network connection, which indicates the amount of power the smart plug is supplying to the one or more devices. Using the measurement values from the first sensor, a first main power monitoring signal is obtained. Using the measurement values from the second sensor, a second main power monitoring signal is obtained. Identify multiple event time points corresponding to events in the smart plug power monitoring signal, The smart plug portion of the smart plug power monitoring signal corresponding to the multiple event time points is collected, The first main power monitoring signal is collected, and the first main portion corresponding to the multiple event time points is collected. The second main power monitoring signal is collected, and the second main portion corresponding to the multiple event time points is collected. The smart plug portion is compared with the first main pipe portion, and the smart plug portion is compared with the second main pipe portion to determine that the smart plug is receiving power from the first main electrical pipe. A processor configured as follows: An electric panel equipped with [a specific feature].
22. A first sensor for measuring the electrical characteristics of a first main electrical conduit that supplies power to equipment within a building, A second sensor for measuring the electrical characteristics of a second main electrical conduit that supplies power to the equipment within the building, Network interface and At least one processor, A network connection is established with a smart plug that receives power from the main electrical pipe of the aforementioned building and supplies power to one or more devices. The smart plug receives a smart plug power monitoring signal via the aforementioned network connection, which indicates the amount of power the smart plug is supplying to the one or more devices. Using the measurement values from the first sensor, a first main power monitoring signal is obtained. Using the measurement values from the second sensor, a second main power monitoring signal is obtained. Identify multiple event time points corresponding to events in the smart plug power monitoring signal, The smart plug portion of the smart plug power monitoring signal corresponding to the multiple event time points is collected, The first main power monitoring signal is collected, and the first main portion corresponding to the multiple event time points is collected. The second main power monitoring signal is collected, and the second main portion corresponding to the multiple event time points is collected. The smart plug portion is compared with the first main pipe portion, and the smart plug portion is compared with the second main pipe portion to determine that the smart plug is receiving power from the first main electrical pipe. A processor configured as follows: An electric meter equipped with the following features.
Citation Information
Patent Citations
Life information collecting system
JP2005354794A
Data estimation device, data estimation method, and data estimation system
JP2011154679A
Display unit, method and program
JP2014055798A
Apparatus information system
JP2014081336A
Arithmetic unit
JP2015108953A