[go: up one dir, main page]

HK40075377B - Identifying device state changes using power data and network data - Google Patents

Identifying device state changes using power data and network data

Info

Publication number
HK40075377B
HK40075377B HK42022064883.6A HK42022064883A HK40075377B HK 40075377 B HK40075377 B HK 40075377B HK 42022064883 A HK42022064883 A HK 42022064883A HK 40075377 B HK40075377 B HK 40075377B
Authority
HK
Hong Kong
Prior art keywords
information
power
network
network data
data packet
Prior art date
Application number
HK42022064883.6A
Other languages
Chinese (zh)
Other versions
HK40075377A (en
Inventor
Wyman Petri Jonah
M. Micali Christopher
S. Phillips Michael
Original Assignee
Sense Labs, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sense Labs, Inc. filed Critical Sense Labs, Inc.
Publication of HK40075377A publication Critical patent/HK40075377A/en
Publication of HK40075377B publication Critical patent/HK40075377B/en

Links

Description

使用功率数据和网络数据来识别设备状态改变Use power data and network data to identify changes in device status.

本申请是申请号2018800266529、申请日2019年10月22日、名称为“使用功率数据和网络数据来识别设备状态改变”的专利申请的分案申请。This application is a divisional application of patent application No. 2018800266529, filed on October 22, 2019, entitled "Using power data and network data to identify changes in device status".

相关申请的交叉引用Cross-references to related applications

本申请要求于2017年2月22日提交的美国专利申请No.15/439,788(美国专利No.9,699,529)(SAGE-0003-U01);2017年2月22日提交的美国专利申请No.15/439,796(美国专利No.9,800,958)(SAGE-0003-U02);和2017年5月19日提交的美国专利申请No.15/599,466(SAGE-0003-U01-C01)的优先权并且是其延续。This application claims priority to and is a continuation of U.S. Patent Application No. 15/439,788 (U.S. Patent No. 9,699,529) (SAGE-0003-U01), filed February 22, 2017; U.S. Patent Application No. 15/439,796 (U.S. Patent No. 9,800,958) (SAGE-0003-U02), filed February 22, 2017; and U.S. Patent Application No. 15/599,466 (SAGE-0003-U01-C01), filed May 19, 2017.

背景技术Background Technology

减少电力或功率使用提供了,除了别的之外,通过降低对电气公司的支付节约金钱以及还通过减少生成电力所需的资源量来保护环境的益处。因此,诸如消费者、企业和其它实体的电力用户可能期望减少他们的电使用以实现这些益处。如果用户在他们的家庭和建筑物中具有关于什么设备(例如,冰箱、烤箱、洗碗机、炉子和灯泡)使用最多电力以及什么动作可用于减少电力使用的信息,则用户可能能够更有效地减少他们的电力使用。Reducing electricity or power usage offers, among other things, the benefits of saving money by lowering payments to electricity companies and protecting the environment by reducing the amount of resources required to generate electricity. Therefore, electricity users such as consumers, businesses, and other entities may expect to reduce their electricity usage to achieve these benefits. Users may be able to reduce their electricity usage more effectively if they have information in their homes and buildings about which appliances (e.g., refrigerators, ovens, dishwashers, stoves, and light bulbs) use the most electricity and what actions can be taken to reduce electricity consumption.

用于个体设备的功率监视器可用于测量单个设备的功率使用。例如,可以将设备插入功率监视器中,并且监视器可以转而被插入到壁装电源插座中。这些监视器可以提供关于它们所附接到的一个设备的功率使用的信息,但是利用这些监视器监视房屋或建筑物中的所有或甚至许多设备可能是不实际的,因为它将需要大量的设备,所述设备可能是昂贵的并且还需要显著的人力来安装。Power monitors for individual devices can be used to measure the power usage of a single device. For example, a device can be plugged into a power monitor, and the monitor can then be plugged into a wall outlet. These monitors can provide information about the power usage of a single device to which they are attached, but using these monitors to monitor all or even many devices in a house or building may be impractical, as it would require a large amount of equipment, which could be expensive and require significant manpower for installation.

代替用于单个设备的功率监视器,功率监视器可以安装在配电板处以获得关于由许多设备同时使用的电力的信息。配电板上的功率监视器是更方便的,因为单个监视器可以提供关于许多设备的聚合使用信息。然而,更难以提取关于有单个设备使用的功率的更具体的信息,因为监视器通常测量反映许多设备的集体操作的信号,这些信号可能以复杂的方式重叠。从与由许多设备的使用对应的电信号获得关于单个设备的功率使用的信息的过程可以被称为解聚。Instead of power monitors for individual devices, power monitors can be mounted on a distribution board to obtain information about the power used simultaneously by many devices. Power monitors on distribution boards are more convenient because a single monitor can provide aggregated usage information for many devices. However, it is more difficult to extract more specific information about the power used by a single device because monitors typically measure signals reflecting the collective operation of many devices, which may overlap in complex ways. The process of obtaining information about the power usage of a single device from the electrical signals corresponding to the use by many devices can be called deaggregation.

为了向终端用户提供最大的益处,存在对更准确的解聚技术的需要,使得终端用户接收关于个体设备的电使用的准确信息。In order to provide the greatest benefit to end users, there is a need for more accurate de-aggregation technology, enabling end users to receive accurate information about the electrical usage of individual devices.

附图说明Attached Figure Description

通过参考以下附图可以理解本发明及其某些实施例的以下具体实施方式:The following detailed embodiments of the present invention and some of its embodiments can be understood by referring to the following accompanying drawings:

图1是用于使用功率监视信号来识别设备和设备的状态改变的系统的示例。Figure 1 is an example of a system for using power monitoring signals to identify devices and changes in device status.

图2是功率监视信号的示例。Figure 2 shows an example of a power monitoring signal.

图3是用于使用网络数据来识别设备和设备的状态改变的系统的示例。Figure 3 is an example of a system for using network data to identify devices and changes in device status.

图4A、4B和4C图示了用于使用网络数据来识别设备和设备的状态改变的技术。Figures 4A, 4B, and 4C illustrate techniques for using network data to identify devices and changes in device status.

图5是识别设备和设备的状态改变的系统的示例。Figure 5 is an example of a system for identifying devices and changes in device status.

图6是设备的示例列表。Figure 6 is an example list of devices.

图7是用于使用功率监视信号和网络数据来识别设备和设备的状态改变的系统的示例。Figure 7 is an example of a system for using power monitoring signals and network data to identify devices and changes in device status.

图8A和8B是功率监视信号和网络数据的示例时间线。Figures 8A and 8B are example timelines of power monitoring signals and network data.

图9是示出使用功率监视信号和网络数据来识别设备的示例实施方式的流程图。Figure 9 is a flowchart illustrating an example implementation of using power monitoring signals and network data to identify devices.

图10是示出使用功率监视信号和网络数据来识别设备的状态改变的示例实施方式的流程图。Figure 10 is a flowchart illustrating an example implementation of using power monitoring signals and network data to identify changes in device status.

图11是示出使用网络数据训练功率模型的示例实施方式的流程图。Figure 11 is a flowchart illustrating an example implementation of training a power model using network data.

图12是用于使用功率监视信号或网络数据来识别设备和设备的状态改变的设备的示例。Figure 12 is an example of a device used to identify devices and changes in device status using power monitoring signals or network data.

具体实施方式Detailed Implementation

本文中描述了用于识别设备并确定关于建筑物中的设备的状态改变的信息的技术。在确定关于建筑物中的设备的信息时的一个数据源是向建筑物中的设备提供功率的电线。可以将电传感器放置在向建筑物提供功率的电线(或线)上,并且可以使用解聚技术来确定关于建筑物中的个体设备的信息。例如,美国专利No.9,443,195中描述的任何技术(出于所有目的通过引用以其整体特此并入)可以用于使用电测量来确定关于设备的信息。This document describes techniques for identifying devices and determining information about changes in the state of devices within a building. One data source for determining information about devices within a building is the electrical wiring that supplies power to the devices. Electrical sensors can be placed on the electrical wiring (or wires) that supply power to the building, and de-aggregation techniques can be used to determine information about individual devices within the building. For example, any techniques described in U.S. Patent No. 9,443,195 (which are hereby incorporated herein by reference in their entirety for all purposes) can be used to determine information about devices using electrical measurements.

用于识别设备或确定关于建筑物中的设备状态改变的信息的另一数据源是建筑物中的计算机网络。建筑物可以具有网络(诸如局域网),并且设备可以经由线缆(例如,以太网电缆)或无线地(例如,Wi-Fi)连接到网络。建筑物可具有多个网络,诸如由无线路由器协调的局域网、由协同工作的其它设备(例如,搜诺斯(Sonos)扬声器)创建的网状网络以及个域网(例如,设备之间的蓝牙连接)。关于这些网络上的设备的信息可以例如通过在其被打开之后从设备接收服务广播或者通过针对信息轮询设备来获得。Another data source for identifying devices or determining changes in the status of devices within a building is the building's computer network. A building may have a network (such as a local area network), and devices may connect to the network via cables (e.g., Ethernet cables) or wirelessly (e.g., Wi-Fi). A building may have multiple networks, such as a local area network coordinated by a wireless router, a mesh network created by other cooperating devices (e.g., Sonos speakers), and personal area networks (e.g., Bluetooth connections between devices). Information about devices on these networks can be obtained, for example, by receiving service broadcasts from the device after it is turned on or by polling the device for information.

一些设备可由建筑物中的电线供电,但可能不具有网络连接(例如,常规冰箱)。一些设备可以由建筑物中的电线供电并且具有网络连接(例如,“智能”冰箱)。一些设备可以具有网络连接,但是可以不由电线供电(例如,诸如智能电话之类的移动设备),或者可以仅有时由电线供电(例如,在充电时)。本文中描述的技术可以通过使用来自电线的信息和来自建筑物中的网络的信息的组合来提供关于建筑物中的设备的更多信息和/或更准确的信息。Some devices may be powered by electrical wiring in a building but may not have network connectivity (e.g., a conventional refrigerator). Some devices may be powered by electrical wiring in a building and have network connectivity (e.g., a "smart" refrigerator). Some devices may have network connectivity but may not be powered by electrical wiring (e.g., mobile devices such as smartphones), or may only be powered by electrical wiring at certain times (e.g., while charging). The techniques described herein can provide more and/or more accurate information about the devices in a building by using a combination of information from the electrical wiring and information from the network within the building.

来自电线和来自建筑物中的网络的信息可以用于向用户提供服务以通知他们关于建筑物中的设备的状态。公司可提供可安装在建筑物中并连接到建筑物的功率线和计算机网络两者的功率监视设备。功率监视设备可以使用电线和网络数据两者来确定关于建筑物中存在什么设备以及还有设备的状态(例如,开或关)的信息。然后可以使得该信息对用户可用,诸如通过将其呈现在(例如,智能电话上的)专门的app或网页中。服务可以向用户提供关于建筑物中的设备的信息,诸如关于设备的状态、由设备使用的实时功率的实时信息以及关于设备活动的历史信息。Information from power lines and the building's network can be used to provide services to users, informing them about the status of equipment within the building. Companies can offer power monitoring devices that can be installed in buildings and connected to both the building's power lines and computer networks. These devices 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, such as by presenting it in a dedicated app or webpage (e.g., on a smartphone). Services can provide users with information about the equipment in the building, such as the equipment's status, real-time information about the power used by the equipment, and historical information about the equipment's activity.

为了呈现的清楚性,本文中描述的技术将使用房屋或家庭作为可以应用技术的建筑物的示例,但是本文中描述的技术同样可用于其中使用电力的任何环境,包括但不限于企业和商业建筑物、政府建筑物以及其它场所。通篇对家庭的引用应被理解为涵盖这样的其它场所。For clarity, the technologies described herein use houses or homes as examples of buildings where the technologies can be applied; however, the technologies described herein can also be used in any environment where electricity is used, including but not limited to business and commercial buildings, government buildings, and other locations. The reference to homes throughout should be understood to encompass such other locations.

功率监视Power monitoring

图1图示了系统100的示例,其中从电线获得的信息可以用于确定关于家庭中的设备的信息。在图1中,电气公司120向家庭110提供电功率。电功率被传输到配电板140,在配电板140中,电功率然后可以被分配到房屋中的不同电路。Figure 1 illustrates an example of system 100, where information obtained from the wiring can be used to determine information about devices in the home. In Figure 1, electrical company 120 supplies electrical power to home 110. The electrical power is transmitted to distribution board 140, where it can then be distributed to different circuits throughout the house.

配电板140可以是可在建筑物中找到的任何配电板。例如,配电板140可实现分相电功率,其中240伏AC电信号利用分相变压器转换成具有各自提供120伏的单个接地和两个干线(或支线)的三线分配。房屋中的一些设备可以使用两个干线中的一个来获得120伏;房屋中的其它设备可以使用另一个干线来获得120伏;而其它设备可以同时使用两个干线来获得240伏。Distribution board 140 can be any distribution board found in a building. For example, distribution board 140 can implement phased power distribution, where a 240-volt AC signal is converted using a phase transformer into a three-wire distribution with a single grounding point each providing 120 volts and two main lines (or branches). Some equipment in the house can use one of the two main lines to obtain 120 volts; other equipment in the house can use the other main line to obtain 120 volts; and other equipment can use both main lines simultaneously to obtain 240 volts.

可以使用任何类型的配电板,并且本文中描述的技术不限于分相配电板。例如,配电板140可以是单相、双相或三相。技术也不限于由配电板140提供的干线的数量。在下面的讨论中,配电板140将被描述为具有两个干线,但是可以使用任何数量的干线,包括仅单个干线。如本领域普通技术人员将理解的,诸如用于其它国家或大洲的其它电压标准旨在涵盖在本文中。Any type of distribution board can be used, and the techniques described herein are not limited to phase distribution boards. For example, distribution board 140 can be single-phase, two-phase, or three-phase. The techniques are also not limited to the number of trunk lines provided by distribution board 140. In the following discussion, distribution board 140 will be described as having two trunk lines, but any number of trunk lines can be used, including a single trunk line. As will be understood by those skilled in the art, other voltage standards, such as those used in other countries or continents, are intended to be covered herein.

图1图示了消耗由配电板140提供的电力的设备。例如,功率监视器150、冰箱160和炉子165可以消耗经由配电板140提供的电力。Figure 1 illustrates devices that consume power supplied by the distribution board 140. For example, a power monitor 150, a refrigerator 160, and a stove 165 may consume power supplied via the distribution board 140.

功率监视器150可以连接到传感器130以测量连接到房屋110的电线的电属性。例如,传感器130可以测量为配电板140提供电力的电线的电压和/或电流水平。可使用任何可用传感器获得测量结果,并且技术不限于任何特殊传感器或可从传感器获得的任何特殊类型的值。传感器130可以包括多个传感器,诸如用于每个干线的一个或多个传感器。Power monitor 150 can be connected to sensor 130 to measure the electrical properties of wires connected to house 110. For example, sensor 130 can measure the voltage and/or current levels of wires supplying power to distribution panel 140. Measurement results can be obtained using any available sensor, and the technology is not limited to any particular sensor or any particular type of value that can be obtained from a sensor. Sensor 130 may include multiple sensors, such as one or more sensors for each main line.

传感器130可以向功率监视器150提供一个或多个功率监视信号,诸如连接到配电板140的每个干线的电流和/或电压的测量结果。功率监视器150可以处理功率监视信号以解聚它们或者以获得关于家庭中的个体设备的信息。例如,功率监视器150可以确定诸如电视在下午8:30开启,或者冰箱的压缩机在上午10:35和上午11:01开始的设备的状态改变。Sensor 130 can provide one or more power monitoring signals to power monitor 150, such as measurements of current and/or voltage on each main line connected to distribution board 140. Power monitor 150 can process the power monitoring signals to de-aggregate them or to obtain information about individual devices in the home. For example, power monitor 150 can determine changes in the status of devices such as a television being turned on at 8:30 p.m., or a refrigerator compressor starting at 10:35 a.m. and 11:01 a.m.

功率监视器150可以是与配电板140分离获得并且由用户或电工安装以连接到配电板140的设备。功率监视器150可以是配电板140的一部分并且由配电板140的制造商安装。功率监视器150也可以是电表的一部分(例如,与电表集成或集成到电表中),所述电表诸如是由电气公司提供的电表,并且有时被称为智能表。The power monitor 150 may be a device obtained separately from the distribution board 140 and installed by a user or electrician to connect to the distribution board 140. The power monitor 150 may be part of the distribution board 140 and installed by the manufacturer of the distribution board 140. The power monitor 150 may also be part of an electricity meter (e.g., integrated with or incorporated into the meter), such as a meter supplied by an electrical company and sometimes referred to as a smart meter.

功率监视器150可以使用用于执行解聚或根据功率监视信号确定关于个体设备的功率使用或状态的信息的任何适当的技术。例如,功率监视器150可以使用美国专利9,443,195中描述的任何技术。The power monitor 150 may use any suitable technique for performing deaggregation or determining information about the power usage or status of an individual device based on the power monitoring signal. For example, the power monitor 150 may use any technique described in U.S. Patent 9,443,195.

图2图示了可以由功率监视器150处理的假设功率监视信号200的示例。图2图示了由两个设备、炉子和白炽灯泡的状态改变引起的功率监视信号的改变。功率信号的改变中的每个可被称为功率事件。在图2中,利用HE1标记的功率事件对应于炉子的燃烧器的加热元件被开启,并且利用HE0标记的功率事件对应于燃烧器的加热元件被关闭(对于电炉子,燃烧器对于使用者而言可能显得是开启的,但是炉子可以使加热元件以周期性为基础开启和关闭以维持期望的温度)。利用I1标记的功率事件对应于白炽灯泡被开启,并且标记为I0的功率事件对应于白炽灯泡被关闭。Figure 2 illustrates an example of a hypothetical power monitoring signal 200 that can be processed by the power monitor 150. Figure 2 illustrates changes in the power monitoring signal caused by changes in the states of two devices, a furnace and an incandescent light bulb. Each of these changes in the power signal can be referred to as a power event. In Figure 2, a power event labeled HE1 corresponds to the heating element of the furnace burner being turned on, and a power event labeled HE0 corresponds to the heating element of the burner being turned off (for an electric furnace, the burner may appear to be on to the user, but the furnace can periodically turn the heating element on and off to maintain a desired temperature). A power event labeled I1 corresponds to the incandescent light bulb being turned on, and a power event labeled I0 corresponds to the incandescent light bulb being turned off.

在功率事件210,炉子的燃烧器被开启,并且燃烧器的加热元件消耗电力。因此,功率使用在功率监视信号中增加。当加热元件开启时,在功率事件220,白炽灯泡被开启以进一步增加功率使用。在功率事件230、240、250和260,加热元件被关闭,然后开启,然后关闭,以及然后再开启。在功率事件270,白炽灯泡被关闭,并且在功率事件280,炉子的燃烧器被关闭,并且加热元件停止消耗电力。In power event 210, the furnace burner is turned on, and the burner's heating element consumes electricity. Therefore, power usage increases in the power monitoring signal. In power event 220, when the heating element is on, the incandescent bulb is turned on to further increase power usage. In power events 230, 240, 250, and 260, the heating element is turned off, then on, then off again, and then on again. In power event 270, the incandescent bulb is turned off, and in power event 280, the furnace burner is turned off, and the heating element stops consuming electricity.

功率监视器150可以处理功率监视信号200以识别设备和/或确定设备的状态改变。一些状态改变可对应于人开启或关闭设备,并且一些状态改变可对应于设备的功能的改变(例如,加热元件的循环或洗衣机从洗涤模式改变到旋转模式)。功率监视器150可以使用用于识别设备和确定设备的状态改变的任何适当的技术,诸如在美国专利9,443,195中描述的任何技术。The power monitor 150 can process the power monitoring signal 200 to identify the device and/or determine changes in the device's state. Some state changes may correspond to a person turning the device on or off, and some state changes may correspond to changes in the device's function (e.g., the circulation of a heating element or a washing machine changing from a washing mode to a spin mode). The power monitor 150 can use any suitable technology for identifying the device and determining changes in the device's state, such as any technology described in U.S. Patent 9,443,195.

在一些实施方式中,功率监视器150可以利用数学模型来处理功率监视信号以识别设备并且确定设备的状态改变。这样的模型将被称为功率模型。例如,功率监视器150可以具有用于不同类型的设备(例如,炉子、洗碗机、冰箱等)、不同制造的设备(例如Kenmore洗碗机、Maytag洗碗机等)、不同版本的设备(例如Kenmore 1000洗碗机)和特定设备(例如,100主街处的洗碗机)的功率模型。功率监视器150还可以具有用于特殊状态改变的功率模型,诸如设备开启、设备关闭或设备以另一方式改变操作(洗碗机的水泵开启或关闭)。在常见的使用中,Kenmore 1000洗碗机中“1000”可以被称为洗碗机的“模型”,但是为了避免与数学模型混淆,洗碗机的“模型”在本文中将被替代地称为“版本”。In some implementations, the power monitor 150 may utilize a mathematical model to process power monitoring signals to identify devices and determine changes in device status. Such a model will be referred to as a power model. For example, the power monitor 150 may have power models for different types of devices (e.g., stoves, dishwashers, refrigerators, etc.), devices of different manufactures (e.g., Kenmore dishwashers, Maytag dishwashers, etc.), different versions of devices (e.g., Kenmore 1000 dishwashers), and specific devices (e.g., dishwashers at 100 Main Street). The power monitor 150 may also have power models for specific state changes, such as device on, device off, or device changing operation in another way (the dishwasher's water pump turns on or off). In common use, "1000" in Kenmore 1000 dishwasher may be referred to as the "model" of the dishwasher, but to avoid confusion with mathematical models, the "model" of the dishwasher will be referred to herein as the "version".

当利用功率模型(诸如上面提到的任何功率模型)来处理功率监视信号时,功率模型可以生成指示功率模型和功率监视信号之间的匹配的分数(例如,概率、可能性、置信度等)。当功率事件发生在功率监视信号中时(诸如图2中的任何事件),包括功率事件的功率监视信号的一部分可由多种功率模型处理,并且分数可由功率模型中的每个生成。功率模型分数可以用于识别家庭中的设备和/或确定家庭中的设备的状态改变。When power monitoring signals are processed using power models (such as any of the power models mentioned above), the power models can generate scores (e.g., probability, likelihood, confidence, etc.) indicating a match between the power model and the power monitoring signal. When a power event occurs in the power monitoring signal (such as any of the events in Figure 2), a portion of the power monitoring signal including the power event can be processed by multiple power models, and scores can be generated by each of the power models. The power model scores can be used to identify devices in the home and/or determine changes in the state of devices in the home.

在一些实施方式中,功率监视信号处理可以如下进行。功率监视信号可以被连续地处理以识别功率监视信号中的功率事件。在功率监视信号具有稳定值或微小波动的情况下,在房屋中可能不存在任何设备状态改变。功率事件检测部件可以检测可能对应于设备状态改变的电信号的改变,并且使得功率监视信号的这些部分被进一步处理。可以使用任何适当的技术(诸如分类器)来实现功率事件检测部件。In some implementations, power monitoring signal processing can be performed as follows: The power monitoring signal can be continuously processed to identify power events within the signal. In cases where the power monitoring signal has a stable value or slight fluctuations, there may be no change in the state of any equipment in the house. The power event detection component can detect changes in the electrical signal that may correspond to a change in the state of the equipment, and cause these portions of the power monitoring signal to be further processed. The power event detection component can be implemented using any suitable technique, such as a classifier.

在检测到功率事件之后,可使用特征生成部件来从功率监视信号的包括功率事件的部分来生成特征。可以计算任何适当的特征,诸如在美国专利9,443,195中描述的任何特征。After a power event is detected, a feature generation component can be used to generate a feature from the portion of the power monitoring signal that includes the power event. Any suitable feature can be calculated, such as any feature described in U.S. Patent 9,443,195.

然后,特征可以由一个或多个功率模型处理以识别设备或确定与功率事件对应的设备状态改变。可以使用任何适当的功率模型,诸如在美国专利9,443,195中描述的转变模型、设备模型、瓦特数模型和先前模型。例如,每个功率模型可以生成分数,并且可以通过选择具有最高分数的功率模型来确定设备状态改变。The features can then be processed by one or more power models to identify devices or determine device state changes corresponding to power events. Any suitable power model can be used, such as the transition model, device model, watt-number model, and previous models described in U.S. Patent 9,443,195. For example, each power model can generate a score, and device state changes can be determined by selecting the power model with the highest score.

现在描述用于使用功率模型来识别家庭中的设备的技术。在一些实施方式中,功率监视器150可以安装有对应于可能在房屋中的设备的功率模型的初始集合。当处理功率监视信号时,可以使用功率模型针对在功率监视信号中发生的功率事件生成分数。这些分数可以用于识别什么设备在房屋中。Techniques for using power models to identify devices in a home are now described. In some embodiments, the power monitor 150 may be equipped with an initial set of power models corresponding to devices that may be in the home. When processing the power monitoring signal, the power models can be used to generate scores for power events occurring in the power monitoring signal. These scores can be used to identify what devices are in the home.

在一些实施方式中,如果由功率模型生成的分数超过阈值,则功率监视器150可以将设备识别为在房屋中。例如,当洗碗机模型处理对应于洗碗机被开始的功率监视信号的一部分时,洗碗机模型可以生成超过阈值的分数。阈值可以特定于洗碗机模型,或者阈值可以对于所有功率模型是相同的。在一些实施方式中,除了分数之外或代替分数,可以计算置信度水平,并且当置信度水平超过阈值时将识别设备。In some implementations, the power monitor 150 may identify a device as being in the home if the score generated by the power model exceeds a threshold. For example, when the dishwasher model processes a portion of the power monitoring signal corresponding to the start of the dishwasher, it may generate a score exceeding the threshold. The threshold may be specific to the dishwasher model, or it 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 will be identified when the confidence level exceeds the threshold.

在一些实施方式中,在识别设备之前可以考虑附加的准则。例如,功率监视器150可以具有对应于不同类型的洗碗机(例如,常规洗碗机和节能洗碗机)的多个洗碗机功率模型,或者可以存在用于不同制造的洗碗机的功率模型。当处理对应于洗碗机开始的功率监视信号时,多个洗碗机模型可以产生超过阈值的分数(或置信度水平)。代替识别多个洗碗机,可以识别对应于超过阈值的最高分数模型的单个洗碗机。例如,功率监视器150可以具有用于Kenmore洗碗机和Bosch洗碗机的功率模型。每个模型可以生成超过阈值的分数,但是Kenmore模型的分数可以高于Bosch模型的分数。因此,可以识别Kenmore洗碗机。In some implementations, additional criteria may be considered before identifying the device. For example, the power monitor 150 may have multiple dishwasher power models corresponding to different types of dishwashers (e.g., conventional dishwashers and energy-efficient dishwashers), or power models may exist for dishwashers of different manufactures. When processing a power monitoring signal corresponding to the start of a dishwasher, the multiple dishwasher models may produce scores (or confidence levels) exceeding a threshold. Instead of identifying multiple dishwashers, a single dishwasher corresponding to the model with the highest score exceeding the threshold can be identified. For example, the power monitor 150 may have power models for Kenmore and Bosch dishwashers. Each model may generate scores exceeding the threshold, but the score of the Kenmore model may be higher than that of the Bosch model. Therefore, the Kenmore dishwasher can be identified.

在一些实施方式中,功率监视器150可以在已经识别出设备之后利用附加功率模型来更新。例如,在已经确定房屋具有洗碗机之后,功率模型可以被添加到对应于洗碗机的最常见的制造的功率监视器150。然后可以利用用于不同制造的洗碗机的功率模型来处理功率监视信号,并且可以使用最高得分功率模型来识别房屋中的洗碗机的制造。可以重复该过程以确定附加信息,诸如洗碗机的版本(例如Kenmore 1000洗碗机)。In some implementations, the power monitor 150 can be updated using additional power models after a device has been identified. For example, after it has been determined that a house has a dishwasher, a power model can be added to the power monitor 150 corresponding to the most common manufacturer of the dishwasher. The power monitoring signal can then be processed using power models for dishwashers of different manufacturers, and the manufacturer of the dishwasher in the house can be identified using the highest-scoring power model. This process can be repeated to determine additional information, such as the version of the dishwasher (e.g., a Kenmore 1000 dishwasher).

在已经识别房屋中的设备之后,功率监视器150可以处理功率监视信号以确定所识别的设备的状态改变。除了具有用于特殊设备的功率模型之外,功率监视器150还可以具有用于设备的特殊状态改变的模型,并且这些模型可以用于确定设备何时改变状态。After identifying the devices in the house, the power monitor 150 can process the power monitoring signal to determine changes in the state of the identified devices. In addition to having a power model for specific devices, the power monitor 150 may also have a model for specific state changes of the devices, and these models can be used to determine when the devices change state.

如上文所描述,用于设备的状态改变的功率模型可用于处理功率监视信号以生成可能状态改变的分数。在分数(或置信度水平)超过阈值的情况下,功率监视器150可以确定对应于模型的状态改变已经发生。例如,功率监视器150可以具有用于洗碗机开始操作和结束操作的功率模型。当用于洗碗机开始的功率模型生成超过阈值的分数时,功率监视器150可以确定洗碗机已经开始。类似地,当用于洗碗机结束的功率模型生成超过阈值的分数时,功率监视器150可以确定洗碗机已经结束其循环。As described above, a power model for device state changes can be used to process power monitoring signals to generate a score indicating 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 dishwasher start-up and end-up operations. When the power model for dishwasher start-up generates a score exceeding a threshold, the power monitor 150 can determine that the dishwasher has started. Similarly, when the power model for dishwasher end-up generates a score exceeding a threshold, the power monitor 150 can determine that the dishwasher has finished its cycle.

用于确定状态改变的功率模型不需要与用于识别设备的功率模型相同,并且用于确定状态改变的阈值不需要与用于识别设备的阈值相同。可以调整模型和阈值以获得准确度和错误率的期望折衷。The power model used to determine state changes does not need to be the same as the power model used to identify devices, and the threshold used to determine state changes does not need to be the same as the threshold used to identify devices. The model and threshold can be adjusted to achieve a desired trade-off between accuracy and error rate.

上述用于识别设备和确定设备的状态改变的操作的各方面可以由其它计算机替代功率监视器150(例如,结合功率监视器操作的服务器计算机)来执行。例如,在一些实施方式中,功率监视器150可向另一计算机(例如,服务器)提供功率监视信号,并且另一计算机可识别设备和状态改变。在一些实施方式中,其它计算机可以识别设备,并且功率监视器150可以确定设备的状态改变。The aspects of the operations described above for identifying the device and determining changes in the device's state can be performed by other computers instead of the power monitor 150 (e.g., a server computer operating in conjunction with the power monitor). For example, in some embodiments, the power monitor 150 may provide a power monitoring signal to another computer (e.g., a server), and this other computer may be able to identify the device and the state change. In some embodiments, the other computer may be able to identify the device, and the power monitor 150 may be able to determine the change in the device's state.

网络监视Network surveillance

在一些实施方式中,功率监视器150可以连接到房屋中的计算机网络。例如,功率监视器150可以具有到房屋中的路由器的有线连接(例如,LAN以太网),可以具有到网络的无线连接(例如,Wi-Fi),或者可以具有与其它设备的直接网络连接(例如,蓝牙)。在这些实施方式中,功率监视器150也是网络监视器,但是为了呈现的清楚性,下面的描述将继续使用术语功率监视器。In some implementations, the power monitor 150 may be connected to a computer network in the home. For example, the power monitor 150 may have a wired connection to a router in the home (e.g., LAN Ethernet), a wireless connection to a 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.

图3图示了示例系统300,其中功率监视器150连接到房屋中的网络。在该示例中,功率监视器150具有与网络设备310的网络连接,网络设备310可以是促进房屋中的网络的任何设备,诸如调制解调器、路由器或集线器。房屋中的其它设备也可以连接到网络设备310。例如,电视320(例如,智能电视)、计算机330(例如,个人计算机)、智能开关340(例如,Phillips Hue或Belkin Wemo开关)和电话360(例如,安卓手机或iPhone)也可以连接到家庭网络。功率监视器150可以使用任何适当的有线或无线网络配置(诸如LAN以太网或与其它设备的直接连接)连接到房屋中的其它设备。在一些实施方式中,功率监视器150可以同时在多个网络(例如,到家庭路由器的Wi-Fi连接和到特定设备的蓝牙连接)上通信。Figure 3 illustrates an example system 300 in which a power monitor 150 is connected to a network in the home. In this example, the power monitor 150 has a network connection to a network device 310, which can be any device that facilitates the network in the home, such as a modem, router, or hub. Other devices in the home can also be connected to the network device 310. For example, a television 320 (e.g., a smart TV), a computer 330 (e.g., a personal computer), a smart switch 340 (e.g., a Phillips Hue or Belkin Wemo switch), and a telephone 360 (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 LAN Ethernet or direct connection to other devices. In some implementations, the power monitor 150 can communicate on multiple networks simultaneously (e.g., a Wi-Fi connection to a home router and a Bluetooth connection to a specific device).

功率监视器150可以使用通过计算机网络传输的数据来了解房屋中的设备。例如,功率监视器150可以监听来自其它设备的广播消息,可以轮询其它设备,或者可以监听由其它设备生成的网络数据。在一些实施方式中,功率监视器150可以经由房屋外部的网络间接地了解房屋中的其它设备。例如,房屋中的设备可以向结合该设备操作的第三方服务器传输信息,并且第三方服务器可以向结合功率监视器150操作的服务器传输信息。这些技术中的每个可以用于识别房屋中的设备并且确定设备的状态改变(例如,设备打开或关闭)。Power monitor 150 can use data transmitted over a computer network to understand the devices in the house. For example, power monitor 150 can listen for broadcast messages from other devices, poll other devices, or listen for network data generated by other devices. In some embodiments, power monitor 150 can indirectly understand other devices in the house via a network outside the house. For example, devices in the house can transmit information to a third-party server operating in conjunction with the device, and the third-party server can transmit information to a server operating in conjunction with power monitor 150. Each of these techniques can be used to identify devices in the house and determine changes in device status (e.g., device turned on or off).

在一些实施方式中,房屋中的设备可以传输数据,该数据包括关于设备本身的信息(例如,广播消息或对轮询的响应)。例如,网络传输可以包括以下各项中的任一项:状态(例如,刚被开启或将要关闭的设备)、由设备提供的服务、用户分配的名称(例如,“John的Mac”)、制造、硬件版本、软件版本、网络地址(例如,IP地址)、识别号(例如,MAC地址、设备序列号、通用唯一标识符、全局唯一标识符或临时标识符)或其它信息(例如,协议特定的识别(诸如ZeroConf服务名称)或与SSDP协议一起使用的资源定位符)。In some implementations, devices in the home can transmit data that includes information about the device itself (e.g., broadcast messages or responses to polling). For example, network transmissions may include any of the following: status (e.g., a device that has just been turned on or is about to be turned off), services provided by the device, a user-assigned name (e.g., “John’s Mac”), manufacture, 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 identification (such as a ZeroConf service name) or a resource locator used with the SSDP protocol).

图4A图示了功率监视器150通过监听来自另一设备(广播设备)的广播消息来了解关于另一设备的信息的示例时间线。一些设备可被配置成跨越网络广播信息以将由设备提供的服务或能力通告到网络上的其它设备。例如,电视可提供服务以允许其它设备(例如,电话或个人计算机)将视频内容流式传输到电视以供电视显示,并且电视可将消息广播到网络,使得其它设备知道此服务可用。Figure 4A illustrates an example timeline of a power monitor 150 learning about another device by listening to broadcast messages from that device (broadcasting device). Some devices can be configured to broadcast information across a network to advertise the services or capabilities offered by the device 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 to the television for display, and the television can broadcast messages to the network so that other devices know that the service is available.

在图4A中,广播设备传输消息以通告服务的可用性,并且稍后传输消息以通告服务的撤销。在图4A中,时间从顶部到底部进行,并且在410,广播设备被开启,诸如被人开启。然后,在411,广播设备可以通过在网络上广播一个或多个消息来通告其提供的服务,并且该消息可以由网络上的其它设备(包括功率监视器150)接收。稍后,广播设备可以在412接收断电事件,诸如(例如,来自人的)输入以将其自身关闭。在接收该输入之后,广播设备可以在413向网络上的其它设备广播服务被撤销的消息,并且该消息可以由功率监视器150接收。在广播消息之后,广播设备可以在414关闭。In Figure 4A, the broadcasting device transmits a message to announce the availability of the service, and later transmits a message to announce the cancellation of the service. In Figure 4A, time progresses from top to bottom, and at 410, the broadcasting device is turned on, such as by a person. Then, at 411, the broadcasting device can announce the services it provides by broadcasting one or more messages on the network, and these messages can be received by other devices on the network (including power monitor 150). Later, the broadcasting device can receive a power outage event at 412, such as input (e.g., from a person) to shut itself down. After receiving this input, the broadcasting device can broadcast a message that the service has been cancelled to other devices on the network at 413, and this message can be received by power monitor 150. After broadcasting the message, the broadcasting device can turn off at 414.

广播不限于在设备开启之后和在设备关闭之前,并且广播可以在任何时间使用来通告服务的任何改变或提醒网络上的其它设备服务可用。例如,设备可以在进入睡眠之前或在从处于睡眠模式中醒来之后广播消息,以指示设备的状态,以指示设备正在使用中(例如,正在播放歌曲或关于正在播放的歌曲的信息),或者以指示正在呈现的媒体的类型已经改变。在一些实施方式中,设备可以使用简单服务发现协议(SSDP)、零配置联网(zeroconf)或NetBIOS来广播消息。例如,在利用SSDP的情况下,设备可以使用多播寻址来向网络上的所有设备广播消息。Broadcasting is not limited to what happens after a device is powered on and before it is powered off; it can be used at any time to announce any changes to a service or to alert other devices on the network that a service is available. For example, a device may broadcast messages before entering sleep mode or after waking from sleep mode to indicate the device's status, to indicate that the device is in use (e.g., playing a song or information about the song being played), or to indicate that the type of media being presented has changed. In some implementations, devices may use Simple Service Discovery Protocol (SSDP), zero-configuration networking (zeroconf), or NetBIOS to broadcast messages. For example, when using SSDP, a device may use multicast addressing to broadcast messages to all devices on the network.

来自广播消息的信息可以用于识别房屋中的设备。例如,消息可包括可用于识别设备的数据,诸如描述设备的文本或标识符。来自广播消息的信息也可以用于确定设备的状态。例如,宣告服务的可用性可指示设备开启并且宣告服务的撤销可指示设备关闭。在一些实施方式中,广播消息可以提供关于设备的一些信息,并且在接收到广播消息之后,功率监视器150可以轮询设备以获得关于设备状态的附加信息。例如,网络扬声器系统可以广播该服务可用,并且功率监视器150然后可以轮询网络系统以发现它当前正在播放音乐和关于正在播放的音乐的信息(例如,歌曲标题、音量等)。Information from broadcast messages can be used to identify devices in the home. For example, the message may include data that can be used to identify the device, such as text or identifiers describing the device. Information from broadcast messages can also be used to determine the status of a device. For example, announcing service availability may indicate that the device is on, and announcing service withdrawal may indicate that the device is off. In some implementations, broadcast messages may provide some information about the device, and after receiving a broadcast message, power monitor 150 may poll the device to obtain additional information about the device's status. For example, a network speaker system may broadcast that the service is available, and power monitor 150 may then poll the network system to find out what music it is currently playing and information about the music being played (e.g., song title, volume, etc.).

图4B图示了功率监视器150通过使用轮询技术来了解关于另一设备的信息的示例时间线。功率监视器150可以一次一个地轮询其它设备,或者可以同时轮询多个设备,但是为了呈现的清楚性,仅示出了一个轮询设备。Figure 4B illustrates an example timeline of a power monitor 150 using polling techniques to learn about another device. The power monitor 150 may poll other devices one at a time, or it may poll multiple devices simultaneously, but for clarity, only one polling device is shown.

在图4B中的时间线开始时,轮询设备处于关闭状态。在420,功率监视器150轮询轮询设备,但是由于轮询设备处于关闭状态,轮询设备不响应于轮询请求。功率监视器150可以确定当其没有接收到对轮询请求的响应(或者可能不接收对多个轮询请求的响应)时,轮询设备处于关闭状态。At the start of the timeline in Figure 4B, the polling device is in a turned-off state. At 420, the power monitor 150 polls the polling device, but because the polling device is in a turned-off state, it does not respond to the polling request. The power monitor 150 can determine that the polling device is in a turned-off state when it does not receive a response to the polling request (or may not receive responses to multiple polling requests).

在421,例如由人开启轮询设备。在422,功率监视器150再次轮询轮询设备。由于轮询设备现在是开启的,所以轮询设备在423响应。在从轮询设备接收到响应之后,功率监视器150可以确定轮询设备已经从关闭状态转变到开启状态。轮询响应可以包括可以用于确定设备的状态的信息,如下面更详细地描述的那样。轮询响应可以包括上面针对广播消息描述的任何信息。At 421, for example, the polling device is turned on by a person. At 422, the power monitor 150 polls the polling device again. Since the polling device is now on, the polling device responds at 423. After receiving a response from the polling device, the power monitor 150 can determine that the polling device has transitioned from a closed state to an open state. The polling response may include information that can be used to determine the state of the device, as described in more detail below. The polling response may include any information described above for broadcast messages.

在424,功率监视器150再次轮询轮询设备,并且在425,轮询设备对轮询请求进行响应,使得功率监视器150可以确定轮询设备仍然处于开启状态。在426,轮询设备被关闭。在427,功率监视器150再次轮询轮询设备并且未接收到响应,因此功率监视器150可以确定轮询设备现在处于关闭状态。At 424, power monitor 150 polls the polling device again, and at 425, the polling device responds to the polling request, allowing power monitor 150 to determine that the polling device is still on. At 426, the polling device is turned off. At 427, power monitor 150 polls the polling device again and receives no response, therefore power monitor 150 can determine that the polling device is now off.

可以使用任何适当的轮询技术来轮询设备。在一些实施方式中,上述广播技术还可以允许轮询。例如,SSDP可以允许设备轮询网络上的其它设备以确定那些设备提供什么服务,并且那些设备可以利用类似于上述广播消息的消息来响应。在一些实施方式中,可以使用较低级协议轮询,诸如因特网控制消息协议(ICMP)发送回显信息(ping)或地址解析协议(ARP)发送回显信息。Any suitable polling technique can be used to poll devices. In some implementations, the broadcast techniques described above can also allow polling. For example, SSDP can allow devices to poll other devices on the network to determine which devices provide what services, and which devices can respond with messages similar to the broadcast messages described above. In some implementations, lower-level protocols can be used for polling, such as Internet Control Message Protocol (ICMP) sending ping messages or Address Resolution Protocol (ARP) sending echo messages.

来自轮询响应的信息可以用于识别房屋中的设备。例如,轮询响应可以包括可以用于识别设备的数据,诸如描述设备的文本或标识符。轮询响应也可以用于确定设备的状态。例如,缺少对轮询请求的响应可以指示设备关闭,响应可以指示设备开启,并且响应中的信息可以提供附加信息(例如,正在播放的歌曲)。Information from polling responses can be used to identify devices in the house. For example, a polling response may include data that can be used to identify a device, such as text or identifiers describing the device. Polling responses can also be used to determine the status of a device. For example, a lack of response to a polling request may indicate that a device is off, a response may indicate that a device is on, and information in the response may provide additional information (e.g., the song currently playing).

图4C图示了功率监视器150通过监视由设备向其它设备发送的网络数据来了解关于另一设备的信息的示例时间线。在一些实施方式中,单独的设备监视可以仅与由用户的明确选择一起使用,或者可以仅使用网络数据包报头(而不是数据包主体)以避免收集太多信息或避免收集敏感信息。Figure 4C illustrates an example timeline of how a power monitor 150 learns information about another device by monitoring network data sent from the device to other devices. In some implementations, individual device monitoring may be used only with explicit user selection, or only network packet headers (rather than packet bodies) may be used to avoid collecting too much information or to avoid collecting sensitive information.

在图4C中,监视的设备在430开启。在431、432、433和434,监视的设备通过网络向另一设备传输数据,所述另一设备可以是与功率监视器150不同的设备。在435,监视的设备关闭并且其停止发送网络传输。功率监视器150可以诸如通过被动地接收网络数据包而在网络上被动地接收该网络数据。In Figure 4C, the monitored device is turned on at 430. At 431, 432, 433, and 434, the monitored device transmits data over the network to another device, which may be different from the power monitor 150. At 435, the monitored device is turned off and it stops sending network transmissions. The power monitor 150 may passively receive network data over the network, for example, by passively receiving network packets.

功率监视器150可以处理接收的数据以确定关于监视的设备的信息。接收的数据中的信息可用于识别设备,诸如描述设备的文本或标识符。接收的数据还可以用于确定设备的状态。例如,设备正在传输数据的事实指示设备是开启的,并且如果该设备在一段时间内不传输任何数据,则可以确定设备是关闭的。The power monitor 150 can process the received data to determine information about the monitored device. Information in the received data can be used to identify the device, such as text or identifiers describing the device. The received data can also be used to determine the device's status. For example, the fact that the device is transmitting data indicates that the device is on, and if the device does not transmit any data for a period of time, it can be determined that the device is off.

在一些实施方式中,功率监视器150可以具有关于第三方设备的公开可用API的信息,并且使用这些API来确定这样的第三方设备是否存在于房屋中。例如,功率监视器150可以使用Nest恒温器API周期性地发出请求,以确定房屋中是否存在Nest恒温器。在确定Nest恒温器在房屋中之后,其可以更频繁地被轮询以确定Nest恒温器的状态或加热/冷却系统的状态。API可以允许例如其它设备确定房屋的温度、由用户设定的期望温度或者加热系统或冷却系统的状态(例如,炉当前是否是活动的或者炉活动的开始和停止时间)。利用专门的API查询设备可以允许功率监视器150确定设备本身(例如,Nest恒温器)和连接到它的其它设备(例如,炉)的状态。In some implementations, the power monitor 150 may have information about publicly available APIs for third-party devices and use these APIs to determine the presence of such third-party devices in the house. For example, the power monitor 150 may periodically make requests using the Nest thermostat API to determine the presence of a Nest thermostat in the house. After determining that the Nest thermostat is in the house, it may be polled more frequently to determine the status of the Nest thermostat or the heating/cooling system. The API may allow, for example, other devices to determine the temperature of the house, a user-set desired temperature, or the status of the heating or cooling system (e.g., whether the furnace is currently active or the start and stop times of furnace activity). Utilizing a dedicated API query device can allow the power monitor 150 to determine the status of the device itself (e.g., the Nest thermostat) and other devices connected to it (e.g., the furnace).

在一些实施方式中,功率监视器150可以订阅由第三方设备传输的通知,所述第三方设备在本文中被称为通知设备。通知设备可以被配置成(例如,周期性地或者在状态改变时)向其它设备传输通知,并且允许其它设备使用API对通知进行注册以接收通知。功率监视器150可以确定通知设备在房屋中,以及然后订阅以从设备接收通知。功率监视器150可以传输请求以从通知设备接收通知,而不用知道通知设备存在,并且通知设备存在的情况下被订阅以接收通知。一些通知设备可以具有需要用户辅助的配对过程,并且功率监视器150可以被配置成从用户接收输入以辅助配对过程,诸如接收用户名和密码以与通知设备配对。In some implementations, the power monitor 150 can subscribe to notifications transmitted by a third-party device, referred to herein as a notification device. The notification device can be configured to (e.g., periodically or upon a change in state) transmit notifications to other devices and allow other devices to register for notifications using an API. The power monitor 150 can determine that the notification device is in the house and then subscribe to receive notifications from the device. The power monitor 150 can transmit a request to receive notifications from the notification device without knowing that the notification device exists, and subscribe to receive notifications if the notification device exists. Some notification devices may have a pairing process requiring user assistance, and the power monitor 150 can be configured to receive input from the user to assist the pairing process, such as receiving a username and password to pair with the notification device.

其它第三方设备还可提供关于其连接到的设备的信息,诸如智能开关340(例如,Phillips Hue或Belkin Wemo)。智能开关可以具有允许其它设备与其交互的API,并且功率监视器150可以使用该API来确定开关的状态,以及相应地,确定连接到智能开关的设备是否正在消耗功率(例如,设备开启、设备关闭、或者调光器类型开关处于40%)。Other third-party devices may also provide information about the devices they are connected to, such as the smart switch 340 (e.g., Phillips Hue or Belkin Wemo). The smart switch may have an API that allows other devices to interact with it, and the power monitor 150 can use this API to determine the state of the switch, and accordingly, whether the device connected to the smart switch is consuming power (e.g., device on, device off, or dimmer-type switch at 40%).

在一些实施方式中,功率监视器150可以经由在房屋外部的服务器(诸如结合房屋中的第三方设备操作的第三方服务器)接收关于房屋中的设备的信息。功率监视器150可以结合功率监视器服务器来操作,并且房屋中的第三方设备可以结合第三方服务器来操作。例如,Nest恒温器可以向由Nest操作的服务器发送关于恒温器或房屋的加热/冷却系统的状态的信息。第三方服务器可以允许用户提供配置信息以使得第三方服务器使用例如功率监视器服务器或第三方服务器的API向功率监视器服务器传输信息。例如,Nest服务器可以诸如以周期性基础或当恒温器的状态改变(或加热/冷却系统的状态改变)时,将从房屋中的Nest恒温器接收的信息传输到功率监视器服务器。在一些实施方式中,功率监视器服务器可以向第三方服务器发送对关于第三方设备的信息的请求,而不是从第三方服务器接收通知。在一些实施方式中,第三方设备可以直接与功率监视器服务器通信,或者功率监视器150可以直接与第三方服务器通信。In some implementations, the power monitor 150 may receive information about devices in the house via a server located outside the house (such as a third-party server operating in conjunction with third-party devices in the house). The power monitor 150 may operate in conjunction with a power monitor server, and third-party devices in the house may operate in conjunction with the third-party server. For example, a Nest thermostat may send information about the status of the thermostat or the house's heating/cooling system to a server operated by Nest. The third-party server may allow users to provide configuration information to transmit information to the power monitor server using, for example, an API of the power monitor server or a third-party server. For example, the Nest server may transmit information received from the Nest thermostat in the house to the power monitor server, such as on a periodic basis or when the status of the thermostat changes (or the status of the heating/cooling system changes). In some implementations, the power monitor server may send requests for information about third-party devices to the third-party server instead of receiving notifications from the third-party server. In some implementations, the third-party devices may communicate directly with the power monitor server, or the power monitor 150 may communicate directly with the third-party server.

在一些实施方式中,在来自设备的网络传输中接收的信息可被用于获得关于设备的进一步信息。例如,网络传输可以包括唯一标识符,诸如媒体访问控制(MAC)地址。可以使用唯一标识符来使用关于使用唯一标识符的设备的数据存储或信息储存库来确定关于设备的附加信息。数据存储可以基于唯一标识符来提供关于设备的类型、制造和/或版本的信息。例如,对于MAC地址,连续MAC地址的块可特定于设备(例如,电视)的类型、制造商或设备的版本(例如,电视的特殊模型)的类型。在一些实施方式中,MAC地址信息的数据存储可以是可用的,诸如通过第三方服务,并且可以使用MAC地址获得关于设备的信息。可以创建、购买或(例如,使用第三方服务器)访问标识符的数据存储以从标识符获得关于设备的信息。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 unique identifiers, such as Media Access Control (MAC) addresses. Unique identifiers can be used to determine additional information about the device using data storage or information repositories about devices using unique identifiers. Data storage can provide information about the type, manufacture, and/or version of the device based on the unique identifier. For example, for MAC addresses, blocks 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 a television). In some implementations, the data storage for MAC address information may be available, such as through a third-party service, and information about the device can be obtained using the MAC address. Data storage for identifiers can be created, purchased, or (e.g., using a third-party server) accessed to obtain information about the device from the identifiers.

在一些实施方式中,用户设备(诸如智能电话)可用于确定关于房屋中的设备的信息,并且智能电话可将此信息中继到功率监视器150。例如,扬声器370(例如,便携式蓝牙扬声器)可不具有与网络设备310的网络连接并且可以替代地使用另一网络(诸如蓝牙网络)来与其它设备通信。扬声器370可能离功率监视器150太远,使得功率监视器可能不能检测扬声器370的网络。诸如电话360的用户设备可以被带入与扬声器370相同的房间中,并且电话360可能能够使用直接网络连接来确定扬声器370存在和/或扬声器370的操作状态。然后,电话360可以将关于扬声器370的存在和/或操作状态的信息中继到功率监视器150或与功率监视器150结合工作的服务器。In some implementations, a user device (such as a smartphone) can be used to determine information about devices in the house, and the smartphone can relay this information to the power monitor 150. For example, a speaker 370 (e.g., a portable Bluetooth speaker) may not have a network connection to the network device 310 and may alternatively use another network (such as a Bluetooth network) to communicate with other devices. The speaker 370 may be too far from the power monitor 150 for the power monitor to detect the speaker 370's network. A user device such as a phone 360 can be brought into the same room as the speaker 370, and the phone 360 may be able to use a direct network connection to determine the presence and/or operational status of the speaker 370. The phone 360 can then relay information about the presence and/or operational status of the speaker 370 to the power monitor 150 or a server that works in conjunction with the power monitor 150.

在一些实施方式中,网络模型可以用于通过处理网络数据来识别设备或确定设备的状态。网络模型可以包括任何适当的数学模型,诸如分类器、神经网络、自组织映射、支持向量机、决策树、随机森林、逻辑回归、贝叶斯模型、线性和非线性回归以及高斯混合模型。网络模型可以接收为从网络传输获得的输入数据,并且输出具有可选分数的设备或设备状态改变的识别。例如,网络模型可以接收广播消息、关于从设备接收的轮询响应(或其缺失)的信息或者关于由该设备生成的网络数据的信息。在一些实施方式中,网络模型可以仅接收网络传输的报头,或者可以从网络传输接收所有数据。In some implementations, the network model can be used to identify devices or determine the state of devices by processing network data. 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 receive input data obtained from network transmissions and output identification of devices or changes in device state with optional scores. For example, the network model can receive broadcast messages, information about polling responses received from a device (or their absence), or information about network data generated by the device. In some implementations, the network model may receive only the headers of network transmissions, or it may receive all data from network transmissions.

在一些实施方式中,可以使用网络模型来识别设备或者使用由设备广播的消息来确定设备的状态。例如,设备可以在其关闭之前传输一定数量和/或类型的消息,并且在进入睡眠模式中时传输不同数量和/或类型的消息。当设备将要关闭时,可以创建用于描述预期消息的第一网络模型,并且当设备将要进入睡眠模式中时,可以创建用于描述预期消息的第二网络模型。当从设备接收广播消息时,消息可以利用两个网络模型来处理以生成每个网络模型的分数,并且状态转变可以由最高得分网络模型来确定。In some implementations, network models can be used to identify devices or to determine the state of a device using messages broadcast by the device. For example, a device may transmit a certain number and/or type of messages before shutting down, and a different number and/or type of messages when entering sleep mode. A first network model describing the expected messages can be created when the device is about to shut down, and a second network model describing the expected messages can be created when the device is about to enter sleep mode. When broadcast messages are received from the device, the messages can be processed using both network models to generate a score for each model, and the state transition can be determined by the network model with the highest score.

还可以创建网络模型以描述上述网络传输的其它方面。例如,可以创建网络模型以描述设备响应于轮询请求的频率以及传输轮询请求和接收响应之间的预期时间延迟。在另一示例中,可以创建描述特殊状态中的设备的预期网络传输的网络模型,并且当被动地监视设备的网络传输时可以应用该网络模型。Network models can also be created to describe other aspects of the network transmissions described above. For example, a network model can be created to describe the frequency at which a device responds to polling requests and the expected time delay between transmitting a polling request and receiving a response. In another example, a network model can be created to describe the expected network transmissions of a device in a specific state, and this network model can be applied when passively monitoring the network transmissions of a device.

在一些实施方式中,基于规则的方法可用于识别房屋中的设备或确定设备的状态。功率监视器150(或结合功率监视器操作的服务器)可以具有已经被创建用于识别设备的类型、设备的制造或设备的版本的规则;用于确定设备的状态改变的规则;以及用于确定设备的其它方面的规则。可针对上文所描述的任何技术来创建规则,所述技术诸如处理来自设备的广播消息、轮询设备或监视由设备生成的网络数据。In some implementations, rule-based methods can be used to identify devices in a building or determine the status of devices. Power monitor 150 (or a server operating in conjunction with a power monitor) may have rules already created for identifying the type, manufacture, or version of a device; rules for determining changes in the status of a device; and rules for determining other aspects of the device. Rules can be created for any of the techniques described above, such as processing broadcast messages from devices, polling devices, or monitoring network data generated by devices.

一些规则可输出布尔值以指示是否满足规则的条件。例如,可以创建规则以确定传输网络数据的设备是否是电视,并且如果满足该规则的条件,则确定设备是电视。一些规则可输出例如在1到100的规模上的分数,以指示网络数据与规则之间的匹配。例如,可以创建规则以确定传输网络数据的设备是否是电视,并且由规则产生的分数可以用于诸如通过将分数与阈值进行比较或者将分数与如本文中所描述的其它分数进行组合做出该确定。Some rules can output Boolean values to indicate 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 conditions of that rule are met, then the device is determined to be a television. Some rules can output scores, for example, on a scale of 1 to 100, to indicate a 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 that determination, such as by comparing the score to a threshold or by combining the score with other scores as described herein.

可以存在用于做出确定的多个规则。例如,可存在用于确定传输网络数据的设备是否为电视的多个规则,并且如果满足规则中的任何一个,那么可确定所述设备为电视。Multiple rules can exist for making a determination. For example, multiple rules can exist for determining whether a device transmitting network data is a television, and if any one of the rules is satisfied, then the device can be determined to be a television.

网络传输中的任何数据或与网络传输相关的数据都可以用作到规则中的输入。例如,从网络传输中提取的信息(诸如网络地址、标识符、报头、字符串)可以用作到规则中的输入。也可以使用不在网络传输中但与网络传输相关的信息,诸如接收网络传输的时间。Any data in or related to network transmission can be used as input to a rule. For example, information extracted from network transmissions (such as network addresses, identifiers, headers, and strings) can be used as input to a rule. Information not in the network transmission but related to it, such as the time the network transmission was received, can also be used.

在一些实施方式中,规则可以包括需要针对要满足的规则来满足的一个或多个条件。例如,条件可以包括数据的任何比较,诸如不相等、相等、大于或小于。规则可以采用条件的任何组合,包括但不限于使用布尔代数的组合。规则的示例包括以下各项:广播包括AFP、HTTP和SSH的ZerConf服务的设备是苹果MAC OS计算机;作为NetBIOS状态轮询请求的一部分返回的结构化数据提供主机的用户可见名称;具有进行DHCP请求的先前未看到的MAC地址的设备是第一次加入网络的新设备;并且使用已知的MAC地址供应商前缀来确定设备的供应商。In some implementations, a rule may include one or more conditions that need to be satisfied for the rule to be satisfied. For example, conditions may include any comparison of data, such as not equal, equal, greater than, or less than. A rule may take 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 is an Apple macOS computer; structured data returned as part of a NetBIOS status polling request provides the host's user-visible name; a device with a previously unseen MAC address making a DHCP request is a new device joining the network for the first time; and the device's vendor is determined using a known MAC address vendor prefix.

在一些实施方式中,可以使用设备指纹识别技术来识别网络上的设备。可以为诸如Mac计算机、Windows计算机和Linux计算机以及可能的每个的不同操作系统版本的已知设备创建设备指纹。可以通过使用例如不同的协议和端口号(例如,使用诸如Nmap的程序)向每个设备发送多个请求来创建指纹。可以记录每个设备的响应以创建每个设备的指纹。当创建设备指纹时,可以使用任何适当的数据,诸如由设备广播的网络协议的数量和类型、广播行为、不同类型的广播的数量或频率或者用于网络传输的参数(例如,TCP窗口大小)。In some implementations, device fingerprinting technology 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 different versions of each operating system. Fingerprints can be created by sending multiple requests to each device using, for example, different protocols and port numbers (e.g., using a program such as Nmap). The responses of each device can be recorded to create a fingerprint for each device. When creating device fingerprints, any appropriate data can be used, such as the number and type of network protocols broadcast by the device, broadcast behavior, the number or frequency of different types of broadcasts, or parameters used for network transmission (e.g., TCP window size).

对于房屋中的未知设备,可以向该设备发送类似的请求,并且响应可以用于创建未知设备的指纹。未知设备的指纹可以与已知设备的指纹相比较以确定关于未知设备的信息。例如,如果未知设备的指纹与MAC膝上型计算机的指纹具有最接近的匹配,则未知设备可被识别为MAC膝上型计算机。在一些实施方式中,地址解析协议(ARP)可用于识别网络上的设备,并且然后可使用上述的技术来指纹识别所识别设备中的每个。For an unknown device in a building, a similar request can be sent to that device, and the response can be used to create a fingerprint of the unknown device. The fingerprint of the unknown device can be compared with the fingerprints of known devices to determine information about the unknown device. For example, if the fingerprint of the unknown device has the closest match to the fingerprint of a Mac laptop computer, the unknown device can be identified as a Mac laptop computer. In some implementations, the Address Resolution Protocol (ARP) can be used to identify devices on the network, and then the techniques described above can be used to fingerprint each of the identified devices.

上述的用于使用网络数据来识别设备或确定设备状态的任何技术可生成指示数据与所识别设备或状态改变之间的匹配的分数。例如,将规则应用于广播消息可以导致确定该设备是具有80%的分数的东芝电视或具有60%的分数的索尼电视。由网络模型生成的分数可以与由功率模型生成的分数组合,如下面更详细地描述的那样。Any of the techniques described above for using network data to identify devices or determine device status can generate scores indicating a match between the data and the identified device or status change. For example, applying a rule to a broadcast message could result in determining that the device is a Toshiba TV with a score of 80% or a Sony TV with a score of 60%. The scores generated by the network model can be combined with scores generated by the power model, as described in more detail below.

组合的功率和网络监视Combined power and network monitoring

图5图示了用于使用功率监视和网络监视中的一个或两个向用户提供关于其家庭中的设备的信息的系统500。在图5中,功率监视器150可以具有上述任何功能性。例如,功率监视器150可以识别房屋中的设备的存在,可以确定房屋中的设备的状态,并且可以确定房屋中的设备的功耗。功率监视器150可以使用任何已知的联网技术将关于家庭中的设备的信息传输到服务器510。例如,功率监视器可以具有到路由器的无线连接,该路由器转而连接到服务器510。Figure 5 illustrates a system 500 for providing a user with information about devices in their home using one or both power monitoring and network monitoring. In Figure 5, the power monitor 150 can have any of the aforementioned functionalities. For example, the power monitor 150 can identify the presence of devices in the home, determine the status of the devices, and determine the power consumption of the devices. The power monitor 150 can use any known networking technology to transmit information about the devices in the home to a server 510. For example, the power monitor can have a wireless connection to a router, which in turn connects to the server 510.

服务器510可以处理从功率监视器150接收的信息,并且诸如通过用户设备540向用户呈现信息。服务器510可以维持用于家庭中的设备的设备列表,并且利用新识别的设备或设备的更新状态来更新设备列表。服务器510还可以记录设备状态改变的日志,记录房屋和个体设备的功耗的历史,并且执行美国专利9,443,195中描述的任何其它操作。为了执行一些操作,服务器510可以访问其它资源,诸如第三方服务器530和设备信息数据存储520。Server 510 can process information received from power monitor 150 and, for example, present information to a user via user equipment 540. Server 510 can maintain a device list for devices used in the home and update the device list using newly identified devices or updated device status. Server 510 can also log device status changes, record the power consumption history of home and individual devices, and perform any other operations described in U.S. Patent 9,443,195. To perform some operations, server 510 can access other resources, such as third-party server 530 and device information data storage 520.

用户可以使用用户设备540获得关于房屋中的设备的信息。用户设备540可以是向用户提供信息的任何设备,包括但不限于电话、平板电脑、台式计算机和可穿戴设备。用户设备540可以向用户呈现例如关于设备状态改变和实时功率使用的信息。例如,用户设备540可以向用户呈现网页,或者可以在用户设备540上安装特殊目的的应用。由用户设备540呈现的信息可以包括在美国专利9,443,195中描述的任何信息。A user can use user device 540 to obtain information about devices in the home. User device 540 can be any device that provides information to the user, including but not limited to telephones, tablets, desktop computers, and wearable devices. User device 540 can present the user with information such as changes in device status and real-time power usage. For example, user device 540 can present the user with a webpage, or a special-purpose application can be installed on user device 540. The information presented by user device 540 can include any information described in U.S. Patent 9,443,195.

为了向用户提供关于家庭中的设备的信息,可以维持家庭中的设备的列表。图6图示了示例设备列表600。设备的列表可以包括与家庭中的设备相关的任何信息,包括但不限于设备ID(其可以是对于家庭特殊的或由提供服务的公司已知的所有设备)、名称(例如,用户提供的名称)、类型、制造、版本、用于识别设备的状态改变的一个或多个功率模型、网络ID(例如,网络地址或其它标识符,诸如MAC地址)以及用于识别设备的状态改变以及设备的状态的一个或多个网络模型。To provide users with information about devices in their homes, a list of devices in the home can be maintained. Figure 6 illustrates an example device list 600. The list of devices may include any information related to the devices in the home, including but not limited to device IDs (which may be specific to the home or known to all devices by the company providing the service), names (e.g., names provided by the user), types, manufacturing, versions, one or more power models used to identify changes in the device's state, network IDs (e.g., network addresses or other identifiers such as MAC addresses), and one or more network models used to identify changes in the device's state and the device's status.

设备列表600可以被存储在一个或多个位置中。例如,设备列表600可以存储在功率监视器150、服务器510、设备信息数据存储520中的一个或多个处或用户设备540上。可以将设备列表的不同版本存储在与在该位置处的处理对应的不同位置中。例如,功率监视器150可以不存储设备的名称、类型、制造或版本,因为可以不需要该信息来确定设备状态改变。用户设备540可以不存储关于功率模型和网络模型的信息,因为用户设备540可以不确定任何设备状态改变。The device list 600 can be stored in one or more locations. For example, the device list 600 can be stored in one or more of the following locations: power monitor 150, server 510, device information data storage 520, or user equipment 540. Different versions of the device list can be stored in different locations corresponding to the processing at that location. For example, power monitor 150 may not store the name, type, manufacture, or version of the devices, because this information may not be needed to determine device status changes. User equipment 540 may not store information about the power model and network model, because user equipment 540 may not be aware of any device status changes.

图7图示了具有功率监视器150的系统700,所述功率监视器150处理功率监视信号和网络数据以识别家庭中的设备并且识别家庭中的设备的状态改变。如上文,家庭110被供应有来自电气公司120的功率。配电板140接收功率并将功率分配给家庭中的设备。一些设备从配电板140接收功率并且不连接到网络(例如,冰箱160、炉子165和灯泡350)。一些设备从配电板接收功率并且连接到网络(例如,功率监视器150、网络设备310、智能电视320、计算机330和智能开关340)。一些设备可以连接到网络,但不从配电板140接收功率,或者仅有时从配电板(例如,可以利用电话充电器710充电的电话360)接收功率。Figure 7 illustrates a system 700 with a power monitor 150 that processes power monitoring signals and network data to identify devices in the home and to detect changes in the status of those devices. As described above, home 110 is supplied with power from electrical company 120. A distribution board 140 receives the power and distributes it to devices in the home. Some devices receive power from the distribution board 140 and are not connected to the network (e.g., refrigerator 160, stove 165, and light bulb 350). Some devices receive power from the distribution board and are connected to the network (e.g., power monitor 150, network device 310, smart TV 320, computer 330, and smart switch 340). Some devices may be connected to the network but do not receive power from the distribution board 140, or only sometimes receive power from the distribution board (e.g., telephone 360, which can be charged using telephone charger 710).

如上文,功率监视器150可以从传感器130接收测量提供给房屋110的功率的电属性的一个或多个功率监视信号。功率监视器150还经由网络设备310连接到房屋110中的网络。功率监视器150可以经由网络设备310(如由虚线所指示)从其它设备接收网络数据,或者可以直接从其它设备(图7中未示出)接收网络数据。对于家庭中的一些设备,功率监视和网络监视中的一个或两个在识别设备或设备的状态改变时可能是不准确的或具有比所期望的更高的错误率。通过协作地或同时地使用功率监视和网络监视两者,可改进识别设备或设备的状态改变的性能。可以使用任何适当的技术来实现同时的功率监视和网络监视,如下面更详细地描述的那样,诸如组合分数、规则或投票技术。As described above, power monitor 150 can receive one or more power monitoring signals from sensor 130 that measure the electrical properties of the power supplied to house 110. Power monitor 150 is also connected to the network in house 110 via network device 310. Power monitor 150 can receive network data from other devices via network device 310 (as indicated by the dashed line), or it can receive network data directly from other devices (not shown in Figure 7). For some devices in a home, one or both of the power monitoring and network monitoring may be inaccurate or have a higher error rate than expected in identifying devices or changes in device status. By using both power monitoring and network monitoring collaboratively or simultaneously, the performance in identifying changes in device status can be improved. Simultaneous power monitoring and network monitoring can be achieved using any suitable technique, such as combined scoring, rule-based, or voting techniques, as described in more detail below.

在一些实施方式中,功率监视器150的操作可以取决于用户是否正在与用户设备540交互以查看关于房屋中的设备的信息而改变。在用户正在使用用户设备540查看关于家庭中的设备的信息的情况下,可能期望比在没有用户正在查看关于家庭中的设备的信息时更快速地识别新设备或设备的状态改变。In some implementations, the operation of the power monitor 150 may vary depending on whether a user is interacting with user equipment 540 to view information about devices in the home. When a user is using user equipment 540 to view information about devices in the home, it may be expected to identify new devices or changes in device status more quickly than when no user is viewing information about devices in the home.

当用户开始利用用户设备540查看关于家庭中的设备的信息时,用户设备540可以建立到服务器510的网络连接,并且服务器510可以向用户设备540传输关于设备的信息。服务器510还可以具有与功率监视器150的网络连接(直接或间接)。因此,服务器510可以向功率监视器150传输信息,以使功率监视器150的操作改变。可以改变功率监视器150的任何操作以改进终端用户的用户体验。在一些实施方式中,功率监视器150可以改变其操作以更快速地识别新设备和新设备的状态改变。例如,功率监视器可以增加用于轮询房屋中的其它设备的轮询频率。在没有用户正在查看关于设备的信息的情况下,5分钟的轮询频率可以足以确定更新。当用户开始查看关于设备的信息时,可以增加轮询频率(例如,10秒)以更快速地确定更新。When a user begins using user device 540 to view information about devices in the home, user device 540 can establish a network connection to server 510, and server 510 can transmit information about the devices to user device 540. Server 510 may also have a network connection (directly or indirectly) to power monitor 150. Therefore, server 510 can transmit information to power monitor 150 to change the operation of power monitor 150. Any changes to the operation of power monitor 150 can be made to improve the end-user's user experience. In some implementations, power monitor 150 can change its operation to more quickly identify new devices and changes in the status of new devices. For example, the power monitor can increase the polling frequency used to poll other devices in the house. A polling frequency of 5 minutes may be sufficient to determine updates when no user is viewing information about devices. When a user begins viewing information about devices, the polling frequency can be increased (e.g., 10 seconds) to determine updates more quickly.

图5和图7的部件的布置和特定功能仅提供可如何实施本文中所描述的技术的一个示例,但其它配置也是可能的。例如,功率监视器150可以执行服务器510的操作中的一些或全部,并且功率监视器150可以直接向用户设备540提供信息。在另一示例中,功率监视器150可以包括用户设备540的功能性中的一些或全部,并且用户可以直接与功率监视器150交互以获得关于设备事件和功耗的信息。The arrangement and specific functions of the components in Figures 5 and 7 provide only one example of how the techniques described herein can be implemented, but other configurations are possible. For example, power monitor 150 may perform some or all of the operations of server 510, and power monitor 150 may provide information directly to user equipment 540. In another example, power monitor 150 may include some or all of the functionality of user equipment 540, and the user may interact directly with power monitor 150 to obtain information about device events and power consumption.

识别设备Identification devices

当功率监视器150首次安装在家庭中时,可以为家庭中的设备创建设备列表。在一些实施方式中,可以创建空的设备列表。在一些实施方式中,设备列表可以利用基于来自家庭中的一个或多个人的输入的设备来初始化。例如,用户可以指定房屋中的设备的任何类型、制造和/或版本。When the power monitor 150 is first installed in a home, a device list can be created for the devices in the home. In some implementations, an empty device list can be created. In some implementations, the device list can be initialized using devices based on input from one or more people in the home. For example, a user can specify any type, manufacture, and/or version of the devices in the house.

功率监视器150可使用功率监视和网络监视中的一个或两个来使用本文中所描述的任何技术来添加或更新设备列表中的设备。设备可以在设备列表被功率监视器识别之后被添加到设备列表,并且设备列表上的设备可以在关于它们的附加信息被确定时被进一步更新。例如,功率监视器150可以初始地确定房屋具有洗碗机,并且其稍后可以确定房屋具有Kenmore 1000洗碗机。Power monitor 150 may use one or both power monitoring and network monitoring to add or update devices in the device list using any of the techniques described herein. Devices may be added to the device list after it has been identified by the power monitor, and devices in the device list may be further updated as additional information about them is determined. For example, power monitor 150 may initially determine that the house has a dishwasher, and it may later determine that the house has a Kenmore 1000 dishwasher.

在一些实施方式中,功率监视器150可响应于处理功率监视信号中的功率事件而向设备列表添加多个设备。例如,如果两个功率模型产生高于阈值的分数,则对应于每个功率模型的设备可以被添加到设备列表。在一些实施方式中,由功率模型产生的分数也可以被包括在设备列表中。In some implementations, the power monitor 150 may 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 may be added to the device list. In some implementations, scores produced by the power models may also be included in the device list.

功率监视器150还可以处理网络数据以识别房屋中的设备并将其添加到设备列表。例如,功率监视器150可以使用上述任何技术来获得关于连接到房屋中的网络的设备的信息,以及然后将设备添加到房屋的设备列表。The power monitor 150 can also process network data to identify devices in the house and add them to a device list. For example, the power monitor 150 can use any of the techniques described above to obtain information about devices connected to the network in the house, and then add the devices to the house's device list.

在一些实施方式中,功率监视器150可以响应于处理网络数据传输而将多个设备添加到设备列表(可选地具有分数)。例如,响应于处理广播消息,东芝电视可被添加到具有第一分数的设备列表,并且索尼电视可被添加到具有第二分数的设备列表。In some implementations, the power monitor 150 may add multiple devices to a device list (optionally with scores) in response to processing network data transmission. For example, in response to processing a broadcast message, a Toshiba TV may be added to a device list with a first score, and a Sony TV may be added to a device list with a second score.

可以随着时间更新设备列表上的设备的分数。例如,处理第一功率事件可以使第一设备和第二设备被添加到具有对应分数的设备列表。在稍后的时间,功率监视器150可以处理第二功率事件以生成用于第一和第二设备的分数的第二集合。使用第二功率事件生成的分数的第二集合可以用于更新设备列表上的第一和第二设备的总体分数。The scores of devices in the device list can be updated over time. For example, processing a first power event can add a first device and a second device to the device list with corresponding scores. At a later time, the power monitor 150 can process a second power event to generate a second set of scores for the first and second devices. The second set of scores generated using the second power event can be used to update the overall scores of the first and second devices in the device list.

类似地,稍后时间的网络数据传输可以用于更新设备列表上的设备的分数。例如,可以基于处理第一网络传输,将第一和第二设备添加到具有对应分数的设备列表中。在稍后的时间,功率监视器150可以处理第二网络传输并且生成用于第一和第二设备的第二分数。如上文,使用第二网络传输生成的分数的第二集合可以用于更新设备列表上的第一和第二设备的总体分数。Similarly, later network data transmissions can be used to update the scores of devices in the device list. For example, based on processing the first network transmission, first and second devices can be added to the device list with corresponding scores. Later, the power monitor 150 can process a second network transmission and generate a second score for the first and second devices. As described above, the second set of scores generated using the second network transmission can be used to update the overall score of the first and second devices in the device list.

在一些实施方式中,设备列表上的设备可具有使用功率监视和网络监视两者生成的分数。在处理功率事件之后,可以将第一设备添加到具有对应分数的设备列表中。稍后,可以通过处理第一网络传输来更新第一设备的分数。可以通过处理功率事件和网络传输事件的任何组合来生成设备列表上的设备的总体分数。In some implementations, devices in the 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 with a corresponding score. Later, the score of the first device can be updated by processing a first network transmission. The overall score of the devices in the device list can be generated by processing any combination of power events and network transmission events.

可以使用任何适当的技术来组合分数。在一些实施方式中,设备的总体分数可以是针对该设备生成的所有个体分数的平均值。在一些实施方式中,可以针对每个分数确定方差,并且可以在组合之前对分数进行归一化(例如,Z-scored)。Score combination can be achieved using any suitable technique. In some implementations, the overall score for a device can be the average of all individual scores generated for that device. In some implementations, variance can be determined for each score, and the scores can be normalized (e.g., Z-scored) before combination.

在一些实施方式中,功率监视器可以同时使用功率监视器监视和网络监视两者来识别设备。对于连接到电线并且具有网络连接的设备,设备可以在状态改变的时间附近引起功率监视信号中的功率事件并且通过网络传输数据(网络事件)。功率监视器150可同时处理功率事件和网络事件两者以识别设备。In some implementations, the power monitor can use both power monitor monitoring and network monitoring simultaneously to identify devices. For devices connected to a power line and having a network connection, the device can generate a power event in the power monitoring signal near the time of a state change and transmit data over the network (network event). The power monitor 150 can process both power events and network events simultaneously to identify devices.

功率事件和网络事件可以以任一顺序出现。图8A图示了在第一时间的功率事件810之后是在第二时间的网络事件820的示例。例如,功率事件810可以对应于正在被开启的电视,并且网络事件820可以对应于通过电视通告服务的可用性的广播消息。图8B图示了在第一时间的网络事件850之后是在第二时间的功率事件860的示例。例如,用户可以关闭电视,并且网络事件850可以是广播消息撤销服务,并且功率事件860可以对应于电视关闭。Power events and network events can occur in any order. Figure 8A illustrates an example where a power event 810 occurs at a first time, followed by a network event 820 at a second time. For example, power event 810 could correspond to a television being turned on, and network event 820 could correspond to a broadcast message announcing the availability of a television service. Figure 8B illustrates an example where a network event 850 occurs at a first time, followed by a power event 860 at a second time. For example, a user could turn off the television, and network event 850 could be a broadcast message canceling a service, while power event 860 could correspond to the television being turned off.

当处理功率事件时,功率监视器150可以寻找在时间上接近功率事件的网络事件(例如,在时间间隔内,诸如在1秒内)并且同时处理它们。例如,功率监视器150可以处理网络事件,其中功率事件的时间与网络事件的时间之间的差小于阈值。类似地,当处理网络事件时,功率监视器150可以寻找在时间上接近网络事件的功率事件。When processing power events, the power monitor 150 can look for network events that are temporally close to the power event (e.g., within a time interval, such as within 1 second) 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, when processing network events, the power monitor 150 can look for power events that are temporally close to the network event.

在一些实施方式中,功率监视器150可以处理功率事件并生成对应功率模型的分数。功率监视器150然后可以寻找时间上接近功率事件的网络事件,并且使用来自网络事件的信息来调整由功率模型生成的分数。例如,前两个得分功率模型可以用于东芝电视和索尼电视,并且得分可以彼此接近。网络事件可以在功率事件之后不久发生,并且网络事件可以对应于东芝电视。功率监视器150可以使用网络事件可以来增加用于识别东芝电视的分数,以及然后识别东芝电视并且将其添加到设备列表。In some implementations, the power monitor 150 can process power events and generate scores corresponding to power models. The power monitor 150 can then look for network events that are temporally close to the power events and use information from the network events to adjust the scores generated by the power models. For example, the first two power models could be used for Toshiba TVs and Sony TVs, and the scores could be close to each other. Network events can occur shortly after the power events, and these network events can correspond to Toshiba TVs. The power monitor 150 can use the network events to increase the score used to identify Toshiba TVs, and then identify and add the Toshiba TVs to the device list.

功率事件和网络事件之间的时间差也可以用于识别设备。设备可以在引起功率事件之后以一致的延迟发出网络事件,或者反之亦然。例如,在引起功率事件之后,电视开启可以在大约3.5秒处一致地发出网络事件(例如,广播服务)。功率事件和网络事件的定时可以是可以与本文中描述的任何识别技术一起使用的特征。The time difference between power events and network events can also be used to identify devices. A device may emit a network event with a consistent delay after causing a power event, or vice versa. For example, a television turning on may consistently emit a network event (e.g., broadcast service) approximately 3.5 seconds after causing a power event. The timing of power events and network events can be a feature that can be used with any of the identification techniques described herein.

在一些实施方式中,可以使用设备识别模型,其接收关于功率事件的信息和关于网络事件的信息两者作为输入,以及然后生成指示输入和设备之间的匹配的分数。例如,可以针对设备的类型、设备的制造或设备的版本创建设备识别模型。在一些实施方式中,功率监视器150可以计算每个设备识别模型的分数,选择具有最高分数的设备识别模型,并且使用最高得分设备识别模型来识别设备。可以使用任何适当的分类技术来创建设备识别模型,诸如神经网络、自组织映射、支持向量机、决策树、随机森林、逻辑回归、贝叶斯模型、线性和非线性回归、以及高斯混合模型。In some implementations, a device identification model can be used that receives both information about power events and information about network events as input, and then generates a score indicating a match between the input and the device. For example, a device identification model can be created based on the type of device, the manufacture of the device, or the version of the device. In some implementations, the power monitor 150 can calculate a score for each device identification model, select the device identification model with the highest score, and use the highest-scoring device identification model to identify the device. Any suitable classification technique can be used to create the device identification model, 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.

在一些实施方式中,除了分数之外还可以计算置信度水平,并且置信度水平可以用于确定是否将设备添加到设备列表或者更新关于设备列表中的设备的信息。例如,在仅一个分数高于阈值并且分数比所有其它分数高得多的情况下,则置信度水平可以是高的。在多个分数高于阈值的情况下,没有分数高于阈值,或者最高分数接近第二最高分数,则置信度可能是低的。可以使用任何适当的技术来确定最高得分设备状态改变的置信度水平。在最高得分模型(例如,功率模型、网络模型或设备识别模型)具有低置信度水平的情况下,可不更新设备列表。In some implementations, a confidence level can be calculated in addition to the score, and this confidence level can be used to determine whether to add a device to the device list or update information about devices in the device list. For example, the confidence level can be high if only one score is above a threshold and that score is significantly higher than all other scores. The confidence level may be low if multiple scores are above the threshold, none are above the threshold, or the highest score is close to the second-highest score. Any suitable technique can be used to determine the confidence level for a change in the status of the highest-scoring device. The device list may not be updated if the highest-scoring model (e.g., power model, network model, or device identification model) has a low confidence level.

还可以从设备列表中移除设备。例如,用户可以查看设备列表并移除房屋中不存在的设备。设备也可以自动地从设备列表中移除。例如,如果设备未被识别达长于一段时间,如果设备的总体分数低于阈值,或者已经获得足够的数据以将设备与替换设备区分开(例如,足够的数据已经被收集以置信地确定电视是东芝电视而不是索尼电视),则可以移除设备。Devices can also be removed from the device list. For example, a user can view the device list and remove devices that are not present in the home. Devices can also be removed automatically from the device list. For example, a device can be removed if it has not been identified for a period of time, if its overall score is below a threshold, or if enough data has been obtained to distinguish it from a replacement device (e.g., enough data has been collected to confidently determine that the TV is a Toshiba TV and not a Sony TV).

图9是图示识别建筑物中的设备的示例实施方式的流程图。在图9中,步骤的顺序是示例性的,并且其它顺序是可能的,不是所有的步骤都是必需的,并且在一些实施方式中,可以省略一些步骤或者可以添加其它步骤。流程图的过程可以例如由本文中描述的任何计算机或系统来实现。Figure 9 is a flowchart illustrating an example implementation of identifying equipment in a building. In Figure 9, the order of steps is exemplary, and other orders are possible. Not all steps are necessary, and in some implementations, some steps may be omitted or others may be added. The process described in the flowchart can be implemented, for example, by any computer or system described herein.

在步骤910,获得功率监视信号。例如,可通过从测量建筑物中的输电线的电属性的传感器(诸如,电流或电压传感器)接收测量结果来获得功率监视信号。输电线可以为建筑物中的一些或所有设备供电。还可以通过从另一设备接收功率监视信号来获得功率监视信号。例如,服务器可以接收由功率监视器传输的功率监视信号。In step 910, a power monitoring signal is obtained. For example, a power monitoring signal can be obtained by receiving measurements from a sensor (such as a current or voltage sensor) that measures the electrical properties of power transmission lines in a building. Power transmission lines can power some or all of the equipment in the building. A power monitoring signal can also be obtained by receiving a power monitoring signal from another device. For example, a server can receive a power monitoring signal transmitted by a power monitor.

在步骤920,利用多个模型处理功率监视信号以生成每个模型的分数。每个模型可能已经被创建用于识别关于设备的信息,诸如设备的类型、设备的制造或设备的版本。可以使用任何适当的模型,诸如本文中描述的任何模型。分数可以是指示功率监视信号与模型之间的匹配的任何值,诸如可能性或对数可能性。利用模型处理功率监视信号可以通过从功率监视信号提取特征以及然后利用模型处理特征来执行。In step 920, the power monitoring signal is processed using multiple models to generate a score for each model. Each model may have been created to identify information about the device, such as the type of device, the manufacture of the device, or the version of the device. Any suitable model can be used, such as any model described herein. The score can be any value indicating a match between the power monitoring signal and the model, such as probability or logarithmic probability. Processing the power monitoring signal using models can be performed by extracting features from the power monitoring signal and then processing those features using models.

在步骤930,使用分数确定关于建筑物中的第一设备的第一信息。在一些实施方式中,可以选择最高得分模型,并且第一信息可以与最高得分模型相关联。例如,最高得分模型可以指示第一设备是洗碗机,并且第一信息可以是:设备是洗碗机。在一些实施方式中,关于网络传输的信息可与来自功率模型的分数组合以确定关于第一设备的第一信息,如本文中所描述的那样。In step 930, the score is used to determine first information about a first device in the building. In some embodiments, a highest-scoring model can be selected, and the first information can be associated with the highest-scoring model. For example, the highest-scoring model could indicate that the first device is a dishwasher, and the first information could be: the device is a dishwasher. In some embodiments, information about network transmissions can be combined with a score from a power model to determine the first information about the first device, as described herein.

在步骤940,利用关于第一设备的第一信息来更新设备列表。设备列表可被存储在任何适当的位置,诸如在功率监视器上或在结合功率监视器操作的服务器上。在设备列表还没有包括关于第一设备的任何信息的情况下,可以向设备列表添加具有第一信息的新条目。在第一设备已经在设备列表上的情况下,可以利用第一信息来更新第一设备的条目。例如,在第一信息是:第一设备是Kenmore洗碗机、并且设备列表具有作为洗碗机的第一设备的条目的情况下,设备列表可以被更新以指示洗碗机的制造是Kenmore。功率监视器可以使得设备列表被本地更新,或者使得设备列表通过向服务器传输第一信息来更新,以使服务器更新设备列表。In step 940, the device list is updated using the first information about the first device. The device list can be stored in any suitable location, such as on a power monitor or on a server integrated with the power monitor. If the device list does not yet include any information about the first device, a new entry with the first information can be added to the device list. If the first device is already on the device list, the entry for the first device can be updated using the first information. For example, if the first information is: the first device is a Kenmore dishwasher, and the device list has an entry for the first device as a dishwasher, the device list can be updated to indicate that the dishwasher is manufactured by Kenmore. The power monitor can cause the device list to be updated locally, or it can cause the device list to be updated by transmitting the first information to the server, so that the server updates the device list.

在步骤950,经由建筑物中的网络从第二设备接收网络数据传输。可以直接地从第二设备(例如,点对点蓝牙网络)或间接地从第二设备(例如,经由网络路由器)接收网络数据传输。网络数据传输可以采取任何适当的格式,诸如网络数据包或以太网数据包。可以使用本文中描述的任何技术来接收网络数据传输,诸如接收在广播网络数据包中的广播消息、接收对轮询请求的响应或者监视网络上的网络传输。In step 950, network data transmission is received from the second device via the network within the building. Network data transmission can be received directly from the second device (e.g., a point-to-point Bluetooth network) or indirectly from the second device (e.g., via a network router). The network data transmission can take any suitable format, such as network packets or Ethernet packets. Any of the techniques described herein can be used to receive network data transmission, such as receiving broadcast messages in broadcast network packets, receiving responses to polling requests, or monitoring network traffic on the network.

在步骤960,使用网络数据传输来确定关于第二设备的第二信息。可以使用网络数据包中的数据或信息或与网络数据传输相关的其它信息(诸如接收到网络传输的时间)来确定第二信息。在一些实施方式中,可以使用多个网络传输来确定第二信息。关于第二设备的第二信息可以使用本文中描述的任何技术来确定,诸如处理与具有规则或网络模型的网络数据传输相关的信息。在一些实施方式中,在网络数据传输中或关于网络数据传输的信息可以与从功率监视获得的信息(例如,来自功率模型的分数)组合以确定第二信息。In step 960, network data transmission is used to determine second information about the second device. The second information can be determined using data or information in network packets or other information related to the network data transmission (such as the time the network transmission was received). In some embodiments, multiple network transmissions can be used to determine the second information. The second information about the second device can be determined using any of the techniques described herein, such as processing information related to network data transmission with rules or network models. In some embodiments, information in or about network data transmission can be combined with information obtained from power monitoring (e.g., a score from a power model) to determine the second information.

在步骤970,类似于步骤940,利用关于第二设备的第二信息来更新设备列表。In step 970, similar to step 940, the device list is updated using the second information about the second device.

在步骤980,接收关于建筑物中的设备的信息的请求。例如,用户可以使用用户设备(诸如智能电话或平板电脑)来查看关于建筑物中的设备的信息。在用户设备上运行的软件(例如,在浏览器或特殊目的的应用中查看的网页)可以请求关于建筑物中的设备的信息,并且例如使用RESTAPI来发送请求。可以接收的请求是结合功率监视器操作的服务器。In step 980, a request for information about equipment in the building is received. For example, a user may use a user device (such as a smartphone or tablet) to view information about equipment in the building. Software running on the user device (e.g., a webpage viewed in a browser or special-purpose application) may request information about equipment in the building and, for example, send the request using a REST API. Requests that can be received may be associated with a server operating in conjunction with a power monitor.

在步骤990,向用户设备传输第一信息和第二信息。例如,第一信息可以是:第一设备是洗碗机,并且第二信息可以是:第二设备是东芝电视。信息可由结合功率监视器操作的服务器传输,并且该信息可由在用户设备上运行的软件呈现。In step 990, first information and second information are transmitted to the user equipment. For example, the first information may be: the first device is a dishwasher, and the second information may be: the second device is a Toshiba TV. The information may be transmitted by a server operating in conjunction with a power monitor, and the information may be presented by software running on the user equipment.

在一些实施方式中,建筑物中的设备可以如以下条款、它们中的任何两个或更多的组合或者与本文中呈现的其它条款组合所描述的那样被识别。In some implementations, equipment in a building may be identified as described in the following clauses, any two or more of them, or in combination with other clauses presented herein.

1.一种用于识别建筑物中的设备的系统,系统包括至少一个计算机,所述至少一个计算机包括至少一个处理器和至少一个存储器,所述至少一个计算机被配置成:通过测量建筑物中的输电线的电属性来获得功率监视信号,其中输电线向建筑物中的设备提供功率;利用多个功率模型来处理功率监视信号中的第一功率事件,以针对多个功率模型中的每个功率模型生成分数,其中第一功率事件对应于第一设备的状态改变;使用分数来确定关于第一设备的第一信息;使第一设备使用关于第一设备的第一信息在设备列表中被更新;接收第一广播网络数据包,其中第一广播网络数据包由第二设备发送;使用第一广播网络数据包中的信息来确定关于第二设备的第二信息;使第二设备使用关于第二设备的第二信息在设备列表中被更新;从用户设备接收对关于所述建筑物中的设备的信息的请求;以及将关于第一设备的第一信息和关于第二设备的第二信息传输到用户设备。1. A system for identifying devices in a building, the system comprising at least one computer including at least one processor and at least one memory, the at least one computer being configured to: obtain a power monitoring signal by measuring electrical properties of power transmission lines in the building, wherein the power transmission lines provide power to devices in the building; process a first power event in the power monitoring signal using a plurality of power models to generate a score for each of the plurality of power models, wherein the first power event corresponds to a state change of a first device; use the score to determine first information about the first device; cause the first device to be updated in a device list using the first information about the first device; receive a first broadcast network data packet, wherein the first broadcast network data packet is transmitted by a second device; use information in the first broadcast network data packet to determine second information about the second device; cause the second device to be updated in a device list using the second information about the second device; receive a request from a user equipment for information about devices in the building; and transmit the first information about the first device and the second information about the second device to the user equipment.

2.条款1的系统,其中关于所述第一设备的第一信息包括第一设备的类型、第一设备的制造、或第一设备的版本。2. The system of Clause 1, wherein the first information about the first device includes the type of the first device, the manufacture of the first device, or the version of the first device.

3.条款1的系统,其中至少一个计算机被配置成接收第二广播网络数据包,其中第二广播网络数据包由第一设备发送;以及使用多个分数和第二广播网络数据包中的信息来确定关于第一设备的第一信息。3. The system of Clause 1, wherein at least one computer is configured to receive a second broadcast network packet, wherein the second broadcast network packet is sent by the first device; and to use a plurality of scores and information in the second broadcast network packet to determine first information about the first device.

4.条款3的系统,其中使用多个分数来确定第一设备的类型,并且使用第二广播网络数据包中的信息来确定第一设备的制造。4. The system of Clause 3, wherein multiple scores are used to determine the type of the first device and information in a second broadcast network data packet is used to determine the manufacture of the first device.

5.条款3的系统,其中功率监视信号中的第一功率事件发生在接收第二广播网络数据包之前。5. The system of Clause 3, wherein the first power event in the power monitoring signal occurs before the reception of the second broadcast network data packet.

6.条款3的系统,其中至少一个计算机被配置成通过比较第一功率事件的时间和第二广播网络数据包的时间来选择第二广播网络数据包。6. The system of Clause 3, wherein at least one computer is configured to select a second broadcast network packet by comparing the time of a first power event and the time of a second broadcast network packet.

7.条款1的系统,其中至少一个计算机包括安装在建筑物中的功率监视器和具有到功率监视器的网络连接的服务器计算机。7. The system of Clause 1, wherein at least one computer comprises a power monitor installed in a building and a server computer having a network connection to the power monitor.

8.条款1的系统,其中第一广播网络数据包中的信息包括第二设备的标识符,并且其中至少一个计算机被配置成使用第二设备的标识符从数据存储获得关于第二设备的第二信息。8. The system of Clause 1, wherein information in a first broadcast network packet includes an identifier of a second device, and wherein at least one computer is configured to use the identifier of the second device to obtain second information about the second device from a data storage.

9.条款1的系统,其中至少一个计算机被配置成通过利用多个规则处理第一广播网络数据包中的信息来确定关于第二设备的第二信息,其中多个规则中的每个规则包括将网络数据包中的信息与至少一个条件进行比较。9. The system of Clause 1, wherein at least one computer is configured to determine second information about a second device by processing information in a first broadcast network packet using multiple rules, wherein each of the multiple rules includes comparing the information in the network packet with at least one condition.

10.一种用于识别建筑物中的设备的计算机实现的方法,方法包括:通过测量建筑物中的输电线的电属性来获得功率监视信号,其中输电线向建筑物中的设备提供功率;利用多个功率模型来处理功率监视信号中的第一功率事件,以针对多个功率模型中的每个功率模型生成分数,其中第一功率事件对应于第一设备的状态改变;使用分数来确定关于第一设备的第一信息;使第一设备使用关于第一设备的第一信息在设备列表中被更新;接收第一广播网络数据包,其中第一广播网络数据包由第二设备发送;使用第一广播网络数据包中的信息来确定关于第二设备的第二信息;以及使第二设备使用关于第二设备的第二信息在设备列表中被更新。10. A computer-implemented method for identifying devices in a building, the method comprising: obtaining a power monitoring signal by measuring electrical properties of power transmission lines in the building, wherein the power transmission lines provide power to devices in the building; processing a first power event in the power monitoring signal using a plurality of power models to generate a score for each of the plurality of power models, wherein the first power event corresponds to a state change of a first device; using the score to determine first information about the first device; causing the first device to be updated in a device list using the first information about the first device; receiving a first broadcast network data packet, wherein the first broadcast network data packet is sent by a second device; using information in the first broadcast network data packet to determine second information about the second device; and causing the second device to be updated in a device list using the second information about the second device.

11.条款10的计算机实现的方法,其中功率监视信号指示输电线的电流或电压。11. The computer-implemented method of Clause 10, wherein a power monitoring signal indicates the current or voltage of a transmission line.

12.条款10的计算机实现的方法,包括:接收多个广播网络数据包,其中多个广播网络数据包中的每个由第一设备发送;以及使用多个分数和多个广播网络数据包中的信息来确定关于第一设备的第一信息。12. The computer-implemented method of Clause 10 includes: receiving a plurality of broadcast network packets, each of the plurality of broadcast network packets being transmitted by a first device; and using a plurality of scores and information from the plurality of broadcast network packets to determine first information about the first device.

13.条款10的计算机实现的方法,其中确定关于第二设备的第二信息包括:利用多个网络模型来处理第一广播网络数据包中的信息,以针对多个网络模型中的每个网络模型生成第二分数;以及使用多个网络模型的第二分数来确定关于第二设备的第二信息。13. The computer-implemented method of Clause 10, wherein determining second information about the second device comprises: processing information in a first broadcast network data packet using a plurality of network models to generate a second score for each of the plurality of network models; and using the second scores of the plurality of network models to determine the second information about the second device.

14.条款10的计算机实现的方法,其中确定关于第二设备的第二信息包括针对多个识别模型中的每个识别模型生成第二分数,其中每个识别模型处理功率监视信号中的第二功率事件和第一广播网络数据包中的信息;以及使用多个识别模型的第二分数来确定关于第二设备的第二信息。14. The computer-implemented method of Clause 10, wherein determining second information about a second device includes generating a second score for each of a plurality of identification models, wherein each identification model processes information in a second power event in a power monitoring signal and in a first broadcast network data packet; and using the second scores of the plurality of identification models to determine second information about the second device.

15.条款10的计算机实现的方法,包括:接收多个广播网络数据包,其中多个广播网络数据包中的每个广播网络数据包由第二设备发送;以及使用多个广播网络数据包中的信息来确定关于第二设备的第二信息。15. The computer-implemented method of Clause 10 includes: receiving a plurality of broadcast network packets, wherein each of the plurality of broadcast network packets is transmitted by a second device; and using information from the plurality of broadcast network packets to determine second information about the second device.

16.条款15的计算机实现的方法,其中确定第二信息包括:使用与第一广播网络数据包对应的第一时间和与第二广播网络数据包对应的第二时间。16. The computer-implemented method of Clause 15, wherein determining the second information comprises: using a first time corresponding to a first broadcast network data packet and a second time corresponding to a second broadcast network data packet.

17.一个或多个非暂时性计算机可读介质,包括计算机可执行指令,所述计算机可执行指令在被执行时使得至少一个处理器执行包括以下各项的动作:通过测量建筑物中的输电线的电属性来获得功率监视信号,其中输电线向建筑物中的设备提供功率;利用多个功率模型来处理功率监视信号中的第一功率事件,以针对多个功率模型中的每个功率模型生成分数,其中第一功率事件对应于第一设备的状态改变;使用分数来确定关于第一设备的第一信息;使用关于第一设备的第一信息使第一设备在设备列表中被更新;接收第一广播网络数据包,其中第一广播网络数据包由第二设备发送;使用第一广播网络数据包中的信息来确定关于第二设备的第二信息;以及使用关于第二设备的第二信息使第二设备在设备列表中被更新。17. One or more non-transitory computer-readable media, comprising computer-executable instructions that, when executed, cause at least one processor to perform actions including: obtaining a power monitoring signal by measuring the electrical properties of power transmission lines in a building, wherein the power transmission lines provide power to devices in the building; processing a first power event in the power monitoring signal using a plurality of power models to generate a score for each of the plurality of power models, wherein the first power event corresponds to a state change of a first device; using the score to determine first information about the first device; using the first information about the first device to update the first device in a device list; receiving a first broadcast network data packet, wherein the first broadcast network data packet is transmitted by a second device; using information in the first broadcast network data packet to determine second information about the second device; and using the second information about the second device to update the second device in a device list.

18.条款17的一个或多个非暂时性计算机可读介质,其中确定关于第一设备的第一信息包括使用多个分数来选择最高得分功率模型,并且其中第一信息对应于最高得分功率模型。18. One or more non-transitory computer-readable media of Clause 17, wherein determining the first information about the first device includes using a plurality of scores to select the highest-scoring power model, and wherein the first information corresponds to the highest-scoring power model.

19.条款17的一个或多个非暂时性计算机可读介质,其中关于第二设备的第二信息包括第二设备的类型、第二设备的制造或第二设备的版本。19. One or more non-transitory computer-readable media of Clause 17, wherein the second information relating to the second device includes the type of the second device, the manufacture of the second device, or the version of the second device.

20.条款17的一个或多个非暂时性计算机可读介质,其中至少一个计算机被配置成通过利用多个规则处理第一广播网络数据包中的信息来确定关于第二设备的第二信息。20. One or more non-transitory computer-readable media of Clause 17, wherein at least one computer is configured to determine second information about a second device by processing information in a first broadcast network data packet using multiple rules.

以上所描述的技术使用功率监视和网络监视的组合来提供相对仅基于功率监视的技术的建筑物中的设备的改进的识别。在仅功率监视的情况下,一些设备可能根本不能够识别或可识别但具有较低准确度。网络监视与功率监视的组合允许识别更多数量的设备(诸如没有机械部件的联网设备),并且还可以以更高的准确度来识别设备。使用来自功率监视和网络监视两者的信息允许创建具有比仅使用来自功率监视的信息的模型和/或分类器更低的错误率的模型和/或分类器。The techniques described above use a combination of power monitoring and network monitoring to provide improved identification of devices in buildings compared to technologies based solely on power monitoring. With power monitoring alone, some devices may not be identifiable at all, or may be identifiable with low accuracy. The combination of network and power monitoring allows for the identification of a greater number of devices (such as networked devices without mechanical parts) and also allows for device identification with higher accuracy. Using information from both power and network monitoring allows for the creation of models and/or classifiers with a lower error rate than models and/or classifiers that use information only from power monitoring.

识别设备状态改变Identify changes in device status

除了识别房屋中的设备之外,功率监视器150还可以使用功率监视和网络监视中的一个或两个来确定房屋中的设备的状态。一些设备(例如,灯泡)可以仅具有两个状态:开启和关闭。其它设备可以具有多个状态。例如,洗衣机可具有洗涤循环、漂洗循环和旋转循环。电视可具有开启状态、关闭状态和睡眠状态。In addition to identifying devices in the home, the power monitor 150 can also use one or both power monitoring and network monitoring to determine the status of devices in the home. Some devices (e.g., light bulbs) may have only 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.

功率监视可用于使用本文中和美国专利9,443,195中描述的任何技术来识别状态改变。例如,功率监视器150可以处理功率监视信号,选择产生最高分数的功率模型,根据模型确定设备状态改变,并且更新设备列表中的设备的状态。Power monitoring can be used to identify state changes using any of the techniques described herein and in U.S. Patent 9,443,195. For example, power monitor 150 can process power monitoring signals, select the power model that produces the highest score, determine a device state change based on the model, and update the state of devices in the device list.

网络监视还可用于使用本文中所描述的任何技术来识别状态改变。例如,功率监视器可以处理广播消息、轮询设备和监视设备网络数据,以如上所述的那样根据它们的网络数据确定设备的状态。Network monitoring can also be used to identify state changes using any of the techniques described herein. For example, a power monitor can process broadcast messages, poll devices, and monitor network data to determine the state of devices based on their network data, as described above.

在一些实施方式中,功率监视器可以同时使用功率监视器监视和网络监视两者来识别设备状态改变。对于连接到电线和网络连接两者的设备,设备可在状态改变的时间附近引起功率监视信号中的功率事件并且通过网络传输数据(网络事件)。功率监视器可以处理功率事件和网络事件两者以识别状态改变。功率事件和网络事件可以以上述任一顺序出现。In some implementations, a power monitor can simultaneously use both power monitor monitoring and network monitoring to identify changes in device state. For devices connected to both a power cable and a network connection, the device may generate a power event in the power monitoring signal and transmit data over the network (a network event) near the time of the state change. The power monitor can process both power events and network events to identify the state change. Power events and network events can occur in any of the aforementioned orders.

如上文,当处理功率事件时,功率监视器可寻找时间上接近功率事件的网络事件且同时处理它们。例如,功率监视器可以处理网络事件,其中功率事件的时间与网络事件的时间之间的差小于阈值。类似地,当处理网络事件时,功率监视器可以寻找时间上接近网络事件的功率事件。As described above, when processing power events, the power monitor can look for network events that are temporally close to the 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, when processing network events, the power monitor can look for power events that are temporally close to the network event.

在一些实施方式中,功率监视器可以处理功率事件并生成对应功率模型的分数。功率监视器然后可以寻找时间上接近功率事件的网络事件,并且使用来自网络事件的信息来调整由功率模型生成的分数。例如,前两个得分功率模型可以是东芝电视开启和计算机开启,并且分数可以彼此接近。网络事件可在功率事件之后不久发生,并且网络事件可对应于东芝电视开启。功率监视器可以使用网络事件可能来增加东芝电视开启的分数。例如,分数可以增加固定量、百分比,或者可以与由网络事件处理生成的分数组合以生成针对设备状态改变的总体分数。功率监视器然后可以将状态改变识别为对应于东芝电视开启。功率事件和网络事件的定时还可用作本文中所描述的用于确定设备状态改变的任何技术的特征。In some implementations, the power monitor can process power events and generate scores corresponding to power models. The power monitor can then look for network events that are temporally close to the power events and use information from the network events to adjust the scores generated by the power models. For example, the first two power models could be Toshiba TV on and computer on, and the scores could be close to each other. The network event may occur shortly after the power event, and the network event may correspond to Toshiba TV on. The power monitor can use the network event to potentially increase the score for Toshiba TV on. For example, the score can be increased by a fixed amount, a percentage, or it can be combined with the score generated by processing the network event to generate an overall score for a change in device state. The power monitor can then identify the state change as corresponding to Toshiba TV on. The timing of the power events and network events can also be used as a feature of any techniques described herein for determining changes in device state.

对于一些设备,设备状态改变和网络事件之间的定时可能不是精确已知的。例如,在一些实施方式中,当设备没有传输任何网络数据达一段时间内时,可以确定设备是关闭的。因此,可以确定设备在其最后的网络传输之后的某个时间被关闭,但是它被关闭的时间可能是未知的。在一些实施方式中,功率监视器可以处理网络事件以确定时变分数。例如,在设备的最后一次网络传输在第一时间的情况下,功率监视器可以在第一时间之后不久的时间段内输出更高的分数,并且在稍后的时间输出更低的分数,诸如具有指数衰减的分数。For some devices, the timing between device state changes and network events may not be precisely known. For example, in some implementations, a device can be determined to be off when it has not transmitted any network data for a period of time. Therefore, it can be determined that the device was turned off sometime after its last network transmission, but the exact time of its shutdown may be unknown. In some implementations, a power monitor can process network events to determine time-varying scores. For example, if the device's last network transmission occurred at a specific time, the power monitor may output a higher score for a period shortly after that time, and a lower score, such as a score with exponential decay, at a later time.

一些设备可以具有已知的重新广播窗口,其中设备将在设定的时间间隔重新广播由设备提供的服务。在设备已发出广播但尚未在重新广播窗口内发出另一广播的情况下,可确定设备已关闭。Some devices may have a known rebroadcast window, where the device will rebroadcast the services it provides at set time intervals. If a device has already broadcast but has not yet broadcast another service within the rebroadcast window, it can be determined that the device is off.

在一些实施方式中,可以使用状态改变模型,其接收关于功率事件的信息和关于网络事件的信息两者作为输入,以及然后生成指示输入与设备状态改变之间的匹配的分数。例如,可以为设备的每个状态改变(例如,设备的类型、设备的制造或设备的版本的状态改变)创建状态改变模型。在一些实施方式中,功率监视器可以针对每个状态改变模型计算分数,选择具有最高分数的状态改变模型,并且使用最高得分状态改变模型来识别状态改变。状态改变模型可以使用任何适当的分类技术来创建,诸如神经网络、自组织映射、支持向量机、决策树、随机森林、逻辑回归、贝叶斯模型、线性和非线性回归以及高斯混合模型。In some implementations, a state change model can be used, which receives both information about power events and information about network events as input, and then generates a score indicating a match between the input and a device state change. For example, a state change model can be created for each state change of the device (e.g., a change in state based on the device type, device manufacturing, or device version). In some implementations, the power monitor can compute a score for each state change model, select the state change model with the highest score, and use the highest-scoring state change model to identify the state change. State change models can be created using any suitable classification technique, such as neural networks, self-organizing maps, support vector machines, decision trees, random forests, logistic regression, Bayesian models, linear and nonlinear regressions, and Gaussian mixture models.

如上文,除了分数之外,还可以计算置信度水平,并且可以在确定是否已经发生状态改变时使用置信度水平。在最高得分模型(例如,功率模型、网络模型或状态改变模型)具有低置信度水平的情况下,可以不识别状态改变。As mentioned above, in addition to scores, confidence levels can also be calculated and used to determine whether a state change has occurred. State changes may not be identified if the highest-scoring model (e.g., a power model, a network model, or a state change model) has a low confidence level.

在确定设备状态改变时,功率监视器150可以使用设备的已知状态的列表以及设备的状态之间的可能的转变。例如,电视可具有三个状态:开启状态、关闭状态和睡眠状态。然而,由于电视如何操作,并非所有状态转变都是可能的。对于三个状态,存在六个可能的状态转变(开启到关闭、开启到睡眠、关闭到开启、关闭到睡眠、睡眠到开启和睡眠到关断)。从“关闭”状态,仅有可能转变到“开启”状态(关闭到睡眠是不可能的)。从“睡眠”状态,仅有可能转变到“开启”状态(睡眠到关闭是不可能的)。因此,功率监视器可以实现用于识别设备的所有可能状态改变的技术(例如,模型或规则)。当确定设备的状态改变时,功率监视器可以从设备的可能状态改变的列表中选择状态改变,并且可以从状态改变的结束状态确定当前状态(例如,当选择关闭到开启状态改变时,确定设备现在处于开启)。当确定设备的状态时,功率监视器可以从设备的可能状态的列表中选择状态。功率监视器可以取决于实施方式和/或被监视的设备来选择状态改变或状态。When determining a device state change, the power monitor 150 can use a list of known states of the device and the possible transitions between those states. For example, a television may have three states: on, off, and sleep. However, not all state transitions are possible depending on how the television operates. For the 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, it is only possible to transition to the "on" state (off to sleep is impossible). From the "sleep" state, it is only possible to transition to the "on" state (sleep to off is impossible). Therefore, the power monitor can implement techniques (e.g., models or rules) for identifying all possible state changes of the device. When determining a device state change, the power monitor can select a state change from the list of possible state changes of the device and can determine the current state from the ending state of the state change (e.g., when selecting the off to on state change, it is determined that the device is now on). When determining the state of the device, the power monitor can select a state from the list of possible states of the device. The power monitor may select a state change or state depending on the implementation and/or the device being monitored.

上文针对识别设备所描述的任何技术还可用于确定设备的状态改变。类似地,所描述的用于确定设备的状态改变的任何技术也可被用于识别设备。Any of the techniques described above for identifying devices can also be used to determine changes in the state of the device. Similarly, any techniques described for determining changes in the state of a device can also be used to identify the device.

图10是图示确定设备的状态的示例实施方式的流程图。在图10中,步骤的顺序是示例性的,并且其它顺序是可能的,不是所有的步骤都是必需的,并且在一些实施方式中,可以省略一些步骤或者可以添加其它步骤。流程图的过程可以例如由本文中描述的任何计算机或系统来实现。Figure 10 is a flowchart illustrating an example implementation of determining the state of a device. In Figure 10, the order of steps is exemplary, and other orders are possible. Not all steps are necessary, and in some implementations, some steps may be omitted or other steps may be added. The process in the flowchart can be implemented, for example, by any computer or system described herein.

在步骤1010,从数据存储访问关于建筑物中的设备的信息。信息可以以任何合适的方式存储并存储在任何合适的位置或多个位置中。例如,功率监视器150可以从本地存储的设备列表获得关于建筑物中的设备的信息,所述本地存储的设备列表包括关于用于确定设备状态改变的技术的信息(例如,关于模型或规则的信息)。功率监视器还可以从存储在服务器上的设备列表访问信息。存储的信息可以包括关于建筑物中的由输电线供电和/或连接到建筑物中的网络的设备的信息。In step 1010, information about devices in the building is accessed from a data storage source. This information can be stored in any suitable manner and in any suitable location or multiple locations. For example, the power monitor 150 can obtain information about devices in the building from a locally stored device list, which includes information about techniques used to determine changes in device status (e.g., information about models or rules). The power monitor can also access information from a device list stored on a server. The stored information may include information about devices in the building that are powered by power lines and/or connected to networks within the building.

在步骤1020,获得功率监视信号,类似于步骤910。In step 1020, a power monitoring signal is obtained, similar to step 910.

在步骤1030,使用功率监视信号来确定第一设备的状态。本文中描述的任何技术可用于确定第一设备的状态,诸如使用多个功率模型来计算多个分数以及选择对应于最高得分功率模型的状态或状态改变。第一设备的状态或状态改变可以从第一设备的可能状态或状态改变的列表中选择。在一些实施方式中,网络监视技术可以不用于确定状态(即使第一设备具有网络连接)。在一些实施方式中,功率监视技术可与网络监视技术组合以例如通过使用本文中所描述的任何技术来确定第一设备的状态。在一些实施方式中,可以通过首先确定状态改变并且然后从状态改变确定第一设备的状态来确定第一设备的状态。In step 1030, the state of the first device is determined using a power monitoring signal. Any techniques described herein can be used to determine the state of the first device, such as using multiple power models to calculate multiple scores and selecting a state or state change corresponding to the highest-scoring power model. The state or state change of the first device can be selected from a list of possible states or state changes of the first device. In some embodiments, network monitoring techniques may not be used to determine the state (even if the first device has a network connection). In some embodiments, power monitoring techniques may be combined with network monitoring techniques to determine the state of the first device, for example, by using any techniques described herein. In some embodiments, the state of the first device can be determined by first identifying a state change and then determining the state of the first device from the state change.

在步骤1040,在所存储的信息中更新第一设备的状态。在步骤940中描述的用于更新设备列表的任何技术也可以用于更新设备列表中的第一设备的状态。例如,功率监视器可以使状态在本地存储的设备列表中被更新,或者将信息传输到服务器,以使服务器利用第一设备的状态来更新设备列表。In step 1040, the status of the first device is updated in the stored information. Any technique described in step 940 for updating the device list can also be used to update the status of the first device in the device list. For example, a power monitor can update the status in a locally stored device list, or transmit the information to a server so that the server uses the status of the first device to update the device list.

在步骤1050,接收网络数据传输。在步骤950中描述的任何技术都可以用于接收网络传输。在一些实施方式中,结合功率监视器操作的功率监视器服务器可以从结合房屋中的设备操作的另一个服务器(例如,结合Nest恒温器操作的Nest服务器)接收网络数据传输,功率监视器可以直接从结合房屋中的设备操作的服务器接收网络数据传输,或者功率监视器服务器可以直接从房屋中的设备接收网络传输。In step 1050, network data transmission is received. Any technique described in step 950 can be used to receive network transmission. In some embodiments, a power monitor server operating in conjunction with a power monitor can receive network data transmission from another server operating in conjunction with a device in the house (e.g., a Nest server operating in conjunction with a Nest thermostat), the power monitor can receive network data transmission directly from a server operating in conjunction with a device in the house, or the power monitor server can receive network transmission directly from a device in the house.

在步骤1060,确定第二设备传输了网络数据。可以使用任何适当的技术来确定第二设备传输了网络数据,诸如使用网络数据中的网络地址或标识符来将第二设备识别为网络数据的发送方。在功率监视器经由另一设备(诸如路由器)从第二设备接收网络数据的情况下,第二设备仍可被认为是网络数据的发送方或传输方。在经由另一服务器接收到网络数据传输的情况下,可以确定网络数据传输对应于第二设备而不是由第二设备传输。In step 1060, it is determined that the second device transmitted network data. Any suitable technique can be used to determine that the second device transmitted network data, such as using a network address or identifier in the network data to identify the second device as the sender of the network data. Even if the power monitor receives network data from the second device via another device (such as a router), the second device can still be considered the sender or transmitter of the network data. If network data transmission is received via another server, it can be determined that the network data transmission corresponds to the second device but was not transmitted by the second device.

在步骤1070,使用网络数据确定第二设备的状态。本文中所描述的任何技术可用于使用网络数据来确定第二设备的状态。第二设备的状态或状态改变可以从第二设备的可能状态或状态改变的列表中选择。在一些实施方式中,功率监视技术可不用于确定状态(即使第二设备从建筑物中的输电线接收功率)。在一些实施方式中,网络监视技术可与功率监视技术组合以例如通过使用本文中所描述的任何技术来确定第二设备的状态。在一些实施方式中,可以通过首先确定状态改变并且然后从状态改变确定第二设备的状态来确定第二设备的状态。In step 1070, the state of the second device is determined using network data. Any techniques described herein can be used to determine the state of the second device using network data. The state or state change of the second device can be selected from a list of possible states or state changes of the second device. In some embodiments, power monitoring techniques may not be used to determine the state (even if the second device receives power from power lines in a building). In some embodiments, network monitoring techniques may be combined with power monitoring techniques to determine the state of the second device, for example, by using any techniques described herein. In some embodiments, the state of the second device can be determined by first identifying a state change and then determining the state of the second device from the state change.

在步骤1080,在所存储的信息中更新第二设备的状态。在步骤940或1040中描述的用于更新设备列表的任何技术也可以用于更新设备列表中的第二设备的状态。In step 1080, the status of the second device is updated in the stored information. Any technique described in steps 940 or 1040 for updating the device list can also be used to update the status of the second device in the device list.

在步骤1090,接收对关于建筑物中的设备的信息的请求。可以使用在步骤980中描述的任何技术来请求关于建筑物中的设备的信息。In step 1090, a request for information about equipment in the building is received. Any of the techniques described in step 980 can be used to request information about equipment in the building.

在步骤1095,将关于第一设备的状态和第二设备的状态的信息传输到用户设备。例如,可以向用户设备传输指示第一设备关闭并且第二设备处于睡眠状态的信息。In step 1095, information regarding the status of the first device and the second device is transmitted to the user equipment. For example, information indicating that the first device is off and the second device is in sleep mode may be transmitted to the user equipment.

在一些实施方式中,可以如在以下条款、它们中的任何两个或更多的组合中描述的那样或者结合本文中呈现的其它条款来确定设备的状态。In some implementations, the state of the device may be determined as described in the following clauses, any two or more of them, or in combination with other clauses presented herein.

1.一种用于确定建筑物中的设备的状态的计算机实现的方法,方法包括:访问关于建筑物中的设备的存储的信息,其中建筑物中的设备包括第一设备和第二设备,并且其中关于设备的信息包括第一设备的状态和第二设备的状态;通过测量建筑物中的输电线的电属性来获得功率监视信号,其中输电线向建筑物中的设备提供功率;通过以下步骤来确定第一设备的状态:(1)利用多个功率模型来处理功率监视信号中的第一功率事件以针对多个功率模型中的每个功率模型生成分数,以及(2)使用分数从多个可能状态中选择第一设备的状态;使用选择的状态使第一设备的状态在存储的信息中被更新;接收第一广播网络数据包,其中第一广播网络由第二设备传输;使用第一广播网络数据包中的信息来确定第一广播网络数据包由第二设备发送;使用第一广播网络数据包中的信息从第二设备的多个可能状态中选择第二设备的状态;以及使用选择的状态使第二设备的状态在存储的信息中被更新。1. A computer-implemented method for determining the state of equipment in a building, the method comprising: accessing stored information about the equipment in the building, wherein the equipment in the building includes a first device and a second device, and wherein the information about the equipment includes the state of the first device and the state of the second device; obtaining a power monitoring signal by measuring the electrical properties of a power transmission line in the building, wherein the power transmission line provides power to the equipment in the building; determining the state of the first device by: (1) processing a first power event in the power monitoring signal using a plurality of power models to generate a score for each of the plurality of power models, and (2) selecting the state of the first device from a plurality of possible states using the score; updating the state of the first device in stored information using the selected state; receiving a first broadcast network data packet, wherein the first broadcast network is transmitted by the second device; determining, using information in the first broadcast network data packet, that the first broadcast network data packet was sent by the second device; selecting the state of the second device from a plurality of possible states of the second device using the information in the first broadcast network data packet; and updating the state of the second device in stored information using the selected state.

2.条款1的计算机实现的方法,其中第一广播网络数据包包括使用简单服务发现协议、零配置联网或NetBIOS的广播。2. The computer-implemented method of Clause 1, wherein the first broadcast network data packet includes a broadcast using a simple service discovery protocol, zero-configuration networking, or NetBIOS.

3.条款1的计算机实现的方法,方法包括:向第二设备传输对信息的请求;并且其中接收第一广播网络数据包包括接收对对信息的请求的响应。3. The computer-implemented method of Clause 1, the method comprising: transmitting a request for information to a second device; and wherein receiving a first broadcast network data packet comprises receiving a response to the request for information.

4.条款3的计算机实现的方法,其中传输对信息的请求包括:轮询第二设备,使用第二设备的API请求信息,或者请求关于由第二设备提供的服务的信息。4. The computer-implemented method of Clause 3, wherein transmitting a request for information includes: polling the second device, requesting information using the API of the second device, or requesting information about services provided by the second device.

5.条款1的计算机实现的方法,其中选择第二设备的状态包括:(1)利用多个网络模型处理第一广播网络数据包中的信息,以及(2)选择最高得分网络模型,其中最高得分网络模型对应于选择的状态。5. The computer-implemented method of Clause 1, wherein selecting the state of the second device comprises: (1) processing information in a first broadcast network data packet using multiple network models, and (2) selecting the highest-scoring network model, wherein the highest-scoring network model corresponds to the selected state.

6.条款1的计算机实现的方法,其中选择第二设备的状态包括利用多个规则来处理第一广播网络数据包中的信息,其中多个规则中的每个规则包括将网络数据包中的信息与至少一个条件进行比较。6. The computer-implemented method of Clause 1, wherein selecting the state of the second device includes processing information in a first broadcast network packet using multiple rules, wherein each of the multiple rules includes comparing the information in the network packet with at least one condition.

7.条款1的计算机实现的方法,其中选择第二设备的状态包括:利用多个功率模型处理功率监视信号中的第二功率事件,以针对多个功率模型中的每个功率模型生成第二分数;利用多个网络模型来处理关于第一广播网络数据包的信息,以针对多个网络模型中的每个网络模型生成第三分数;以及使用第二分数和第三分数来选择状态。7. The computer-implemented method of Clause 1, wherein selecting the state of the second device comprises: processing a second power event in a power monitoring signal using multiple power models to generate a second score for each of the multiple power models; processing information about a first broadcast network data packet using multiple network models to generate a third score for each of the multiple network models; and using the second score and the third score to select the state.

8条款1的计算机实现的方法,其中选择第二设备的状态包括针对多个状态改变模型中的每个状态改变模型生成第二分数,其中每个状态改变模型处理功率监视信号中的第二功率事件和第一广播网络数据包中的信息;以及使用第二分数来选择状态。The computer-implemented method of Clause 8, paragraph 1, wherein selecting the state of a second device includes generating a second score for each of a plurality of state-changing models, wherein each state-changing model processes a second power event in a power monitoring signal and information in a first broadcast network data packet; and using the second score to select the state.

9.条款1的计算机实现的方法,包括:接收多个广播网络数据包,其中多个广播网络数据包中的每个广播网络数据包由第二设备传输;以及使用多个广播网络数据包中的信息来选择第二设备的状态。9. The computer-implemented method of Clause 1, comprising: receiving a plurality of broadcast network packets, wherein each of the plurality of broadcast network packets is transmitted by a second device; and using information in the plurality of broadcast network packets to select a state of the second device.

10.一种用于确定建筑物中的设备的状态的系统,系统包括至少一个计算机,所述至少一个计算机包括至少一个处理器和至少一个存储器,所述至少一个计算机被配置成:存储关于建筑物中的设备的信息,其中建筑物中的设备包括第一设备和第二设备,并且其中关于设备的信息包括第一设备的状态和第二设备的状态;通过测量建筑物中的输电线的电属性来获得功率监视信号,其中输电线向建筑物中的设备提供功率;通过以下步骤来确定第一设备的状态:(1)利用多个功率模型处理第一功率事件功率监视信号以针对多个功率模型中的每个功率模型生成分数,以及(2)使用分数从多个可能状态中选择第一设备的状态;使用选择的状态使第一设备的状态在存储的信息中被更新;从服务器计算机接收第一网络数据,其中服务器计算机基于从第二设备接收的信息来传输网络数据;使用第一网络数据来确定第一网络数据对应于第二设备;使用第一网络数据从第二设备的多个可能状态中选择第二设备的状态;以及使用选择的状态使第二设备的状态在存储的信息中被更新。10. A system for determining the state of equipment in a building, the system comprising at least one computer including at least one processor and at least one memory, the at least one computer being configured to: store information about equipment in the building, wherein the equipment in the building includes a first device and a second device, and wherein the information about the equipment includes the state of the first device and the state of the second device; obtain a power monitoring signal by measuring the electrical properties of power transmission lines in the building, wherein the power transmission lines provide power to the equipment in the building; determine the state of the first device by the following steps: (1) processing the first power event power monitoring signal using multiple power models to generate a score for each of the multiple power models, and (2) selecting the state of the first device from multiple possible states using the score; updating the state of the first device in the stored information using the selected state; receiving first network data from a server computer, wherein the server computer transmits the network data based on information received from a second device; determining that the first network data corresponds to the second device using the first network data; selecting the state of the second device from multiple possible states of the second device using the first network data; and updating the state of the second device in the stored information using the selected state.

11.条款10的系统,其中至少一个计算机被配置成通过向服务器计算机传输第一设备的状态来使得第一设备的状态在存储的信息中被更新。11. The system of Clause 10, wherein at least one computer is configured to update the state of the first device in stored information by transmitting the state of the first device to a server computer.

12.条款10的系统,其中功率监视信号指示输电线的电流或电压。12. The system of Clause 10, wherein the power monitoring signal indicates the current or voltage of the transmission line.

13.条款10的系统,其中至少一个计算机包括安装在建筑物中的功率监视器和具有到功率监视器的网络连接的服务器计算机。13. The system of Clause 10, wherein at least one computer includes a power monitor installed in a building and a server computer having a network connection to the power monitor.

14.条款13的系统,其中服务器计算机被配置成确定用户设备具有与服务器计算机的网络连接;服务器计算机被配置成向功率监视器发送用户设备具有与服务器计算机的网络连接的指示;并且功率监视器被配置成响应于接收到指示而修改其处理。14. The system of Clause 13, wherein the server computer is configured to determine that the user equipment has a network connection with the server computer; the server computer is configured to send an indication to the power monitor that the user equipment has a network connection with the server computer; and the power monitor is configured to modify its processing in response to receiving the indication.

15.条款14的系统,其中功率监视器被配置成通过改变轮询设备的频率来修改其处理。15. The system of Clause 14, wherein the power monitor is configured to modify its processing by changing the frequency of polling the device.

16.条款10的系统,其中至少一个计算机被配置成通过利用多个功率模型处理功率监视信号中的第二功率事件来选择第二设备的状态,以针对多个功率模型中的每个功率模型生成第二分数;以及使用第二分数和第一网络数据中的信息来选择状态。16. The system of Clause 10, wherein at least one computer is configured to select the state of a second device by processing a second power event in a power monitoring signal using a plurality of power models to generate a second score for each of the plurality of power models; and to select the state using the second score and information in first network data.

17.条款10的系统,其中至少一个计算机被配置成使用第二设备的状态从设备信息的数据存储获得关于第二设备的功耗的信息;以及将关于第二设备的功耗的信息传输到用户设备。17. The system of Clause 10, wherein at least one computer is configured to obtain information about the power consumption of the second device from a device information data storage using the state of the second device; and to transmit the information about the power consumption of the second device to a user device.

18.条款10的系统,其中至少一个计算机被配置成将第一设备的状态和第二设备的状态传输到用户设备。18. The system of Clause 10, wherein at least one computer is configured to transmit the state of a first device and the state of a second device to a user device.

19.一个或多个非暂时性计算机可读介质,包括计算机可执行指令,所述计算机可执行指令在被执行时使得至少一个处理器执行包括以下各项的动作:通过测量建筑物中的输电线的电属性来获得功率监视信号,其中输电线向建筑物中的设备提供功率;通过以下步骤来确定第一设备的状态:(1)利用多个功率模型来处理功率监视信号中的第一功率事件以针对多个功率模型中的每个功率模型生成分数,以及(2)使用分数从多个可能状态中选择第一设备的状态;使用选择的状态使第一设备的状态在设备列表中被更新;接收第一广播网络数据包,其中第一广播网络数据包由第二设备传输;使用第一广播网络数据包中的信息来确定第一广播网络数据包由第二设备传输;使用第一网络事件中的信息从第二设备的多个可能状态中选择第二设备的状态;以及使用选择的状态使第二设备的状态在设备列表中被更新。19. One or more non-transitory computer-readable media, comprising computer-executable instructions that, when executed, cause at least one processor to perform actions including: obtaining a power monitoring signal by measuring the electrical properties of power transmission lines in a building, wherein the power transmission lines provide power to devices in the building; determining the state of a first device by: (1) processing a first power event in the power monitoring signal using multiple power models to generate a score for each of the multiple power models, and (2) selecting the state of the first device from multiple possible states using the scores; updating the state of the first device in a device list using the selected state; receiving a first broadcast network data packet, wherein the first broadcast network data packet is transmitted by a second device; determining, using information in the first broadcast network data packet, that the first broadcast network data packet was transmitted by the second device; selecting the state of the second device from multiple possible states of the second device using information in the first network event; and updating the state of the second device in a device list using the selected state.

20.条款19的一个或多个非暂时性计算机可读介质,其中使第一设备的状态在存储的信息中被更新包括将状态从关闭状态改变到开启状态。20. One or more non-transitory computer-readable media of Clause 19, wherein updating the state of the first device in the stored information includes changing the state from an off state to an on state.

21.条款19的一个或多个非暂时性计算机可读介质,其中多个功率模型包括设备模型、转变模型或瓦特数模型中的一个或多个。21. One or more non-transitory computer-readable media of Clause 19, wherein the plurality of power models include one or more of a device model, a transformation model or a watt number model.

22.条款19的一个或多个非暂时性计算机可读介质,其中确定所述第一广播网络数据包由第二设备传输包括使用第一广播网络数据包中的网络地址或标识符。22. One or more non-transitory computer-readable media of Clause 19, wherein determining that the first broadcast network data packet was transmitted by the second device includes using a network address or identifier in the first broadcast network data packet.

23.条款19的一个或多个非暂时性计算机可读介质,其中利用多个功率模型来处理功率监视信号中的第一功率事件包括:使用包括第一功率事件的功率监视信号的一部分来计算多个特征;以及利用多个功率模型处理多个特征。23. One or more non-transitory computer-readable media of Clause 19, wherein processing a first power event in a power monitoring signal using multiple power models comprises: calculating multiple features using a portion of the power monitoring signal including the first power event; and processing the multiple features using multiple power models.

上文所描述的技术使用功率监视和网络监视的组合来提供相对仅基于功率监视的技术的建筑物中的设备状态改变的改进的识别。在仅功率监视的情况下,一些设备状态改变可能根本不能够被识别或可以被识别,但是具有较低的准确性。网络监视与功率监视的组合允许识别更多数量的设备状态改变(诸如没有机械部件的联网设备的状态改变),并且设备状态改变也可以以更高的准确度来识别。使用来自功率监视和网络监视两者的信息允许创建具有比仅使用来自功率监视的信息的模型和/或分类器更低的错误率的模型和/或分类器。The techniques described above use a combination of power monitoring and network monitoring to provide improved identification of equipment state changes in buildings compared to techniques based solely on power monitoring. With power monitoring alone, some equipment state changes may not be identified at all, or may be identified with lower accuracy. The combination of network and power monitoring allows for the identification of a greater number of equipment state changes (such as state changes of networked devices without mechanical parts), and these changes can be identified with higher accuracy. Using information from both power and network monitoring allows for the creation of models and/or classifiers with lower error rates than models and/or classifiers using only information from power monitoring.

报告功率使用Report power usage

在一些实施方式中,功率监视器可以向用户提供关于房屋中的个体设备的功耗的信息。例如,对于使用功率监视和/或网络监视来确定设备状态改变的任何设备,可以使用在美国专利9,443,195中描述的技术来确定设备随时间的功耗和/或向用户呈现关于设备的功耗的实时信息。In some implementations, a power monitor can provide a user with information about the power consumption of individual devices in a home. For example, for any device that uses power monitoring and/or network monitoring to determine changes in device status, the techniques described in U.S. Patent 9,443,195 can be used to determine the device's power consumption over time and/or present the user with real-time information about the device's power consumption.

房屋中的一些设备可以对设备的每个状态具有相对恒定的功率使用或落入范围内的功率使用。例如,电视及灯泡可在其开启时消耗相对固定量的功率且在其关闭时不消耗功率。对于这样的设备,可以通过测量每个状态中的设备的若干示例的功率使用并且计算该状态的平均功耗来确定预期的功耗或功率范围。可以针对每个状态创建设备的预期功率使用或功率范围的列表,并且该列表可以对于功率监视器是可用的。Some devices in a house may have relatively constant power usage or power usage falling within a range for each state of the device. For example, a television and a light bulb may consume a relatively fixed amount of power when they are on and no power when they are off. For such devices, the expected power consumption or power range can be determined by measuring the power consumption of several examples of the device in each state and calculating the average power consumption for that state. A list of expected power consumption or power ranges for the device can be created for each state, and this list can be available to a power monitor.

当(例如,通过处理网络事件)确定具有相对恒定的功率使用的设备处于特殊状态时,功率监视器(或结合功率监视器操作的服务器)可以(例如,从其自己的存储或第三方服务器)获得设备状态的预期功率使用或功率范围,并且向用户报告该设备正在消耗预期功率量或范围内的功率。当设备关闭时,功率监视器可以向用户报告该设备已经停止消耗功率。When a device with relatively constant power usage is determined to be in a special state (e.g., by processing network events), a power monitor (or a server operating in conjunction with a power monitor) can obtain the expected power usage or power range of the device state (e.g., from its own storage or a third-party server) and report to the user that the device is consuming the expected amount of power or within the expected power range. When the device is turned off, the power monitor can report to the user that the device has stopped consuming power.

房屋中的一些设备可能“总是开启”,例如,缆线调制解调器、无线路由器、智能恒温器和物联网设备可能总是开启。对于总是开启的设备,可如上所述确定预期功率使用或功率范围。在总是开启的设备被识别为在房屋中之后,功率监视器可向用户报告设备总是开启且提供预期功率使用或功率范围。Some devices in a home may be "always on," such as cable modems, wireless routers, smart thermostats, and IoT devices. For devices that are always on, the expected power usage or power range can be determined as described above. Once a device that is always on is identified as being in the home, a power monitor can report to the user that the device is always on and provide the expected power usage or power range.

功率监视器(或结合功率监视器操作的服务器)还可以计算由具有相对恒定的功率使用的设备或总是开启的设备消耗的能量的总量。对于这些设备,可通过(1)确定设备已处于其可能状态中的每个中的时间量,(2)确定每个状态中的预期功率使用,(3)通过将状态中的时间量乘以状态的预期功率消耗来确定每个状态中消耗的能量的总量,以及(4)通过增加每个状态的能量消耗来确定由设备消耗的能量的总量来计算由设备消耗的能量的总量。The power monitor (or a server operating in conjunction with a power monitor) can also calculate the total amount of energy consumed by a device with relatively constant power usage or a device that is always on. For these devices, the total amount of energy consumed by the device can be calculated by (1) determining the amount of time the device has been in each of its possible states, (2) determining the expected power usage in each state, (3) determining the total amount of energy consumed in each state by multiplying the amount of time in the state by the expected power consumption of the state, and (4) determining the total amount of energy consumed by the device by adding the energy consumption of each state.

使用网络事件训练功率模型Training a power model using network events

用于一些设备的训练功率模型可能比用于其它设备的训练功率模型更具挑战性。具有诸如泵和马达的机械部件的设备可能由于机械部件的操作和功率使用之间的关系而具有更易于识别的功率标记。具有很少或没有任何机械部件的设备可能具有更难以识别的功率标记。例如,诸如计算机和电视之类的许多电子设备可以将交流电转换成直流电,然后使用直流电来为内部电子器件供电。Training power models for some devices can be more challenging than training them for others. Devices with mechanical components such as pumps and motors may have more easily identifiable power ratings due to the relationship between the operation of those mechanical components and power usage. Devices with few or no mechanical components may have more difficult-to-identify power ratings. For example, many electronic devices, such as computers and televisions, convert alternating current (AC) to direct current (DC) and then use that DC to power their internal electronics.

功率模型可以使用如在美国专利9,443,195中描述的训练数据大全来训练。例如,与被开启的电视对应的功率信号中的功率事件的数十个、数百个或数千个示例可被用于训练用于电视开启的功率模型。因为对应于电视开启的功率事件可类似于用于其它电子设备开启的功率事件,所以收集房屋中的所有电子设备的充足训练数据可能是有挑战性的。The power model can be trained using a large dataset of training data as described in U.S. Patent 9,443,195. For example, dozens, hundreds, or thousands of examples of power events in the power signal corresponding to a television being turned on can be used to train a power model for television turn-on. Because the power events corresponding to television turn-on can be similar to those for other electronic devices, collecting sufficient training data for all electronic devices in a house can be challenging.

网络事件可以用于帮助收集训练数据,以用于训练连接到输电线和网络两者的设备的功率模型。假设期望训练用于第一设备(例如,电视)开启的功率模型。可通过使用上文所描述的任何技术来处理网络事件来识别第一设备开启的实例。接着,存储对应于第一设备开启的功率监视信号的一部分,使得其可稍后用于训练目的。功率监视信号的部分可以包括在网络事件之前和/或之后的部分。通过在延长的时间段和/或针对多个家庭执行这些步骤,可以收集训练数据的训练大全以用于训练第一设备开启的功率模型。Network events can be used to help collect training data for training power models of devices connected to both the power line and the network. Suppose we want to train a power model for when a first device (e.g., a television) is turned on. Instances of the first device being turned on can be identified by processing network events using any of the techniques described above. A portion of the power monitoring signal corresponding to the first device being turned on is then stored so that it can be used later for training purposes. This portion of the power monitoring signal may include parts that occur before and/or after the network event. By performing these steps over extended time periods and/or for multiple households, a large training dataset of training data can be collected for training the power model for when the first device is turned on.

功率监视信号的任何部分可包括彼此接近或甚至彼此重叠的多个功率事件。因此,除了用于第一设备开启的功率事件之外,收集的训练数据还可以包括用于其它设备状态改变的功率事件。用于其它设备的功率事件可以被称为外来功率事件。Any part of the power monitoring signal may include multiple power events that are close to or even overlap with each other. Therefore, in addition to the power event for the first device to turn on, the collected training data may also include power events for changes in the state of other devices. Power events for other devices may be referred to as external power events.

可以使用不同的方法以用于处理训练数据中的外来功率事件。在一些实施方式中,可以不采取特殊动作,并且可以照原来样子使用所有数据来训练功率模型。尽管训练数据将包括外来功率事件,但是如果其与对应于第一设备开启的功率事件相比数量小,其可能不会显著影响模型训练。在一些实施方式中,可以丢弃具有多于一个功率事件的训练数据,使得仅使用包含单个功率事件的功率监视信号部分来训练用于第一设备的功率模型。在一些实施方式中,可识别外来功率事件,使得仅有可能对应于第一设备开启的功率事件用于训练功率模型。例如,可以针对训练数据中的所有功率事件计算特征,并且聚类技术(例如k均值)可以用于识别外来功率事件。在功率监视信号的一部分包含在第一时间开启的第一设备的功率事件和在第二时间的外来功率事件的情况下,可以仅使用包括在第一时间的功率事件的功率监视信号的一部分来训练用于第一设备开启的功率事件。Different methods can be used to handle extraneous power events in the training data. In some implementations, no special action can be taken, and the power model can be trained using all the data as is. Although the training data will include extraneous power events, if their number is small compared to the power events corresponding to the first device being turned on, they may not significantly affect model training. In some implementations, training data with more than one power event can be discarded, such that only the portion of the power monitoring signal containing a single power event is used to train the power model for the first device. In some implementations, extraneous power events can be identified, such that only power events that are likely to correspond to the first device being turned on are used to train the power model. For example, features can be computed for all power events in the training data, and clustering techniques (e.g., k-means) can be used to identify extraneous power events. In cases where a portion of the power monitoring signal contains both the power event of the first device being turned on at a first time and the extraneous power event at a second time, only the portion of the power monitoring signal including the power event at the first time can be used to train the power event for the first device being turned on.

然后可以使用训练数据来训练用于第一设备开启的功率模型。可以使用任何适当的技术来训练功率模型,诸如在美国专利9,443,195中描述的任何技术。例如,功率模型可以包括转变模型、设备模型或瓦特数模型中的任何。训练技术可以包括但不限于训练神经网络、自组织映射、支持向量机、决策树、随机森林、逻辑回归、贝叶斯模型、线性和非线性回归以及高斯混合模型。The power model for turning on the first device can then be trained using the training data. Any suitable technique can be used to train the power model, such as any technique described in U.S. Patent 9,443,195. For example, the power model can include any of a transition model, a device model, or a watt-number model. Training techniques can include, but are not limited to, training neural networks, self-organizing maps, support vector machines, decision trees, random forests, logistic regression, Bayesian models, linear and nonlinear regressions, and Gaussian mixture models.

还可以类似地针对第一设备的其它状态改变和其它设备的状态改变来训练功率模型。The power model can also be trained similarly for other state changes of the first device and other devices.

图11是图示使用网络数据来训练用于设备的功率模型的示例实施方式的流程图。在图11中,步骤的顺序是示例性的,并且其它顺序是可能的,不是所有的步骤都是必需的,并且在一些实施方式中,可以省略一些步骤或者可以添加其它步骤。流程图的过程可以例如由本文中描述的任何计算机或系统来实现。Figure 11 is a flowchart illustrating an example implementation of using network data to train a power model for a device. In Figure 11, the order of steps is exemplary, and other orders are possible. Not all steps are necessary, and in some implementations, some steps may be omitted or additional steps may be added. The flowchart process can be implemented, for example, by any computer or system described herein.

在步骤1110,接收关于建筑物中的第一网络事件的信息。网络事件可对应于任何的数据传输,诸如从建筑物中的设备传输到建筑物中的功率监视器的网络数据包。在一些实施方式中,服务器可以从功率监视器接收关于网络事件的信息,其中功率监视器从建筑物中的另一设备接收网络数据传输。关于网络事件的信息可以包括传输的网络数据中的信息或关于传输的网络数据的信息,诸如接收时间。网络事件可以与诸如由功率监视器接收网络数据的时间之类的时间相关联。In step 1110, information about a first network event in the building is received. A network event can correspond to any data transmission, such as a network data packet transmitted from a device in the building to a power monitor in the building. In some implementations, the server can receive information about the network event from the power monitor, where the power monitor receives network data transmission from another device in the building. The information about the network event can include information about the transmitted network data or information about the transmitted network data, such as the time of reception. The network event can be associated with a time, such as the time when network data is received by the power monitor.

在步骤1120,使用关于网络事件的信息来确定第一设备改变状态。本文中所描述的任何技术可用于使用网络事件来确定第一设备状态改变状态。确定可由功率监视器或由结合功率监视器操作的服务器来执行。在一些实施方式中,过程中的其它步骤可取决于确定第一设备改变状态而定。例如,功率监视器可以处理关于网络事件的信息以确定第一设备改变状态并且仅在确定第一设备改变状态之后传输关于网络事件和/或功率监视信号的信息(在步骤1130中)。In step 1120, information about network events is used to determine that the first device has changed state. Any techniques described herein can be used to determine the state change of the first device using network events. The determination can be performed by a power monitor or by a server operating in conjunction with a power monitor. In some implementations, other steps in the process may depend on determining the state change of the first device. For example, the power monitor may process information about network events to determine the state change of the first device and transmit information about network events and/or power monitoring signals only after the state change of the first device has been determined (in step 1130).

在步骤1130,接收功率监视信号,其中接收的功率监视信号是功率监视器所使用的功率监视信号的一部分。例如,服务器可以从功率监视器接收功率监视信号。接收的功率监视信号可以包括在与网络事件对应的时间(例如,传输或接收的时间)处进行的测量。In step 1130, a power monitoring signal is received, wherein the received power monitoring signal is a portion of the power monitoring signal used by the power monitor. For example, the server may receive the power monitoring signal from the power monitor. The received power monitoring signal may include measurements taken at a time corresponding to a network event (e.g., the time of transmission or reception).

步骤1110、1120和1130可以重复任意次数,并且对应的网络事件和功率监视信号可以来自相同的建筑物或者可以来自多个建筑物。收集的功率监视信号可对应于共享共同特征的设备。例如,功率监视信号可全部来自电视,可全部来自东芝电视,或可来自东芝电视的特殊版本。因为功率监视信号共享共同特征,所以它们可用于训练功率模型以检测该共同特征。在步骤1140,可以确定附加数据是否可用于训练功率模型或期望用于训练功率模型。如果更多数据是可用的或期望的,则处理可以进行到步骤1110。如果更多数据不可用或不期望,则处理可进行到步骤1150。Steps 1110, 1120, and 1130 can be repeated any number of times, and the corresponding network events and power monitoring signals can originate from the same building or from multiple buildings. The collected power monitoring signals may correspond to devices sharing common characteristics. For example, the power monitoring signals may all originate from televisions, all from Toshiba televisions, or from a specific version of a Toshiba television. Because the power monitoring signals share common characteristics, they can be used to train a power model to detect that common characteristic. In step 1140, it can be determined whether additional data is available for training the power model or is expected to be used for training the power model. If more data is available or expected, the process can proceed to step 1110. If more data is unavailable or not expected, the process can proceed to step 1150.

在步骤1150,使用在步骤1130的一个或多个实例接收的功率监视信号来训练功率模型。功率模型可以是本文中或美国专利9,443,195中描述的任何功率模型,并且可以使用本文中或美国专利9,443,195中描述的任何技术来训练。在一些实施方式中,功率监视信号可被处理以识别和移除或忽略对应于除了第一设备之外的设备的外来功率事件,如本文中所描述的那样。In step 1150, the power monitoring signals received in one or more instances of step 1130 are used to train the power model. The power model can be any power model described herein or in U.S. Patent 9,443,195, and can be trained using any techniques described herein or in U.S. Patent 9,443,195. In some embodiments, the power monitoring signals may be processed to identify and remove or ignore external power events corresponding to devices other than the first device, as described herein.

在步骤1160处,训练的功率模型可部署到建筑物中的功率监视器。例如,功率模型可以由功率监视器用来识别建筑物中的设备,或者使用本文中描述的任何技术来识别建筑物中的设备状态改变。At step 1160, the trained power model can be deployed to power monitors in the building. For example, the power model can be used by the power monitors to identify devices in the building, or to identify changes in device state in the building using any of the techniques described herein.

在一些实施方式中,功率模型可以如在以下条款、它们中的任何两个或更多的组合中描述的那样被训练,或者与本文中呈现的其它条款组合地被训练。In some implementations, the power model may be trained as described in the following clauses, any two or more of them, or in combination with other clauses presented herein.

1.一种用于训练用于识别设备或设备状态改变的功率模型的系统,系统包括至少一个计算机,所述至少一个计算机包括至少一个处理器和至少一个存储器,所述至少一个计算机被配置成:接收关于第一网络事件的信息,其中第一网络事件对应于在第一时间传输数据的第一建筑物中的第一设备;使用关于第一网络事件的信息来确定第一设备改变状态;获得第一功率监视信号,其中第一功率监视信号对应于第一建筑物中的输电线的电属性的测量结果,并且其中第一功率监视信号包括在第一时间的测量结果;接收关于第二网络事件的信息,其中第二网络事件对应于在第二时间传输数据的第二建筑物中的第二设备;使用关于第二网络事件的信息来确定第二设备改变状态;获得第二功率监视信号,其中第二功率监视信号对应于第二建筑物中的输电线的电属性的测量结果,并且其中第二功率监视信号包括在第二时间的测量结果;使用第一功率监视信号和第二功率监视信号来训练功率模型,其中功率模型被配置成使用功率监视信号来识别设备或设备的状态改变;以及将功率模型传输到第三建筑物中的功率监视器。1. A system for training a power model for recognizing device or device state changes, the system comprising at least one computer including at least one processor and at least one memory, the at least one computer being configured to: receive information about a first network event, wherein the first network event corresponds to a first device in a first building transmitting data at a first time; use the information about the first network event to determine a state change in the first device; obtain a first power monitoring signal, wherein the first power monitoring signal corresponds to a measurement of an electrical property of a transmission line in the first building, and wherein the first power monitoring signal includes the measurement result at the first time; receive information about a second network event, wherein the second network event corresponds to a second device in a second building transmitting data at a second time; use the information about the second network event to determine a state change in the second device; obtain a second power monitoring signal, wherein the second power monitoring signal corresponds to a measurement of an electrical property of a transmission line in the second building, and wherein the second power monitoring signal includes the measurement result at the second time; train a power model using the first power monitoring signal and the second power monitoring signal, wherein the power model is configured to use the power monitoring signal to recognize device or device state changes; and transmit the power model to a power monitor in a third building.

2.条款1的系统,其中第一设备和第二设备是相同类型的设备,具有相同的制造商,或者具有相同的版本。2. The system of Clause 1, wherein the first device and the second device are devices of the same type, of the same manufacturer, or of the same version.

3.条款1的系统,其中至少一个计算机包括第一建筑物中的第一功率监视器、第二建筑物中的第二功率监视器和服务器计算机。3. The system of Clause 1, wherein at least one computer comprises a first power monitor in a first building, a second power monitor in a second building, and a server computer.

4.条款1的系统,其中至少一个计算机被配置成获得第三功率监视信号,其中第三功率监视信号对应于第三建筑物中的输电线的电属性的测量结果;以及利用功率模型处理第三功率监视信号以确定第三设备改变状态。4. The system of Clause 1, wherein at least one computer is configured to acquire a third power monitoring signal, wherein the third power monitoring signal corresponds to a measurement of the electrical properties of a power transmission line in a third building; and to process the third power monitoring signal using a power model to determine a change in the state of a third device.

5.条款1的系统,其中至少一个计算机被配置成向第二设备传输对信息的请求;并且其中响应于对信息的请求而接收网络数据。5. The system of Clause 1, wherein at least one computer is configured to transmit a request for information to a second device; and wherein network data is received in response to the request for information.

6.条款1的系统,其中至少一个计算机被配置成接收关于多个网络事件的信息,其中每个网络事件对应于第一设备传输数据;以及使用关于多个网络事件的信息来确定第一设备改变状态。6. The system of Clause 1, wherein at least one computer is configured to receive information about a plurality of network events, wherein each network event corresponds to the transmission of data by a first device; and to use the information about the plurality of network events to determine a change in the state of the first device.

7.条款1的系统,其中至少一个计算机被配置成通过(1)利用多个网络模型处理关于第一网络事件的信息,以及(2)选择最高得分网络模型来确定第一设备改变状态。7. The system of Clause 1, wherein at least one computer is configured to determine a change in state of a first device by (1) processing information about a first network event using multiple network models and (2) selecting the highest-scoring network model.

8.一种用于训练用于识别设备或设备状态改变的功率模型的方法,方法包括:接收关于第一网络事件的信息,其中第一网络事件对应于在第一时间传输数据的第一设备;获得第一功率监视信号,其中第一功率监视信号对应于输电线的电属性的测量结果,并且其中第一功率监视信号包括在第一时间的测量结果;接收关于第二网络事件的信息,其中第二网络事件对应于在第二时间传输数据的第一设备;获得第二功率监视信号,其中第二功率监视信号对应于输电线的电属性的测量结果,并且其中第二功率监视信号包括在第二时间的测量结果;使用第一功率监视信号和第二功率监视信号训练功率模型,其中功率模型被配置成使用功率监视信号来识别第一设备或第一设备的状态改变。8. A method for training a power model for recognizing a device or a change in device state, the method comprising: receiving information about a first network event, wherein the first network event corresponds to a first device transmitting data at a first time; obtaining a first power monitoring signal, wherein the first power monitoring signal corresponds to a measurement of an electrical property of a transmission line, and wherein the first power monitoring signal includes the measurement at the first time; receiving information about a second network event, wherein the second network event corresponds to the first device transmitting data at a second time; obtaining a second power monitoring signal, wherein the second power monitoring signal corresponds to a measurement of an electrical property of a transmission line, and wherein the second power monitoring signal includes the measurement at the second time; training a power model using the first power monitoring signal and the second power monitoring signal, wherein the power model is configured to use the power monitoring signal to recognize the first device or a change in the state of the first device.

9.条款8的方法,包括:使用关于第一网络事件的信息来确定第一设备改变状态;以及使用关于第二网络事件的信息来确定第二设备改变状态。9. The method of Clause 8 includes: using information about a first network event to determine a change in the state of a first device; and using information about a second network event to determine a change in the state of a second device.

10.条款8的方法,包括将功率模型传输到建筑物中的功率监视器。10. The method of Clause 8 includes transmitting a power model to a power monitor in a building.

11.条款8的方法,其中第一网络事件包括广播网络数据包。11. The method of Clause 8, wherein the first network event includes broadcasting network packets.

12.条款8的方法,其中关于第一网络事件的信息包括第一网络事件的时间。12. The method of Clause 8, wherein the information about the first network event includes the time of the first network event.

13.条款8的方法,包括:确定第一功率监视信号包括第一功率事件和第二功率事件;确定第一功率事件对应于第一设备改变状态;以及使用第一功率事件训练功率模型。13. The method of Clause 8 includes: determining that a first power monitoring signal includes a first power event and a second power event; determining that the first power event corresponds to a change in state of a first device; and training a power model using the first power event.

14.条款13的方法,其中确定第一功率事件对应于第一设备包括:计算第一功率事件的第一特征和第二功率事件的第二特征;以及利用数学模型处理第一特征和第二特征,或者对第一特征和第二特征进行聚类。14. The method of Clause 13, wherein determining that a first power event corresponds to a first device comprises: calculating a first feature of the first power event and a second feature of the second power event; and processing the first feature and the second feature using a mathematical model, or clustering the first feature and the second feature.

15.条款13的方法,其中第一设备在第一建筑物中,并且方法包括:接收关于第三网络事件的信息,其中第三网络事件对应于在第三时间传输数据的第二建筑物中的第二设备;获得第三功率监视信号,其中第三功率监视信号对应于第二建筑物中的输电线的电属性的测量结果,并且其中第二功率监视信号包括在第三时间的测量结果;以及使用第三功率监视信号训练功率模型。15. The method of Clause 13, wherein the first device is in a first building, and the method includes: receiving information about a third network event, wherein the third network event corresponds to a second device in a second building transmitting data at a third time; obtaining a third power monitoring signal, wherein the third power monitoring signal corresponds to a measurement of the electrical properties of a power transmission line in the second building, and wherein the second power monitoring signal includes the measurement at the third time; and training a power model using the third power monitoring signal.

16.一个或多个非暂时性计算机可读介质,包括计算机可执行指令,所述计算机可执行指令在被执行时使得至少一个处理器执行包括以下各项的动作:接收关于第一网络事件的信息,其中第一网络事件对应于在第一时间传输数据的第一设备;获得第一功率监视信号,其中第一功率监视信号对应于输电线的电属性的测量结果,并且其中第一功率监视信号包括在第一时间的测量结果;接收关于第二网络事件的信息,其中第二网络事件对应于在第二时间传输数据的第一设备;获得第二功率监视信号,其中第二功率监视信号对应于输电线的电属性的测量结果,并且其中第二功率监视信号包括在第二时间的测量结果;使用第一功率监视信号和第二功率监视信号训练功率模型,其中功率模型被配置成使用功率监视信号来识别第一设备或第一设备的状态改变。16. One or more non-transitory computer-readable media, comprising computer-executable instructions that, when executed, cause at least one processor to perform actions including: receiving information about a first network event, wherein the first network event corresponds to a first device transmitting data at a first time; obtaining a first power monitoring signal, wherein the first power monitoring signal corresponds to a measurement of an electrical property of a transmission line, and wherein the first power monitoring signal includes the measurement result at the first time; receiving information about a second network event, wherein the second network event corresponds to a first device transmitting data at a second time; obtaining a second power monitoring signal, wherein the second power monitoring signal corresponds to a measurement of an electrical property of a transmission line, and wherein the second power monitoring signal includes the measurement result at the second time; training a power model using the first power monitoring signal and the second power monitoring signal, wherein the power model is configured to use the power monitoring signal to identify the first device or a change in the state of the first device.

17.条款16的一个或多个非暂时性计算机可读介质,其中功率监视信号指示输电线的电流或电压。17. One or more non-transitory computer-readable media of Clause 16, wherein a power monitoring signal indicates the current or voltage of a transmission line.

18.条款16的一个或多个非暂时性计算机可读介质,其中功率模型包括转变模型、设备模型或瓦特数模型。18. One or more non-transitory computer-readable media of Clause 16, wherein the power model includes a transformation model, a device model, or a watt number model.

19.条款16的一个或多个非暂时性计算机可读介质,其中第一网络事件包括广播网络数据包。19. One or more non-transitory computer-readable media of Clause 16, wherein the first network event includes broadcast network packets.

20.条款16的一个或多个非暂时性计算机可读介质,包括将功率模型传输到建筑物中的功率监视器。20. One or more non-transitory computer-readable media of Clause 16, including power monitors that transmit power models to buildings.

上述技术允许创建用于设备的功率模型,在该设备中,可能以其它方式难以获得足够的训练数据来训练功率模型。对于具有很少或没有任何机械部件的设备(例如,电视和计算机),在设备的功率标记中可能不存在大量的可变性。为了获得这样的设备的示例功率标记,一个人可以手动地改变设备的状态并且将功率监视信号保存在围绕手动状态改变的窗口中,但是该过程不缩放以获得大量训练数据或获得大量设备的数据。通过应用本文中描述的技术,可以通过网络监视来获得设备的训练数据。因为此过程可能不需要人的动作,所以其可因此缩放以获得大量设备的大量训练数据和/或大量设备的训练数据。通过使用网络监视获得训练数据,可以更快速地创建功率模型(因为可以更快速地获得训练数据),并且功率模型可以更准确(因为更多的训练数据可以是可用的)。The techniques described above allow for the creation of power models for devices in which sufficient training data might otherwise be difficult to obtain. For devices with few or no mechanical parts (e.g., televisions and computers), there may not be significant variability in the device's power signature. To obtain an example power signature for such a device, one could manually change the device's state and store the power monitoring signal within a window around the manual state change; however, this process does not scale to obtain a large amount of training data or data for a large number of devices. By applying the techniques described herein, training data for the device can be obtained through network monitoring. Because this process may not require human intervention, it can therefore scale to obtain a large amount of training data for a large number of devices and/or a large number of devices. By using network monitoring to obtain training data, power models can be created more quickly (because training data is available more rapidly), and the power models can be more accurate (because more training data is available).

实施方式Implementation

图12图示了可以用于结合功率监视器操作的任何功率监视器或服务器的计算设备1200的一些实施方式的部件。在图12中,部件被示出为在单个计算设备上,但是部件可以分布在多个计算设备之间,诸如在上述任何设备之中或在若干服务器计算设备之中。Figure 12 illustrates components of some embodiments of a computing device 1200 that can be used in conjunction with the operation of any power monitor or server. In Figure 12, the components are shown as being on a single computing device, but the components may be distributed among multiple computing devices, such as in any of the devices described above or among several server computing devices.

计算设备1200可以包括计算设备的典型的任何部件,诸如一个或多个处理器1211、易失性或非易失性存储器1210以及用于连接到计算机网络的一个或多个网络接口1212。计算设备1200还可以包括任何输入和输出部件,诸如显示器、键盘和触摸屏。计算设备1200还可以包括提供特定功能性的各种部件或模块,并且这些部件或模块可以以软件、硬件或其组合来实现。下文中,针对一个示例实施方式描述部件的若干实例,并且其它实施方式可包括附加部件或排除下文所描述的部件中的一些。Computing device 1200 may include any typical components of a computing device, such as one or more processors 1211, volatile or non-volatile memory 1210, and one or more network interfaces 1212 for connecting to a computer network. Computing device 1200 may also include any input and output components, such as a display, keyboard, and touchscreen. Computing device 1200 may also include various components or modules that provide specific functionality, and these components or modules may be implemented in software, hardware, or a combination thereof. Hereinafter, several instances of components are described with respect to one example embodiment, and other embodiments may include additional components or exclude some of the components described below.

计算设备1200可以包括功率事件处理部件1220,该功率事件处理部件1220可以用于处理功率监视信号并且从功率监视信号确定关于设备的信息,诸如识别设备和设备状态改变。计算设备1200可以包括网络事件处理部件1221,其可以用于处理来自计算机网络的数据并且从网络数据确定关于设备的信息,诸如识别设备和设备状态改变。计算设备1200可包括设备识别部件,该设备识别部件可用于通过使用从功率监视和/或网络监视获得的信息来识别关于设备的信息(诸如设备的类型或设备的制造)。计算设备1200可以包括设备状态改变部件,其可以用于通过使用从功率监视和/或网络监视获得的信息来识别设备的状态改变。计算设备1200可以具有设备更新部件1224,其可以用于在设备已被识别或设备的状态改变已被识别之后更新设备列表。The computing device 1200 may include a power event processing unit 1220, which can be used to process power monitoring signals and determine information about devices from the power monitoring signals, such as identifying devices and device status changes. The computing device 1200 may include a network event processing unit 1221, which can be used to process data from a computer network and determine information about devices from the network data, such as identifying devices and device status changes. The computing device 1200 may include a device identification unit, which can be used to identify information about devices (such as the type of device or the manufacture of the device) using information obtained from power monitoring and/or network monitoring. The computing device 1200 may include a device status change unit, which can be used to identify device status changes using information obtained from power monitoring and/or network monitoring. The computing device 1200 may have a device update unit 1224, which can be used to update the device list after a device has been identified or a device status change has been identified.

计算设备1200可以包括或可以访问各种数据存储,诸如数据存储1230、1231和1232。数据存储可使用任何已知存储技术,诸如文件或相关或非相关数据库。例如,计算设备1200可以具有功率模型数据存储1230以存储功率模型或关于功率模型的信息。计算设备1200可以具有网络模型数据存储1231以存储网络模型或关于网络模型的信息。计算设备1200可以具有设备信息数据存储1232,其可以用于存储关于设备的信息,诸如用于一个或多个建筑物的设备列表。Computing device 1200 may include or have access to various data storage methods, such as data storage methods 1230, 1231, and 1232. Data storage may use any known storage technology, such as files or related or unrelated databases. For example, computing device 1200 may have a power model data storage method 1230 to store power models or information about power models. Computing device 1200 may have a network model data storage method 1231 to store network models or information about network models. Computing device 1200 may have a device information data storage method 1232, which can be used to store information about devices, such as a list of devices used in one or more buildings.

虽然仅示出和描述了本发明的一些实施例,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求中描述的本公开的精神和范围的情况下,可以对其做出许多改变和修改。本文中引用的所有专利申请和专利(国外和国内两者)以及所有其它出版物在由法律允许的整个范围内以其整体并入本文中。While only some embodiments of the invention have been shown and described, it will be apparent to those skilled in the art that many changes and modifications can be made thereto without departing from the spirit and scope of this disclosure as set forth in the appended claims. All patent applications and patents (both foreign and domestic) cited herein, as well as all other publications, are incorporated herein in their entirety to the full extent permitted by law.

本文中描述的方法和系统可以部分地或整体地通过在处理器上执行计算机软件、程序代码和/或指令的机器来部署。处理器可以是服务器、云服务器、客户端、网络基础设施、移动计算平台、固定计算平台或其它计算平台的一部分。处理器可以是能够执行程序指令、代码、二进制指令等的任何类型的计算或处理设备。处理器可以是或可以包括信号处理器、数字处理器、嵌入式处理器、微处理器或任何变体,诸如协处理器(数学协处理器、图形协处理器、通信协处理器等)等,其可以直接或间接地促进其上存储的程序代码或程序指令的执行。另外,处理器可以实现多个程序、线程和代码的执行。线程可以被同时执行以增强处理器的性能并且以促进应用的同时操作。通过实施方式,本文中描述的方法、程序代码、程序指令等可以在一个或多个线程中实现。线程可产生可具有已经分配的与其相关联的优先级的其它线程;处理器可基于优先级或基于程序代码中提供的指令的任何其它顺序来执行这些线程。处理器可以包括存储如本文中和其它地方所描述的方法、代码、指令和程序的存储器。处理器可以通过可以存储如本文中和其它地方所描述的方法、代码和指令的接口来访问存储介质。与用于存储方法、程序、代码、程序指令或能够由计算或处理设备执行的其它类型的指令的处理器相关联的存储介质可以包括但不限于CD-ROM、DVD、存储器、硬盘、闪速驱动器、RAM、ROM、高速缓存等中的一个或多个。The methods and systems described herein can be deployed, in part or in whole, by a machine that executes computer software, program code, and/or instructions on a processor. The processor can be part of a server, cloud server, client, network infrastructure, mobile computing platform, fixed computing platform, or other computing platform. The processor can be any type of computing or processing device capable of executing program instructions, code, binary instructions, etc. The processor can be or can include a signal processor, digital processor, embedded processor, microprocessor, or any variant such as a coprocessor (mathematical coprocessor, graphics coprocessor, communication coprocessor, etc.) that can directly or indirectly facilitate the execution of program code or program instructions stored thereon. Furthermore, the processor can implement the execution of multiple programs, threads, and code. Threads can be executed concurrently to enhance processor performance and facilitate simultaneous operation of applications. By implementation, the methods, program code, program instructions, etc., described herein can be implemented in one or more threads. Threads can spawn other threads that may have assigned and associated priorities; the processor can execute these threads based on priority or any other order of instructions provided in the program code. The processor may include memory storing the methods, code, instructions, and programs as described herein and elsewhere. A processor can access a storage medium through an interface that can store methods, code, and instructions as described herein and elsewhere. The storage medium associated with a processor for storing methods, programs, code, program instructions, or other types of instructions executable by a computing or processing device may include, but is not limited to, one or more of CD-ROMs, DVDs, memory, hard disks, flash drives, RAM, ROM, caches, etc.

处理器可以包括可以增强多处理器的速度和性能的一个或多个核。在实施例中,该过程可以是组合两个或更多独立核(称为管芯)的双核处理器、四核处理器、其它芯片级多处理器等。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, or other chip-level multiprocessors that combine two or more independent cores (referred to as dies).

本文中描述的方法和系统可以部分地或整体地通过在服务器、云服务器、客户端、防火墙、网关、集线器、路由器或其它这样的计算机和/或联网硬件上执行计算机软件的机器来部署。软件程序可以与服务器相关联,该服务器可以包括文件服务器、打印服务器、域服务器、因特网服务器、内联网服务器和诸如辅助服务器、主机服务器、分布式服务器等的其它变型。服务器可以包括能够通过有线或无线介质等访问其它服务器、客户端、机器和设备的存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟)、通信设备和接口中的一个或多个。如本文中和其它地方所描述的方法、程序或代码可以由服务器执行。另外,如在本申请中描述的执行方法所需的其它设备可以被认为是与服务器相关联的基础设施的一部分。The methods and systems described herein can be deployed, in part or in whole, on a machine that executes computer software on a server, cloud server, client, firewall, gateway, hub, router, or other computer and/or networking hardware. The software program can be associated with a server, which may include a file server, print server, domain server, internet server, intranet server, and other variations such as a secondary server, host server, distributed server, etc. The server may include one or more of a memory, processor, computer-readable medium, storage medium, port (physical and virtual), communication device, and interface capable of accessing other servers, clients, machines, and devices via wired or wireless media. The methods, programs, or code described herein and elsewhere can be executed by the server. Additionally, other devices required for executing the methods as described in this application can be considered part of the infrastructure associated with the server.

服务器可以向其它设备提供接口,所述设备包括但不限于客户端、其它服务器、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等。附加地,该耦合和/或连接可以促进跨网络的程序的远程执行。在不脱离本公开的范围的情况下,这些设备中的一些或全部的联网可以促进在一个或多个位置处的程序或方法的并行处理。另外,通过接口附接到服务器的任何设备可以包括能够存储方法、程序、代码和/或指令的至少一个存储介质。中央储存库可以提供要在不同设备上执行的程序指令。在此实施方式中,远程存储库可充当用于程序代码、指令和程序的存储介质。The server can provide interfaces to other devices, including but not limited to clients, other servers, printers, database servers, print servers, file servers, communication servers, distributed servers, etc. Additionally, this coupling and/or connection can facilitate remote execution of programs across a network. Without departing from the scope of this disclosure, networking some or all of these devices can facilitate parallel processing of programs or methods at one or more locations. Furthermore, any device attached to the server via the interface can include at least one storage medium capable of storing methods, programs, code, and/or instructions. A central repository can provide program instructions to be executed on different devices. In this embodiment, a remote repository can act as a storage medium for program code, instructions, and programs.

软件程序可以与客户端相关联,该客户端可以包括文件客户端、打印客户端、域客户端、英特网客户端、内联网客户端和诸如辅助客户端、主机客户端、分布式客户端等的其它变型。客户端可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟)、通信设备和能够通过有线或无线介质访问其它客户端、服务器、机器和设备的接口等中的一个或多个。如本文中和其它地方所描述的方法、程序或代码可以由客户端执行。另外,如在本申请中描述的执行方法所需的其它设备可以被认为是与客户端相关联的基础设施的一部分。The software program may be associated with a client, which may include file clients, print clients, domain clients, Internet clients, intranet clients, and other variations such as auxiliary clients, host clients, distributed clients, etc. The client may include one or more of the following: memory, processor, computer-readable medium, storage medium, port (physical and virtual), communication device, and interface capable of accessing other clients, servers, machines, and devices via wired or wireless media. The methods, programs, or code described herein and elsewhere may be executed by the client. Additionally, other devices required to execute the methods as described in this application may be considered part of the infrastructure associated with the client.

客户端可以向其它设备提供接口,所述设备包括但不限于服务器、其它客户端、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等。附加地,该耦合和/或连接可以促进跨网络的程序的远程执行。在不脱离本公开的范围的情况下,这些设备中的一些或全部的联网可以促进在一个或多个位置处的程序或方法的并行处理。另外,通过接口附接到客户端的任何设备可以包括能够存储方法、程序、应用、代码和/或指令的至少一个存储介质。中央储存库可以提供要在不同设备上执行的程序指令。在此实施方式中,远程存储库可充当用于程序代码、指令和程序的存储介质。The client can provide interfaces to other devices, including but not limited to servers, other clients, printers, database servers, print servers, file servers, communication servers, distributed servers, etc. Additionally, this coupling and/or connection can facilitate remote execution of programs across a network. Without departing from the scope of this disclosure, networking some or all of these devices can facilitate parallel processing of programs or methods at one or more locations. Furthermore, any device attached to the client via an interface can include at least one storage medium capable of storing methods, programs, applications, code, and/or instructions. A central repository can provide program instructions to be executed on different devices. In this embodiment, a remote repository can act as a storage medium for program code, instructions, and programs.

本文中描述的方法和系统可以部分地或整体地通过网络基础设施来部署。网络基础设施可以包括诸如计算设备、服务器、路由器、集线器、防火墙、客户端、个人计算机、通信设备、路由设备以及本领域已知的其它有源和无源设备、模块和/或部件之类的元件。与网络基础设施相关联的(一个或多个)计算和/或非计算设备除了其它部件之外可以包括存储介质,诸如闪速存储器、缓冲器、栈、RAM、ROM等。本文中和其它地方描述的过程、方法、程序代码、指令可以由网络基础设施元件中的一个或多个来执行。The methods and systems described herein can be deployed, in part or in whole, through a network infrastructure. The network infrastructure may include elements such as computing devices, servers, routers, hubs, firewalls, clients, personal computers, communication equipment, routing devices, and other active and passive devices, modules, and/or components known in the art. One or more computing and/or non-computing devices associated with the network infrastructure may, among other components, include storage media such as flash memory, buffers, stacks, RAM, ROM, etc. The processes, methods, program code, and instructions described herein and elsewhere may be executed by one or more of the network infrastructure elements.

本文中和其它地方所描述的方法、程序代码和指令可以在具有多个小区的蜂窝网络上实现。蜂窝网络可以是频分多址(FDMA)网络或码分多址(CDMA)网络。蜂窝网络可以包括移动设备、小区站点、基站、中继器、天线、塔等。小区网络可以是GSM、GPRS、3G、EVDO、网状或其它网络类型。The methods, program code, and instructions described herein and elsewhere can be implemented on a cellular network with multiple cells. The cellular network can be a Frequency Division Multiple Access (FDMA) network or a Code Division Multiple Access (CDMA) network. The cellular network can include mobile devices, cell sites, base stations, repeaters, antennas, towers, etc. The cell network can be GSM, GPRS, 3G, EVDO, mesh, or other network types.

本文中和其它地方所描述的方法、程序代码和指令可以在移动设备上或通过移动设备来实现。移动设备可以包括导航设备、蜂窝电话、移动电话、移动个人数字助理、膝上型计算机、掌上计算机、上网本、寻呼机、电子书阅读器、音乐播放器等。除了其它部件之外,这些设备可以包括诸如闪速存储器、缓冲器、RAM、ROM和一个或多个计算设备的存储介质。可以使与移动设备相关联的计算设备能够执行存储在其上的程序代码、方法和指令。可替换地,移动设备可以被配置成执行与其它设备协作的指令。移动设备可与与服务器接合并被配置成执行程序代码的基站通信。移动设备可以在端对端网络、网状网络或其它通信网络上通信。程序代码可以存储在与服务器相关联的存储介质上并且由嵌入在服务器内的计算设备执行。基站可以包括计算设备和存储介质。存储设备可以存储由与基站相关联的计算设备执行的程序代码和指令。The methods, program code, and instructions described herein and elsewhere can be implemented on or through mobile devices. Mobile devices may include navigation devices, cellular phones, mobile phones, mobile personal digital assistants, laptops, handheld computers, netbooks, pagers, e-book readers, music players, etc. Among other components, these devices may include storage media such as flash memory, buffers, RAM, ROM, and one or more computing devices. The computing device associated with the mobile device can be enabled to execute the program code, methods, and instructions stored thereon. Alternatively, the mobile device may be configured to execute instructions in cooperation with other devices. The mobile device may communicate with a base station coupled to a server and configured to execute program code. The mobile device may communicate on end-to-end networks, mesh networks, or other communication networks. The program code may be stored on a storage medium associated with the server and executed by a computing device embedded within the server. The base station may include computing devices and storage media. The storage device may store program code and instructions executed by the computing device associated with the base station.

可以在机器可读介质上存储和/或访问计算机软件、程序代码和/或指令,该机器可读介质可以包括:保留用于计算某个时间间隔的数字数据的计算机部件、设备和记录介质;被称为随机存取存储器(RAM)的半导体存储;通常用于更持久的存储的大容量存储器,诸如光盘、如硬盘、带、磁鼓、卡和其它类型的磁性存储的形式;处理器寄存器、高速缓存存储器、易失性存储器、非易失性存储器;光学存储,诸如CD、DVD;可移除介质,诸如闪速存储器(例如,USB棒或密钥)、软盘、磁带、纸带、打孔卡、独立RAM盘、Zip驱动器、可移除大容量存储、离线等;其它计算机存储器,诸如动态存储器、静态存储器、读/写存储、可变存储、只读、随机存取、顺序存取、位置可寻址、文件可寻址、内容可寻址、网络附接的存储、存储区域网络、条形码、磁性墨水等。Computer software, program code, and/or instructions can be stored and/or accessed on machine-readable media, which may include: computer components, devices, and recording media that hold digital data for calculating a time interval; semiconductor storage known as random access memory (RAM); mass storage typically used for more persistent storage, such as optical discs, hard disks, tapes, magnetic drums, cards, and other types of magnetic storage; processor registers, cache memory, volatile memory, and non-volatile memory; optical storage, such as CDs and DVDs; removable media, such as flash memory (e.g., USB sticks or keys), floppy disks, magnetic tapes, paper tapes, punch cards, stand-alone RAM disks, Zip drives, removable mass storage, offline storage, etc.; and other computer storage, such as 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, etc.

本文中描述的方法和系统可以将物理和/或无形项目从一个状态变换到另一个状态。本文中描述的方法和系统还可以将表示物理和/或无形项目的数据从一个状态变换到另一个状态,诸如从使用数据变换为归一化使用数据集。The methods and systems described herein can transform physical and/or intangible items from one state to another. The methods and systems described herein can also transform data representing physical and/or intangible items from one state to another, such as transforming used data into a normalized used dataset.

本文中描述和描绘的元件(包括在贯穿附图的流程图和框图中)暗示元件之间的逻辑边界。然而,根据软件或硬件工程实践,所描绘的元件及其功能可通过计算机可执行介质在机器上实现,所述计算机可执行介质具有能够执行存储在其上的程序指令的处理器来作为单片式软件结构、作为独立软件模块、或作为采用外部例程、代码、服务等或这些的任何组合的模块,以及所有这样的实施方式都可以在本公开的范围内。这样的机器的示例可以包括但不限于个人数字助理、膝上型计算机、个人计算机、移动电话、其它手持计算设备、医疗装备、有线或无线通信设备、换能器、芯片、计算器、卫星、平板PC、电子书、小工具、电子设备,具有人工智能的设备、计算设备、网络装备、服务器、路由器等。此外,在流程图和框图中描绘的元件或任何其它逻辑部件可以在能够执行程序指令的机器上实现。因此,虽然前述附图和描述阐述了所公开的系统的功能方面,但是用于实现这些功能方面的软件的特定布置都不应当从这些描述中推断,除非明确地声明或以其它方式根据上下文是清楚的。类似地,将领会的是,上文所识别和描述的各种步骤可变化,并且步骤的顺序可适用于本文中所公开的技术的特殊应用。所有这样的变化和修改旨在落入本公开的范围内。因此,各种步骤的顺序的描绘和/或描述不应当被理解为要求对那些步骤的特殊执行顺序,除非由特殊应用需要,或者明确地声明或以其它方式根据上下文是清楚的。The elements described and depicted herein (including those in the flowcharts and block diagrams throughout the accompanying drawings) imply logical boundaries between elements. However, in accordance with software or hardware engineering practice, the depicted elements and their functions may be implemented on a machine by a computer-executable medium having a processor capable of executing program instructions stored thereon, as a monolithic software architecture, as a standalone software module, or as a module employing external routines, code, services, etc., or any combination thereof, and all such implementations are within the scope of this disclosure. Examples of such machines may include, but are not limited to, personal digital assistants, laptop computers, personal computers, mobile phones, other handheld computing devices, medical devices, wired or wireless communication devices, transducers, chips, calculators, satellites, tablet PCs, e-books, gadgets, electronic devices, devices with artificial intelligence, computing devices, network equipment, servers, routers, etc. Furthermore, the elements or any other logical components depicted in the flowcharts and block diagrams may be implemented on a machine capable of executing program instructions. Therefore, while the foregoing figures and descriptions illustrate functional aspects of the disclosed systems, specific arrangements of the software used to implement these functional aspects should not be inferred from these descriptions unless expressly stated or otherwise understood from the context. Similarly, it will be understood that the various steps identified and described above are subject to variation, and the order of the steps may be adapted to the specific application of the techniques disclosed herein. All such variations and modifications are intended to fall within the scope of this disclosure. Therefore, the depiction and/or description of the order of the various steps should not be construed as requiring a particular order of execution of those steps, unless required by a particular application, or expressly stated or otherwise clear from the context.

上文所描述的方法和/或过程及其步骤可在适合于特殊应用的硬件、软件或硬件与软件的任何组合中实现。硬件可以包括通用计算机和/或专用计算设备或特定计算设备或特定计算设备的特殊方面或部件。过程可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其它可编程设备连同内部和/或外部存储器中实现。过程还可或替代地体现于专用集成电路、可编程门阵列、可编程阵列逻辑或可被配置成处理电子信号的任何其它设备或设备的组合中。还应当领会的是,一个或多个过程可以被实现为能够在机器可读介质上执行的计算机可执行代码。The methods and/or processes and their steps described above may 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 special-purpose computing devices or specific aspects or components of a particular computing device. Processes may be implemented in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors, or other programmable devices together with internal and/or external memory. Processes may also be embodied, or alternatively, in application-specific integrated circuits, programmable gate arrays, programmable array logic, or any other device or combination of devices that may be configured to process electronic signals. It should also be understood that one or more processes may be implemented as computer-executable code capable of executing on a machine-readable medium.

计算机可执行代码可以使用诸如C的结构化编程语言、诸如C++的面向对象的编程语言、或者可以存储、编译或解释以在上述设备中的一个以及处理器、处理器架构的异构组合或不同硬件和软件的组合、或能够执行程序指令的任何其它机器上运行的任何其它高级或低级编程语言(包括汇编语言、硬件描述语言以及数据库编程语言和技术)来创建。Computer executable code can be created using structured programming languages such as C, object-oriented programming languages such as C++, or any other high- or low-level programming languages (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 aforementioned devices and processors, heterogeneous combinations of processor architectures, or combinations of different hardware and software, or any other machine capable of executing program instructions.

因此,在一个方面中,上文所描述的每个方法及其组合可体现于计算机可执行代码中,所述计算机可执行代码在一个或多个计算设备上执行时执行其步骤。在另一方面中,方法可体现于执行其步骤的系统中,并且可以以多种方式跨设备分布,或所有功能性可集成到专用、独立设备或其它硬件中。在另一方面,用于执行与上文所描述的过程相关联的步骤的装置可包括上文所描述的任何硬件和/或软件。所有这样的置换和组合旨在落入本公开的范围内。Therefore, in one aspect, each method and combination thereof described above may be embodied in computer-executable code, which performs its steps when executed on one or more computing devices. In another aspect, the method may be embodied in a system that performs its steps and may be distributed across devices in various ways, or all functionality may be integrated into a dedicated, stand-alone device or other hardware. In yet another aspect, means for performing the steps associated with the processes described above may include any of the hardware and/or software described above. All such substitutions and combinations are intended to fall within the scope of this disclosure.

本文中引用的所有文档通过引用特此并入。All documents cited in this article are hereby incorporated by reference.

Claims (62)

1.一种用于确定建筑物中的设备的状态的系统,所述系统包括:1. A system for determining the status of equipment in a building, the system comprising: 至少一个计算机,其包括至少一个处理器和至少一个存储器,所述至少一个计算机被配置成:At least one computer, comprising at least one processor and at least one memory, said at least one computer is configured to: 通过测量所述建筑物中的输电线的电属性来获得功率监视信号,其中所述输电线向所述建筑物中的所述设备提供功率,所述建筑物中的所述设备包括第一设备和第二设备;A power monitoring signal is obtained by measuring the electrical properties of power transmission lines in the building, wherein the power transmission lines supply power to the equipment in the building, and the equipment in the building includes a first device and a second device. 通过以下步骤来确定所述第一设备的状态:(1)利用多个功率模型处理所述功率监视信号中的第一功率事件以针对所述多个功率模型中的每个功率模型生成分数,以及(2)使用所述分数从多个可能状态中选择所述第一设备的状态;The state of the first device is determined by the following steps: (1) processing a first power event in the power monitoring signal using multiple power models to generate a score for each of the multiple power models, and (2) using the score to select the state of the first device from multiple possible states; 从服务器计算机接收第一网络数据包,其中所述服务器计算机基于从所述第二设备接收的信息来传输所述第一网络数据包;Receive a first network data packet from a server computer, wherein the server computer transmits the first network data packet based on information received from the second device; 使用所述第一网络数据包来确定所述第一网络数据包对应于所述第二设备;以及Use the first network packet to determine that the first network packet corresponds to the second device; and 使用所述第一网络数据包从所述第二设备的多个可能状态中选择所述第二设备的状态。The first network data packet is used to select the state of the second device from a plurality of possible states of the second device. 2.根据权利要求1所述的系统,其中所述功率监视信号指示所述输电线的电流或电压。2. The system of claim 1, wherein the power monitoring signal indicates the current or voltage of the transmission line. 3.根据权利要求1所述的系统,其中所述第一网络数据包为广播网络数据包。3. The system according to claim 1, wherein the first network data packet is a broadcast network data packet. 4.根据权利要求1所述的系统,其中所述第一网络数据包包括使用简单服务发现协议、零配置联网或NetBIOS的广播。4. The system of claim 1, wherein the first network data packet includes a broadcast using Simple Service Discovery Protocol, Zero-Configuration Networking, or NetBIOS. 5.根据权利要求1所述的系统,其中响应于向所述第二设备传输的对信息的请求来接收所述第一网络数据包。5. The system of claim 1, wherein the first network data packet is received in response to a request for information transmitted to the second device. 6.根据权利要求1所述的系统,其中响应于轮询所述第二设备、使用所述第二设备的API请求信息、或请求关于由所述第二设备提供的服务的信息来接收所述第一网络数据包。6. The system of claim 1, wherein the first network data packet is received in response to polling the second device, requesting information using the API of the second device, or requesting information about services provided by the second device. 7.根据权利要求1所述的系统,其中通过以下步骤来选择所述第二设备的状态:(1)利用多个网络模型处理所述第一网络数据包中的信息,以及(2)选择最高得分网络模型,其中所述最高得分网络模型对应于所选择的状态。7. The system of claim 1, wherein the state of the second device is selected by the following steps: (1) processing information in the first network data packet using multiple network models, and (2) selecting the highest-scoring network model, wherein the highest-scoring network model corresponds to the selected state. 8.根据权利要求1所述的系统,其中通过利用多个规则处理所述第一网络数据包中的信息来选择所述第二设备的所述状态,其中所述多个规则中的每个规则包括将所述第一网络数据包中的信息与至少一个条件进行比较。8. The system of claim 1, wherein the state of the second device is selected by processing information in the first network data packet using a plurality of rules, wherein each of the plurality of rules includes comparing information in the first network data packet with at least one condition. 9.根据权利要求1所述的系统,其中通过以下步骤来选择所述第二设备的状态:9. The system of claim 1, wherein the state of the second device is selected by the following steps: 利用多个功率模型处理所述功率监视信号中的第二功率事件,以针对所述多个功率模型中的每个功率模型生成第二分数;The second power event in the power monitoring signal is processed using multiple power models to generate a second score for each of the multiple power models; 利用多个网络模型处理关于所述第一网络数据包的信息,以针对所述多个网络模型中的每个网络模型生成第三分数;以及Information about the first network data packet is processed using multiple network models to generate a third score for each of the multiple network models; and 使用所述第二分数和所述第三分数来选择所述状态。The state is selected using the second score and the third score. 10.根据权利要求1所述的系统,其中通过针对多个状态改变模型中的每个状态改变模型生成第二分数来选择所述第二设备的状态,其中每个状态改变模型处理所述功率监视信号中的第二功率事件和所述第一网络数据包中的信息;以及使用所述第二分数来选择所述状态。10. The system of claim 1, wherein the state of the second device is selected by generating a second score for each of a plurality of state change models, wherein each state change model processes a second power event in the power monitoring signal and information in the first network data packet; and the state is selected using the second score. 11.根据权利要求1所述的系统,其中通过以下步骤来选择所述第二设备的状态:11. The system of claim 1, wherein the state of the second device is selected by the following steps: 接收多个网络数据包,其中所述多个网络数据包中的每个网络数据包由所述第二设备传输;以及Receive multiple network data packets, wherein each of the multiple network data packets is transmitted by the second device; and 使用所述多个网络数据包中的信息来选择所述第二设备的所述状态。The state of the second device is selected using information from the plurality of network packets. 12.一种用于确定建筑物中的设备的状态的计算机实现的方法,所述方法包括:12. A computer-implemented method for determining the state of equipment in a building, the method comprising: 通过测量所述建筑物中的输电线的电属性来获得功率监视信号,其中所述输电线向所述建筑物中的所述设备提供功率,所述建筑物中的所述设备包括第一设备和第二设备;A power monitoring signal is obtained by measuring the electrical properties of power transmission lines in the building, wherein the power transmission lines supply power to the equipment in the building, and the equipment in the building includes a first device and a second device. 通过以下步骤来确定所述第一设备的状态:(1)利用多个功率模型处理所述功率监视信号中的第一功率事件以针对所述多个功率模型中的每个功率模型生成分数,以及(2)使用所述分数从多个可能状态中选择所述第一设备的状态;The state of the first device is determined by the following steps: (1) processing a first power event in the power monitoring signal using multiple power models to generate a score for each of the multiple power models, and (2) using the score to select the state of the first device from multiple possible states; 接收第一网络数据包,其中所述第一网络数据包由所述第二设备来传输;Receive a first network data packet, wherein the first network data packet is transmitted by the second device; 使用所述第一网络数据包中的信息来确定所述第一网络数据包由所述第二设备来发送;以及Use the information in the first network data packet to determine that the first network data packet was sent by the second device; and 使用所述第一网络数据包中的所述信息从所述第二设备的多个可能状态中选择所述第二设备的状态。The state of the second device is selected from multiple possible states of the second device using the information in the first network data packet. 13.根据权利要求12所述的计算机实现的方法,其中所述第一网络数据包包括使用简单服务发现协议、零配置联网或NetBIOS的广播。13. The computer-implemented method of claim 12, wherein the first network data packet includes a broadcast using a simple service discovery protocol, zero-configuration networking, or NetBIOS. 14.根据权利要求12所述的计算机实现的方法,所述方法包括:14. The computer-implemented method according to claim 12, the method comprising: 传输对信息的请求至所述第二设备;Transmit a request for information to the second device; 其中接收所述第一网络数据包包括接收所述对信息的请求的响应。Receiving the first network data packet includes receiving a response to the request for information. 15.根据权利要求14所述的计算机实现的方法,其中传输所述对信息的请求包括轮询所述第二设备、使用所述第二设备的API请求信息、或请求关于由所述第二设备提供的服务的信息。15. The computer-implemented method of claim 14, wherein transmitting the request for information includes polling the second device, requesting information using the API of the second device, or requesting information about services provided by the second device. 16.根据权利要求12所述的计算机实现的方法,其中选择所述第二设备的状态包括:(1)利用多个网络模型处理所述第一网络数据包中的信息,以及(2)选择最高得分网络模型,其中所述最高得分网络模型对应于所选择的状态。16. The computer-implemented method of claim 12, wherein selecting the state of the second device comprises: (1) processing information in the first network data packet using multiple network models, and (2) selecting the highest-scoring network model, wherein the highest-scoring network model corresponds to the selected state. 17.根据权利要求12所述的计算机实现的方法,其中选择所述第二设备的状态包括利用多个规则处理所述第一网络数据包中的信息,其中所述多个规则中的每个规则包括将所述第一网络数据包中的信息与至少一个条件进行比较。17. The computer-implemented method of claim 12, wherein selecting the state of the second device includes processing information in the first network data packet using a plurality of rules, wherein each of the plurality of rules includes comparing the information in the first network data packet with at least one condition. 18.根据权利要求12所述的计算机实现的方法,其中选择所述第二设备的状态包括:18. The computer-implemented method of claim 12, wherein selecting the state of the second device includes: 利用多个功率模型处理所述功率监视信号中的第二功率事件,以针对所述多个功率模型中的每个功率模型生成第二分数;以及The second power event in the power monitoring signal is processed using multiple power models to generate a second score for each of the multiple power models; and 利用多个网络模型处理关于所述第一网络数据包的信息,以针对所述多个网络模型中的每个网络模型生成第三分数;以及Information about the first network data packet is processed using multiple network models to generate a third score for each of the multiple network models; and 使用所述第二分数和所述第三分数来选择所述状态。The state is selected using the second score and the third score. 19.根据权利要求12所述的计算机实现的方法,其中选择所述第二设备的状态包括:19. The computer-implemented method of claim 12, wherein selecting the state of the second device includes: 针对多个状态改变模型中的每个状态改变模型生成第二分数,其中每个状态改变模型处理所述功率监视信号中的第二功率事件和所述第一网络数据包中的信息;以及A second score is generated for each of the multiple state-change models, wherein each state-change model processes a second power event in the power monitoring signal and information from the first network data packet; and 使用所述第二分数来选择所述状态。The second score is used to select the state. 20.根据权利要求12所述的计算机实现的方法,包括:20. The computer-implemented method according to claim 12, comprising: 接收多个广播网络数据包,其中所述多个广播网络数据包中的每个广播网络数据包由所述第二设备传输;以及Receive multiple broadcast network data packets, wherein each of the multiple broadcast network data packets is transmitted by the second device; and 使用所述多个广播网络数据包中的信息来选择所述第二设备的所述状态。The state of the second device is selected using information from the plurality of broadcast network packets. 21.一种用于确定建筑物中的设备的状态的设备,所述设备包括:21. An apparatus for determining the state of equipment in a building, the apparatus comprising: 至少一个计算机,其包括至少一个处理器和至少一个存储器,所述至少一个计算机被配置成:At least one computer, comprising at least one processor and at least one memory, said at least one computer is configured to: 通过测量所述建筑物中的输电线的电属性来获得功率监视信号,其中所述输电线向所述建筑物中的所述设备提供功率,所述建筑物中的所述设备包括第一设备和第二设备;A power monitoring signal is obtained by measuring the electrical properties of power transmission lines in the building, wherein the power transmission lines supply power to the equipment in the building, and the equipment in the building includes a first device and a second device. 通过以下步骤来确定所述第一设备的状态:(1)利用多个功率模型处理所述功率监视信号中的第一功率事件以针对所述多个功率模型中的每个功率模型生成分数,以及(2)使用所述分数从多个可能状态中选择所述第一设备的状态;The state of the first device is determined by the following steps: (1) processing a first power event in the power monitoring signal using multiple power models to generate a score for each of the multiple power models, and (2) using the score to select the state of the first device from multiple possible states; 从服务器计算机接收第一网络数据包,其中所述服务器计算机基于从所述第二设备接收的信息来传输所述第一网络数据包;Receive a first network data packet from a server computer, wherein the server computer transmits the first network data packet based on information received from the second device; 使用所述第一网络数据包来确定所述第一网络数据包对应于所述第二设备;以及Use the first network packet to determine that the first network packet corresponds to the second device; and 使用所述第一网络数据包从所述第二设备的多个可能状态中选择所述第二设备的状态。The first network data packet is used to select the state of the second device from a plurality of possible states of the second device. 22.根据权利要求21所述的设备,其中所述第一网络数据包包括使用简单服务发现协议、零配置联网或NetBIOS的广播。22. The device of claim 21, wherein the first network data packet includes a broadcast using a simple service discovery protocol, zero-configuration networking, or NetBIOS. 23.根据权利要求21所述的设备,其中所述至少一个计算机进一步被配置成:23. The apparatus of claim 21, wherein the at least one computer is further configured to: 传输对信息的请求至所述第二设备;Transmit a request for information to the second device; 其中接收所述第一网络数据包包括接收所述对信息的请求的响应。Receiving the first network data packet includes receiving a response to the request for information. 24.根据权利要求23所述的设备,其中所述至少一个计算机经由轮询所述第二设备、使用所述第二设备的API请求信息、或请求关于由所述第二设备提供的服务的信息来传输所述对信息的请求。24. The device of claim 23, wherein the at least one computer transmits the request for information by polling the second device, requesting information using the API of the second device, or requesting information about services provided by the second device. 25.根据权利要求21所述的设备,其中所述至少一个计算机通过以下步骤来选择所述第二设备的状态:(1)利用多个网络模型处理所述第一网络数据包中的信息,以及(2)选择最高得分网络模型,其中所述最高得分网络模型对应于所选择的状态。25. The device of claim 21, wherein the at least one computer selects the state of the second device by means of the following steps: (1) processing information in the first network data packet using a plurality of network models, and (2) selecting the highest-scoring network model, wherein the highest-scoring network model corresponds to the selected state. 26.根据权利要求21所述的设备,其中选择所述第二设备的状态包括利用多个规则处理所述第一网络数据包中的信息,其中所述多个规则中的每个规则包括将所述第一网络数据包中的信息与至少一个条件进行比较。26. The device of claim 21, wherein selecting the state of the second device includes processing information in the first network data packet using a plurality of rules, wherein each of the plurality of rules includes comparing information in the first network data packet with at least one condition. 27.根据权利要求21所述的设备,其中选择所述第二设备的状态包括:27. The device of claim 21, wherein selecting the state of the second device includes: 利用多个功率模型处理所述功率监视信号中的第二功率事件,以针对所述多个功率模型中的每个功率模型生成第二分数;The second power event in the power monitoring signal is processed using multiple power models to generate a second score for each of the multiple power models; 利用多个网络模型处理关于所述第一网络数据包的信息,以针对所述多个网络模型中的每个网络模型生成第三分数;以及Information about the first network data packet is processed using multiple network models to generate a third score for each of the multiple network models; and 使用所述第二分数和所述第三分数来选择所述状态。The state is selected using the second score and the third score. 28.根据权利要求21所述的设备,其中选择所述第二设备的状态包括:28. The device of claim 21, wherein selecting the state of the second device includes: 针对多个状态改变模型中的每个状态改变模型生成第二分数,其中每个状态改变模型处理所述功率监视信号中的第二功率事件和所述第一网络数据包中的信息;以及A second score is generated for each of the multiple state-change models, wherein each state-change model processes a second power event in the power monitoring signal and information from the first network data packet; and 使用所述第二分数来选择所述状态。The second score is used to select the state. 29.根据权利要求21所述的设备,包括:29. The device according to claim 21, comprising: 接收多个广播网络数据包,其中所述多个广播网络数据包中的每个广播网络数据包由所述第二设备传输;以及Receive multiple broadcast network data packets, wherein each of the multiple broadcast network data packets is transmitted by the second device; and 使用所述多个广播网络数据包中的信息来选择所述第二设备的所述状态。The state of the second device is selected using information from the plurality of broadcast network packets. 30.一种用于识别建筑物中的设备的系统,所述系统包括:30. A system for identifying equipment in a building, the system comprising: 至少一个计算机,其包括至少一个处理器和至少一个存储器,所述至少一个计算机被配置成:At least one computer, comprising at least one processor and at least one memory, said at least one computer is configured to: 通过测量所述建筑物中的输电线的电属性来获得功率监视信号,其中所述输电线向所述建筑物中的所述设备提供功率;A power monitoring signal is obtained by measuring the electrical properties of power transmission lines in the building, wherein the power transmission lines supply power to the equipment in the building; 利用多个功率模型处理所述功率监视信号中的第一功率事件以针对所述多个功率模型中的每个功率模型生成分数,其中所述第一功率事件对应于第一设备的状态改变;A first power event in the power monitoring signal is processed using multiple power models to generate a score for each of the multiple power models, wherein the first power event corresponds to a state change of a first device; 使用所述分数确定关于所述第一设备的第一信息;The score is used to determine first information about the first device; 使所述第一设备使用关于所述第一设备的所述第一信息在设备列表中被更新;The first device is updated in the device list using the first information about the first device; 接收第一网络数据包,其中所述第一网络数据包由第二设备来发送;Receive a first network data packet, wherein the first network data packet is sent by a second device; 使用所述第一网络数据包中的信息来确定关于所述第二设备的第二信息;以及Use the information in the first network data packet to determine second information about the second device; and 使所述第二设备使用关于所述第二设备的所述第二信息在所述设备列表中被更新。The second device is updated in the device list using the second information about the second device. 31.根据权利要求30所述的系统,其中关于所述第一设备的所述第一信息包括所述第一设备的类型、所述第一设备的制造、或所述第一设备的版本。31. The system of claim 30, wherein the first information regarding the first device includes the type of the first device, the manufacture of the first device, or the version of the first device. 32.根据权利要求30所述的系统,其中所述至少一个计算机被配置成:32. The system of claim 30, wherein the at least one computer is configured to: 接收第二网络数据包,其中所述第二网络数据包由所述第一设备发送;以及Receive a second network data packet, wherein the second network data packet is sent by the first device; and 使用多个分数和所述第二网络数据包中的信息来确定关于所述第一设备的所述第一信息。The first information about the first device is determined using multiple scores and information from the second network data packet. 33.根据权利要求32所述的系统,其中使用所述多个分数来确定所述第一设备的类型,并且使用所述第二网络数据包中的所述信息来确定所述第一设备的制造。33. The system of claim 32, wherein the plurality of scores are used to determine the type of the first device, and the information in the second network data packet is used to determine the manufacture of the first device. 34.根据权利要求32所述的系统,其中所述功率监视信号中的所述第一功率事件发生在接收所述第二网络数据包之前。34. The system of claim 32, wherein the first power event in the power monitoring signal occurs before the second network data packet is received. 35.根据权利要求32所述的系统,其中所述至少一个计算机被配置成通过比较所述第一功率事件的时间和所述第二网络数据包的时间来选择所述第二网络数据包。35. The system of claim 32, wherein the at least one computer is configured to select the second network packet by comparing the time of the first power event with the time of the second network packet. 36.根据权利要求30所述的系统,其中所述第一网络数据包中的信息包括所述第二设备的标识符,并且其中所述至少一个计算机被配置成使用所述第二设备的所述标识符从数据存储获得关于所述第二设备的所述第二信息。36. The system of claim 30, wherein the information in the first network data packet includes an identifier of the second device, and wherein the at least one computer is configured to use the identifier of the second device to obtain the second information about the second device from a data storage. 37.根据权利要求30所述的系统,其中所述至少一个计算机被配置成通过利用多个规则处理所述第一网络数据包中的信息来确定关于所述第二设备的第二信息,其中所述多个规则中的每个规则包括将所述第一网络数据包中的信息与至少一个条件进行比较。37. The system of claim 30, wherein the at least one computer is configured to determine second information about the second device by processing information in the first network packet using a plurality of rules, wherein each of the plurality of rules includes comparing the information in the first network packet with at least one condition. 38.根据权利要求30所述的系统,其中所述至少一个计算机被配置成:38. The system of claim 30, wherein the at least one computer is configured to: 接收多个网络数据包,其中所述多个网络数据包中的每个网络数据包由所述第一设备发送;以及Receive multiple network data packets, wherein each of the multiple network data packets is sent by the first device; and 使用多个分数和所述多个网络数据包中的信息来确定关于所述第一设备的所述第一信息。The first information about the first device is determined using multiple scores and information from the multiple network packets. 39.根据权利要求30所述的系统,其中所述至少一个计算机被配置成:39. The system of claim 30, wherein the at least one computer is configured to: 通过利用多个网络模型处理所述第一网络数据包中的信息以针对所述多个网络模型中的每个网络模型生成第二分数,以确定关于所述第二设备的所述第二信息;以及By processing information in the first network data packet using multiple network models to generate a second score for each of the multiple network models, the second information about the second device is determined; and 使用所述多个网络模型的所述第二分数来确定关于所述第二设备的所述第二信息。The second score of the plurality of network models is used to determine the second information about the second device. 40.根据权利要求30所述的系统,其中所述至少一个计算机被配置成:40. The system of claim 30, wherein the at least one computer is configured to: 通过针对多个识别模型中的每个识别模型生成第二分数来确定关于所述第二设备的所述第二信息,其中每个识别模型处理所述功率监视信号中的第二功率事件和所述第一网络数据包中的所述信息;以及The second information about the second device is determined by generating a second score for each of a plurality of identification models, wherein each identification model processes a second power event in the power monitoring signal and the information in the first network data packet; and 使用所述多个识别模型的所述第二分数来确定关于所述第二设备的所述第二信息。The second score of the plurality of recognition models is used to determine the second information about the second device. 41.根据权利要求30所述的系统,其中所述至少一个计算机被配置成:41. The system of claim 30, wherein the at least one computer is configured to: 接收多个网络数据包,其中所述多个网络数据包中的每个网络数据包由所述第二设备发送;以及Receive multiple network data packets, wherein each of the multiple network data packets is sent by the second device; and 使用所述多个网络数据包中的信息来确定关于所述第二设备的所述第二信息。The information in the plurality of network packets is used to determine the second information about the second device. 42.根据权利要求41所述的系统,其中所述至少一个计算机被配置成确定所述第二信息包括使用与第一网络数据包对应的第一时间和与第二网络数据包对应的第二时间。42. The system of claim 41, wherein the at least one computer is configured to determine the second information by using a first time corresponding to a first network data packet and a second time corresponding to a second network data packet. 43.一种用于识别建筑物中的设备的计算机实现的方法,所述方法包括:43. A computer-implemented method for identifying equipment in a building, the method comprising: 通过测量所述建筑物中的输电线的电属性来获得功率监视信号,其中所述输电线向所述建筑物中的所述设备提供功率;A power monitoring signal is obtained by measuring the electrical properties of power transmission lines in the building, wherein the power transmission lines supply power to the equipment in the building; 利用多个功率模型来处理所述功率监视信号中的第一功率事件,以针对所述多个功率模型中的每个功率模型生成分数,其中所述第一功率事件对应于第一设备的状态改变;A first power event in the power monitoring signal is processed using multiple power models to generate a score for each of the multiple power models, wherein the first power event corresponds to a state change of a first device; 使用所述分数来确定关于所述第一设备的第一信息;The score is used to determine first information about the first device; 使所述第一设备使用关于所述第一设备的所述第一信息在设备列表中被更新;The first device is updated in the device list using the first information about the first device; 接收第一网络数据包,其中所述第一网络数据包由第二设备发送;Receive a first network data packet, wherein the first network data packet is sent by a second device; 使用所述第一网络数据包中的信息来确定关于所述第二设备的第二信息;以及Using the information in the first network data packet to determine second information about the second device; and 使所述第二设备使用关于所述第二设备的所述第二信息在所述设备列表中被更新。The second device is updated in the device list using the second information about the second device. 44.根据权利要求43所述的计算机实现的方法,其中所述功率监视信号指示所述输电线的电流或电压。44. The computer-implemented method of claim 43, wherein the power monitoring signal indicates the current or voltage of the transmission line. 45.根据权利要求43所述的计算机实现的方法,包括接收多个广播网络数据包,其中所述多个广播网络数据包中的每个由所述第一设备传输;以及使用多个分数和所述多个广播网络数据包中的信息来确定关于所述第一设备的所述第一信息。45. The computer-implemented method of claim 43, comprising receiving a plurality of broadcast network packets, each of the plurality of broadcast network packets being transmitted by the first device; and using a plurality of scores and information in the plurality of broadcast network packets to determine the first information about the first device. 46.根据权利要求43所述的计算机实现的方法,其中确定关于所述第二设备的所述第二信息包括利用多个网络模型处理所述第一网络数据包中的信息以针对所述多个网络模型中的每个网络模型生成第二分数;以及使用所述多个网络模型的所述第二分数来确定关于所述第二设备的所述第二信息。46. The computer-implemented method of claim 43, wherein determining the second information about the second device comprises processing information in the first network data packet using a plurality of network models to generate a second score for each of the plurality of network models; and using the second scores of the plurality of network models to determine the second information about the second device. 47.根据权利要求43所述的计算机实现的方法,其中确定关于所述第二设备的所述第二信息包括针对多个识别模型中的每个识别模型生成第二分数,其中每个识别模型处理所述功率监视信号中的第二功率事件和所述第一网络数据包中的信息;以及使用所述多个识别模型的所述第二分数来确定关于所述第二设备的所述第二信息。47. The computer-implemented method of claim 43, wherein determining the second information about the second device comprises generating a second score for each of a plurality of identification models, wherein each identification model processes a second power event in the power monitoring signal and information in the first network data packet; and using the second scores of the plurality of identification models to determine the second information about the second device. 48.根据权利要求43所述的计算机实现的方法,包括接收多个广播网络数据包,其中所述多个广播网络数据包中的每个广播网络数据包由所述第二设备传输;以及使用所述多个广播网络数据包中的信息来确定关于所述第二设备的所述第二信息。48. The computer-implemented method of claim 43, comprising receiving a plurality of broadcast network packets, wherein each of the plurality of broadcast network packets is transmitted by the second device; and using information in the plurality of broadcast network packets to determine the second information about the second device. 49.根据权利要求48所述的计算机实现的方法,其中确定所述第二信息包括使用与第一广播网络数据包对应的第一时间和与第二广播网络数据包对应的第二时间。49. The computer-implemented method of claim 48, wherein determining the second information includes using a first time corresponding to a first broadcast network data packet and a second time corresponding to a second broadcast network data packet. 50.一种用于识别建筑物中的设备的设备,所述设备包括:50. An apparatus for identifying equipment in a building, the apparatus comprising: 至少一个计算机,其包括至少一个处理器和至少一个存储器,所述至少一个计算机被配置成:At least one computer, comprising at least one processor and at least one memory, said at least one computer is configured to: 通过测量所述建筑物中的输电线的电属性来获得功率监视信号,其中所述输电线向所述建筑物中的所述设备提供功率;A power monitoring signal is obtained by measuring the electrical properties of power transmission lines in the building, wherein the power transmission lines supply power to the equipment in the building; 利用多个功率模型处理所述功率监视信号中的第一功率事件以针对所述多个功率模型中的每个功率模型生成分数,其中所述第一功率事件对应于第一设备的状态改变;A first power event in the power monitoring signal is processed using multiple power models to generate a score for each of the multiple power models, wherein the first power event corresponds to a state change of a first device; 使用所述分数确定关于所述第一设备的第一信息;The score is used to determine first information about the first device; 使所述第一设备使用关于所述第一设备的所述第一信息在设备列表中被更新;The first device is updated in the device list using the first information about the first device; 接收第一网络数据包,其中所述第一网络数据包由第二设备来发送;Receive a first network data packet, wherein the first network data packet is sent by a second device; 使用所述第一网络数据包中的信息来确定关于所述第二设备的第二信息;以及Using the information in the first network data packet to determine second information about the second device; and 使所述第二设备使用关于所述第二设备的所述第二信息在所述设备列表中被更新。The second device is updated in the device list using the second information about the second device. 51.根据权利要求50所述的设备,其中关于所述第一设备的所述第一信息包括所述第一设备的类型、所述第一设备的制造、或所述第一设备的版本。51. The device of claim 50, wherein the first information regarding the first device includes the type of the first device, the manufacture of the first device, or the version of the first device. 52.根据权利要求50所述的设备,其中所述至少一个计算机被配置成:52. The apparatus of claim 50, wherein the at least one computer is configured to: 接收第二网络数据包,其中所述第二网络数据包由所述第一设备发送;以及Receive a second network data packet, wherein the second network data packet is sent by the first device; and 使用所述分数和所述第二网络数据包中的信息来确定关于所述第一设备的所述第一信息。The score and information from the second network data packet are used to determine the first information about the first device. 53.根据权利要求52所述的设备,其中使用所述分数来确定所述第一设备的类型,并且使用所述第二网络数据包中的所述信息来确定所述第一设备的制造。53. The device of claim 52, wherein the score is used to determine the type of the first device, and the information in the second network data packet is used to determine the manufacture of the first device. 54.根据权利要求52所述的设备,其中所述功率监视信号中的所述第一功率事件发生在接收所述第二网络数据包之前。54. The device of claim 52, wherein the first power event in the power monitoring signal occurs before the second network data packet is received. 55.根据权利要求52所述的设备,其中所述至少一个计算机被配置成通过比较所述第一功率事件的时间和所述第二网络数据包的时间来选择所述第二网络数据包。55. The device of claim 52, wherein the at least one computer is configured to select the second network packet by comparing the time of the first power event and the time of the second network packet. 56.根据权利要求50所述的设备,其中所述第一网络数据包中的信息包括所述第二设备的标识符,并且其中所述至少一个计算机被配置成使用所述第二设备的所述标识符从数据存储获得关于所述第二设备的所述第二信息。56. The device of claim 50, wherein the information in the first network data packet includes an identifier of the second device, and wherein the at least one computer is configured to use the identifier of the second device to obtain the second information about the second device from a data storage. 57.根据权利要求50所述的设备,其中所述至少一个计算机被配置成通过利用多个规则处理所述第一网络数据包中的信息来确定关于所述第二设备的第二信息,其中所述多个规则中的每个规则包括将所述第一网络数据包中的信息与至少一个条件进行比较。57. The device of claim 50, wherein the at least one computer is configured to determine second information about the second device by processing information in the first network packet using a plurality of rules, wherein each of the plurality of rules includes comparing the information in the first network packet with at least one condition. 58.根据权利要求50所述的设备,其中所述至少一个计算机被配置成:58. The apparatus of claim 50, wherein the at least one computer is configured to: 接收多个网络数据包,其中所述多个网络数据包中的每个由所述第一设备发送;以及Receive multiple network data packets, each of which is sent by the first device; and 使用所述分数和所述多个网络数据包中的信息来确定关于所述第一设备的所述第一信息。The first information about the first device is determined using the score and information from the plurality of network packets. 59.根据权利要求50所述的设备,其中所述至少一个计算机被配置成:59. The apparatus of claim 50, wherein the at least one computer is configured to: 通过利用多个网络模型处理所述第一网络数据包中的信息以针对所述多个网络模型中的每个网络模型生成第二分数,确定关于所述第二设备的所述第二信息;以及By processing information in the first network data packet using multiple network models to generate a second score for each of the multiple network models, the second information about the second device is determined; and 使用所述多个网络模型的所述第二分数来确定关于所述第二设备的所述第二信息。The second score of the plurality of network models is used to determine the second information about the second device. 60.根据权利要求50所述的设备,其中所述至少一个计算机被配置成:60. The apparatus of claim 50, wherein the at least one computer is configured to: 通过针对多个识别模型中的每个识别模型生成第二分数来确定关于所述第二设备的所述第二信息,其中每个识别模型处理所述功率监视信号中的第二功率事件和所述第一网络数据包中的信息;以及The second information about the second device is determined by generating a second score for each of a plurality of identification models, wherein each identification model processes a second power event in the power monitoring signal and information in the first network data packet; and 使用所述多个识别模型的所述第二分数来确定关于所述第二设备的所述第二信息。The second score of the plurality of recognition models is used to determine the second information about the second device. 61.根据权利要求50所述的设备,其中所述至少一个计算机被配置成:61. The apparatus of claim 50, wherein the at least one computer is configured to: 接收多个网络数据包,其中所述多个网络数据包中的每个网络数据包由所述第二设备发送;以及Receive multiple network data packets, wherein each of the multiple network data packets is sent by the second device; and 使用所述多个网络数据包中的信息来确定关于所述第二设备的所述第二信息。The information in the plurality of network packets is used to determine the second information about the second device. 62.根据权利要求61所述的设备,其中所述至少一个计算机被配置成确定所述第二信息包括使用与第一网络数据包对应的第一时间和与第二网络数据包对应的第二时间。62. The apparatus of claim 61, wherein the at least one computer is configured to determine the second information including using a first time corresponding to a first network data packet and a second time corresponding to a second network data packet.
HK42022064883.6A 2017-02-22 2022-11-30 Identifying device state changes using power data and network data HK40075377B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/439796 2017-02-22
US15/439788 2017-02-22
US15/599466 2017-05-19

Publications (2)

Publication Number Publication Date
HK40075377A HK40075377A (en) 2023-01-20
HK40075377B true HK40075377B (en) 2025-11-07

Family

ID=

Similar Documents

Publication Publication Date Title
US11825246B2 (en) Electrical panel for identifying devices using power data and network data
US10735829B2 (en) Identifying device state changes using power data and network data
US12495093B2 (en) Identifying devices connected to a smart plug
US9800958B1 (en) Training power models using network data
EP3586521B1 (en) Identifying device state changes using power data and network data
HK40075377B (en) Identifying device state changes using power data and network data
HK40075377A (en) Identifying device state changes using power data and network data