Patent ID: 12240293

Like reference numbers and designations in the various drawings indicate like elements.

DETAILED DESCRIPTION

Techniques are described for using remote control of respective HVAC systems of a vehicle and a home to propagate a set of climate control settings (e.g., ambient temperature setting, vent operation and positioning, fan speed, seat heating, opening/closing of windows, etc.) experienced by a user between a user's vehicle and a user's home as the user transitions between vehicle and home, and vice versa. The set of climate control settings can incorporate, for example, user preferences and feedback, pattern recognition, and tracking of user location, for achieving ideal climate control conditions for the vehicle and home.

FIG.1is an example operating environment100for a climate control system102. InFIG.1at stage (A) a climate control event101is determined at a home104that is equipped with a home monitoring system106. The home monitoring system106and climate controls system102can be hosted on one or more local servers, a cloud-based service, or a combination of the two. In some implementations, the home monitoring system106, the climate controls system102, or a combination of the two systems can be hosted on one or more servers103.

Home104can be, for example a residence (e.g., a single-family home, a town house, a condominium, property, or an apartment). In some implementations, a home104can be a commercial property (e.g., a business, government building, or a public space). Home104can have one or more users108, where a user108can be, for example, a homeowner, a resident of the home104, a visitor to the home104, an employee of the home104, or the like.

A home monitoring system106can include a set of sensors105and controllers located in or surrounding the home104, including, for example, cameras, motion detectors, window/door sensors, and keypad access door locks. For example, cameras that capture video or still images of an area of the home104or motion detectors that sense movement in a region of the home104.

The sensors may also include sensors105on an appliance that indicate usage of an appliance, for example, a sensor that indicates a coffeemaker or a stove is on. The sensors105may include utility sensors that detect resource usage, for example, an energy sensor that detects usage of electric power or a sensor that detects water usage. The sensors105may include microphones or other audio devices that detect audible sounds within the home104. The sensors105may include temperature sensors, humidity sensors, airflow sensors, air quality detectors, or other sensors that monitor the climate or environment of an area of the home104.

In some implementations, the sensors105may be related to controls of the home104, e.g., an indoor climate control device that controls an indoor climate setting of the home104. For example, a sensor may be integrated with the thermostat for the heating, ventilation, and air-conditioning (HVAC) system of the home104. The sensor may report the current HVAC temperature setting, or the current temperature measured by the HVAC system.

In some implementations, the sensors105may detect and collect data related to the activity of the user108and/or one or more attributes of the home104. For example, the sensors105may capture motion sensor data detecting movement about the home104or cameras may record video showing a user moving throughout the home104. The appliance sensors may collect data indicating that a coffeemaker has been turned on, while water usage sensors may indicate that a shower of the home104is being used. A sensor integrated with the HVAC system may indicate that a temperature setting of a thermostat has changed. A motion sensor may indicate that the user108is in a particular room of the home104. A door sensor may indicate that an entry to the home104was opened or closed. A keypad sensor may indicate that a particular resident's security code was used to lock or unlock a door, or change the status (e.g., arm, disarm) of the home monitoring system106.

The home monitoring system106also includes a control unit107. The sensors105communicate with the control unit107, possibly through a network. Further details of the operation of the home monitoring system are discussed below with reference toFIG.5.

Home104can have one or more associated vehicles110, where an associated vehicle110can be, for example, owned or driven by user108. Vehicle110can be a commercial or non-commercial vehicle, for example, a car, a truck, a bus, a flatbed, a trailer truck, or another piece of heavy machinery (e.g., a forklift, tractor, and backhoe) that is operated on a roadway. For example, a vehicle110can be a car belonging to a user108. Vehicle110can include an onboard control unit112which can monitor and/or control various sensors (e.g., tire air pressure, engine temperature, throttle position, etc.), automatic transmission, anti-lock brakes, air bag deployment, keyless entry, climate control, motorized seats/mirrors, entertainment center (e.g., radio, MP3 player), cruise control, or the like.

Home monitoring system106, using the sensors, can collect vehicle location data114related to one or more vehicles110associated with the home104, user location data116related to one or more users108associated with the home104, and home settings data118related to a set of settings (e.g., climate control settings) for home104. Vehicle location data114can include a location of a vehicle110relative to home104(e.g., “at home” or “away”), location data (e.g., GPS data) from an onboard computer of the vehicle110or a mobile device of the driver of the vehicle110. User location data116can include location of the users108associated with home104, where a user108can be an e.g., a resident, visitor, or worker at the home104. The user location116can include information about a location of a user (e.g., the user108is at home104or the user108is not at home104), and a particular user108left the home104in a particular vehicle110. For example, Driver A may be detected by the home monitoring system106leaving the home104inside Vehicle B, and the home monitoring system106stores this information in the user location data116and/or vehicle location data114. In another example, Driver C and Driver D may be detected by the home monitoring system106leaving the home104inside Vehicle E, and the home monitoring system108stores this information in the driver location data114and/or user location data116.

The climate control event101in Stage (A) can include determining that a user108is leaving home104and entering vehicle110. Determining that a climate control event is occurring can include pattern recognition based on a user's108routine. For example, a user108can be leaving the home104in the morning (e.g., 8:00 AM departure time) and taking their vehicle110to work. Determining that a climate control event is occurring can include using one or more calendars for the user108. For example, a user's calendar can indicate an upcoming scheduled meeting at a different location than home104such that the user108will require driving their vehicle110to the meeting. Determining that a climate control event is occurring can include monitoring the home settings118. For example, a user108may alter a state of the thermostat, lights, or other settings in the home104in preparation for departing the home104.

The home monitoring system106can communicate through a network120with the climate control system102. Network120can be configured to enable exchange of electronic communication between devices connected to the network120. The network120can 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. Network120may include multiple networks or subnetworks, each of which may include, for example, a wired or wireless data pathway. Network120may 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, network120may 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. Network120may include one or more networks that include wireless data channels and wireless voice channels. Network120may be a wireless network, a broadband network, or a combination of networks includes a wireless network and a broadband network.

In stage (B) one or more user devices122can communicate with the climate control system102and the home monitoring system106through the network120. The one or more user devices122may include devices that host and user application124including an application environment. For example, a user device122is a mobile device that hosts one or more native applications (e.g., application124) that includes an application interface (e.g., a graphical-user interface (GUI)) through which a user of the user device122may interact with the climate control system102and/or the home monitoring system106. The user device122may be a cellular phone or a non-cellular locally networked device with a display. The user device122may 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., smart phones as provided by Research in Motion RESEARCH IN MOTION″), electronic organizers, tablets (e.g., IPAD® as provided by APPLE® or SURFACE® as provided by MICROSOFT®), iPhone IPHONE-type devices (e.g., smart phones as provided by APPLE®), IPOD® devices (e.g., portable media players 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 device122may perform functions unrelated to the climate control system102, such as placing personal telephone calls, playing music, playing video, displaying pictures, browsing the Internet, maintaining an electronic calendar, etc.

Application124refers to a software/firmware program running on the corresponding mobile device that enables the user interface and features described throughout, and is a system through which the climate control system102may communicate with the user108. The user device122may load or install the application124based on data received over a network or data received from local media. The application124runs on mobile devices platforms, such as IPHONE, IPOD TOUCH®, BLACKBERRY®, GOOGLE ANDROID, WINDOWS MOBILE®, etc. The application124enables the user device122to modify, accept, or decline climate control settings for vehicle110and home104. The one or more user devices122may receive the data from the climate control system102through the network120.

In some implementations, the application124is a part of a home monitoring application for the home monitoring system106. For example, a user108of a user device122may receive alerts through an application124that are related to the climate control system102and notifications from the home monitoring system106that are related to home monitoring (e.g., home security).

In some implementations, user device122may be a general-purpose computer (e.g., a desktop personal computer, a workstation, or a laptop computer) that is configured to communicate with the climate control system102over the network120. The user device122may be configured to display an application interface that is generated by the user device122or by the climate control system102. For example, the user device122may be configured to display a user interface (e.g., a web page) provided by the climate control system102that enables a user to input climate control preferences and modify climate control settings through the climate control system102.

In stage (B), the climate control system102can receive user input126from user108related to the climate control event101. User input126can be provided by a user108through an application environment of the application124on a user device122. User input126can be user climate control preferences (e.g., temperature settings, vent settings, and the like). For example, a user108can set a preference for running the air conditioning in the vehicle110at 68° F. with only the vents that face the floor at a medium fan speed. In another example, a user108can specify that for ambient temperatures between 65-80° F. the windows should be open in the vehicle110and the HVAC system should be off (e.g., not be actively cooling or heating the vehicle110).

In some implementations, user input126can be responsive to a request by the climate control system102for verification of one or more climate control settings. For example, the climate controls system102may request a user confirmation of a set of climate control settings to send to vehicle110when a climate control event101(e.g., user108is leaving home104and entering vehicle110) is determined. In another example, the climate control system102may request for user confirmation of several sets of climate control settings (e.g., for different vehicles, or different drivers of a vehicle) during a set-up process of the climate control system102.

In some implementations, information about energy usage for particular climate control settings (e.g., how much fuel could be consumed by the vehicle, or electric/natural gas costs (e.g., price per kWh) for operating the home104HVAC system) can be provided to user108to assist the user in making a more educated decision as to whether they want the climate control settings to be applied to the vehicle110and/or home104, or whether they want to provide user feedback126to have an adjustment made to the climate control settings.

In stage (C), the climate control system102determines, based on the climate control event101, to set vehicle110climate control settings (e.g., temperature settings) (128).

The climate control system102can receive, from the home monitoring system106, a set of current home settings118including a set of climate control settings (130). The set of current home settings118can include ambient temperature of one or more rooms of the home104, occupancy of respective rooms of the home104, open/closed windows, fan operation, lights settings, and the like. The climate control system102can additionally receive information about the user108, the vehicle110, for example, user preferences for a particular user108, vehicle configuration (e.g., vents in a backseat or no vents in a backseat).

In some implementations, user location data116can be used to determine which users108are associated with respective vehicles110for the climate control event101. For example, user location data116can use camera and sensor data from the home monitoring system106to identify a particular user “Jane” as the user108triggering a climate control event when Jane is determined to be exiting a front door of home104and entering a particular vehicle (e.g., “Jane's car”) in the driveway. Further details about the selection of current home settings can be found below with reference toFIG.4.

The climate control system102can receive user feedback from a user108, for example, through an application124on a user device122(132). For example, a user108“Jane” might provide feedback to the climate controls system102through an application on her mobile phone. In one example, the user feedback can be Jane overriding or modifying the preset climate control settings for her vehicle110, e.g., to open the windows rather than run the A/C unit. In another example, the user feedback can be to confirm the automatic climate control settings selected by the climate control system102. In yet another example, the user108may choose not to provide feedback to the climate control system102.

The climate control system102provides instructions including a set of climate control settings to vehicle110(134). The instructions can be provided to the onboard control unit112of the vehicle110, for example, over a wireless communications line (e.g., Wi-Fi, BLUETOOTH® satellite data, etc.). Instructions can include temperature settings, air vent location and fan speed, window settings (e.g., open vs closed), and the like.

In some implementations, instructions can be provided to the onboard control unit112prior to the user108entering the vehicle110. In one example, instructions can be provided to the vehicle108at a set period of time prior to the user108departing from home104and entering vehicle110(e.g., 5 minutes, 10 minutes, or the like). In another example, instructions can be provided to the vehicle110upon an indication by a user108(e.g., a user108sends instructions through the user application124on the user's device122).

In stage (D), the onboard control unit112receives a set of climate control settings from the climate control system102via a wireless communication link136. In some implementations, a wireless communication link136can be enabled through a global system for mobile communications (GSM) module that is connected to a controller area network (CAN) bus138for the vehicle110. The CAN bus138can control operations of one or more features of the vehicle110(e.g., HVAC, auto start/stop, electric park brakes, parking assist systems, transmission, airbags, antilock brakes, audio systems, etc.).

The CAN bus138can provide the instructions from the climate control system102to the HVAC system140, to set the particular climate control settings as determined by the climate control system102. For example, the CAN bus138can send instructions to set a particular temperature, particular vent settings, and fan speeds to the HVAC system140based on the climate control settings (e.g., 75° F. ambient temperature setting, windows rolled up, only driver's side vents active) that were provided by the climate control system102.

FIG.2is a process flow diagram of an example process200for automated climate control. A climate control event101is determined (202). In general, a climate control event101can be an instance of when a user108is moving from one climate-controlled environment to a second, different climate-controlled environment, e.g., house104to vehicle110, or vice versa. A climate control event101can be a scheduled event, where a user108has a particular routine (e.g., leave the house at 8 AM every weekday morning). A climate control event101can be an unscheduled event, where a user108can be determined to be moving between one climate controlled environment and a second climate controlled environment by one or more sensors or cameras of the home monitoring system106and/or location-based data from a vehicle110(e.g., GPS data).

In some implementations, climate control event101can be a determination, e.g., by the home monitoring system106, that a user108is departing home104and entering a vehicle110. Climate control event101can be a determination that a vehicle110has arrived at home104and that a user108inside the vehicle110is exiting the vehicle110and entering the home104.

In some implementations, user climate control instructions are received (204). A user108can indicate a set of climate control preferences for home104and/or vehicle110, for example, temperature preferences, vent arrangement, fan speed, window positioning, etc. The user108can set user climate control instructions through an application124on a user device122(e.g., a mobile device). User climate control instructions can be in the form of a user selection of a “accept”, “modify”, or “decline” of a set of climate control instructions provided through application124on the user's mobile device122. User climate control instructions can be in the form of speech-to-text, text-based or other form of instructions that are processed, for example, by using natural language processing (NLP) by the climate control system102. For example, a user108can provide instructions “Set temperature to 75 degrees and turn on the fan in the living room” or “Run car A/C on full blast” through application124which can be converted into user climate control instructions and provided to the climate control system102.

In some implementations, the user108can choose to not provide feedback, e.g., indicate through application124that the user108does not want to provide user climate control instructions. The user108can choose to accept a set of climate control settings provided by the climate control system102, for example, by passively accepting (e.g., no user interaction) or by actively accepting (e.g., selecting an “accept” function in the application124).

In some implementations, a user108may receive a query regarding a current set of climate control settings for a home104or vehicle110based on a relative location of the user108to home104or vehicle110. For example, the climate control system102may query a user108for climate control settings when the user is determined to be entering home104or vehicle110(e.g., to confirm or modify a set of climate control settings).

A set of climate control instructions are determined that are responsive to the climate control event (206). The set of climate control instructions, when provided, include a set of commands to the receiving system (e.g., home monitoring system106or HVAC system140) that program the receiving system and respective devices to the set of climate control settings. For example, the set of climate control instructions to provide to home104e.g., to the home monitoring system106that controls a home HVAC system, includes a set of commands to the home monitoring system106and a set of devices in the home104(e.g., thermostat, fans, etc.).

The climate control system102can receive one or more home settings118from a home monitoring system106that include information about climate control in home104, and can receive climate control instructions from a user108. The climate control system102can determine a respective ranking of each climate control settings based on, for example, a source of the settings (e.g., from a user108, from home settings118, or the like). In one example, climate control settings received from user108override any contrary settings determined by the climate control system102. In another example, the climate control system102may perform one or more operations to find an appropriate set of climate control settings from all received sets of climate control settings. Further details are described below with reference toFIG.5.

The set of climate control instructions are provided (208). In some implementations, the set of climate control instructions are provided to an onboard control unit112of vehicle110. The set of climate control instructions provided to the onboard control unit112may specify one or more climate control settings for the vehicle110including, for example, a temperature setting for the HVAC system, window positions (e.g., open or closed), fan speed, seat heating, or the like.

In some implementations, the set of climate control instructions are provided to a home monitoring system106for home104, where the set of climate control instructions may specify one or more climate control settings for the home104including, for example, a temperature setting for the HVAC system, fan operation in one or more rooms, window positions (e.g., open or closed), or the like.

In some implementations, multiple sets of climate control instructions are provided to a respective home monitoring system106for home104and to at least one onboard control unit112for a vehicle110. Multiple different vehicles110can receive respective sets of climate control instructions which may be different from each other set of climate control instructions, e.g., customized for each respective driver of each vehicle110.

In some implementations, the climate control system102can receive a set of climate control settings from a vehicle110and determine a set of climate control settings to provide to a home monitoring system106for a home104. A status is provided to the climate control system102by an onboard control unit of a vehicle110. A status can be a current location of the vehicle110relative to the home104, a set of climate control settings for the vehicle110, or the like.

FIG.3is a process flow diagram of another example process300for automated climate control. A vehicle110associated with a home104is determined by the home monitoring system106to be within a home radius (302). A vehicle110associated with home104can be a vehicle110that is owned by a resident of the home104, a vehicle110that is owned by an employee or frequent visitor to home104(e.g., a nanny, a delivery person, etc.), or a vehicle110that is designated by an owner of home104(e.g., through the home monitoring system106) as an associated vehicle104(e.g., a friend or relative's vehicle is an “authorized” vehicle).

A home radius is an area surrounding the home104location, e.g., a 5 mile radius. A vehicle110that enters the home radius can be determined to be arriving at the home104, which can trigger a climate control event101. The home radius can be determined using location-tracking services, and can be set by a user108of home104. In one example, the home radius is a GeoFence with a center in or around a home104and a particular radius defined by a user108. The home radius can be configured on the customer site or mobile application (e.g., application124). A default home radius can be created where a security system for the home104is located, e.g., using the home monitoring system106.

In some implementations, a home radius can be created in a backend server for the climate control system102and which is periodically passed to the user device122so it has the latest information about the coordinate and radius, allowing application124(e.g., an Alarm.com customer app) to notify the backend server at the climate control system102of vehicles110crossing the home radius.

Climate control settings are received from the vehicle110(304). A set of climate control settings from the vehicle110can be received by the climate control system102, where an onboard control unit112for vehicle110is in data communication (e.g., through wireless communication link136) with the climate control system102.

A set of climate control instructions are determined, e.g., for the home104, from the climate control settings from the vehicle110(306). The set of climate control instructions for the home104can be determined based on one or more current climate control settings for the vehicle110. For example, a climate control setting for the vehicle110can be a temperature setting for the HVAC system140of 75° F. In another example, a climate control setting for the vehicle110is that all of the windows of the vehicle110are open.

In some implementations, the set of climate control instructions for the home104from the current set of climate control settings for the vehicle110are determined such that the set of climate control instructions will set the climate control in the home104based on the climate control of the vehicle104. In one example, the climate control in the home104is set to match the climate control in the vehicle, e.g., if the vehicle110temperature setting is 75° F., an HVAC system for the home104is set to achieve a same temperature of 75° F.

In some implementations, the climate control in the home104is scaled by an adjustment factor with respect to the climate control in the vehicle110. The adjustment factor is a conversion to translate a climate control setting for a vehicle110into to a climate control setting for a home104, and vice versa. The adjustment factor can be a number of degrees difference, a fan speed difference, or the like that is applied to a climate control setting for the home104to translate the climate control setting to a corresponding vehicle110climate control setting, and vice versa. For example, the vehicle110is set at a first temperature setting, and the home104is set at a second temperature setting that is a number of degrees offset (e.g., 5 degrees cooler, 2 degrees warmer) from the first temperature setting. In another example, the vehicle110has a driver's side window open, and the home104is set to have two kitchen windows open in a corresponding, adjusted climate control setting. In yet another example, the vehicle has a fan speed set to medium, and the home104has a fan in a recreation room operating on a low speed in a corresponding, adjusted climate control setting.

In some implementations, the adjustment factor can be different based on real-time, external factors, where the adjustment factor can be different depending on a particular set of factors and can be modified in real-time (e.g., by the climate control system102) to account for the set of factors. The set of factors can include, for example, the weather outside, the position of the sun relative to home104and vehicle110, time of day, the year/make/model of the particular vehicle110(e.g., an older passenger van vs. a new, efficient two-door coupe), and the like. For example, on a sunny day when vehicle110is in direct sunlight, the adjustment factor may translate a climate control setting for a home104into a climate control setting for a vehicle110by a first adjustment factor (e.g., a 5 degree temperature difference); and on a cool day when there is cloud cover and no direct sunlight on vehicle110, the adjustment factor may translate a climate control setting for a home104into a climate control setting for the vehicle110by a second, different adjustment factor (e.g., a 1 degree temperature difference). In another example, if the user108is entering a particular vehicle110that is an older, larger vehicle (e.g., a ten-year old minivan), the climate control settings from home104may be adjusted by a first adjustment factor (e.g., 10 degrees, fans on full speed), versus if the user108is entering a different vehicle110that is a small two-door coupe with newer HVAC, e.g., the adjustment factor may be 2 degrees, fans on medium speed.

In some implementations, the adjustment factor can be based on a current fuel level of vehicle110or a current cost of electricity and/or natural gas for a home104HVAC system. For example, if a gas tank for vehicle110is close to being empty, the adjustment factor may adjust the climate control settings to be less fuel intensive. In another example, if the cost of electricity is within a surge range (e.g., above a set price per kWh), then the adjustment factor can adjust the climate control settings to be less energy intensive.

The set of climate control instructions are provided to the home monitoring system106(308). The climate control system102can provide the set of climate control instructions to the home monitoring system106for home104, where the home monitoring system106can provide instructions to the respective devices and operations of the home104(e.g., setting a temperature on the A/C unit, opening/closing windows, turning on/off fans, etc.). The home monitoring system106can be in data communication with the climate control system102over the network120. In some implementations, the climate control system102is a part of the home monitoring system106for home104.

In some implementations, a climate control event101can indicate a user108exiting a home104and entering a vehicle110and vice versa, where the home104or the vehicle110may have other occupants (e.g., other users108) that may affect the climate control instructions provided to the home104or vehicle110.FIG.4is a process flow diagram of another example process400for automated climate control. A set of climate control instructions are received for one or more of a vehicle110and a home104(402). The climate control system102can determine a set of climate control instructions responsive to a climate control event101, as described in more detail above with reference toFIGS.1-3.

An occupancy state of each of the vehicle110and home104is determined (404). User location data114and vehicle location data116, e.g., where residents and drivers are located at any given time, can be used to determine occupancy of home104and vehicle110. The home monitoring system106may track user108location throughout a home104(e.g., a current room of occupancy) using various sensors and cameras positions in and around home104. For example, the home monitoring system106can use video feeds from cameras located in and outside home104to track a user108location using, e.g., a machine-learned model for identifying and tracking a particular user108. In another example, the home monitoring system106can use data from appliances (e.g., a coffee pot, a treadmill, a stereo system, etc.) that are in data communication with the home monitoring system106to infer a user's location in home104, based on an activity level of appliances in a particular room.

Based on the occupancy state of the vehicle110and home104, a modified set of climate control instructions are determined for the vehicles110and home104(406). The climate control system102can modify one or more of the set of climate control instructions based in part on a determined occupancy (e.g., how many users108are determined to be present) of the vehicle110and home104.

In some implementations, the climate control system102can modify the set of climate control instructions that are responsive to a climate control event101that is a vehicle110arriving at home104, based in part on a determined occupancy of vehicle110of two or more users108that are arriving at home104. For example, a vehicle110can be occupied by two different users108(e.g., a driver and a passenger), where the two users108may have different climate control preferences for home104(e.g., the driver likes to have home104A/C temperature set at 75° F., and the passenger likes to have home104A/C temperature set at 68° F.). A modified set of climate control instructions can be, for example, an adjusted temperature setting for home104based on the combined preferences (e.g., an average of temperatures) of both the driver and the passenger.

In some implementations, the climate control system102can modify the set of climate control instructions that are responsive to a climate control event101that is a vehicle110arriving at home104, based in part on a determined occupancy of home104before the vehicle110arrives at home104. For example, a home104can have a current occupant when vehicle110arrives at home104with a driver. The climate control system102can determine a modified set of climate control instructions (e.g., do not change current climate control settings, change one or more climate control settings, or change all climate control settings) based on the climate control settings of vehicle110and/or user preferences for the driver of vehicle110.

In some implementations, the climate control system102can modify the set of climate control instructions that are responsive to a climate control event101that is a user108departing home104and entering vehicle110, based on a number of users108(e.g., two or more) that are departing home104and entering vehicle110. For example, the set of climate control instructions provided to vehicle110responsive to the climate control event101can be modified to account for the user preferences of all of the users108that will be entering vehicle110(e.g., a driver and a passenger).

In some implementations, multiple climate control events101can be determined to occur within a period of time (e.g., within 10 minutes of each other) such that the climate control settings for one or more vehicles110and home104are adjusted based on the multiple climate control events101. For example, two different users108can be determined to be arriving to home104within a period of 15 minutes of each other, such that the set of climate control settings provided to home104by the climate control system102account for the respective climate control settings for the vehicles110of each of the two users108and the user preferences of each of the two users108.

In some implementations, two different users108can be determined to be arriving to home104, where each user108is in a respective vehicle110at a respective distance from home104(e.g., 5 miles away, 15 miles away). A set of climate control settings provided to home104by the climate control system102can account for the respective climate control settings for the vehicles110of each of the two users108, the user preferences of each of the two users108, and the respective distances of each of the vehicles110from home104, e.g., biasing the temperature to the closer user108.

The climate control system102can modify the set of climate control instructions that are responsive to a climate control event101that is a first user108arriving at home104, based on a number of other users108(e.g., at least one other second user108) that are arriving at the home104from respective vehicles110within a same period of time as the first user108. For example, two different drivers in two different respective vehicles may be arriving to home104within a period of time (e.g., within 10 minutes, within 1 hour, etc.) of each other. The climate control system102can modify the set of climate control instructions for the home104to include climate control settings that are responsive to climate control settings of each of the two vehicles110and user preferences of each of the two drivers.

In some implementations, the climate control system102can modify the set of climate control instructions that are responsive to the climate control event101based on receiving changes to the climate control instructions by a user108. For example, a user108may decide to change the set of climate control preferences for the home104(e.g., “turn the heat up to 70° F.”) such that a modified set of instructions is generated by the climate control system to include an updated thermostat setting (e.g., “set the thermostat to 70° F.”).

The set of modified climate control instructions are provided to the vehicles110and home104(408). The set of modified climate control instructions can be provided, for example, to an onboard control unit112for a vehicle110, or to a home monitoring system106for home104. Further details about providing instructions to a vehicle110or home104are described above with reference toFIGS.1-2.

FIG.5is a diagram illustrating an example of a home monitoring system500. The electronic system500includes a network505, a control unit510, one or more user devices540and550, a monitoring server560, and a central alarm station server570. In some examples, the network505facilitates communications between the control unit510, the one or more user devices540and550, the monitoring server560, and the central alarm station server570.

The network505is configured to enable exchange of electronic communications between devices connected to the network505. For example, the network505may be configured to enable exchange of electronic communications between the control unit510, the one or more user devices540and550, the monitoring application server560, and the central alarm station server570. The network505may 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. Network505may include multiple networks or subnetworks, each of which may include, for example, a wired or wireless data pathway. The network505may 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 network505may 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 network505may include one or more networks that include wireless data channels and wireless voice channels. The network505may be a wireless network, a broadband network, or a combination of networks including a wireless network and a broadband network.

The control unit510includes a controller512and a network module514. The controller512is configured to control a control unit monitoring system (e.g., a control unit system) that includes the control unit510. In some examples, the controller512may include a processor or other control circuitry configured to execute instructions of a program that controls operation of a control unit system. In these examples, the controller512may be configured to receive input from sensors, flow meters, or other devices included in the control unit system and control operations of devices included in the household (e.g., speakers, lights, doors, etc.). For example, the controller512may be configured to control operation of the network module514included in the control unit510.

The network module514is a communication device configured to exchange communications over the network505. The network module514may be a wireless communication module configured to exchange wireless communications over the network505. For example, the network module514may be a wireless communication device configured to exchange communications over a wireless data channel and a wireless voice channel. In this example, the network module514may 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 module514also may be a wired communication module configured to exchange communications over the network505using a wired connection. For instance, the network module514may be a modem, a network interface card, or another type of network interface device. The network module514may be an Ethernet network card configured to enable the control unit510to communicate over a local area network and/or the Internet. The network module514also may be a voice band modem configured to enable the alarm panel to communicate over the telephone lines of Plain Old Telephone Systems (POTS).

The control unit system that includes the control unit510includes one or more sensors. For example, the monitoring system may include multiple sensors520. The sensors520may include a lock sensor, a contact sensor, a motion sensor, or any other type of sensor included in a control unit system. The sensors520also 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 sensors520further 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 health-monitoring sensor can be a wearable sensor that attaches to a user in the home. The health-monitoring sensor can collect various health data, including pulse, heart rate, respiration rate, sugar or glucose level, bodily temperature, or motion data.

The sensors520can also include a radio-frequency identification (RFID) sensor that identifies a particular article that includes a pre-assigned RFID tag.

The control unit510communicates with the home automation controls522and a camera530to perform monitoring. The home automation controls522are connected to one or more devices that enable automation of actions in the home. For instance, the home automation controls522may be connected to one or more lighting systems and may be configured to control operation of the one or more lighting systems. In addition, the home automation controls522may be connected to one or more electronic locks at the home and may be configured to control operation of the one or more electronic locks (e.g., control Z-Wave locks using wireless communications in the Z-Wave protocol). Further, the home automation controls522may be connected to one or more appliances at the home and may be configured to control operation of the one or more appliances. The home automation controls522may include multiple modules that are each specific to the type of device being controlled in an automated manner. The home automation controls522may control the one or more devices based on commands received from the control unit510. For instance, the home automation controls522may cause a lighting system to illuminate an area to provide a better image of the area when captured by a camera530.

The camera530may be a video/photographic camera or other type of optical sensing device configured to capture images. For instance, the camera530may be configured to capture images of an area within a building or home monitored by the control unit510. The camera530may 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 camera530may be controlled based on commands received from the control unit510.

The camera530may be triggered by several different types of techniques. For instance, a Passive Infra-Red (PIR) motion sensor may be built into the camera530and used to trigger the camera530to capture one or more images when motion is detected. The camera530also may include a microwave motion sensor built into the camera and used to trigger the camera530to capture one or more images when motion is detected. The camera530may have a “normally open” or “normally closed” digital input that can trigger capture of one or more images when external sensors (e.g., the sensors520, PIR, door/window, etc.) detect motion or other events. In some implementations, the camera530receives a command to capture an image when external devices detect motion or another potential alarm event. The camera530may receive the command from the controller512or directly from one of the sensors520.

In some examples, the camera530triggers integrated or external illuminators (e.g., Infra-Red, Z-wave controlled “white” lights, lights controlled by the home automation controls522, 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 camera530may 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 camera530may enter a low-power mode when not capturing images. In this case, the camera530may wake periodically to check for inbound messages from the controller512. The camera530may be powered by internal, replaceable batteries if located remotely from the control unit510. The camera530may employ a small solar cell to recharge the battery when light is available. Alternatively, the camera530may be powered by the controller's512power supply if the camera530is co-located with the controller512.

In some implementations, the camera530communicates directly with the monitoring server560over the Internet. In these implementations, image data captured by the camera530does not pass through the control unit510and the camera530receives commands related to operation from the monitoring server560.

The system500also includes thermostat534to perform dynamic environmental control at the home. The thermostat534is configured to monitor temperature and/or energy consumption of an HVAC system associated with the thermostat534, and is further configured to provide control of environmental (e.g., temperature) settings. In some implementations, the thermostat534can additionally or alternatively receive data relating to activity at a home and/or environmental data at a home, e.g., at various locations indoors and outdoors at the home. The thermostat534can directly measure energy consumption of the HVAC system associated with the thermostat, or can estimate energy consumption of the HVAC system associated with the thermostat534, for example, based on detected usage of one or more components of the HVAC system associated with the thermostat534. The thermostat534can communicate temperature and/or energy monitoring information to or from the control unit510and can control the environmental (e.g., temperature) settings based on commands received from the control unit510. The thermostat534can receive climate control instructions for a set of climate control settings from climate control system102over the network120. The thermostat534can provide a current set of climate control settings for the home (e.g., home104) to the climate control system102to generate a set of climate control instructions for a vehicle (e.g., vehicle110).

In some implementations, the thermostat534is a dynamically programmable thermostat and can be integrated with the control unit510. For example, the dynamically programmable thermostat534can include the control unit510, e.g., as an internal component to the dynamically programmable thermostat534. In addition, the control unit510can be a gateway device that communicates with the dynamically programmable thermostat534. In some implementations, the thermostat534is controlled via one or more home automation controls522.

A module537is connected to one or more components of an HVAC system associated with a home, and is configured to control operation of the one or more components of the HVAC system. In some implementations, the module537is 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 module537can communicate energy monitoring information and the state of the HVAC system components to the thermostat534and can control the one or more components of the HVAC system based on commands received from the thermostat534.

In some examples, the system500further includes one or more robotic devices590. The robotic devices590may be any type of robots that are capable of moving and taking actions that assist in home monitoring. For example, the robotic devices590may include drones that are capable of moving throughout a home based on automated control technology and/or user input control provided by a user. In this example, the drones may be able to fly, roll, walk, or otherwise move about the home. The drones may include helicopter type devices (e.g., quad copters), rolling helicopter type devices (e.g., roller copter devices that can fly and roll along the ground, walls, or ceiling) and land vehicle type devices (e.g., automated cars that drive around a home). In some cases, the robotic devices590may be devices that are intended for other purposes and merely associated with the system500for use in appropriate circumstances. For instance, a robotic vacuum cleaner device may be associated with the monitoring system500as one of the robotic devices590and may be controlled to take action responsive to monitoring system events.

In some examples, the robotic devices590automatically navigate within a home. In these examples, the robotic devices590include sensors and control processors that guide movement of the robotic devices590within the home. For instance, the robotic devices590may navigate within the home using one or more cameras, one or more proximity sensors, one or more gyroscopes, one or more accelerometers, one or more magnetometers, a global positioning system (GPS) unit, an altimeter, one or more sonar or laser sensors, and/or any other types of sensors that aid in navigation about a space. The robotic devices590may include control processors that process output from the various sensors and control the robotic devices590to move along a path that reaches the desired destination and avoids obstacles. In this regard, the control processors detect walls or other obstacles in the home and guide movement of the robotic devices590in a manner that avoids the walls and other obstacles.

In addition, the robotic devices590may store data that describes attributes of the home. For instance, the robotic devices590may store a floorplan and/or a three-dimensional model of the home that enables the robotic devices590to navigate the home. During initial configuration, the robotic devices590may receive the data describing attributes of the home, determine a frame of reference to the data (e.g., a home or reference location in the home), and navigate the home based on the frame of reference and the data describing attributes of the home. Further, initial configuration of the robotic devices590also may include learning of one or more navigation patterns in which a user provides input to control the robotic devices590to perform a specific navigation action (e.g., fly to an upstairs bedroom and spin around while capturing video and then return to a home charging base). In this regard, the robotic devices590may learn and store the navigation patterns such that the robotic devices590may automatically repeat the specific navigation actions upon a later request.

In some examples, the robotic devices590may include data capture and recording devices. In these examples, the robotic devices590may include one or more cameras, one or more motion sensors, one or more microphones, one or more biometric data collection tools, one or more temperature sensors, one or more humidity sensors, one or more air flow sensors, and/or any other types of sensors that may be useful in capturing monitoring data related to the home and users in the home. The one or more biometric data collection tools may be configured to collect biometric samples of a person in the home with or without contact of the person. For instance, the biometric data collection tools may include a fingerprint scanner, a hair sample collection tool, a skin cell collection tool, and/or any other tool that allows the robotic devices590to take and store a biometric sample that can be used to identify the person (e.g., a biometric sample with DNA that can be used for DNA testing).

In some implementations, the robotic devices590may include output devices. In these implementations, the robotic devices590may include one or more displays, one or more speakers, and/or any type of output devices that allow the robotic devices590to communicate information to a nearby user.

The robotic devices590also may include a communication module that enables the robotic devices590to communicate with the control unit510, each other, and/or other devices. The communication module may be a wireless communication module that allows the robotic devices590to communicate wirelessly. For instance, the communication module may be a Wi-Fi module that enables the robotic devices590to communicate over a local wireless network at the home. The communication module further may be a 900 MHz wireless communication module that enables the robotic devices590to communicate directly with the control unit510. Other types of short-range wireless communication protocols, such as BLUETOOTH R BLUETOOTH LE®, Z-WAVE®, ZIGBEE®, etc., may be used to allow the robotic devices590to communicate with other devices in the home. In some implementations, the robotic devices590may communicate with each other or with other devices of the system500through the network505.

The robotic devices590further may include processor and storage capabilities. The robotic devices590may include any suitable processing devices that enable the robotic devices590to operate applications and perform the actions described throughout this disclosure. In addition, the robotic devices590may include solid-state electronic storage that enables the robotic devices590to store applications, configuration data, collected sensor data, and/or any other type of information available to the robotic devices590.

The robotic devices590are associated with one or more charging stations. The charging stations may be located at predefined home base or reference locations in the home. The robotic devices590may be configured to navigate to the charging stations after completion of tasks needed to be performed for the monitoring system500. For instance, after completion of a monitoring operation or upon instruction by the control unit510, the robotic devices590may be configured to automatically fly to and land on one of the charging stations. In this regard, the robotic devices590may automatically maintain a fully charged battery in a state in which the robotic devices590are ready for use by the monitoring system500.

The charging stations may be contact based charging stations and/or wireless charging stations. For contact based charging stations, the robotic devices590may have readily accessible points of contact that the robotic devices590are capable of positioning and mating with a corresponding contact on the charging station. For instance, a helicopter type robotic device may have an electronic contact on a portion of its landing gear that rests on and mates with an electronic pad of a charging station when the helicopter type robotic device lands on the charging station. The electronic contact on the robotic device may include a cover that opens to expose the electronic contact when the robotic device is charging and closes to cover and insulate the electronic contact when the robotic device is in operation.

For wireless charging stations, the robotic devices590may charge through a wireless exchange of power. In these cases, the robotic devices590need only locate themselves closely enough to the wireless charging stations for the wireless exchange of power to occur. In this regard, the positioning needed to land at a predefined home base or reference location in the home may be less precise than with a contact based charging station. Based on the robotic devices590landing at a wireless charging station, the wireless charging station outputs a wireless signal that the robotic devices590receive and convert to a power signal that charges a battery maintained on the robotic devices590.

In some implementations, each of the robotic devices590has a corresponding and assigned charging station such that the number of robotic devices590equals the number of charging stations. In these implementations, the robotic devices590always navigate to the specific charging station assigned to that robotic device. For instance, a first robotic device may always use a first charging station and a second robotic device may always use a second charging station.

In some examples, the robotic devices590may share charging stations. For instance, the robotic devices590may use one or more community charging stations that are capable of charging multiple robotic devices590. The community charging station may be configured to charge multiple robotic devices590in parallel. The community charging station may be configured to charge multiple robotic devices590in serial such that the multiple robotic devices590take turns charging and, when fully charged, return to a predefined home base or reference location in the home that is not associated with a charger. The number of community charging stations may be less than the number of robotic devices590.

In addition, the charging stations may not be assigned to specific robotic devices590and may be capable of charging any of the robotic devices590. In this regard, the robotic devices590may use any suitable, unoccupied charging station when not in use. For instance, when one of the robotic devices590has completed an operation or is in need of battery charge, the control unit510references a stored table of the occupancy status of each charging station and instructs the robotic device to navigate to the nearest charging station that is unoccupied.

The system500further includes one or more integrated security devices580. The one or more integrated security devices may include any type of device used to provide alerts based on received sensor data. For instance, the one or more control units510may provide one or more alerts to the one or more integrated security input/output devices580. Additionally, the one or more control units510may receive one or more sensor data from the sensors520and determine whether to provide an alert to the one or more integrated security input/output devices580.

The system500further includes a climate control device595(e.g., a CAN bus138and a wireless communication link136) for a vehicle (e.g., vehicle110) in communication with the network505(e.g., network120) through a communication link597(e.g., wireless communication link136). The climate control device595can include any type of device used to control climate control settings in a vehicle (e.g., HVAC system140). The climate control device595can additionally control a number of other functions for a vehicle including, for example, auto start/stop, electric park brakes, parking assist systems, transmission, airbags, antilock brakes, audio systems, etc.

In some implementations, a climate control system (e.g., climate control system102) can be implemented on monitoring server application560, as a part of the home monitoring system (e.g., home monitoring system106). In some implementations, the climate control system102can be implemented on a separate server from the monitoring application server560.

The sensors520, the home automation controls522, the camera530, the thermostat534, and the integrated security devices580may communicate with the controller512over communication links524,526,528,532,536,538, and584. The communication links524,526,528,532,536,538, and584may be a wired or wireless data pathway configured to transmit signals from the sensors520, the home automation controls522, the camera530, the thermostat534, and the integrated security devices580to the controller512. The sensors520, the home automation controls522, the camera530, the thermostat534, and the integrated security devices580may continuously transmit sensed values to the controller512, periodically transmit sensed values to the controller512, or transmit sensed values to the controller512in response to a change in a sensed value.

The communication links524,526,528,532,536,538, and584may include a local network. The sensors520, the home automation controls522, the camera530, the thermostat534, and the integrated security devices580, and the controller512may 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 chipsets), Z-WAVER, ZIGBEE®, BLUETOOTH®, “Homeplug” or other “Powerline” networks that operate over AC wiring, and a Category 5 (CAT5) 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 server560is an electronic device configured to provide monitoring services by exchanging electronic communications with the control unit510, the one or more user devices540and550, and the central alarm station server570over the network505. For example, the monitoring server560may be configured to monitor events (e.g., climate control events101) generated by the control unit510. In this example, the monitoring server560may exchange electronic communications with the network module514included in the control unit510to receive information regarding events (e.g., climate control events101) detected by the control unit510. The monitoring server560also may receive information regarding events (e.g., climate control events101) from the one or more user devices540and550.

In some examples, the monitoring server560may route alert data received from the network module514or the one or more user devices540and550to the central alarm station server570. For example, the monitoring server560may transmit the alert data to the central alarm station server570over the network505.

The monitoring server560may 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 server560may communicate with and control aspects of the control unit510or the one or more user devices540and550.

The monitoring server560may provide various monitoring services to the system500. For example, the monitoring server560may analyze the sensor, image, and other data to determine an activity pattern of a resident of the home monitored by the system500. In some implementations, the monitoring server560may analyze the data for alarm conditions or may determine and perform actions at the home by issuing commands to one or more of the controls522, possibly through the control unit510.

The monitoring server560can be configured to provide information (e.g., activity patterns) related to one or more residents of the home monitored by the system500(e.g., user108). For example, one or more of the sensors520, the home automation controls522, the camera530, the thermostat534, and the integrated security devices580can collect data related to a resident including location information (e.g., if the resident is home or is not home) and provide location information to the climate control system102for the resident.

The central alarm station server570is an electronic device configured to provide alarm monitoring service by exchanging communications with the control unit510, the one or more mobile devices540and550, and the monitoring server560over the network505. For example, the central alarm station server570may be configured to monitor alerting events generated by the control unit510. In this example, the central alarm station server570may exchange communications with the network module514included in the control unit510to receive information regarding alerting events detected by the control unit510. The central alarm station server570also may receive information regarding alerting events from the one or more mobile devices540and550and/or the monitoring server560.

The central alarm station server570is connected to multiple terminals572and574. The terminals572and574may be used by operators to process alerting events. For example, the central alarm station server570may route alerting data to the terminals572and574to enable an operator to process the alerting data. The terminals572and574may include general-purpose computers (e.g., desktop personal computers, workstations, or laptop computers) that are configured to receive alerting data from a server in the central alarm station server570and render a display of information based on the alerting data. For instance, the controller512may control the network module514to transmit, to the central alarm station server570, alerting data indicating that a sensor520detected motion from a motion sensor via the sensors520. The central alarm station server570may receive the alerting data and route the alerting data to the terminal572for processing by an operator associated with the terminal572. The terminal572may render a display to the operator that includes information associated with the alerting event (e.g., the lock sensor data, the motion sensor data, the contact sensor data, etc.) and the operator may handle the alerting event based on the displayed information.

In some implementations, the terminals572and574may be mobile devices or devices designed for a specific function. AlthoughFIG.5illustrates two terminals for brevity, actual implementations may include more (and, perhaps, many more) terminals.

The one or more authorized user devices540and550are devices that host and display user interfaces. For instance, the user device540is a mobile device that hosts or runs one or more native applications (e.g., the home monitoring application542). The user device540may be a cellular phone or a non-cellular locally networked device with a display. The user device540may 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., smart phones as provided by APPLE®), IPOD® devices (e.g., portable media players 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 device540may 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 device540includes a home monitoring application552. The smart home monitoring application542refers to a software/firmware program running on the corresponding mobile device that enables the user interface and features described throughout. The mobile device540may load or install the home monitoring application542based on data received over a network or data received from local media. The home monitoring application542runs on mobile devices platforms, such as IPHONE®, IPOD TOUCH®, BLACKBERRY®, GOOGLE ANDROID®, WINDOWS MOBILE®, etc. The home monitoring application542enables the user device540to receive and process image and sensor data from the monitoring system.

The mobile device540may 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 server560and/or the control unit510over the network505. The mobile device540may be configured to display a smart home user interface552that is generated by the mobile device540or generated by the monitoring server560. For example, the mobile device540may be configured to display a user interface (e.g., a web page) provided by the monitoring server560that enables a user to perceive images captured by the camera530and/or reports related to the monitoring system. AlthoughFIG.5illustrates 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 devices540and550communicate with and receive monitoring system data from the control unit510using the communication link538. For instance, the one or more user devices540and550may communicate with the control unit510using various local wireless protocols such as Wi-Fi, BLUETOOTH®, Z-WAVE®, ZIGBEE®, HomePlug (ethernet over power line), or wired protocols such as Ethernet and USB, to connect the one or more user devices540and550to local security and automation equipment. The one or more user devices540and550may 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 network505with a remote server (e.g., the monitoring server560) may be significantly slower.

Although the one or more user devices540and550are shown as communicating with the control unit510, the one or more user devices540and550may communicate directly with the sensors and other devices controlled by the control unit510. In some implementations, the one or more user devices540and550replace the control unit510and perform the functions of the control unit510for local monitoring and long range/offsite communication.

In other implementations, the one or more user devices540and550receive monitoring system data captured by the control unit510through the network505. The one or more user devices540,550may receive the data from the control unit510through the network505or the monitoring application server560may relay data received from the control unit510to the one or more user devices540and550through the network505. In this regard, the monitoring server560may facilitate communication between the one or more user devices540and550and the monitoring system.

In some implementations, the one or more user devices540and550may be configured to switch whether the one or more user devices540and550communicate with the control unit510directly (e.g., through link538) or through the monitoring server560(e.g., through network505) based on a location of the one or more user devices540and550. For instance, when the one or more user devices540and550are located close to the control unit510and in range to communicate directly with the control unit510, the one or more user devices540and550use direct communication. When the one or more user devices540and550are located far from the control unit510and not in range to communicate directly with the control unit510, the one or more user devices540and550use communication through the monitoring application server560.

Although the one or more user devices540and550are shown as being connected to the network505, in some implementations, the one or more user devices540and550are not connected to the network505. In these implementations, the one or more user devices540and550communicate 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 devices540and550are used in conjunction with only local sensors and/or local devices in a house. In these implementations, the system500includes the one or more user devices540and550, the sensors520, the home automation controls522, the camera530, and the robotic devices590. The one or more user devices540and550receive data directly from the sensors520, the home automation controls522, the camera530, and the robotic devices590, and sends data directly to the sensors520, the home automation controls522, the camera530, and the robotic devices590. The one or more user devices540,550provide the appropriate interfaces/processing to provide visual surveillance and reporting.

In other implementations, the system500further includes network505and the sensors520, the home automation controls522, the camera530, the thermostat534, and the robotic devices590, and are configured to communicate sensor and image data to the one or more user devices540and550over network505(e.g., the Internet, cellular network, etc.). In yet another implementation, the sensors520, the home automation controls522, the camera530, the thermostat534, and the robotic devices590(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 devices540and550are in close physical proximity to the sensors520, the home automation controls522, the camera530, the thermostat534, and the robotic devices590to a pathway over network505when the one or more user devices540and550are farther from the sensors520, the home automation controls522, the camera530, the thermostat534, and the robotic devices590.

In some examples, the system leverages GPS information from the one or more user devices540and550to determine whether the one or more user devices540and550are close enough to the sensors520, the home automation controls522, the camera530, the thermostat534, and the robotic devices590to use the direct local pathway or whether the one or more user devices540and550are far enough from the sensors520, the home automation controls522, the camera530, the thermostat534, and the robotic devices590that the pathway over network505is required.

In other examples, the system leverages status communications (e.g., pinging) between the one or more user devices540and550and the sensors520, the home automation controls522, the camera530, the thermostat534, and the robotic devices590to determine whether communication using the direct local pathway is possible. If communication using the direct local pathway is possible, the one or more user devices540and550communicate with the sensors520, the home automation controls522, the camera530, the thermostat534, and the robotic devices590using the direct local pathway. If communication using the direct local pathway is not possible, the one or more user devices540and550communicate with the sensors520, the home automation controls522, the camera530, the thermostat534, and the robotic devices590using the pathway over network505.

In some implementations, the system500provides end users with access to images captured by the camera530to aid in decision making. The system500may transmit the images captured by the camera530over a wireless WAN network to the user devices540and550. Because transmission over a wireless WAN network may be relatively expensive, the system500can use several techniques to reduce costs while providing access to significant levels of useful visual information (e.g., compressing data, down-sampling data, sending data only over inexpensive LAN connections, or other techniques).

In some implementations, a state of the monitoring system and other events sensed by the monitoring system may be used to enable/disable video/image recording devices (e.g., the camera530). In these implementations, the camera530may be set to capture images on a periodic basis when the alarm system is armed in an “away” state, but set not to capture images when the alarm system is armed in a “home” state or disarmed. In addition, the camera530may be triggered to begin capturing images when the alarm system detects an event, such as an alarm event, a door-opening event for a door that leads to an area within a field of view of the camera530, or motion in the area within the field of view of the camera530. In other implementations, the camera530may capture images continuously, but the captured images may be stored or transmitted over a network when needed.

The described systems, methods, and techniques may be implemented in digital electronic circuitry, computer hardware, firmware, software, or in combinations of these elements. Apparatus implementing these techniques may include appropriate input and output devices, a computer processor, and a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor. A process implementing these techniques may be performed by a programmable processor executing a program of instructions to perform desired functions by operating on input data and generating appropriate output. The techniques may be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.

Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and Compact Disc Read-Only Memory (CD-ROM). Any of the foregoing may be supplemented by, or incorporated in, specially designed ASICs (application-specific integrated circuits).

It will be understood that various modifications may be made. For example, other useful implementations could be achieved if steps of the disclosed techniques were performed in a different order and/or if components in the disclosed systems were combined in a different manner and/or replaced or supplemented by other components. Accordingly, other implementations are within the scope of the disclosure.