A computer-implemented method for determining states of devices in a building, the method comprising: accessing stored information about devices in the building, wherein the devices in the building comprise a first device and a second device, and wherein the information about the devices comprises a state of the first device and a state of the second device; obtaining (1020, 910) a power monitoring signal by measuring an electrical property of a power line in the building, wherein the power line provides power to the devices in the building; determining the state of the first device by: a. processing a first power event in the power monitoring signal with a plurality of power models to generate a score for each power model of the plurality of power models, and b. selecting a state of the first device from a plurality of possible states using the scores; causing the state of the first device to be updated in the stored information using the selected state; characterized in that the method further comprises: receiving a first broadcast network packet, wherein the first broadcast network packet was transmitted by the second device; determining, using the information in the first broadcast network packet, that the first broadcast network packet was sent by the second device; selecting, using the information in the first broadcast network packet, the state of the second device from a plurality of possible states for the second device; and causing the state of the second device to be updated in the stored information using the selected state. accessing stored information about devices in the building, wherein the devices in the building comprise a first device and a second device, and wherein the information about the devices comprises a state of the first device and a state of the second device; obtaining (1020, 910) a power monitoring signal by measuring an electrical property of a power line in the building, wherein the power line provides power to the devices in the building; determining the state of the first device by: a. processing a first power event in the power monitoring signal with a plurality of power models to generate a score for each power model of the plurality of power models, and b. selecting a state of the first device from a plurality of possible states using the scores; a. processing a first power event in the power monitoring signal with a plurality of power models to generate a score for each power model of the plurality of power models, and b. selecting a state of the first device from a plurality of possible states using the scores; causing the state of the first device to be updated in the stored information using the selected state; characterized in that the method further comprises: receiving a first broadcast network packet, wherein the first broadcast network packet was transmitted by the second device; determining, using the information in the first broadcast network packet, that the first broadcast network packet was sent by the second device; selecting, using the information in the first broadcast network packet, the state of the second device from a plurality of possible states for the second device; and causing the state of the second device to be updated in the stored information using the selected state. receiving a first broadcast network packet, wherein the first broadcast network packet was transmitted by the second device; determining, using the information in the first broadcast network packet, that the first broadcast network packet was sent by the second device; selecting, using the information in the first broadcast network packet, the state of the second device from a plurality of possible states for the second device; and causing the state of the second device to be updated in the stored information using the selected state.