Patent Publication Number: US-11043090-B1

Title: Detecting events based on the rhythm and flow of a property

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of U.S. Provisional Patent Application No. 62/566,289 filed Sep. 29, 2017 and entitled “Detecting Events Based On The Rhythm And Flow Of A Property,” which is incorporated herein by reference in its entirety. 
    
    
     BACKGROUND 
     In a typical property monitoring system, one or more sensors may be installed at the property. A sensor may detect the occurrence of an activity such as movement, glass-break, door-opening, temperature change, presence of gas, or the like. The sensor may generate and broadcast sensor data indicative of the detection of the activity. A monitoring unit such as a monitoring system control unit or a cloud-based monitoring application server may detect the sensor data, analyze the sensor data, and determine whether to perform one or more operations based on the detected sensor data. 
     Such sensor data is typically evaluated in isolation. For example, a contact sensor is configured to generate sensor data when a monitoring system is armed and a door or window opens. A monitoring unit can detect the opening of the door or window based on the generated sensor data and perform one or more operations (e.g., trigger an alarm, notify law enforcement, notify a legitimate occupant of the property, or the like). By way of another example, a motion sensor may be configured to generate sensor data in response to the detection of an object moving. In such instances, a monitoring unit can detect the motion based on the generated sensor data and perform one or more operations. By way of another example, a glass-break sensor may generate sensor data in response to the detection of glass breaking. In such instances, a monitoring unit can detect the breaking of the glass window based on the generated sensor data and perform one or more operations. 
     SUMMARY 
     According to one innovative aspect of the present disclosure, a monitoring system for detecting events based on the rhythm and flow of a property is disclosed. The monitoring system may include one or more processors, and one or more storage devices, the one or more storage devices storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations. The operations may include obtaining, by the monitoring system, current activity data that (i) is generated by one or more monitoring system components installed at the property and (ii) represents two or more activities that have occurred at the property between a first time and a second time, accessing historical activity data that represents historical activities that have been learned by the monitoring system, wherein each historical activity data includes two or more historical activities that have occurred within a particular period of time, determining, by the monitoring system and based on (i) the current activity data and (ii) the historical activity data, whether an event has been detected, and based on determining, by the monitoring system and based on (i) the current activity data and (ii) the historical activity data, that an event has been detected, performing, by the monitoring system, one or more operations based on the detected event. 
     Other aspects include corresponding methods, apparatus, and computer programs to perform actions of methods defined by instructions encoded on computer storage devices. 
     These and other versions may optionally include one or more of the following features as described in more detail by the specification and drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a contextual diagram of an example of a monitoring system that can detect an event based on the rhythm and flow of a property. 
         FIG. 2  is a contextual diagram of another example of a monitoring system that can detect an event based on the rhythm and flow of a property. 
         FIG. 3  is a flowchart of an example of a process for learning the rhythm and flow of a property. 
         FIG. 4  is a flowchart of an example of a process for detecting an expected event based on the rhythm and flow of the property. 
         FIG. 5  is a flowchart of an example of a process for detecting an unexpected event based on the rhythm and flow of the property. 
         FIG. 6  is a block diagram of an example of a monitoring system for detecting an event based on the rhythm and flow of a property. 
     
    
    
     DETAILED DESCRIPTION 
     The present disclosure is directed to detecting events based on the rhythm and flow of a property. The rhythm and flow of the property may be described as a group of related activities that occur at the property. A group of related activities may include, for example, a plurality of activities that occur within a predetermined amount of time, a plurality of activities that occur within a predetermined amount of time in a particular portion of the property, or the like. The activities may include, for example, movement of one or more objects at a property, movement of one or more objects in a particular portion of the property, or the like. An object may include, for example, a person, an animal, a device, or the like. Alternatively, or in addition, the activities may include energy usage by one or more devices at a property, energy usage by one or more devices in a particular portion of the property, or the like. Alternatively, or in addition, the activities may include one or more sounds being produced at the property, one or more sounds produced in a particular portion of the property, or the like. Sounds at the property may be produced one or more objects. 
     A monitoring unit such as a monitoring system control unit, a monitoring application server, or the like, can detect the occurrence of each respective activity that occurs at a property and store activity data representing (i) the respective activity and (ii) the time the respective activity occurred. The monitoring unit can analyze the stored activity data to identify patterns of related activities. The monitoring unit can infer the likely occurrence of an event based on the identified pattern of activities. Activities may be related if, for example, the activities occur within a predetermined amount of time of each other, in the same portion of the property as each other, or a combination thereof. By identifying activity patterns, the monitoring unit can detect expected events, unexpected events, or both, that would otherwise not be able to be detected without one or more additional sensors. 
     An expected event may include, for example, an event that is identified based on the occurrence of each activity in a set of activities that are determined to be indicative of the occurrence of a particular event. In some implementations, an unexpected event may include, for example, an event that is identified based on the occurrence of less than all of the activities in a set of activities that are determined to be indicative of the occurrence of a particular event. Alternatively, in other implementations, an unexpected event may occur when more than all of the activities in a set of activities occur within a predetermined time period. 
       FIG. 1  is a contextual diagram of an example of a monitoring system  100  that can detect an event based on the rhythm and flow of a property  101 . 
     The monitoring system  100  includes a monitoring system control unit  110 , one or more sensors  120   a ,  120   b ,  120   c ,  120   d ,  120   e ,  120   f ,  120   g ,  120   h ,  120   i ,  120   j ,  120   k ,  1201 , one or more cameras  130 ,  131 ,  132 ,  133 ,  134 ,  135 , a local network  140 , one or more connected light bulbs  160 ,  161 ,  162 ,  163 , one or more home assistants  170 ,  171 , a remote network  180 , a monitoring application server  190 , and a central alarm station server  192 , or a combination thereof. 
     The monitoring system  100  (or monitoring application server  190 ) can collect activity data related to activities that occur in the property  101 . Activity data may include sensor data, image data, audio data, or a combination thereof. The monitoring system  100  can collect sensor data generated by the one or more sensors  120   a ,  120   b ,  120   c ,  120   d ,  120   e ,  120   f ,  120   g ,  120   h ,  120   i ,  120   j ,  120   k ,  1201 , image data (e.g., still images, video images, or a combination thereof) captured by the one or more cameras  130 ,  131 ,  132 ,  133 ,  134 ,  135 , audio data (e.g., recordings of sounds) captured by one or more listening devices (e.g., a microphone), or a combination thereof. 
     For example, the monitoring system control unit  110  (or monitoring application server  190 ) can detect the sensor data generated and broadcast by a motion sensor  120   f  that is indicative of an activity such as movement, associate a time stamp with the broadcasted sensor data, and store an activity data record that includes the broadcasted sensor data and timestamp. In such implementations, the monitoring system control unit  110  may perform each of the aforementioned stages locally. The monitoring system control unit  110  may perform the same operations for image data that is captured and broadcasted by one or more cameras  130 ,  131 ,  132 ,  133 ,  134 ,  135  and audio data that is captured and broadcasted by one or more listening devices (e.g., a microphone). 
     Alternatively, in some implementations, a sensor may timestamp sensor data at the time of generation of the sensor data in order to associate the most accurate time of occurrence with the sensor data as possible. In such instances, the timestamped sensor data may be broadcasted to the monitoring system control unit  110  for storage and analysis. 
     By way of another example, the one or more cameras  130 ,  131 ,  132 ,  133 ,  134 ,  135  can be used to capture images of an activity. For example, a camera  130 ,  131 ,  132 ,  133 ,  134 ,  135  can determine that an object such as person, animal, or device is present in a particular portion of the property  101 . Such image data may be used in place of, or in addition to, motion sensor data to determine that an object such as a person is present in a room, near a device, or the like before, or after, the occurrence of one or more other activities. For example, a camera  133  can capture an image of a person  104  and determine, based on a time stamp associated with the captured image, that a person  104  was present in the Laundry Room before the dryer  151  door was closed and the dryer started using power based on the timestamp of the captured image relative to respective timestamps associated with the audio recording of a dryer door closing and the sensor data from an energy sensor indicating that the dryer has started using power. 
     In some implementations, image data captured by a camera such as camera  130  may be captured and broadcasted by the camera, and then the monitoring system control unit  110  can detect the broadcasted image data, associate a timestamp with the image data, and store an activity data record based on the broadcasted audio data and the timestamp. Alternatively, a camera may timestamp image data at the time of generation of the image data in order to associate the most accurate time of occurrence with the sensor data as possible. In such instances, the timestamped image data may be broadcasted to the monitoring system control unit  110  for storage and analysis. 
     The one or more listening devices of monitoring system  100  may come in a variety of different forms. For example, a listening device may include a microphone  110   a  that is included in the monitoring system control unit  110 . Alternatively, or in addition, a listening device may include a microphone  130   a ,  131   a ,  132   a ,  133   a ,  134   a ,  135   a  that are found in each respective camera  130 ,  131 ,  132 ,  133 ,  134 ,  135 . Alternatively, or in addition, a listening device may include one or more microphones  170   a ,  171   a  that are each in a respective home assistant  170 ,  171 . Alternatively, or in addition, a listening device may include a microphone  112   a  that is in a smartphone  112  (or other user device). Other types of microphones may also be used as listening devices. For example, a listening device may include a microphone included in other types of electronic devices in the property  101  such as smartwatch microphones, tablet computer microphones, laptop computer microphones, desktop computer microphones, or the like. 
     Each listening device is configured to detect and capture data related to audio activities that occur at a property  101  such as audio generated by footsteps, voices, animals, doors opening, doors closing, devices operating, or the like. One or more listening devices may detect the audio activity and broadcast data representative of the audio activity. For example, the listening device can be configured to capture a recording of audio activity and broadcast the recording of the audio activity. The monitoring system control unit  110  (or monitoring application server  190 ) can detect the broadcasted audio data and associate a time stamp with the broadcasted audio data. The broadcasted audio data and timestamp may be stored by one or more of the monitoring control unit  110  (or monitoring application server  190 ) for analysis. 
     In some implementations, audio data captured by a listening device such as a microphone  131   a  of a camera  131  may be captured and broadcasted by the camera  131 , and then the monitoring system control unit  110  can detect the broadcasted audio data, associate a timestamp with the audio data, and store an activity data record based on the broadcasted audio data and the timestamp. For example, the camera  131  can capture the sound  102   a  of each respective footstep of the person  103  walking in the Living Room, broadcast the audio data (e.g., a recording of the sound of the footstep, a representation of the sound of each footstep (e.g., an audio fingerprint), or both. The monitoring system control unit  110  can detect the broadcasted audio data of each footstep, associate a timestamp with each broadcasted audio data of each footstep, and store and analyze the timestamped audio data of each footstep as activity data. Alternatively, a camera  131  may timestamp audio data produced by each footprint at the time of capturing the audio data in order to associate the most accurate time of occurrence with the audio data as possible. In such instances, the timestamped audio data may be broadcasted to the monitoring system control unit  110  for storage and analysis. 
     In some implementations, the monitoring application server  190  can be used to remotely store and analyze activity data associated with a property such as sensor data, image data, and audio data. In such instances, the activity data associated with the property may be provided to the monitoring application server  190  in a variety of different ways. For example, the monitoring system control unit  110  may (i) detect activity data (e.g., sensor data, image data, or audio data), (ii) associate the detected activity data (e.g., sensor data, image data, or audio data) with a timestamp, and (iii) transmit the timestamped activity data (e.g., sensor data, image data, or audio data) to the monitoring application server  190  for storage and analysis. In other implementations, the particular component of the monitoring system  100  that generated the respective activity data (e.g., sensor data, image data, or audio data) such as a sensor, camera, or listening device, respectively, may (i) detect the activity data (e.g., sensor data, image data, or audio data), (ii) associate a timestamp with the detected activity data (e.g., sensor data, image data, or audio data) and (iii) transmit a message to the monitoring application server  190  that includes the activity data (e.g., the sensor data, the image data, or the audio activity) and the timestamp without using the monitoring system control unit  110  as an intermediary. 
     The monitoring system control unit  110  (or monitoring application server  190 ) is configured to learn that two or more activities detected at the property  101  indicate the likely occurrence of an event. Learning that the two or more activities detected at the property  101  indicate the likely occurrence of an event may include, for example, analyzing activity data stored by the monitoring system control unit  110  (or monitoring application server  190 ) to identify patterns in the activity data. Two or more activities may be related if, for example, the two or more activities occur within a predetermined amount of time, the two or more activities occur within a predetermined amount of time in a particular portion of the property, or the like. The monitoring system  100  may infer that a particular event occurred based on a series of activities detected by the monitoring system  100 . 
     In some implementations, the monitoring system control unit  110  (or monitoring application server  190 ) may be able to determine that activity data including one or more activities are related based on the proximity that each of the activities are related in time. In other implementations, the monitoring system control unit  110  (or monitoring application server  190 ) may determine that a set of activity data is related based on a comparison of collected activity data that has occurred within a first time T 1  and a second time T 2  to known (or historical) activity data. In other implementations, the monitoring system control unit  110  (or monitoring application server  190 ) may determine that a set of activity data including one or more activities are related by providing the one or more activities to a machine learning model that has been trained to determined, based on an input of a set of activity data, whether multiple activities in a set of activities are related. Yet other ways of determining whether multiple activities of a set of activity data are related may also fall within the scope of the present disclosure. 
     In some implementations, the monitoring system control unit  110  (or monitoring application server  190 ) may only analyze a set of activity data to determine whether the set of activity data represents the occurrence of a potential event if the monitoring system control unit  110  (or monitoring application server  190 ) determines that each of the activities that constitute the set of activity data are sufficiently related. If the monitoring system control unit  110  (or monitoring application server  190 ) determines that each of the activities that constitute the set of activity data are not sufficiently related, then the monitoring system control unit  110  (or monitoring application server  190 ) may discard the activity data and then iteratively collect and analyze additional activity data. 
     By way of example, with reference to  FIG. 1 , the Kitchen may include a dishwasher  150 , an energy sensor  120   j , a motion sensor  120   k , and one or more listening devices such as microphones  110   a  and  134   a . Typical operation of a dishwasher  150  may begin with a person  103  loading the dishwasher  150 . The motion sensor  120   k  will detect the person&#39;s  103  motion activity near the dishwasher  150  and generate sensor data (S 1 ) indicative of movement. The monitoring system control unit  110  can detect this sensor data (S 1 ), associate the detected sensor data (S 1 ) with a timestamp (T 1 ), a room location (Kitchen), or both, and provide the sensor data (S 1 ) and timestamp (T 1 ) to the monitoring application server  190  for storage and analysis. The room location in this example (and other examples described herein) may be determined by the monitoring system control unit  110  based on (i) the sensor identifier of the sensor (e.g., motion sensor) that generated the sensor data, (ii) the communication channel used by the sensor to communicate with the monitoring system control unit  110 , or both. 
     The person  103  may close the dishwasher  150  door which creates a sound  150   a . A listening device such as the monitoring system control unit  110  microphone  110   a  may (i) capture audio data (A 1 ) (e.g., a sound recording) of the sound  150   a , (ii) associate the captured audio (A 1 ) with a timestamp (T 2 ), a property location (Kitchen), or both, and (iii) transmitted the captured audio data (A 1 ) and timestamp (T 2 ) to the monitoring application server  190  for storage and analysis. 
     The dishwasher  150  may begin to run which includes the dishwasher  150  drawing power and then the dishwasher  150  producing noise  150   b  when running. The energy sensor  120   j  can generate and broadcast sensor data (S 2 ) indicative of energy use by the dishwasher  150 . The broadcasted sensor data (S 2 ) may be (i) detected by the monitoring system control unit  110 , (ii) associated with a time stamp (T 3 ), a property location (e.g., Kitchen), or both, and (iii) transmitted to the monitoring application server  190  for storage and analysis. A listening device such as the monitoring system control unit  110  microphone  110   a  may also (i) capture audio data (e.g., a sound recording) (A 2 ) of the sound  150   b , (ii) associate the captured audio (A 2 ) with a time stamp (T 4 ), a room location (Kitchen), or both, and (iii) transmit the captured audio data (A 2 ) and timestamp (T 4 ) to the monitoring application server  190  for storage and analysis. 
     The monitoring application server  190  may analyze the stored activity data to identify patterns in the activity data indicative of an event. For example, the monitoring application server  190  can detect that a pattern of activities such as S 1 -A 1 -S 2 -A 2  occurs within a time period between T 1  and T 4  that it is likely that the dishwasher is running. The monitoring application server  190  can make this determination because it knows, based on the activity data S 1 -A 1 -S 2 -A 2  that a person was moving in the vicinity of the dish washer, the dish washer door was closed, the dish washer started using power, and the dish washer started making noises indicative of operation (e.g., sound of motor running, sound of water running, sound of water spraying, a combination thereof, or the like). In some implementations, upon an initial identification of the pattern S 1 -A 1 -S 2 -A 2 , the monitoring application server  190  (or monitoring system control unit  110 ) can transmit a notification to a user device  112  that prompts a user to confirm that S 1 -A 1 -S 2 -A 2  is indicative of dishwasher running. Alternatively, the monitoring application server  190  can detect the activity pattern S 1 -A 1 -S 2 -A 2  and ask the user what the activity pattern is. The monitoring application server  190  can then learn that a potential event has occurred in the property  101  based on the activity pattern S 1 -A 1 -S 2 -A 2  and the user&#39;s feedback. 
     Once the monitoring application server  190  learns an activity pattern associated with an event, the event becomes known to the monitoring system  100  as an expected event. The monitoring application server  190  can later identify expected events based on a received set of activity data that includes sensor data, image data, audio data, or a combination thereof. For example, the monitoring application server  190  can monitor sets of activity data (e.g., sensor data, image data, audio data, or a combination thereof) received in real-time (or near real-time) from one or more monitoring system  100  components installed at the property  101  for the occurrence of an expected event. For example, with reference to the example of  FIG. 1  described above, if at a point in the future the monitoring application server  190  detects the occurrence of the activity pattern S 1 -A 1 -S 2 -A 2 , then the monitoring unit can determine that the dishwasher  150  is running. 
     In some implementations, the monitoring application server  190  can provide updates of expected events that have been learned by the monitoring system  100  to a monitoring system control unit  110 . In such instances, the monitoring system control unit  110  can monitor sets of activity data detected, captured, or both, in real-time (or near real-time) for the occurrence of one or more activity patterns corresponding to an expected event in the same manner as the monitoring application server  190 . A local repository of activity patterns for expected events may be stored by the monitoring system control unit  110  and updated by the monitoring application server  190  periodically. Alternatively, the local repository of activity patterns for expected events may be updated asynchronously as activity patterns for new expected events are detected. 
     The monitoring system control unit  110  or monitoring application server  190  may perform, or initiate, one or more operations based on the detection of an activity pattern associated with an expected event. For example, the monitoring unit may detect the activity pattern S 1 -A 1 -S 2 -A 2  and that the person is leaving the property  101  (e.g., because the user has armed the monitoring system, because the user is opening the garage door, or the like). In response to determining that the dish washer is running and that the person is likely leaving the property  101 , the monitoring unit can transmit a notification to the person&#39;s device (e.g., mobile device  112 ) asking the person whether the person wants to leave the dish washer running while the person is away from the property  101 . Examples of other types of operations that can be performed, or initiated, by the monitoring system control unit  110  or monitoring application server  190  will be described below with reference to particular examples of  FIG. 1 . 
     In some implementations, the monitoring unit can detect incomplete activity patterns. In such instances, the monitoring system control unit  110  or monitoring application server  190  can prompt a person  102  as to whether the detected incomplete activity should be completed. For example, the a monitoring unit can detect the activity pattern S 1 -A 1 , which is indicative of the user moving near the dish washer (S 1 ) and closing the dish washer door (A 1 ). In such instances, the monitoring system may transmit a notification the person&#39;s  102  device  112  asking the person  102  whether the person  102  intended to start the dish washer  150 . Additional examples of incomplete activities will be described below with reference to  FIG. 2 . 
     With reference to the Laundry Room of  FIG. 1 , another example of learning and detecting an event is provided. For example, with reference to  FIG. 1 , the Laundry Room may include a dryer  151 , an energy sensor  120   g , a motion sensor  120   f , and one or more listening devices such as camera  133  microphone  133   a . Typical operation of a dryer  151  may begin with a person  104  putting clothes into the dryer  151 . The motion sensor  120   k  will detect the person&#39;s  104  motion activity near the dyer  151  and generate sensor data (S 3 ) indicative of movement. The monitoring system control unit  110  can detect this sensor data (S 3 ), associate the detected sensor data (S 3 ) with a timestamp (T 5 ), a property location (e.g., Laundry Room), or both, and provide the sensor data (S 3 ) and timestamp (T 5 ) to the monitoring application server  190  for storage and analysis. 
     The person  104  may close the dryer  151  door which creates a sound  151   a . A listening device such as the camera  133  microphone  133   a  may (i) capture audio data (A 3 ) (e.g., a sound recording) of the sound  151   a , (ii) associate the captured audio (A 3 ) with a timestamp (T 6 ), and broadcast the captured audio data (A 3 ) and timestamp (T 6 ) via the network  140 . The monitoring system control unit  110  may detect the broadcasted audio data (A 3 ), and associate one or more pieces of information with the detected audio data (A 3 ). If the audio data (A 3 ) is not already associated with timestamp, the monitoring system control unit  110  may associate the audio data (A 3 ) with a timestamp. Alternatively, or in addition, the monitoring system control unit  110  may associate the audio data (A 3 ) with a property location (e.g., Laundry Room). The monitoring system control unit  110  can transmit the captured audio data (A 3 ) and timestamp (T 6 ) to the monitoring application server  190  for storage and analysis. 
     The dryer  151  may begin to run which includes the dryer  151  drawing power and then the dryer  151  producing noise  151   b  when running. The energy sensor  120   g  can generate and broadcast sensor data (S 4 ) indicative of energy use by the dryer  151 . The broadcasted sensor data (S 4 ) may be (i) detected by the monitoring system control unit  110 , (ii) associated with a time stamp (T 7 ), a property location (e.g., Laundry Room), or both, and (iii) transmitted to the monitoring application server  190  for storage and analysis. 
     A listening device such as the camera  133  microphone  133   a  may also (i) capture audio data (e.g., a sound recording) (A 4 ) of the sound  151   b , (ii) associate the captured audio (A 4 ) with a time stamp (T 8 ), a room location (e.g., Laundry Room), or both, and (iii) broadcast the captured audio data (A 4 ) and timestamp (T 8 ) via the network  140 . The monitoring system control unit  110  may detect the broadcasted audio data (A 4 ), and associate one or more pieces of information with the detected audio data (A 4 ). If the audio data (A 4 ) is not already associated with timestamp, the monitoring system control unit  110  may associate the audio data (A 4 ) with a timestamp. Alternatively, or in addition, the monitoring system control unit  110  may associate the audio data (A 4 ) with a property location (e.g., Laundry Room). The monitoring system control unit  110  can transmit the captured audio data (A 4 ) and timestamp (T 8 ) to the monitoring application server  190  for storage and analysis. 
     The monitoring application server  190  may analyze the stored activity data to identify patterns in the activity data indicative of an event. For example, the monitoring application server  190  can detect that a pattern of activities such as S 3 -A 3 -S 4 -A 4  occurs within a time period between T 5  and T 8  that it is likely that the dryer  151  is being used to dry clothes. The monitoring application server  190  can make the determination because it knows, based on the activity data S 3 -A 3 -S 4 -A 4  that a person  104  was moving in the vicinity of the dryer  151 , the dryer  151  door was closed, the dryer  151  started using power, and the dryer  151  started making noises indicative of operation (e.g., sound of motor running, sound of water running, sound of water spraying, a combination thereof, or the like). In some implementations, upon an initial identification of the pattern S 3 -A 3 -S 4 -A 4 , the monitoring application server  190  can transmit a notification to a user device  112  that prompts a user to confirm that S 3 -A 3 -S 4 -A 4  is indicative of dryer running. Alternatively, the monitoring application server  190  can detect the activity pattern S 3 -A 3 -S 4 -A 4  and ask the user what the activity pattern is. The monitoring application server  190  can then learn that a potential event has occurred in the property  101  based on the activity pattern S 3 -A 3 -S 4 -A 4  and the user&#39;s feedback. In some implementations, the monitoring application server  190  can update a local repository of activity patterns for expected events stored on a monitoring system control unit  110  based on the learning of a new activity pattern that corresponds to an expected event. 
     In addition, in some implementations, a newly learned activity pattern may be used to update a global repository stored by a monitoring application server  190 . Alternatively, or in addition, a learned activity pattern may be propagated to a local repository of activity patterns for expected events stored by one or more other monitoring system control units at other respective properties. For example, a monitoring application server  190  can determine that a first property and a second property include the same model dryer. In such instances, the monitoring application server  190  can update a local repository of activity patterns for expected events stored by the monitoring system control unit of the second property to include an activity pattern for an expected event of the dryer running that was learned at the first property. In such instances, the monitoring application server  190  may need to determine that the second property has each of the necessary sensors, detectors, listening devices, cameras, or the like installed in the same, or sufficiently similar configuration (e.g., same set of sensors, detectors, listening devices, cameras in a different location within the same room or different set of sensors, detectors, listening devices, cameras capable of collecting the same activity data), as the first property in order to perform the propagation of the activity pattern. 
     The monitoring system control unit  110  (or monitoring application server  190 ) may perform, or initiate, one or more operations based on the detection of an activity pattern associated with an expected event. For example, the monitoring unit may detect the activity pattern S 3 -A 3 -S 4 -A 4  indicative of the expected event of a dryer running and transmits a notification to the user device  112  of a legitimate occupant  102  of the property  101  that prompts the legitimate occupant  102  of the property  101  as to whether the legitimate occupant  102  of the property  101  emptied the lint trap of the dryer before activating the dryer  151 . If the legitimate occupant  102  of the property  101  forgot to empty the lint trap, the notification can remind the legitimate occupant  102  to return to the dryer  151  and empty the lint trap. In this manner, the monitoring system  100  can help to eliminate a potential fire hazard (i.e., a full lint trap). Examples of other types of operations that can be performed, or initiated, by the monitoring system control unit  110  or monitoring application server  190  will be described below with reference to particular examples of  FIG. 1 . 
     The monitoring system  100  is not limited to learning activity patterns that alternate between sensor data and audio data (e.g., a pattern of S*-A*-S*-A*). By way of example, with reference to the Bath Room of  FIG. 1 , the Bath Room may include a toilet  152 , a motion sensor  120   e , and one or more listening devices such as home assistant  170  microphone  170   a . A person  105  may enter the Bath Room to use the toilet  152 . The motion sensor  120   e  will detect the person&#39;s  105  motion activity near the toilet  152  and generate sensor data (S 5 ) indicative of movement. The monitoring system control unit  110  can detect this sensor data (S 5 ), associate the detected sensor data (S 5 ) with a timestamp (T 9 ), a property location (e.g., Bath Room), or both, and provide the sensor data (S 5 ) and timestamp (T 9 ) to the monitoring application server  190  for storage and analysis. 
     After using the toilet  152 , the person  105  may flush the toilet creating a sound  152   a  and put down the toilet seat  152   b  creating a sound  152   c . A listening device such as the home assistant  170  microphone  170   a  may (i) capture audio data (A 5 ) (e.g., a sound recording) of the sound  152   a , (ii) associate the captured audio (A 5 ) with a timestamp (T 10 ), and broadcast the captured audio data (A 5 ) and timestamp (T 10 ) via the network  140 . The monitoring system control unit  110  may detect the broadcasted audio data (A 5 ), and associate one or more pieces of information with the detected audio data (A 5 ). If the audio data (A 5 ) is not already associated with timestamp, the monitoring system control unit  110  may associate the audio data (A 5 ) with a timestamp. Alternatively, or in addition, the monitoring system control unit  110  may associate the audio data (A 5 ) with a property location (e.g., Bath Room). The monitoring system control unit  110  can transmit the captured audio data (A 5 ) and timestamp (T 10 ) to the monitoring application server  190  for storage and analysis. 
     In a similar manner, the home assistant  170  microphone  170   a  may (i) capture audio data (e.g., a sound recording) (A 6 ) of the sound  152   c , (ii) associate the captured audio (A 6 ) with a timestamp (T 11 ), and broadcast the captured audio data (A 6 ) and timestamp (T 11 ) via the network  140 . The monitoring system control unit  110  may detect the broadcasted audio data (A 6 ), and associate one or more pieces of information with the detected audio data (A 6 ). If the audio data (A 6 ) is not already associated with timestamp, the monitoring system control unit  110  may associate the audio data (A 6 ) with a timestamp. Alternatively, or in addition, the monitoring system control unit  110  may associate the audio data (A 6 ) with a property location (e.g., Bath Room). The monitoring system control unit  110  can transmit the captured audio data (A 6 ) and timestamp (T 11 ) to the monitoring application server  190  for storage and analysis. In this example, the monitoring application server  190  can learn that the series of activities S 5 -A 5 -A 6  within a period of time T 9  to T 11  is indicative of a person  105  using the toilet  152 . This activity pattern of S 5 -A 5 -A 6  is different the activity patterns described with respect to the dishwasher  160  and dryer  151 . The monitoring application server  190  can update a local repository of activity patterns for expected events stored on a monitoring system control unit  110  based on the learning of a new activity pattern that corresponds to an expected event. Such an activity pattern may be used, as described with reference to  FIG. 2  below, to detect leaks at a property  101 . 
     The monitoring system  100  is not limited to learning activity patterns that only consist of sensor data and audio data. For example, an activity data may also include image data. By way of example, with reference to the Garage of  FIG. 1 , the Garage may include a listening device such as a home assistant  171  microphone  171   a , a garage door  175 , and one or more cameras  135 . A person  106  may arrive home driving his/her vehicle  115 , instruct the garage door  175  to open, and drive the vehicle  115  into the Garage. Opening the garage door  175  creates a sound  175   a . A listening device such as the home assistant  171  microphone  171   a  may (i) capture audio data (A 7 ) (e.g., a sound recording) of the sound  175   a , (ii) associate the captured audio (A 7 ) with a timestamp (T 12 ), and broadcast the captured audio data (A 7 ) and timestamp (T 12 ) via the network  140 . The monitoring system control unit  110  may detect the broadcasted audio data (A 7 ), and associate one or more pieces of information with the detected audio data (A 7 ). If the audio data (A 7 ) is not already associated with a timestamp, the monitoring system control unit  110  may associate the audio data (A 7 ) with a timestamp. Alternatively, or in addition, the monitoring system control unit  110  may associate the audio data (A 7 ) with a property location (e.g., Garage). The monitoring system control unit  110  can transmit the captured audio data (A 7 ) and timestamp (T 12 ) to the monitoring application server  190  for storage and analysis. 
     In a similar manner, the home assistant  170  microphone  170   a  may (i) capture audio data (e.g., a sound recording) (A 8 ) of the sound  115   a , (ii) associate the captured audio (A 8 ) with a timestamp (T 13 ), and broadcast the captured audio data (A 8 ) and timestamp (T 13 ) via the network  140 . The monitoring system control unit  110  may detect the broadcasted audio data (A 8 ), and associate one or more pieces of information with the detected audio data (A 8 ). If the audio data (A 8 ) is not already associated with a timestamp, the monitoring system control unit  110  may associate the audio data (A 8 ) with a timestamp. Alternatively, or in addition, the monitoring system control unit  110  may associate the audio data (A 8 ) with a property location (e.g., Garage). The monitoring system control unit  110  can transmit the captured audio data (A 8 ) and timestamp (T 13 ) to the monitoring application server  190  for storage and analysis. 
     In addition, a camera  135  may capture image data (I 1 ) of the vehicle  115 . The camera  135  may associate the captured image data (I 1 ) with a time stamp (T 14 ), and broadcast the captured image data (I 1 ) with a timestamp (T 14 ). The monitoring system control unit  110  may detect the broadcasted image data (I 1 ), and associate one or more pieces of information with the captured image data (I 1 ). If the image data (I 1 ) is not already associated with a timestamp, the monitoring system control unit  110  may associate the image data (I 1 ) with a timestamp. Alternatively, or in addition, the monitoring system control unit  110  may associate the image data (I 1 ) with a property location (e.g., Garage). The monitoring unit  110  can transmit the image data (I 1 ) and timestamp (T 14 ) to the monitoring application server  190  for storage and analysis. 
     In this example, the monitoring application server  190  can learn that the series of activities A 7 -A 8 -I 1  between a time T 12  and T 14  is indicative of a person  106  that has arrived home. This activity pattern of A 7 -A 8 -I 1  is different than the activity patterns described with respect to the dishwasher  150 , the dryer  151 , and the toilet  152  in a variety of different ways. For example, the activity pattern A 7 -A 8 -I 1  is different than the activity patterns described with respect to the dishwasher  150 , the dryer  151 , and the toilet  152  because the activity pattern A 7 -A 8 -I 1  is based on a different collection of activity data than the respective activity patterns for the dishwasher  150 , the dryer  151 , and the toilet  152 . For example, the series of activities A 7 -A 8 -I 1  includes image data I 1  whereas the activity patterns for the dishwasher  150 , dryer  151 , and toilet  152  were each based only on sensor data and audio data (and not image data). The monitoring application server  190  can update a local repository of activity patterns for expected events stored on a monitoring system control unit  110  based on the learning of a new activity pattern that corresponds to an expected event. 
     The monitoring application server  190  or monitoring system control unit  110  may detect future occurrences of the series of activities A 7 -A 8 -I 1  based on an analysis of real-time (or near real-time) activity data detected from one or more components of the monitoring system  100  and perform one or more operations in response to detecting the series of activities A 7 -A 8 -I 1 . For example, in response to detecting the expected event of a person  106  arriving home, the monitoring application server  190  or monitoring system control unit  110  may instruct one or more lights  160 ,  161 ,  162 ,  163  to turn on. 
     Other types of operations may also be performed by the monitoring application server  190  in response to the detection of the series of activities A 7 -A 8 -I 1  indicating that person  106  has arrived home. For example, in response to detecting the series of activities A 7 -A 8 -I 1 , the monitoring system application server  190  or the monitoring system control unit  110  may instruct an HVAC system to turn, instruct a thermostat to set the temperature in the property  101  to a particular temperature, or the like. Alternatively, or in addition, the in response to detecting the series of activities A 7 -A 8 -I 1 , the monitoring application server  190  or monitoring system control unit  110  may instruct one or more connected blinds one or more windows to open, close, or the like. In some implementations, each of the operations may be customized by the user  106  in order to configure the property  101  as the person  106  wants the property to be configured when the person  106  arrives at the property  101 . 
     In some implementations, the monitoring application server  190  may be able to learn what legitimate occupants of the property  101  sound like. For example, the monitoring application server  190  can detect activity data associated with the property  101  that is (i) related to the voice of a legitimate occupant of the property, (ii) related to the footsteps of a legitimate occupant of the property, (iii) or other audio characteristics (e.g., breathing patterns) and can then determine if a subsequently detected voice, subsequently detected footsteps, or a combination thereof, differ from the voice, footsteps, or a combination thereof, of one or more legitimate occupants of the property. For example, a monitoring application server  190 , a monitoring system control unit  110 , or both, may compare audio characteristics associated with audio data recordings of the voice, the footsteps, or other audio features (e.g., breathing patterns) of a legitimate occupant of the property with audio characteristics captured by one or more microphones of the property  101 . Audio characteristics may include the pitch of the sound, the volume of the sound, the sharpness of the sound, the pace of multiple sounds, or the like. 
     By way of example with reference to  FIG. 1 , the Living Room may include a listening device such as a camera  130  that includes a microphone  130   a , a camera  131  that includes a microphone  131   a , and a motion sensor  120   a . In the example of  FIG. 1 , the monitoring system  100  may be in the unarmed state or the armed-home state indicating that a legitimate occupant  102  of the property  101  is present. In some implementations, the motion sensor  120   a  may generate broadcast sensor data that indicates that an object is moving in the Living Room. In response, a microphone  130   a  may (i) capture audio data (e.g., a sound recording) of the sound  102   a  of each footstep of the legitimate occupant&#39;s  102  multiple footsteps and (ii) associate a timestamp with the audio data representing each respective footstep. Alternatively, in some implementations, the microphone  130   a  may capture single audio data recording that comprises sounds of multiple footsteps. 
     For example, assume that the legitimate occupant takes five footsteps. Then, the camera  130  can use the microphone  130   a  to capture audio data A 9 , A 10 , A 11 , A 12 , A 13  and associate a respective timestamp T 15  to T 19  that each respective foot step occurred. The camera  130  can broadcast the captured audio data for each footstep (A 9 , A 10 , A 11 , A 12 , A 13 ) and a corresponding time stamp (T 15  to T 19 ) associated with the audio data for each footstep via the network  140 . The monitoring system control unit  110  may detect the broadcasted audio data (A 9 , A 10 , A 11 , A 12 , A 13 ), and associate one or more pieces of information with the detected audio data (A 9 , A 10 , A 11 , A 12 , A 13 ). If each audio data recording of a particular footstep (A 9 , A 10 , A 11 , A 12 , A 13 ) is not already associated with timestamp, the monitoring system control unit  110  may associate the audio data recording of each footstep (A 9 , A 10 , A 11 , A 12 , A 13 ) with a timestamp. Alternatively, or in addition, the monitoring system control unit  110  may associate the audio data recording (A 9 , A 10 , A 11 , A 12 , A 13 ) with the property. The monitoring system control unit  110  can transmit the captured audio data (A 9 , A 10 , A 11 , A 12 , A 13 ) and timestamps (T 15  to T 19 ) to the monitoring application server  190  for storage and analysis. 
     Alternatively, or in addition, a listening device such as camera  130  microphone  130   a  may also capture audio data (A 14 ) of a person&#39;s  102  voice  102   b . The audio data (A 14 ) may be broadcasted via network  140  and detected by a monitoring system control unit  110 . In some implementations, the monitoring system control unit  110  may associate data with audio data (A 14 ) such as one or more timestamps, a location of the property where the voice data was captured, or the like. The audio data (A 14 ) of the person&#39;s  102  voice (A 14 ) and any data that the monitoring system control unit  110  or listening device associates with the audio data (A 14 ) may be transmitted to a monitoring application server  190  for storage and analysis. 
     The monitoring application server  190  may analyze the audio data (A 9 , A 10 , A 11 , A 12 , A 13 ) that occurs between a time T 15  and T 19 , the voice data (A 14 ), or both, and generate an occupant signature for the person  102 . The monitoring application server  190  may update an occupant signature library on the monitoring system control unit  110  to include the generated occupant signature. The occupant signature library can be used to verify whether sounds (e.g., voice sounds, footstep sounds, breathing, etc.) produced by a person in a property  101  indicate that the person is a legitimate occupant of the property  101  or a likely trespasser. 
       FIG. 2  is a contextual diagram of another example of a monitoring system  100  that can detect an event based on the rhythm and flow of a property  101 . 
     The monitoring system  100  is the same monitoring system of  FIG. 1 . In the example of  FIG. 2 , the monitoring system  100  has learned activity patterns associated with one or more devices such as a toilet  152  and occupant signatures for each of the one or more legitimate occupants of the property  101 . 
     The monitoring system  100  can be used to detect unexpected events at the property  110 . In some implementations, an unexpected event may include, for example, an event that is identified based on the occurrence of less than all of the activities in a set of activities that are determined to be indicative of the occurrence of a particular event. Alternatively, in other implementations, an unexpected event may occur when more than all of the activities in a set of activities occur within a predetermined time period. 
     By way of example, with reference to  FIG. 1 , the monitoring system  100  can learn, as described above, that the activity pattern such as S 5 -A 5 -A 6  is indicative of a person using the toilet  152 . For example, the motion sensor may detect motion in the Bath Room and generate sensor data (S 5 ), the person may flush the toilet which produces the sound  152   a  that is captured as audio data (A 5 ), and then the person puts the toilet seat cover  152  down generating a sound  152   c . Once the activity pattern S 5 -A 5 -A 6  is learned, the monitoring system  100  can detect expected events of a person using the toilet, as described above. Such learned events can be useful for the system to monitoring for a variety of reasons, as described below. 
     With reference to  FIG. 2 , the monitoring system has learned that the activity pattern S 5 -A 5 -A 6  is indicative of a person using a toilet. However, during the course of monitoring activity data generated at the property  101 , a monitoring system control unit  110 , monitoring application server  190 , or both, may capture audio data (A 5 ) based on sound  152   a . The monitoring system control unit  110 , the monitoring application server  190 , or both, may determine that the noise  152   a  is coming from the Bath Room. The monitoring system control unit  110 , monitoring application server  190 , or both, may determine that audio data A 5  is only a portion of the activity pattern S 5 -A 5 -A 6 . For example, the monitoring system control unit  110 , the monitoring application server  190 , or both, that water is running in the bathroom but no movement in the Bath Room has been detected and no sound was generated by the toilet seat cover  152   b . As a result, the monitoring system control unit  110 , the monitoring application server  190 , or both, can generate and transmit a notification to a user device that prompts a legitimate occupant of the property  101  to investigate a potential leak in the Bath Room. The monitoring system  100  is able to detect an unexpected event such as the toilet leak by determining that less than all of a set of activities associated with a particular event have occurred. 
     By way of example, with reference to  FIG. 1 , the monitoring system  100  can learn, as described above, that the activity pattern such as S 3 -A 3 -S 4 -A 4  within a time period of (T 5 ) to (T 8 ) is indicative of a person using the dryer  151 . For example, the motion sensor  120   f  may detect motion in the Laundry Room and generate sensor data (S 3 ), a listening device may a capture audio data (A 3 ) indicating that a person shut the door of the dryer producing a sound  152   a , the energy sensor  120   g  may detect power use by the dryer and generate sensor data (S 4 ), and a listening device may capture audio data (A 4 ) of the dryer running and producing the sound  152   b . Once the activity pattern S 3 -A 3 -S 4 -A 4  is learned, the monitoring system  100  can detect expected events of a person using the dryer, as described above. Such learned events can be also be useful to the monitoring system  100  for a variety of reasons, as described below. 
     With reference to  FIG. 2 , for example, the monitoring system  100  can detect unexpected events such as a dryer  151  potentially malfunctioning based on a determination that more than all of the activities in a set of activities is occurring within a particular time period. For example, in addition to the activity pattern S 3 -A 3 -S 4 -A 4  within a time period of (T 5 ) to (T 8 ), a listening device may also captured and broadcast audio data (A 15 ) of a sound  152   c  within the time period established by (T 5 ) to (T 8 ). The monitoring application server  190 , the monitoring system control unit  110 , or both, may determine that the captured audio data (A 15 ) of the sound  152   c  is indicative of unexpected event because more activities that the expected set of activities occurred with respect to the activity pattern S 3 -A 3 -S 4 -A 4  within a time period of (T 5 ) to (T 8 ) that is indicative a dryer running. As a result, the monitoring application server  190 , the monitoring system control unit  110 , or both can generate and transmit a notification to a user device prompting the user to inspect the dryer to ensure that it is functioning correctly. In some implementations, the notification may indicate that an unusual sound that is likely coming from the dryer was detected. In some implementations, the notification may allow a user to playback the detected sound. 
     As described with reference to  FIG. 1 , the monitoring system  100  may learn an occupant signature for each legitimate occupant of the property  101 . The occupant signature for each occupant of the property  101  may be based on the sounds that the legitimate occupant makes when in the property  101 . For example, the occupant signature may be generated based on the sounds  102   a  a legitimate occupant  102  makes when the legitimate occupant walks, the sounds  102   b  the legitimate occupant  102  makes when the legitimate occupant  102  talks, and other sounds the legitimate occupant  102  routinely makes (e.g., breathing patterns). In some implementations, the occupant signature may be comprised of multiple sub-signatures for each respective sound (e.g., footsteps, voice, breathing, etc). The monitoring application server  190 , monitoring system control unit  110 , or both, may store a library of occupant signatures that includes an occupant signature for each legitimate occupant of the property. 
     The library of occupant signatures may include occupant signatures for legitimate occupants of the property  101  and legitimate guests. For example, the library of occupant signatures may include occupant signatures for permanent occupants of the property  101  who are legitimate occupants. A permanent occupant of the property  101  may include a person that uses the property as the person&#39;s primary residence. In addition, in some implementations, the library of occupant signatures may include occupant signatures for temporary occupants of the property  101  who are legitimate guests. A temporary occupant of the property  101  may include a person that visits the property  101  such as a neighbor, an extended family member, a babysitter, a dog walker, or the like. 
     The monitoring system  100  may learn an occupant signature for a temporary resident in a variety of different ways. For example, while a visitor is present in the property  101  a legitimate occupant of the property  101  may submit a command to the monitoring system control unit  110  directly via one or more controls on the monitoring system control unit  110  or indirectly using a user device connected to the same network as the monitoring system control unit  110  that instructs the monitoring system control unit  110  to learn a new occupant profile. Responsive to the command, the monitoring system control unit  110  may obtain data from one or more monitoring system components such as listening devices over the period of time the guest is present in the property  101 . In some implementations, a particular room (or rooms) may include one or more listening devices and be designated a training room where a person such as a guest can go for a few moments to talk, walk, and breathe so that the monitoring system control unit  110  can obtain audio data related to the person (e.g., a guest). The monitoring system control unit  110  can generate an occupant signature based on the obtained audio data. The occupant signature may be stored in the occupant signature library so that the guest does not trigger an alarm the next time the guest visits and the alarm is armed (e.g., armed-home, armed-away, or the like). In some implementations, a system that is “armed-home” may still monitoring occupant signatures of the occupants of the property. However, “armed-home” may disregard motion sensor data because there is expected to be motion in the property when one or more legitimate occupants are home. 
     The present disclosure need not be so limited to the aforementioned examples for learning an occupant signature for temporary occupants. For instance, an occupant signature of a temporary occupant of the property  101  may be learned in other ways. For example, a guest can use a user device (e.g., smartphone, smart watch, tablet, laptop, desktop, or the like) to transmit the guests occupant profile that was generated and stored by the guests monitoring system control unit, the guests monitoring application server, or both. In some implementations, a monitoring application server  190  may be associated with multiple different user accounts. In such instances, a user may use a user device to log into a user interface where the user can associate the user&#39;s occupant signature with one or more other monitoring system control units, one or more other accounts on the same (or different) monitoring application servers, or the like. In such instances, an occupant signature library may be generated and updated to include occupant signatures for both permanent and temporary occupants. 
     Turn to the example of  FIG. 2 , the monitoring system  100  can be used to detect whether a trespasser  208  is inside the property  101 . In some implementations, the monitoring system  100  can be used to detect a trespasser  208  when other components of the monitoring system  100  such as motion sensors or contact sensors fail to detect the trespasser  208 . For example, assume that the in the example of  FIG. 2 , the trespasser  208  was able to disable the contact sensor  120   b  and motion sensor  120   a.    
     During the routine monitoring, the monitoring system  100  can capture audio data of sounds in the property  101 . After the trespasser  208  disables the contact sensor  120   b  and motion sensor  120   a , the trespasser  208  enters the property  101  and begins to move around the property  101 . One or more listening devices such as microphones  130   a ,  131   a  can capture audio data (A 16 ) of sounds  208   a  made by the trespasser&#39;s  208  footsteps, audio data (A 17 ) of the sounds  208   b  made by the trespasser&#39;s voice  208 , audio data (A 18 ) of the trespasser&#39;s breathing, or a combination thereof. The one or more listening devices may broadcast the audio data (A 16 ), (A 17 ), (A 18 ) and one or more timestamps associated therewith via the network  140 . The monitoring system control unit  110  can detect the broadcasted audio data (A 16 ), (A 17 ), (A 18 ) and any broadcast therewith. The monitoring system control unit  110  may transmit the broadcasted audio data to the monitoring application server  190 . The monitoring application server  190 , the monitoring system control unit  110 , or both, can generate a potential trespasser signature for the trespasser  208  based on the audio data (A 16 ), (A 17 ), (A 18 ) and any information associated therewith (e.g., one or more timestamps). 
     The example of  FIG. 2  discusses generating a potential trespasser signature for the trespasser  208  within the context of a break-in. However, the present disclosure need not be so limited. For example, the monitoring system  100  can be continuously monitoring the property  101  for potential trespassers. As a result, the monitoring system  100  may generate and evaluate a potential trespasser signature for each person that enters the property  101 . 
     The trespasser&#39;s  208  potential trespasser signature may be compared against each occupant signature stored in the monitoring application server  190 , the monitoring system control unit  110 , or both. Based on the comparison of the occupant signatures and the potential trespasser signature, the monitoring application server  190 , the monitoring system control unit  110 , or both, can determine whether the potential trespasser that is talking, moving, breathing, or a combination thereof, inside the property  101  is a legitimate occupant of the property. For example, if the occupant signature matches the potential trespasser signature within a predetermined error rate, the monitoring application server  190 , the monitoring system control unit  110 , or both, may determine that the potential trespasser is legitimate occupant of the property. Alternatively, if the potential trespasser signature does not match one or more stored signatures of a legitimate occupant of the property  101 , then the monitoring application server  190 , the monitoring system control unit  110 , or both, may determine that the potential trespasser signature is associated with a trespasser. In such instances, the monitoring application server  190 , the monitoring system control unit  190 , or both, may transmit a notification to a central alarm station server  192  indicating the detection of a trespasser. The central alarm station server  192  can notify a law enforcement agency and request that the law enforcement agency dispatch one or more agents to the property  101 . 
       FIG. 3  is a flowchart of an example of a process  300  for learning the rhythm and flow of a property. Generally, the process  300  includes obtaining activity data generated by monitoring system components associated with a property ( 310 ), storing (i) the obtained activity data and (ii) a timestamp associated with the obtained activity data as a data record ( 320 ), analyzing the stored activity data to detect one or more events based on a sequence of activity data ( 330 ), and storing data identifying each of the one or more detected events ( 340 ). For convenience, the process  300  will be described below as being performed by a monitoring unit such as a monitoring system control unit  110  or a monitoring application server of  FIGS. 1 and 2 . 
     In more detail, a monitoring unit can obtain  310  activity data generated by monitoring system components associated with a property. The activity data may include sensor data, image data, audio data, or any other type of data generated by a monitoring system component. Monitoring system components may include sensors, detectors, cameras, listening devices, home assistants, monitoring units, user devices, or the like as shown in  FIGS. 1 and 2 . By way of example, the monitoring unit may obtain activity data by obtaining sensor data broadcast by one or more sensors, obtaining image data broadcast by one or more cameras, obtaining audio data broadcast by one or more listening devices, or the like. 
     The monitoring unit can store  320  ( i ) the obtained activity data and (ii) a timestamp associated with the obtained activity data as a data record. In some implementations, the obtained activity data may be associated with a timestamp at the time the activity data was obtained. For example, the monitoring system component that generated the activity data may associate the timestamp with the activity data and broadcast the activity data and time stamp. Alternatively, the monitoring unit may associate a timestamp with the activity data upon the detection of the generated activity data. 
     The monitoring unit can analyze  330  the stored activity data to detect one or more events based on a sequence of activity data. For example, the monitoring unit may analyze the stored activity data to identify patterns in the activity data indicative of an event. For example, the monitoring unit can detect that a pattern of activities such as S 3 -A 3 -S 4 -A 4  indicating that an sensor data (S 3 ) was detected that indicates an object was moving in the vicinity of a dryer, audio data (A 3 ) was captured indicating the dryer door was closed, sensor data (S 4 ) was detected indicating that the dryer started using power, and audio data (A 4 ) was captured indicating that the dryer started making noises indicative of operation (e.g., sound of motor running, sound of water running, sound of water spraying, a combination thereof, or the like). 
     In some implementations, the monitoring unit can determine with more than threshold level of certainty that an identified activity pattern is associated with an event without further feedback from a user. In other implementations, the monitoring unit can determine with more than a threshold level of certainty that an identified activity pattern is associated with an event and transmit a notification to a user device that prompts a user to confirm that identified activity pattern is associated with the event. In other implementations, the monitoring unit can detect an identified activity pattern, and transmit a notification to a user device that that asks the user if the user knows whether the identified activity pattern is associated with an event. In some implementations, the notification may include information identifying the type of sensor data detected, recordings of the audio sounds detected, portions of the property where the sensor data was generated, portions of the property where the audio sounds occurred, or the like. 
     The monitoring unit can store  340  data identifying each of the one or more detected events. For example, the monitoring unit can update a database of known expected events that are associated with a property. 
       FIG. 4  is a flowchart of an example of a process  400  for detecting an expected event based on the rhythm and flow of the property. Generally, the process  400  includes obtaining activity data generated by one or more monitoring system components associated with the property ( 410 ), accessing known activity data associated with the property ( 420 ), and determining, based on (i) the obtained activity data and (ii) the known activity data, whether an expected event has occurred ( 430 ). In response to determining that an expected event has not occurred, the process  400  continues at stage  410  by obtaining activity data generated by one or more monitoring system components associated with the property ( 410 ). In response to determining that an expected event has occurred, the process  400  continues by performing one or more operations based on the detected event ( 440 ). For convenience, the process  400  will be described below as being performed by a monitoring unit such as a monitoring system control unit  110  or a monitoring application server of  FIGS. 1 and 2 . 
     In more detail, a monitoring unit can obtain  410  activity data generated by one or more monitoring system components associated with the property. The activity data may include a particular sequence of sensor data, image data, audio data, or any other type of data generated by a monitoring system component. For example, the monitoring unit can detect that a sequence of activity data such as S 3 -A 3 -S 4 -A 4  within a particular time period from a first time T 5  to a second time T 8 . For example, the sequence of activity data such as S 3 -A 3 -S 4 -A 4  may include sensor data (S 3 ) that indicates an object was moving in the vicinity of a dryer, audio data (A 3 ) indicating the dryer door was closed, sensor data (S 4 ) indicating that the dryer started using power, and audio data (A 4 ) indicating that the dryer started making noises indicative of operation (e.g., sound of motor running, sound of water running, sound of water spraying, a combination thereof, or the like). 
     The monitoring unit can access  420  known activity data associated with the property. For example, the monitoring unit can access a database of known activity patterns that each correspond to a particular event. The database of known activity data sequences may include one or more activity data sequences that each have been learned by the monitoring unit as corresponding to a respective existing event at the property. For example, the database of known activity data may store one or more data records that associate a particular activity data sequence of S 3 -A 3 -S 4 -A 4  detected within a particular time period T 5  to T 8  with an event of a dyer drying clothes. 
     The monitoring unit can determine  430 , based on (i) the obtained activity data and (ii) the known activity data, whether an expected event has occurred. For example, the monitoring unit can perform a search of the database of known activity data sequences to determine whether any known activity data sequences match the obtained activity data. For example, the monitoring unit may determine whether there are any known activity data sequences that correspond to the sequence of activity data S 3 -A 3 -S 4 -A 4  obtained in stage  410 . In some implementations, the obtained activity data may be determined to match a known activity pattern if the comparison between the obtained activity data and a known activity pattern exceeds a predetermined similarity threshold. 
     In some implementations, an obtained activity data sequence may only match a known activity data sequence if the obtained activity data sequence occurred within a same period of time as the known activity data sequence. In such instances, an obtained activity data sequence of S 3 -A 3 -S 4 -A 4  that occurred within a period of time of T 5  to T 16  (e.g., 2 minutes) may not match a known activity data sequence of S 3 -A 3 -S 4 -A 4  that occurs between T 5  to T 8  (e.g., 40 seconds). In other words, an obtained sequence of activity data may only be indicative of a particular event if the sequence of activity data occurs within approximately the same period of time as the known activity data sequence. In other implementations, an obtained activity data sequence may be determined to match a known activity data sequence independent of any time constraints on the respective activity data sequences. 
     In response to determining that an expected event has not occurred, the monitoring unit may continue monitoring the property by obtaining  410  activity data generated by one or more monitoring system components associated with the property. That is, the monitoring unit can begin performance of process  400  again. 
     In response to determining that an expected event has occurred, the monitoring unit may perform  440  one or more operations based on the detection of the expected event. The operations may include generating and transmitting one or more notifications to a user device. For example, in response to detecting the expected event of a dryer drying clothes, the monitoring unit may generate and transmit a notification to user device to ask the user whether the user emptied the lint trap. Other types of notifications may be generated and transmitted based on the detected event. Alternatively, or in addition, the operations may include generating and transmitting one or more instructions that instruct a component of a monitoring system to perform a particular action (e.g., turn off a light, turn on a light, close blinds, open blinds, lock a door, unlock a door, turn on a camera, turn off a camera, or the like). 
       FIG. 5  is a flowchart of an example of a process  500  for detecting an unexpected event based on the rhythm and flow of the property. Generally, the process  500  includes obtaining activity data generated by one or more monitoring system components associated with the property ( 510 ), accessing known activity data associated with the property ( 520 ), and determining, based on (i) the obtained activity data and (ii) the known activity data, whether an unexpected event has occurred ( 530 ). In response to determining that an unexpected event has not occurred, the process  500  continues at stage  510  by obtaining activity data generated by one or more monitoring system components associated with the property ( 510 ). In response to determining that an unexpected event has occurred, the process  500  continues by performing one or more operations based on the detected event ( 540 ). For convenience, the process  500  will be described below as being performed by a monitoring unit such as a monitoring system control unit  110  or a monitoring application server of  FIGS. 1 and 2 . 
     In more detail, a monitoring unit can obtain  510  activity data generated by one or more monitoring system components associated with the property. The activity data may include particular sequence one or more of sensor data, image data, audio data, or any other type of data generated by a monitoring system component. For example, the monitoring unit can detect the particular sequence of activity data S 3 -A 3 -S 4 -A 4 -A 15 . In this example, the particular sequence of activity data S 3 -A 3 -S 4 -A 4 -A 15  may detected based on sensor data (S 3 ) indicating motion of one or more objects in the Laundry Room, audio data (A 3 ) indicating a sound of a dryer door closing, sensor data (S 4 ) indicating that the dryer is using power, audio data (A 4 ) indicating that a motor of the dryer is running, and audio data (A 15 ) indicative of another sound in the Laundry Room. 
     The monitoring unit can access  520  known activity data associated with the property. For example, the monitoring unit can access a database of known activity patterns that each correspond to a particular event. The database of known activity patterns may include one or more activity patterns that have been learned by the monitoring unit as being indicative of a respective existing event at the property. For example, the database of known activity patterns may store one or more data records that associate an activity pattern of S 3 -A 3 -S 4 -A 4  detected within a particular time period T 5  to T 8  with an event of a dyer drying clothes. 
     The monitoring unit can determine  530 , based on (i) the obtained activity data and (ii) the known activity data, whether an unexpected event has occurred. For example, the monitoring unit can determine, based on a search of the database of known activity data sequences, whether the obtained activity data includes less than or more than all of the activity data items of a known a known activity data sequence that is known to correspond to a particular event. For example, the monitoring unit may determine that the sequence of activity data S 3 -A 3 -S 4 -A 4 -A 15  includes more activity data items than the known activity data sequence S 3 -A 3 -S 4 -A 4 . In this example, the monitoring unit may identify the sequence of activity data S 3 -A 3 -S 4 -A 4 -A 15  is indicative of an unexpected event such as a malfunctioning dryer because there is an additional sound that is detected while the dryer is running. 
     In response to determining that an unexpected event has not occurred, the monitoring unit may continue monitoring the property by obtaining  510  activity data generated by one or more monitoring system components associated with the property. That is, the monitoring unit can begin performance of process  500  again. 
     In response to determining that an unexpected event has occurred, the monitoring unit may perform  540  one or more operations based on the detection of the unexpected event. The operations may include generating and transmitting one or more notifications to a user device. For example, in response to detecting the unexpected event of an additional sound produced while the dryer is running, the monitoring unit may generate and transmit a notification to user device to alert the user that the dryer may be malfunctioning. Other types of notifications may be generated and transmitted based on the detected event. Alternatively, or in addition, the operations may include generating and transmitting one or more instructions that instruct a component of a monitoring system to perform a particular action (e.g., turn off a light, turn on a light, close blinds, open blinds, lock a door, unlock a door, turn on a camera, turn off a camera, or the like). 
       FIG. 6  is a block diagram of an example of a monitoring system  600  for detecting an event based on the rhythm and flow of a property 
     The electronic system  600  includes a network  605 , a monitoring system control unit  610 , one or more user devices  640 ,  650 , a monitoring application server  660 , and a central alarm station server  670 . In some examples, the network  605  facilitates communications between the monitoring system control unit  610 , the one or more user devices  640 ,  650 , the monitoring application server  660 , and the central alarm station server  670 . 
     The network  605  is configured to enable exchange of electronic communications between devices connected to the network  605 . For example, the network  605  may be configured to enable exchange of electronic communications between the monitoring system control unit  610 , the one or more user devices  640 ,  650 , the monitoring application server  660 , and the central alarm station server  670 . The network  605  may include, for example, one or more of the Internet, Wide Area Networks (WANs), Local Area Networks (LANs), analog or digital wired and wireless telephone networks (e.g., a public switched telephone network (PSTN), Integrated Services Digital Network (ISDN), a cellular network, and Digital Subscriber Line (DSL)), radio, television, cable, satellite, or any other delivery or tunneling mechanism for carrying data. Network  605  may include multiple networks or subnetworks, each of which may include, for example, a wired or wireless data pathway. The network  605  may include a circuit-switched network, a packet-switched data network, or any other network able to carry electronic communications (e.g., data or voice communications). For example, the network  605  may include networks based on the Internet protocol (IP), asynchronous transfer mode (ATM), the PSTN, packet-switched networks based on IP, X.25, or Frame Relay, or other comparable technologies and may support voice using, for example, VoIP, or other comparable protocols used for voice communications. The network  605  may include one or more networks that include wireless data channels and wireless voice channels. The network  605  may be a wireless network, a broadband network, or a combination of networks including a wireless network and a broadband network. 
     The monitoring system control unit  610  includes a controller  612  and a network module  614 . The controller  612  is configured to control a monitoring system (e.g., a home alarm or security system) that includes the monitoring system control unit  610 . In some examples, the controller  612  may include a processor or other control circuitry configured to execute instructions of a program that controls operation of an alarm system. In these examples, the controller  612  may be configured to receive input from sensors, detectors, or other devices included in the alarm system and control operations of devices included in the alarm system or other household devices (e.g., a thermostat, an appliance, lights, etc.). For example, the controller  612  may be configured to control operation of the network module  614  included in the monitoring system control unit  610 . In some implementations, the monitoring system control unit  610  may include a microphone  616 . 
     The system  600  is configured to use a monitoring system control unit  610 , a monitoring application server  660 , or both, to monitor sequences of activity data produced by a property as described with reference to  FIGS. 1-5 . A sequence of activity data may two more data items such as sensor data, image data, audio data, or a combination thereof that occur within a particular period of time. For example, the monitoring system control unit  610  may be configured to detect, capture, or both, activity data and transmit the activity data to the monitoring application server  660  for analysis. The monitoring application server  660  can analyze the activity data to identify patterns (or sequences) of activity data that are indicative of a respective events. The monitoring application server  660  can provide to a monitoring system control unit  610 , and subsequently update, a library of known activity sequences that includes a plurality of activity sequences that each correspond to a particular event. 
     The monitoring system control unit  610  may store the library of known activity sequences and use the library of known activity sequences to detect the occurrence of events. For example, the monitoring system control unit  610  may detect a sequence of activity data and compare the detected sequence of activity data to the activity sequences in the library of known activity sequences. The monitoring system control unit  610  may determine, based on the aforementioned comparison, whether a detected sequence of activity data is indicative of a particular expected event. In response to determining that the detected sequence of activity data is indicative of a particular expected event, the monitoring system control unit  610  may perform one or more operations. For example, the monitoring system control unit  610  may transmit one or more notifications based on the detected expected event. Alternatively, the monitoring system control unit  610  may instruct one or more other components of the monitoring system  600  to perform one or more actions. Actions may include, for example, turning on a light, turning off a light, unlocking a door, locking a door, opening blinds, closing blinds, turning on a camera, turning off a camera, or the like. 
     The monitoring system control unit  610  may also be configured to detect unexpected events using the library of known activity sequences. For example, the monitoring system control unit  610  may be configured to detect one or more activity data items and compare the one or more activity data items to the library of known activity sequences. An unexpected event may be detected based on a determination that the detected one or more activity data items are related to a known activity sequence but includes less activity data items than or more activity data items than the known activity sequence. The monitoring system control unit  610  perform one or more operations based on the detection of an unexpected event. For example, the monitoring system control unit  610  may transmit one or more notifications based on the detection of the unexpected event. Alternatively, the monitoring system control unit  610  may instruct one or more other components of the monitoring system  600  to perform one or more actions based on the detection of the unexpected event. Actions may include, for example, turning on a light, turning off a light, unlocking a door, locking a door, opening blinds, closing blinds, turning on a camera, turning off a camera, turning off a water shutoff valve, or the like. 
     The network module  614  is a communication device configured to exchange communications over the network  605 . The network module  614  may be a wireless communication module configured to exchange wireless communications over the network  605 . For example, the network module  614  may be a wireless communication device configured to exchange communications over a wireless data channel and a wireless voice channel. In this example, the network module  614  may transmit alarm data over a wireless data channel and establish a two-way voice communication session over a wireless voice channel. The wireless communication device may include one or more of a LTE module, a GSM module, a radio modem, cellular transmission module, or any type of module configured to exchange communications in one of the following formats: LTE, GSM or GPRS, CDMA, EDGE or EGPRS, EV-DO or EVDO, UMTS, or IP. 
     The network module  614  also may be a wired communication module configured to exchange communications over the network  605  using a wired connection. For instance, the network module  614  may be a modem, a network interface card, or another type of network interface device. The network module  614  may be an Ethernet network card configured to enable the monitoring system control unit  610  to communicate over a local area network and/or the Internet. The network module  614  also may be a voiceband modem configured to enable the alarm panel to communicate over the telephone lines of Plain Old Telephone Systems (POTS). 
     The monitoring system that includes the monitoring system control unit  610  includes at least one sensor  620 . In some implementations, the monitoring system may include multiple sensors  620 . Each sensor  620  may include at least one sensor (or detector). 
     The sensor  620  may include a contact sensor, a motion sensor, a glass break sensor, or any other type of sensor included in an alarm system or security system. The sensor  620  also may include an environmental sensor, such as a temperature sensor, a water sensor, a rain sensor, a wind sensor, a light sensor, a smoke detector, a carbon monoxide detector, an air quality sensor, etc. The sensor  620  further may include a health monitoring sensor, such as a prescription bottle sensor that monitors taking of prescriptions, a blood pressure sensor, a blood sugar sensor, a bed mat configured to sense presence of liquid (e.g., bodily fluids) on the bed mat, etc. In some examples, the sensor units  620  may include a radio-frequency identification (RFID) sensor that identifies a particular article that includes a pre-assigned RFID tag. Each respective type of sensor (or detector) is configured to generate data which can be used to detect a potential event at a property. 
     In some instances, one or more sensors  620  may include a microphone. In such instances, the sensor  620  can use the microphone to function as a listening device. In such instances, the sensor microphone can capture audio data, and transmit the audio data to the monitoring system control unit  610 , monitoring application server  660 , or both, for analysis. In some implementations, sensor  620  is configured to associate a timestamp with the captured audio data prior to transmitting the captured audio data. However, not all sensors  620  are required to include a microphone, and in some implementations of the monitoring systems there may not be any sensors  620  that include a microphone. In other implementations, all sensors  620  in a particular monitoring system may include a microphone. In yet other implementations, a subset of sensors  620  in a monitoring system may include a microphone and a subset of the sensors  620  in the monitoring system may not include a microphone. 
     The system  600  may also include a home assistant  696 . The home assistant  696  may include a microphone that can be used to capture audio data. The home assistant  696  can be configured to transmit the captured audio data to a monitoring system control unit  610 , monitoring application server  660 , or both. In some implementations, home assistant  696  is configured to associate a timestamp with the captured audio data prior to transmitting the captured audio data. 
     The camera  630  may be a video/photographic camera or other type of optical sensing device configured to capture images. For instance, the camera  630  may be configured to capture images of an area within a building monitored by the monitoring system control unit  610 . The camera  630  may be configured to capture single, static images of the area and also video images of the area in which multiple images of the area are captured at a relatively high frequency (e.g., thirty images per second). The camera  630  may be controlled based on commands received from the monitoring system control unit  610 . 
     The camera  630  may be triggered by several different types of techniques. For instance, a Passive Infra-Red (PIR) motion sensor may be built into the camera  630  and used to trigger the camera  630  to capture one or more images when motion is detected. The camera  630  also may include a microwave motion sensor built into the camera and used to trigger the camera  630  to capture one or more images when motion is detected. The camera  630  may have a “normally open” or “normally closed” digital input that can trigger capture of one or more images when external sensors (e.g., the sensor  620 , PIR, door/window, etc.) detect motion or other events. In some implementations, the camera  630  receives a command to capture an image when external devices detect motion or another potential alarm event. The camera  630  may receive the command from the controller  612  or directly from one of the sensors  620 . 
     In some examples, the camera  630  triggers integrated or external illuminators (e.g., Infra-Red, Z-wave controlled “white” lights, lights controlled by the module  625 , etc.) to improve image quality when the scene is dark. An integrated or separate light sensor may be used to determine if illumination is desired and may result in increased image quality. 
     The camera  630  may include a microphone that can be used to capture sound data. The camera  630  can be configured to transmit the captured audio data to a monitoring system control unit  610 , monitoring application server  660 , or both. In some implementations, camera  630  is configured to associate a timestamp with the captured audio data prior to transmitting the captured audio data. 
     The camera  630  may be programmed with any combination of time/day schedules, system “arming state”, or other variables to determine whether images should be captured or not when triggers occur. The camera  630  may enter a low-power mode when not capturing images. In this case, the camera  630  may wake periodically to check for inbound messages from the controller  612 . The camera  630  may be powered by internal, replaceable batteries if located remotely from the monitoring system control unit  610 . The camera  630  may employ a small solar cell to recharge the battery when light is available. Alternatively, the camera  630  may be powered by the controller&#39;s  612  power supply if the camera  630  is co-located with the controller  612 . 
     In some implementations, the camera  630  communicates directly with the monitoring application server  660  over the Internet. In these implementations, image data captured by the camera  630  does not pass through the monitoring system control unit  610  and the camera  630  receives commands related to operation from the monitoring application server  660 . 
     The system  600  also includes a thermostat  634  to perform dynamic environmental control at the property. The thermostat  634  is configured to monitor temperature and/or energy consumption of an HVAC system associated with the thermostat  634 , and is further configured to provide control of environmental (e.g., temperature) settings. In some implementations, the thermostat  634  can additionally or alternatively receive data relating to activity at a property and/or environmental data at a property, e.g., at various locations indoors and outdoors at the property. The thermostat  634  can directly measure energy consumption of the HVAC system associated with the thermostat, or can estimate energy consumption of the HVAC system associated with the thermostat  634 , for example, based on detected usage of one or more components of the HVAC system associated with the thermostat  634 . The thermostat  634  can communicate temperature and/or energy monitoring information to or from the monitoring system control unit  610  and can control the environmental (e.g., temperature) settings based on commands received from the monitoring system control unit  610 . 
     In some implementations, the thermostat  634  is a dynamically programmable thermostat and can be integrated with the monitoring system control unit  610 . For example, the dynamically programmable thermostat  634  can include the monitoring system control unit  610 , e.g., as an internal component to the dynamically programmable thermostat  634 . In addition, the monitoring system control unit  610  can be a gateway device that communicates with the dynamically programmable thermostat  634 . 
     A module  625  is connected to one or more components of an HVAC system associated with a property, and is configured to control operation of the one or more components of the HVAC system. In some implementations, the module  625  is also configured to monitor energy consumption of the HVAC system components, for example, by directly measuring the energy consumption of the HVAC system components or by estimating the energy usage of the one or more HVAC system components based on detecting usage of components of the HVAC system. The module  625  can communicate energy monitoring information and the state of the HVAC system components to the thermostat  634  and can control the one or more components of the HVAC system based on commands received from the thermostat  634 . 
     The sensors  620 , the module  625 , the camera  630 , the thermostat  634 , and the home assistant  696  can communicate with the controller  612  over communication links  627 ,  626 ,  628 ,  632 ,  638 , and  686 . The communication links  627 ,  626 ,  628 ,  632 ,  638 , and  686  may be a wired or wireless data pathway configured to transmit signals from the sensors  620 , the module  625 , the camera  630 , the thermostat  634 , and the home assistant  696  to the controller  612 . The sensors  620 , the module  625 , the camera  630 , the thermostat  634 , and the home assistant  696  may continuously transmit sensed values to the controller  612 , periodically transmit sensed values to the controller  612 , or transmit sensed values to the controller  612  in response to a change in a sensed value. 
     The communication links  627 ,  626 ,  628 ,  632 ,  638 , and  686  may include a local network. The sensors  620 , the module  625 , the camera  630 , the thermostat  634 , the home assistant  696 , and the controller  612  may exchange data and commands over the local network. The local network may include 802.11 “Wi-Fi” wireless Ethernet (e.g., using low-power Wi-Fi 33 chipsets), Z-Wave, ZigBee, Bluetooth, “Homeplug” or other “Powerline” networks that operate over AC wiring, and a Category 6 (CATS) or Category 6 (CAT6) wired Ethernet network. The local network may be a mesh network constructed based on the devices connected to the mesh network. 
     The monitoring application server  660  is an electronic device configured to provide monitoring services by exchanging electronic communications with the monitoring system control unit  610 , the one or more user devices  640 ,  650 , and the central alarm station server  670  over the network  605 . For example, the monitoring application server  660  may be configured to monitor events (e.g., alarm events) generated by the monitoring system control unit  610 . In this example, the monitoring application server  660  may exchange electronic communications with the network module  614  included in the monitoring system control unit  610  to receive information regarding events (e.g., alarm events) detected by the monitoring system control unit  610 . The monitoring application server  660  also may receive information regarding events (e.g., alarm events) from the one or more user devices  640 ,  650 . 
     In some examples, the monitoring application server  660  may route alarm data received from the network module  614  or the one or more user devices  640 ,  650  to the central alarm station server  670 . For example, the monitoring application server  660  may transmit the alarm data to the central alarm station server  670  over the network  605 . 
     The monitoring application server  660  may store sensor and image data received from the monitoring system and perform analysis of sensor and image data received from the monitoring system. Based on the analysis, the monitoring application server  660  may communicate with and control aspects of the monitoring system control unit  610  or the one or more user devices  640 ,  650 . 
     The monitoring application server  660  may, in some implementations, be configured to perform any of the functionality described here related to the monitoring system control units  110 ,  610 , the monitoring application server  190 , or both. 
     The central alarm station server  670  is an electronic device configured to provide alarm monitoring service by exchanging communications with the monitoring system control unit  610 , the one or more mobile devices  640 ,  650 , and the monitoring application server  660  over the network  605 . For example, the central alarm station server  670  may be configured to monitor alarm events generated by the monitoring system control unit  610 . In this example, the central alarm station server  670  may exchange communications with the network module  614  included in the monitoring system control unit  610  to receive information regarding alarm events detected by the monitoring system control unit  610 . The central alarm station server  670  also may receive information regarding alarm events from the one or more mobile devices  640 ,  650  and/or the monitoring application server  660 . 
     The central alarm station server  670  is connected to multiple terminals  672  and  674 . The terminals  672  and  674  may be used by operators to process alarm events. For example, the central alarm station server  670  may route alarm data to the terminals  672  and  674  to enable an operator to process the alarm data. The terminals  672  and  674  may include general-purpose computers (e.g., desktop personal computers, workstations, or laptop computers) that are configured to receive alarm data from a server in the central alarm station server  670  and render a display of information based on the alarm data. For instance, the controller  612  may control the network module  614  to transmit, to the central alarm station server  670 , alarm data indicating that a sensor  620  detected a door opening when the monitoring system was armed. The central alarm station server  670  may receive the alarm data and route the alarm data to the terminal  672  for processing by an operator associated with the terminal  672 . The terminal  672  may render a display to the operator that includes information associated with the alarm event (e.g., the name of the user of the alarm system, the address of the building the alarm system is monitoring, the type of alarm event, etc.) and the operator may handle the alarm event based on the displayed information. 
     In some implementations, the terminals  672  and  674  may be mobile devices or devices designed for a specific function. Although  FIG. 6  illustrates two terminals for brevity, actual implementations may include more (and, perhaps, many more) terminals. 
     The one or more user devices  640 ,  650  are devices that host and display user interfaces. For instance, the user device  640  is a mobile device that hosts one or more native applications (e.g., the native surveillance application  642 ). The user device  640  may be a cellular phone or a non-cellular locally networked device with a display. The user device  640  may include a cell phone, a smart phone, a tablet PC, a personal digital assistant (“PDA”), or any other portable device configured to communicate over a network and display information. For example, implementations may also include Blackberry-type devices (e.g., as provided by Research in Motion), electronic organizers, iPhone-type devices (e.g., as provided by Apple), iPod devices (e.g., as provided by Apple) or other portable music players, other communication devices, and handheld or portable electronic devices for gaming, communications, and/or data organization. The user device  640  may perform functions unrelated to the monitoring system, such as placing personal telephone calls, playing music, playing video, displaying pictures, browsing the Internet, maintaining an electronic calendar, etc. 
     The user device  640  includes a native surveillance application  642 . The native surveillance application  642  refers to a software/firmware program running on the corresponding mobile device that enables the user interface and features described throughout. The user device  640  may load or install the native surveillance application  642  based on data received over a network or data received from local media. The native surveillance application  642  runs on mobile devices platforms, such as iPhone, iPod touch, Blackberry, Google Android, Windows Mobile, etc. The native surveillance application  642  enables the user device  640  to receive and process image and sensor data from the monitoring system. 
     The user device  650  may be a general-purpose computer (e.g., a desktop personal computer, a workstation, or a laptop computer) that is configured to communicate with the monitoring application server  660  and/or the monitoring system control unit  610  over the network  605 . The user device  650  may be configured to display a surveillance monitoring user interface  652  that is generated by the user device  650  or generated by the monitoring application server  660 . For example, the user device  650  may be configured to display a user interface (e.g., a web page) provided by the monitoring application server  660  that enables a user to perceive images captured by the camera  630  and/or reports related to the monitoring system. Although  FIG. 6  illustrates two user devices for brevity, actual implementations may include more (and, perhaps, many more) or fewer user devices. 
     In some implementations, the one or more user devices  640 ,  650  communicate with and receive monitoring system data from the monitoring system control unit  610  using the communication link  638 . For instance, the one or more user devices  640 ,  650  may communicate with the monitoring system control unit  610  using various local wireless protocols such as Wi-Fi, Bluetooth, Z-Wave, ZigBee, HomePlug (Ethernet over powerline), or wired protocols such as Ethernet and USB, to connect the one or more user devices  640 ,  650  to local security and automation equipment. The one or more user devices  640 ,  650  may connect locally to the monitoring system and its sensors and other devices. The local connection may improve the speed of status and control communications because communicating through the network  605  with a remote server (e.g., the monitoring application server  660 ) may be significantly slower. 
     Although the one or more user devices  640 ,  650  are shown as communicating with the monitoring system control unit  610 , the one or more user devices  640 ,  650  may communicate directly with the sensors and other devices controlled by the monitoring system control unit  610 . In some implementations, the one or more user devices  640 ,  650  replace the monitoring system control unit  610  and perform the functions of the monitoring system control unit  610  for local monitoring and long range/offsite communication. 
     In other implementations, the one or more user devices  640 ,  650  receive monitoring system data captured by the monitoring system control unit  610  through the network  605 . The one or more user devices  640 ,  650  may receive the data from the monitoring system control unit  610  through the network  605  or the monitoring application server  660  may relay data received from the monitoring system control unit  610  to the one or more user devices  640 ,  650  through the network  605 . In this regard, the monitoring application server  660  may facilitate communication between the one or more user devices  640 ,  650  and the monitoring system. 
     In some implementations, the one or more user devices  640 ,  650  may be configured to switch whether the one or more user devices  640 ,  650  communicate with the monitoring system control unit  610  directly (e.g., through link  638 ) or through the monitoring application server  660  (e.g., through network  605 ) based on a location of the one or more user devices  640 ,  650 . For instance, when the one or more user devices  640 ,  650  are located close to the monitoring system control unit  610  and in range to communicate directly with the monitoring system control unit  610 , the one or more user devices  640 ,  650  use direct communication. When the one or more user devices  640 ,  650  are located far from the monitoring system control unit  610  and not in range to communicate directly with the monitoring system control unit  610 , the one or more user devices  640 ,  650  use communication through the monitoring application server  660 . 
     Although the one or more user devices  640 ,  650  are shown as being connected to the network  605 , in some implementations, the one or more user devices  640 ,  650  are not connected to the network  605 . In these implementations, the one or more user devices  640 ,  650  communicate directly with one or more of the monitoring system components and no network (e.g., Internet) connection or reliance on remote servers is needed. 
     In some implementations, the one or more user devices  640 ,  650  are used in conjunction with only local sensors and/or local devices in a house. In these implementations, the system  600  only includes the one or more user devices  640 ,  650 , the sensors  620 , the module  625 , the camera  630 , and the home assistant  696 . The one or more user devices  640 ,  650  receive data directly from the sensors  620 , the module  625 , the camera  630 , and the home assistant  696  and sends data directly to the sensors  620 , the module  625 , the camera  630 , and the homes assistant  696 . The one or more user devices  640 ,  650  provide the appropriate interfaces/processing to provide visual surveillance and reporting. 
     In some implementations, the one or more user devices  640 ,  650  may include a microphone that can be used to capture audio data. The user devices  640 ,  650  can be configured to transmit the captured audio data to a monitoring system control unit  610 , monitoring application server  660 , or both. In some implementations, user devices  640 ,  650  are configured to associate a timestamp with the captured audio data prior to transmitting the captured audio data. 
     In other implementations, the system  600  further includes network  605  and the sensors  620 , the module  625 , the camera  630 , the thermostat  634 , and the homes assistant  696  are configured to communicate sensor and image data to the one or more user devices  640 ,  650  over network  605  (e.g., the Internet, cellular network, etc.). In yet another implementation, the sensors  620 , the module  625 , the camera  630 , the thermostat  634 , or a component, such as a bridge/router are intelligent enough to change the communication pathway from a direct local pathway when the one or more user devices  640 ,  650  are in close physical proximity to the sensors  620 , the module  625 , the camera  630 , the thermostat  634 , and the home assistant  696  to a pathway over network  605  when the one or more user devices  640 ,  650  are farther from the sensors  620 , the module  625 , the camera  630 , the thermostat  634 , and the home assistant  696 . In some examples, the system leverages GPS information from the one or more user devices  640 ,  650  to determine whether the one or more user devices  640 ,  650  are close enough to the sensors  620 , the module  625 , the camera  630 , the thermostat  634 , or the home assistant  696  to use the direct local pathway or whether the one or more user devices  640 ,  650  are far enough from the sensors  620 , the module  625 , the camera  630 , the thermostat  634 , and the home assistant  696  that the pathway over network  605  is required. In other examples, the system leverages status communications (e.g., pinging) between the one or more user devices  640 ,  650  and the sensors  620 , the module  625 , the camera  630 , the thermostat  634 , or the home assistant  696  to determine whether communication using the direct local pathway is possible. If communication using the direct local pathway is possible, the one or more user devices  640 ,  650  communicate with the sensors  620 , the module  625 , the camera  630 , the thermostat  634 , and the home assistant  696  using the direct local pathway. If communication using the direct local pathway is not possible, the one or more user devices  640 ,  650  communicate with the sensors  620 , the module  625 , the camera  630 , the thermostat  634 , and the home assistant  696  using the pathway over network  605 .