[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US20140207721A1 - Dynamic distributed-sensor thermostat network for forecasting external events - Google Patents

Dynamic distributed-sensor thermostat network for forecasting external events Download PDF

Info

Publication number
US20140207721A1
US20140207721A1 US14/143,816 US201314143816A US2014207721A1 US 20140207721 A1 US20140207721 A1 US 20140207721A1 US 201314143816 A US201314143816 A US 201314143816A US 2014207721 A1 US2014207721 A1 US 2014207721A1
Authority
US
United States
Prior art keywords
sensor
event
smart
home
environmental control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/143,816
Inventor
John B. Filson
Eric B. Daniels
Adam Mittleman
Sierra L. Nelmes
Yoky Matsuoka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Nest Labs Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nest Labs Inc filed Critical Nest Labs Inc
Priority to US14/143,816 priority Critical patent/US20140207721A1/en
Publication of US20140207721A1 publication Critical patent/US20140207721A1/en
Assigned to GOOGLE INC. reassignment GOOGLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NEST LABS, INC.
Priority to US14/677,722 priority patent/US9286781B2/en
Priority to US15/051,324 priority patent/US10433032B2/en
Assigned to GOOGLE LLC reassignment GOOGLE LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: GOOGLE INC.
Assigned to GOOGLE LLC reassignment GOOGLE LLC CORRECTIVE ASSIGNMENT TO CORRECT THE THE REMOVAL OF THE INCORRECTLY RECORDED APPLICATION NUMBERS 14/149802 AND 15/419313 PREVIOUSLY RECORDED AT REEL: 44144 FRAME: 1. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Assignors: GOOGLE INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D23/00Control of temperature
    • G05D23/19Control of temperature characterised by the use of electric means
    • G05D23/1902Control of temperature characterised by the use of electric means characterised by the use of a variable reference value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B17/00Fire alarms; Alarms responsive to explosion
    • G08B17/10Actuation by presence of smoke or gases, e.g. automatic alarm devices for analysing flowing fluid materials by the use of optical means
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/02Alarms for ensuring the safety of persons
    • G08B21/10Alarms for ensuring the safety of persons responsive to calamitous events, e.g. tornados or earthquakes
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B27/00Alarm systems in which the alarm condition is signalled from a central station to a plurality of substations
    • G08B27/005Alarm systems in which the alarm condition is signalled from a central station to a plurality of substations with transmission via computer network
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B27/00Alarm systems in which the alarm condition is signalled from a central station to a plurality of substations
    • G08B27/006Alarm systems in which the alarm condition is signalled from a central station to a plurality of substations with transmission via telephone network
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B29/00Checking or monitoring of signalling or alarm systems; Prevention or correction of operating errors, e.g. preventing unauthorised operation
    • G08B29/18Prevention or correction of operating errors
    • G08B29/185Signal analysis techniques for reducing or preventing false alarms or for enhancing the reliability of the system
    • G08B29/188Data fusion; cooperative systems, e.g. voting among different detectors
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B31/00Predictive alarm systems characterised by extrapolation or other computation using updated historic data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1895Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for short real-time information, e.g. alarms, notifications, alerts, updates

Definitions

  • This patent specification relates to systems, methods, and related computer program products for aggregating measurements obtained from a dynamic network of sensors in order to forecast external events. More particularly, this patent specification relates to a dynamic process of identifying a set of sensors (e.g., each being housed within a thermostat) applicable to an event's forecast, aggregating measurements from the set of sensors, and forecasting a future characteristic of the event based on the aggregated measurements.
  • a set of sensors e.g., each being housed within a thermostat
  • Accurate and timely prediction of impending future events can be useful and beneficial in many ways. For example, predicting where and when severe weather events will strike can provide residents with the warning necessary to protect themselves and their belongings from the damage. As another example, timely prediction of impending earthquake events, even if provided only a few seconds in advance, can prevent injury or death by allowing recipients of earthquake alarm to move quickly to a safer location or position before the onset of the earthquake. Even predictions dealing with less severe events can result in substantial advantages. For example, if a person's actions can be reliably predicted, other related people can more efficiently plan their activities and/or particular conveniences can be appropriately timed to be ready upon the person's arrival at a location. Utilization of such advantages could improve productivity, safety, and comfort on many different scales and in many different ways.
  • Each sensor within a network of sensors can collect data and transmit the data to a central server.
  • the central server can identify the set of sensors from the network of sensors by, e.g., identifying sensors within a geographical region, identifying sensors that transmitted data within a time period and/or identifying sensors that transmitted a particular type of data.
  • the central server can then aggregate data across the set of sensors, estimate characteristics of a current event (e.g., its existence, severity, or movement), and predict characteristics of the event in the future.
  • the central server can then transmit information about the predicted characteristic to one or more devices associated with users likely to be affected by or interested in the future event.
  • a building can include one or more smart devices, such as a thermostat, hazard-detection unit (e.g., smoke detector and/or carbon-monoxide detector), light switch, wall-plug interface, security system, or appliance.
  • a network of devices can include smart devices across multiple rooms, across multiple buildings, across cities, etc. Within a given network, the devices can include different device types or same or similar device types.
  • Each device within the network can include one or more sensors (e.g., to detect motion of the sensor, motion of an external object, temperature, humidity, or pressure). Data indicative of the sensor measurements can be conditionally transmitted (e.g., upon detection of an abnormal event) or regularly transmitted by a respective device to a central server.
  • the central server can correlate the data across a set of devices in order to estimate whether readings are due to a sensor malfunction, a stationary event, or a moving event.
  • accelerometer readings from a set of devices within a locality e.g., within a zip code
  • temperature readings from a set of devices within a locality e.g., within a city
  • motion-detection readings from a set of devices within a locality can be used to estimate a trajectory of a person within a building.
  • the central server can then predict characteristics of a future event (e.g., its location and/or strength), and can send alerts to other devices within a region predicted to be affected.
  • the other devices can then alert users of the event or can automatically implement device settings to prepare for the event.
  • one or more accelerometers or similar movement sensors within one or more network-connected smart-home devices that are each affixed to a home structure or that otherwise have normally stationary dispositions within the home.
  • network-connected thermostats and network-connected hazard detectors are two particularly useful smart-home devices within which to embed such sensors, although many other examples (network-connected light switches, network-connected doorbells, network-connected home appliances) are also within the scope of the present teachings.
  • the smart-home, accelerometer-equipped (or other motion-sensing-equipped) devices within any particular local geographic area are programmed and configured to quickly report the occurrence of their individual sensed movements to a common central server, such as a cloud-based server system, which is, in turn, is programmed and configured to perform correlation calculations on the received data to detect the occurrence of an earthquake event and, where applicable, promptly detect a geographical speed and trajectory of the earthquake event. Alarms or other advance warnings can then be promptly communicated to persons geographically located in the path of the earthquake event or to first responders.
  • the same smart-home devices within which the accelerometers/movement sensors are embedded are also equipped to receive these warnings and to quickly provide audible and/or visual earthquake alarms to home occupants. Even if provided only seconds before the earthquake arrival, a valuable service is provided because these seconds can be used by the occupant to move to a safer location or position.
  • the network-connected smart-home devices such as network-connected thermostats, network-connected hazard detectors, etc.
  • the crowdsourced earthquake detection network can be highly robust against false alarms.
  • the relative ubiquity of the sensor network that is key to the effective crowdsourced intelligence is fostered primarily by the popularity, attractiveness, and/or essential underlying functionality of the smart-home devices within which the sensors are embedded, rather than their functionality as part of the crowdsourced detection network.
  • the accelerometers/movement sensors may be preferably embedded in a smart-home device comprising an elegant, visually appealing, intelligent, network-connected, self-programming thermostat such as that described in the commonly assigned US08195313B1, which is hereby incorporated by reference in its entirety for all purposes.
  • an event-forecasting system can store a plurality of sensor measurements, each sensor measurement having been provided by a non-portable electronic device.
  • a primary purpose of each respective electronic device can be unrelated to collecting measurements from a type of sensor that collected the sensor measurement.
  • a measurement set identifier can select a set of sensor measurements from the plurality of sensor measurements in the measurement database.
  • the electronic devices associated with the set of sensor measurements can be in close geographical proximity relative to their geographical proximity to other devices.
  • An inter-device correlator can access the selected set of sensor measurements and collectively analyze the sensor measurements.
  • An event detector can determine whether an event has occurred based on the results of the collective analysis.
  • the determination that an event has occurred can require that a criterion involving at least two of the sensor measurements be satisfied.
  • An event forecaster can forecast a future event property.
  • the future event property can be forecasted based on a same or different collective analysis of the sensor measurements.
  • An alert engine can identify one or more entities to be alerted of the future event property, can generate at least one alert identifying the future event property, and can transmit the at least one alert to the identified one or more entities.
  • a method for forecasting events is provided.
  • a plurality of sensor measurements in a measurement database can be stored, each sensor measurement having been provided by a mounted electronic device.
  • a primary purpose of at least one respective electronic device can be not related to collecting measurements from a type of sensor that collected the sensor measurement.
  • a set of sensor measurements from the plurality of sensor measurements in the measurement database can be selected.
  • the electronic devices associated with the set of sensor measurements can be in close geographical proximity relative to their geographical proximity to other devices.
  • the sensor measurements can be collectively analyzed to determine whether a large-scale event was occurring. The determination that a large-scale event was occurring can require consistency between at least two of the sensor measurements.
  • a future event property can be forecasted.
  • the future event property can be forecasted based on a same or different collective analysis of the sensor measurements.
  • One or more entities to be alerted of the future event property can be identified.
  • At least one alert identifying the future event property can be generated, and the at least one alert can be transmitted to the identified one or more entities.
  • a crowdsourced event detection network includes a population of non-portable smart-home devices.
  • Each smart-home device can have a primary function as one of a thermostat, a hazard detector, a wall switch, an entertainment device, a lighting device, and a home appliance.
  • Each smart-home device can include a housing and at least one sensor coupled to the housing. The at least one sensor can be configured to sense at least one environmental characteristic or condition that is generally unrelated to the primary function of the smart-home device.
  • Each smart-home device can further include a data transmission component configured to transmit first information representative of said least one sensed environmental characteristic or condition for reception by an aggregating processor.
  • the aggregating processor can be configured and programmed to receive the first information from each of a plurality of the smart-home devices and to forecast a future event based on a collective analysis thereof.
  • the aggregating processor can be further configured and programmed to identify one or more entities to be alerted of the forecasted future event and to transmit second information representative of the forecasted future event to the identified one or more entities.
  • FIG. 1 illustrates an example of general device components which can be included in an intelligent, network-connected device
  • FIG. 2 illustrates an example of a smart home environment within which one or more of the devices, methods, systems, services, and/or computer program products described further herein can be applicable;
  • FIG. 3 illustrates a network-level view of an extensible devices and services platform with which a smart home environment can be integrated
  • FIG. 4 illustrates an abstracted functional view of the extensible devices and services platform of FIG. 3 ;
  • FIG. 5 illustrates components of processing engine according to an embodiment of the invention
  • FIGS. 6A and 6B illustrate flowcharts for processes 600 a of transmitting data from a device 100 to a remote server in accordance with an embodiment of the invention
  • FIG. 7 illustrates a flowchart for a process of analyzing sensor data points to forecast event properties
  • FIG. 8 illustrates a flowchart for a process of analyzing sensor data points to detect event properties
  • FIG. 9 illustrates a flowchart for a process of forecasting event properties and sending alerts
  • FIGS. 10A-10B illustrate an example of a thermostat device that may be used to collect sensor measurements
  • FIG. 11 illustrates a block diagram of an embodiment of a computer system
  • FIG. 12 illustrates a block diagram of an embodiment of a special-purpose computer.
  • central server refers to any of a variety of different processing devices and/or groups of processing devices that are capable of receiving data derived from the sensors and processing the received information. As would be readily appreciated by the skilled artisan, it is not required that the one or more processors forming the central server be located in any particular geographical location relative to the sensors or to each other.
  • the central server can be implemented in cloud-based computing and storage environment such as the EC2 (Elastic Compute Cloud) offering from Amazon.com of Seattle, Wash.
  • the central server can be implemented on any of a variety of different hardware and software platforms, ranging from concentrated single-location computing devices to distributed networks of computing devices, including virtualized computing devices.
  • the central server can identify the set of sensors from the network of sensors by, e.g., identifying sensors within a geographical region, identifying sensors that have transmitted data within a time period and/or identifying sensors that have transmitted a particular type of data.
  • the central server can then aggregate data across the set of sensors, estimate characteristics of a current event (e.g., its existence, severity, or movement), and predict characteristics of the event in the future.
  • the central server can then transmit information about the predicted characteristic to one or more devices associated with users likely to be affected by or interested in the future event.
  • Embodiments described further herein are but representative examples of devices, methods, systems, services, and/or computer program products that can be used in conjunction with an extensible devices and services platform that, while being particularly applicable and advantageous in the smart home context, is generally applicable to any type of enclosure or group of enclosures (e.g., offices, factories or retail stores), vessels (e.g., automobiles or aircraft), or other resource-consuming physical systems that will be occupied by humans or with which humans will physically or logically interact. It will be appreciated that devices referred to herein need not be within an enclosure or vessel. For example, a device can be on an exterior surface, nearby or connected to an enclosure or vessel.
  • a device can include a portable device, such as a cell phone or laptop, that is configured to be carried by a user.
  • a portable device such as a cell phone or laptop
  • FIG. 1 illustrates an example of general device components which can be included in an intelligent, network-connected device 100 (i.e., “device”).
  • Each of one, more or all devices 100 within a system of devices can include one or more sensors 102 , a user-interface component 104 , a power supply (e.g., including a power connection 106 and/or battery 108 ), a communications component 110 , a modularity unit (e.g., including a docking station 112 and replaceable module 114 ) and intelligence components 116 .
  • Particular sensors 102 , user-interface components 104 , power-supply configurations, communications components 110 , modularity units and/or intelligence components 116 can be the same or similar across devices 100 or can vary depending on device type or model.
  • one or more sensors 102 in a device 100 may be able to, e.g., detect acceleration, temperature, humidity, water, supplied power, proximity, external motion, device motion, sound signals, ultrasound signals, light signals, fire, smoke, carbon monoxide, global-positioning-satellite (GPS) signals, or radio-frequency (RF) or other electromagnetic signals or fields.
  • GPS global-positioning-satellite
  • RF radio-frequency
  • sensors 102 can include temperature sensor(s), humidity sensor(s), hazard-related sensor(s) or other environmental sensor(s), accelerometer(s), microphone(s), optical sensors up to and including camera(s) (e.g., charged-coupled-device or video cameras), active or passive radiation sensors, GPS receiver(s) or radio-frequency identification detector(s). While FIG. 1 illustrates an embodiment with a single sensor, many embodiments will include multiple sensors.
  • device 100 includes one or more primary sensors and one or more secondary sensors.
  • the primary sensor(s) can sense data central to the core operation of the device (e.g., sensing a temperature in a thermostat or sensing smoke in a smoke detector).
  • the secondary sensor(s) can sense other types of data (e.g., motion, light or sound), which can be used for energy-efficiency objectives or smart-operation objectives. In some instances, an average user may even be unaware of an existence of a secondary sensor.
  • One or more user-interface components 104 in device 100 may be configured to present information to a user via a visual display (e.g., a thin-film-transistor display or organic light-emitting-diode display) and/or an audio speaker.
  • User-interface component 104 can also include one or more user-input components to receive information from a user, such as a touchscreen, buttons, scroll component (e.g., a movable or virtual ring component), microphone or camera (e.g., to detect gestures).
  • user-input component 104 includes a click-and-rotate annular ring component, wherein a user can interact with the component by rotating the ring (e.g., to adjust a setting) and/or by clicking the ring inwards (e.g., to select an adjusted setting or to select an option).
  • user-input component 104 includes a camera, such that gestures can be detected (e.g., to indicate that a power or alarm state of a device is to be changed).
  • a power-supply component in device 100 may include a power connection 106 and/or local battery 108 .
  • power connection 106 can connect device 100 to a power source such as a line voltage source.
  • connection 106 to an AC power source can be used to repeatedly charge a (e.g., rechargeable) local battery 108 , such that battery 108 can later be used to supply power if needed in the event of an AC power disconnection or other power deficiency scenario.
  • a communications component 110 in device 100 can include a component that enables device 100 to communicate with a central server or a remote device, such as another device described herein or a portable user device.
  • Communications component 110 can allow device 100 to communicate via, e.g., Wi-Fi, ZigBee, 3G/4G wireless, CAT6 wired Ethernet, HomePlug or other powerline communications method, telephone, or optical fiber, by way of non-limiting examples.
  • Communications component 110 can include a wireless card, an Ethernet plug, or nother transceiver connection.
  • a modularity unit in device 100 can include a static physical connection, and a replaceable module 114 .
  • the modularity unit can provide the capability to upgrade replaceable module 114 without completely reinstalling device 100 (e.g., to preserve wiring).
  • the static physical connection can include a docking station 112 (which may also be termed an interface box) that can attach to a building structure.
  • docking station 112 could be mounted to a wall via screws or stuck onto a ceiling via adhesive.
  • Docking station 112 can, in some instances, extend through part of the building structure.
  • docking station 112 can connect to wiring (e.g., to 120V line voltage wires) behind the wall via a hole made through a wall's sheetrock.
  • Docking station 112 can include circuitry such as power-connection circuitry 106 and/or AC-to-DC powering circuitry and can prevent the user from being exposed to high-voltage wires.
  • docking stations 112 are specific to a type or model of device, such that, e.g., a thermostat device includes a different docking station than a smoke detector device.
  • docking stations 112 can be shared across multiple types and/or models of devices 100 .
  • Replaceable module 114 of the modularity unit can include some or all sensors 102 , processors, user-interface components 104 , batteries 108 , communications components 110 , intelligence components 116 and so forth of the device.
  • Replaceable module 114 can be configured to attach to (e.g., plug into or connect to) docking station 112 .
  • a set of replaceable modules 114 are produced, with the capabilities, hardware and/or software varying across the replaceable modules 114 . Users can therefore easily upgrade or replace their replaceable module 114 without having to replace all device components or to completely reinstall device 100 .
  • a user can begin with an inexpensive device including a first replaceable module with limited intelligence and software capabilities.
  • the user can then easily upgrade the device to include a more capable replaceable module.
  • a user has a Model #1 device in their basement, a Model #2 device in their living room, and upgrades their living-room device to include a Model #3 replaceable module
  • the user can move the Model #2 replaceable module into the basement to connect to the existing docking station.
  • the Model #2 replaceable module may then, e.g., begin an initiation process in order to identify its new location (e.g., by requesting information from a user via a user interface).
  • Intelligence components 116 of the device can support one or more of a variety of different device functionalities.
  • Intelligence components 116 generally include one or more processors configured and programmed to carry out and/or cause to be carried out one or more of the advantageous functionalities described herein.
  • the intelligence components 116 can be implemented in the form of general-purpose processors carrying out computer code stored in local memory (e.g., flash memory, hard drive, random access memory), special-purpose processors or application-specific integrated circuits, combinations thereof, and/or using other types of hardware/firmware/software processing platforms.
  • the intelligence components 116 can furthermore be implemented as localized versions or counterparts of algorithms carried out or governed remotely by central servers or cloud-based systems, such as by virtue of running a Java virtual machine (JVM) that executes instructions provided from a cloud server using Asynchronous Javascript and XML (AJAX) or similar protocols.
  • intelligence components 116 can be intelligence components 116 configured to detect when a location (e.g., a house or room) is occupied, up to and including whether it is occupied by a specific person or is occupied by a specific number of people (e.g., relative to one or more thresholds).
  • Such detection can occur, e.g., by analyzing microphone signals, detecting user movements (e.g., in front of a device), detecting openings and closings of doors or garage doors, detecting wireless signals, detecting an IP address of a received signal, or detecting operation of one or more devices within a time window.
  • Intelligence components 116 may include image-recognition technology to identify particular occupants or objects.
  • intelligence components 116 can be configured to predict desirable settings and/or to implement those settings. For example, based on the presence detection, intelligence components 116 can adjust device settings to, e.g., conserve power when nobody is home or in a particular room or to accord with user preferences (e.g., general at-home preferences or user-specific preferences). As another example, based on the detection of a particular person, animal or object (e.g., a child, pet or lost object), intelligence components 116 can initiate an audio or visual indicator of where the person, animal or object is or can initiate an alarm or security feature if an unrecognized person is detected under certain conditions (e.g., at night or when lights are out).
  • user preferences e.g., general at-home preferences or user-specific preferences
  • intelligence components 116 can initiate an audio or visual indicator of where the person, animal or object is or can initiate an alarm or security feature if an unrecognized person is detected under certain conditions (e.g., at night or when lights are out).
  • intelligence components 116 can detect hourly, weekly or even seasonal trends in user settings and adjust settings accordingly. For example, intelligence components 116 can detect that a particular device is turned on every week day at 6:30 am, or that a device setting is gradually adjusted from a high setting to lower settings over the last three hours. Intelligence components 116 can then predict that the device is to be turned on every week day at 6:30 am or that the setting should continue to gradually lower its setting over a longer time period.
  • devices can interact with each other such that events detected by a first device influences actions of a second device.
  • a first device can detect that a user has pulled into a garage (e.g., by detecting motion in the garage, detecting a change in light in the garage or detecting opening of the garage door).
  • the first device can transmit this information to a second device, such that the second device can, e.g., adjust a home temperature setting, a light setting, a music setting, and/or a security-alarm setting.
  • a first device can detect a user approaching a front door (e.g., by detecting motion or sudden light-pattern changes).
  • the first device can, e.g., cause a general audio or visual signal to be presented (e.g., such as sounding of a doorbell) or cause a location-specific audio or visual signal to be presented (e.g., to announce the visitor's presence within a room that a user is occupying).
  • a general audio or visual signal e.g., such as sounding of a doorbell
  • a location-specific audio or visual signal e.g., to announce the visitor's presence within a room that a user is occupying.
  • FIG. 2 illustrates an example of a smart home environment within which one or more of the devices, methods, systems, services, and/or computer program products described further herein can be applicable.
  • the depicted smart home environment includes a structure 250 , which can include, e.g., a house, office building, garage, or mobile home.
  • a structure 250 can include, e.g., a house, office building, garage, or mobile home.
  • devices can also be integrated into a smart home environment that does not include an entire structure 250 , such as an apartment, condominium, or office space.
  • the smart home environment can control and/or be coupled to devices outside of the actual structure 250 . Indeed, several devices in the smart home environment need not physically be within the structure 250 at all. For example, a device controlling a pool heater or irrigation system can be located outside of the structure 250 .
  • the depicted structure 250 includes a plurality of rooms 252 , separated at least partly from each other via walls 254 .
  • the walls 254 can include interior walls or exterior walls.
  • Each room can further include a floor 256 and a ceiling 258 .
  • Devices can be mounted on, integrated with and/or supported by a wall 254 , floor or ceiling.
  • the smart home depicted in FIG. 2 includes a plurality of devices, including intelligent, multi-sensing, network-connected devices that can integrate seamlessly with each other and/or with cloud-based server systems to provide any of a variety of useful smart home objectives.
  • One, more or each of the devices illustrated in the smart home environment and/or in the figure can include one or more sensors, a user interface, a power supply, a communications component, a modularity unit and intelligent software as described with respect to FIG. 1 . Examples of devices are shown in FIG. 2 .
  • An intelligent, multi-sensing, network-connected thermostat 202 can detect ambient climate characteristics (e.g., temperature and/or humidity) and control a heating, ventilation and air-conditioning (HVAC) system 203 .
  • HVAC heating, ventilation and air-conditioning
  • One or more intelligent, network-connected, multi-sensing hazard detection units 204 can detect the presence of a hazardous substance and/or a hazardous condition in the home environment (e.g., smoke, fire, or carbon monoxide).
  • One or more intelligent, multi-sensing, network-connected entryway interface devices 206 which can be termed a “smart doorbell”, can detect a person's approach to or departure from a location, control audible functionality, announce a person's approach or departure via audio or visual means, or control settings on a security system (e.g., to activate or deactivate the security system).
  • Each of a plurality of intelligent, multi-sensing, network-connected wall light switches 208 can detect ambient lighting conditions, detect room-occupancy states and control a power and/or dim state of one or more lights. In some instances, light switches 208 can further or alternatively control a power state or speed of a fan, such as a ceiling fan.
  • Each of a plurality of intelligent, multi-sensing, network-connected wall plug interfaces 210 can detect occupancy of a room or enclosure and control supply of power to one or more wall plugs (e.g., such that power is not supplied to the plug if nobody is at home).
  • the smart home may further include a plurality of intelligent, multi-sensing, network-connected appliances 212 , such as refrigerators, stoves and/or ovens, televisions, washers, dryers, lights (inside and/or outside the structure 250 ), stereos, intercom systems, garage-door openers, floor fans, ceiling fans, whole-house fans, wall air conditioners, pool heaters 214 , irrigation systems 216 , security systems, and so forth. While descriptions of FIG. 2 can identify specific sensors and functionalities associated with specific devices, it will be appreciated that any of a variety of sensors and functionalities (such as those described throughout the specification) can be integrated into the device.
  • a plurality of intelligent, multi-sensing, network-connected appliances 212 such as refrigerators, stoves and/or ovens, televisions, washers, dryers, lights (inside and/or outside the structure 250 ), stereos, intercom systems, garage-door openers, floor fans, ceiling fans, whole-house fans, wall air conditioners, pool heaters 214 ,
  • each of the devices 202 , 204 , 206 , 208 , 210 , 212 , 214 and 216 can be capable of data communications and information sharing with any other of the devices 202 , 204 , 206 , 208 , 210 , 212 , 214 and 216 devices, as well as to any cloud server or any other device that is network-connected anywhere in the world.
  • the devices can send and receive communications via any of a variety of custom or standard wireless protocols (Wi-Fi, ZigBee, 6LoWPAN, etc.) and/or any of a variety of custom or standard wired protocols (CAT6 Ethernet, HomePlug, etc.).
  • the wall plug interfaces 210 can serve as wireless or wired repeaters, and/or can function as bridges between (i) devices plugged into AC outlets and communicating using Homeplug or other power line protocol, and (ii) devices that not plugged into AC outlets.
  • a first device can communicate with a second device via a wireless router 260 .
  • a device can further communicate with remote devices via a connection to a network, such as the Internet 262 .
  • the device can communicate with a central server or a cloud-computing system 264 .
  • the central server or cloud-computing system 264 can be associated with a manufacturer, support entity or service provider associated with the device.
  • a user may be able to contact customer support using a device itself rather than needing to use other communication means such as a telephone or Internet-connected computer.
  • software updates can be automatically sent from the central server or cloud-computing system 264 to devices (e.g., when available, when purchased, or at routine intervals).
  • one or more of the smart-home devices of FIG. 2 can further allow a user to interact with the device even if the user is not proximate to the device.
  • a user can communicate with a device using a computer (e.g., a desktop computer, laptop computer, or tablet) or other portable electronic device (e.g., a smartphone) 266 .
  • a webpage or app can be configured to receive communications from the user and control the device based on the communications and/or to present information about the device's operation to the user.
  • the user can view a current setpoint temperature for a device and adjust it using a computer.
  • the user can be in the structure during this remote communication or outside the structure.
  • the smart home also can include a variety of non-communicating legacy appliances 140 , such as old conventional washer/dryers, refrigerators, and the like which can be controlled, albeit coarsely (ON/OFF), by virtue of the wall plug interfaces 210 .
  • the smart home can further include a variety of partially communicating legacy appliances 242 , such as IR-controlled wall air conditioners or other IR-controlled devices, which can be controlled by IR signals provided by the hazard detection units 204 or the light switches 208 .
  • FIG. 3 illustrates a network-level view of an extensible devices and services platform with which the smart home of FIG. 1 and/or 2 can be integrated.
  • Each of the intelligent, network-connected devices from FIG. 2 can communicate with one or more remote central servers or cloud computing systems 264 .
  • the communication can be enabled by establishing connection to the Internet 262 either directly (for example, using 3G/4G connectivity to a wireless carrier), though a hubbed network (which can be scheme ranging from a simple wireless router, for example, up to and including an intelligent, dedicated whole-home control node), or through any combination thereof.
  • the central server or cloud-computing system 264 can collect operation data 302 from the smart home devices. For example, the devices can routinely transmit operation data or can transmit operation data in specific instances (e.g., when requesting customer support).
  • the central server or cloud-computing architecture 264 can further provide one or more services 304 .
  • the services 304 can include, e.g., software update, customer support, sensor data collection/logging, remote access, remote or distributed control, or use suggestions (e.g., based on collected operation data 304 to improve performance, reduce utility cost, etc.).
  • Data associated with the services 304 can be stored at the central server or cloud-computing system 264 and the central server or cloud-computing system 264 can retrieve and transmit the data at an appropriate time (e.g., at regular intervals, upon receiving request from a user, etc.).
  • Processing engine 306 can be concentrated at a single server or distributed among several different computing entities without limitation.
  • Processing engine 306 can include engines configured to receive data from a set of devices (e.g., via the Internet or a hubbed network), to index the data, to analyze the data and/or to generate statistics based on the analysis or as part of the analysis.
  • the analyzed data can be stored as derived data 308 .
  • Results of the analysis or statistics can thereafter be transmitted back to a device providing ops data used to derive the results, to other devices, to a server providing a webpage to a user of the device, or to other non-device entities.
  • use statistics, use statistics relative to use of other devices, use patterns, and/or statistics summarizing sensor readings can be transmitted.
  • the results or statistics can be provided via the Internet 262 .
  • processing engine 306 can be configured and programmed to derive a variety of useful information from the operational data obtained from the smart home.
  • a single server can include one or more engines.
  • the derived data can be highly beneficial at a variety of different granularities for a variety of useful purposes, ranging from explicit programmed control of the devices on a per-home, per-neighborhood, or per-region basis (for example, demand-response programs for electrical utilities), to the generation of inferential abstractions that can assist on a per-home basis (for example, an inference can be drawn that the homeowner has left for vacation and so security detection equipment can be put on heightened sensitivity), to the generation of statistics and associated inferential abstractions that can be used for government or charitable purposes.
  • processing engine 306 can generate statistics about device usage across a population of devices and send the statistics to device users, service providers or other entities (e.g., that have requested or may have provided monetary compensation for the statistics).
  • statistics can be transmitted to charities 322 , governmental entities 324 (e.g., the Food and Drug Administration or the Environmental Protection Agency), academic institutions 326 (e.g., university researchers), businesses 328 (e.g., providing device warranties or service to related equipment), or utility companies 330 .
  • governmental entities 324 e.g., the Food and Drug Administration or the Environmental Protection Agency
  • academic institutions 326 e.g., university researchers
  • businesses 328 e.g., providing device warranties or service to related equipment
  • utility companies 330 e.g., utility companies 330 .
  • These entities can use the data to form programs to reduce energy usage, to preemptively service faulty equipment, to prepare for high service demands, to track past service performance, etc., or to perform any of a variety of beneficial functions or tasks now known or herein
  • FIG. 4 illustrates an abstracted functional view of the extensible devices and services platform of FIG. 3 , with particular reference to the processing engine 306 as well as the devices of the smart home.
  • the devices situated in the smart home will have an endless variety of different individual capabilities and limitations, they can all be thought of as sharing common characteristics in that each of them is a data consumer 402 (DC), a data source 404 (DS), a services consumer 406 (SC), and a services source 408 (SS).
  • DC data consumer 402
  • DS data source 404
  • SC services consumer 406
  • SS services source 408
  • the extensible devices and services platform can also be configured to harness the large amount of data that is flowing out of these devices.
  • the extensible devices and services platform can also be directed to “repurposing” that data in a variety of automated, extensible, flexible, and/or scalable ways to achieve a variety of useful objectives. These objectives may be predefined or adaptively identified based on, e.g., usage patterns, device efficiency, and/or user input (e.g., requesting specific functionality).
  • FIG. 4 shows processing engine 306 as including a number of paradigms 410 .
  • Processing engine 306 can include a managed services paradigm 410 a that monitors and manages primary or secondary device functions.
  • the device functions can include ensuring proper operation of a device given user inputs, estimating that (e.g., and responding to) an intruder is or is attempting to be in a dwelling, detecting a failure of equipment coupled to the device (e.g., a light bulb having burned out), implementing or otherwise responding to energy demand response events, or alerting a user of a current or predicted future event or characteristic.
  • Processing engine 306 can further include an advertising/communication paradigm 410 b that estimates characteristics (e.g., demographic information), desires and/or products of interest of a user based on device usage. Services, promotions, products or upgrades can then be offered or automatically provided to the user.
  • Processing engine 306 can further include a social paradigm 410 c that uses information from a social network, provides information to a social network (for example, based on device usage), and/or processes data associated with user and/or device interactions with the social network platform. For example, a user's status as reported to their trusted contacts on the social network could be updated to indicate when they are home based on light detection, security system inactivation or device usage detectors. As another example, a user may be able to share device-usage statistics with other users.
  • Processing engine 306 can include a challenges/rules/compliance/rewards paradigm 410 d that informs a user of challenges, rules, compliance regulations and/or rewards and/or that uses operation data to determine whether a challenge has been met, a rule or regulation has been complied with and/or a reward has been earned.
  • the challenges, rules or regulations can relate to efforts to conserve energy, to live safely (e.g., reducing exposure to toxins or carcinogens), to conserve money and/or equipment life, to improve health, etc.
  • Processing engine 306 can integrate or otherwise utilize extrinsic information 416 from extrinsic sources to improve the functioning of one or more processing paradigms.
  • Extrinsic information 416 can be used to interpret operational data received from a device, to determine a characteristic of the environment near the device (e.g., outside a structure that the device is enclosed in), to determine services or products available to the user, to identify a social network or social-network information, to determine contact information of entities (e.g., public-service entities such as an emergency-response team, the police or a hospital) near the device, etc., to identify statistical or environmental conditions, trends or other information associated with a home or neighborhood, and so forth.
  • entities e.g., public-service entities such as an emergency-response team, the police or a hospital
  • each bedroom of the smart home can be provided with a smoke/fire/CO alarm that includes an occupancy sensor, wherein the occupancy sensor is also capable of inferring (e.g., by virtue of motion detection, facial recognition, audible sound patterns, etc.) whether the occupant is asleep or awake. If a serious fire event is sensed, the remote security/monitoring service or fire department is advised of how many occupants there are in each bedroom, and whether those occupants are still asleep (or immobile) or whether they have properly evacuated the bedroom.
  • the same data bedroom occupancy data that is being used for fire safety can also be “repurposed” by the processing engine 306 in the context of a social paradigm of neighborhood child development and education.
  • the same bedroom occupancy and motion data discussed in the “ordinary” example can be collected and made available for processing (properly anonymized) in which the sleep patterns of schoolchildren in a particular ZIP code can be identified and tracked. Localized variations in the sleeping patterns of the schoolchildren may be identified and correlated, for example, to different nutrition programs in local schools.
  • FIG. 5 illustrates components of processing engine 306 according to an embodiment of the invention.
  • Processing engine 306 can receive data points indicative of sensor measurements from each of a plurality of devices.
  • Each data point can include multiple values, such as a continuous-scale, discrete-scale or binary sensor measurement; a measurement time; a transmission time; a device identifier; and/or a device location identifier.
  • a data point can include one or more temperature, pressure, humidity, acceleration or motion-detection sensor readings.
  • the data point can be stored in a data-point database 502 .
  • Processing engine 306 can include a data set identifier 504 , which can identify a set of data points to analyze.
  • different events can initiate the set identification
  • a data set can be identified upon receiving a data point with a concerning or unusual sensor measurement, upon receiving a request from a user or other entity for event information, or at regular intervals.
  • all data within a data set is received from a same device type (e.g., all from sprinkler systems) and/or relates to measurements of a same or similar type (e.g., all including temperature data).
  • data within a data is received from different device types and/or relates to measurements of different types.
  • the set of data points can include data points associated with similar locations and/or times.
  • the set of data points can include all data points associated with a same zip code and received within a particular time period (e.g., the last 30 seconds, 1 minute, 5 minutes, 10 minutes, 30 minutes, 60 minutes, 2 hours, 6 hours, 12 hours or 24 hours).
  • the set of data points can include all data points associated with a location that is less than a fixed distance away from a location of an instant data point.
  • the data set can include all data points associated with a location less than 1 mile away from Location #1 and received within the last minute.
  • data set identifier 504 can use a device-location database 506 .
  • each device of a plurality of devices can transmit one or more data points to processing engine 306 over a period of time.
  • the data point can include a device ID and a location (e.g., determined based on user input or location-identification technology, such as GPS technology).
  • Processing engine 306 can thereafter populate a device-location database 506 to associate each device ID with the respective location (the location including, e.g., geographical coordinates, a street address, a county, a city, and/or a zip code).
  • data set identifier 504 can consult device-location database 505 to identify appropriate device IDs and can then search for data points within data-point database 502 that are associated with the device IDs.
  • a weight/adjustment assigner 508 can assign a weight and/or adjustment to each of one, more or all data-point values within the data set.
  • the weight can be associated with an estimated reliability or a sensor or device associated with a respective data-point value.
  • a given device can be less reliable than others, e.g., due to its age, its model, its device type, its mounting position (e.g., vertical versus horizontal), its location (e.g., upstairs versus downstairs), or stability or insulation of an enclosure surrounding or supporting the device (e.g., with older houses being more influenced by external environments than newer houses).
  • Weight/adjustment assigner 508 can determine a weight to be associated with a device by assessing data-point values associated with the device over a period of time.
  • a device associated with highly variable data-point values can be assigned (depending on the embodiment) a relatively high weight to indicate that the sensor is sensitive to environmental changes and provides informative data or a relatively low weight to indicate that the sensor is likely uncalibrated or malfunctioning.
  • data-point values over the time period are compared to data-point values from other devices (e.g., near the instant device).
  • a high weight can be assigned to a device with data-point values well-correlated with or predictive of data-point values of the other devices.
  • Weights can be dynamically adjusted by, e.g., repeatedly analyzing recently received data points (e.g., by redefining an analyzed time period to be a recent time period).
  • a weight can include, e.g., a number, such as a scaled number (e.g., between 0-1).
  • the data-point values are likely inaccurate, but they can nonetheless be informative.
  • the data-point values have little to no inaccuracy but exhibit an inconsistency with other data-point values due to, e.g., different device models, sensor types, or device types.
  • a sensor can be biased to always collect biased measurements (e.g., 10 units or 10% above actual values or measurements with a nonlinear bias).
  • Data-point value inaccuracies or inconsistencies can be due to variation across devices in a device's mounting position, a device's location, or a property of an enclosure surrounding or supporting the device.
  • Weight/adjustment assigner 508 can determine an adjustment to be associated with a device by assessing data-point values associated with the device over a period of time. The data-point values can be compared to data-point values of other devices or to control values. For example weight/adjustment assigner 508 can compare an average of a device's data-point value across a time period to a set value (e.g., 0 or 9.8 m/s 2 for an accelerometer reading), a value looked up from an external source (e.g., an average temperature over the time period), or a calculated value (e.g., a mean, median or mode of device-specific average values across a set of nearby devices).
  • a set value e.g., 0 or 9.8 m/s 2 for an accelerometer reading
  • a value looked up from an external source e.g., an average temperature over the time period
  • a calculated value e.g., a mean, median or mode of device-specific average values across a set
  • weight/adjustment assigner 508 can compare individual data-point values across a time period to other values (e.g., a mean, median or mode of time-matched data-point values for a set of devices).
  • the determined adjustment can include a single value, such as one that can be added to or multiplied to data-point values, or a more complicated function, such as a power function or logarithmic function.
  • Weight/adjustment assigner 508 can periodically determine weights and/or adjustments and store the weights and/or adjustments in one or more look-up tables (e.g., a weight look-up table and an adjustment look-up table). Each weight and/or adjustment can be associated with a device and/or sensor (e.g., using a device ID or sensor ID). In some instances, blank entries in the look-up table can be associated with a default assignment (e.g., a default weight or no adjustment), or the look-up table can be prepopulated with the default assignments which can thereafter be adjusted by weight/adjustment assigner.
  • a weight look-up table and an adjustment look-up table can periodically determine weights and/or adjustments and store the weights and/or adjustments in one or more look-up tables (e.g., a weight look-up table and an adjustment look-up table).
  • Each weight and/or adjustment can be associated with a device and/or sensor (e.g., using a device ID or sensor ID).
  • the set identification can be transmitted to an inter-device correlator 510 .
  • the identified set includes set properties (e.g., Device IDs: a 1 -a 10 and transmission times: b 1 -b 2 ).
  • the identified set includes one or more data-set criteria.
  • Inter-device correlator 510 can then pull the data points from data-point database 502 that corresponds to the data set.
  • data set identifier 504 identifies a specific set of data points (e.g., Data Point IDs: c 1-20 ). In these instances, either data set identifier 504 can retrieve the appropriate data points from data-point database 502 and transmit them to inter-device correlator 510 or inter-device correlator 510 can itself retrieve the points.
  • Inter-device correlator 510 analyzes the set of data points collectively in an attempt to identify whether an event resulted in observed sensor readings. For example, an earthquake would give rise to large accelerometer readings, a power outage would give rise to low voltage-detection measurements, a tornado would give rise to low pressure measurements, or a storm and/or clouds would give rise to low outdoor light intensities. However, each of these measurements could be caused by other factors within a single device (e.g., house renovations or romping teenagers causing large accelerometer readings; intentionally turning off the power causing low voltage-detection measurements; faulty sensor readings causing low pressure measurements; or a deck covering causing low outdoor light intensities).
  • inter-device correlator 510 can better estimate whether a very local event or a more substantial event caused the sensor readings. Consistent and correlated readings across a set of nearby devices (e.g., across a neighborhood or zip code) suggest the presence of a substantial event.
  • Inter-device correlator 510 can utilize any of a variety of techniques to collectively analyze the set of data points. For example, statistics can be performed to determine whether dramatic sensor readings were outliers. Similarly, clustering techniques can be used to determine whether at least a plurality of devices exhibited similar extreme sensor readings. Location- and/or time-sensitive fitting (e.g., 1-d or 2-d Gaussian fitting) can be used to characterize whether sensor readings vary in a continuous manner.
  • time-sensitive fitting e.g., 1-d or 2-d Gaussian fitting
  • inter-device correlator 510 can include analyses used to predict an event of interest.
  • analyses used to predict an event of interest. For example, earthquake prediction techniques disclosed in Allen et al., Real-time earthquake detection and hazard assessment by ElarmS across California, Geophysical Research Letters, 36, 2009: 1-6, by Sakaki et al., Earthquake shakes Twitter users: real-time event detection by social sensors, WWW 2010, 2010: 851:860, and/or by U.S. Pat. No. 6,356,204, each of which is hereby incorporated by reference in its entirety for all purposes, can be used.
  • Inter-device correlator 510 can produce one or more parameters as a result of the analysis.
  • the parameters could include, e.g., a reliability metric, an extreme sensor reading, a time and/or location associated with an extreme sensor reading, or one or more fit parameters (e.g., a Gaussian-fit amplitude, offset and/or width or a quality-of-fit metric). These parameters can be transmitted to an event detector 512 .
  • event detector 512 can estimate whether an event occurred, a magnitude of the event, a location of the event, a past trajectory of the event, and/or a time of the event. For example, to determine whether an event occurred, event detector 512 can compare a percentage of data points with dramatic sensor measurement values (e.g., beyond one or two standard deviations from the mean or above or below a fixed measurement threshold) to a percentage threshold, or event detector 512 can compare a quality-of-fit metric to a threshold. Event detector 512 can estimate a location and/or time of an event based on when and/or where extreme sensor readings occurred or based on an offset fit parameter.
  • Event detector 512 can estimate a trajectory based on a tracking locations associated with dramatic measurement values over a period of time or based on time-sensitive fit parameters. Event detector 512 can estimate an event magnitude based on a single dramatic measurement value (e.g., the highest or lowest within the set), an average of dramatic measurement values (e.g., an average of the 5 highest or lowest within the set), or a fit parameter (e.g., a Gaussian-fit amplitude).
  • a single dramatic measurement value e.g., the highest or lowest within the set
  • an average of dramatic measurement values e.g., an average of the 5 highest or lowest within the set
  • a fit parameter e.g., a Gaussian-fit amplitude
  • an event forecaster 514 can make predictions about future characteristics of the event. For example, event forecaster 514 can predict where the event will later move to and when it will reach that destination. Event forecaster 514 can predict one or more “affected areas” which will experience effects of given characteristics of the event. These predictions can be made based on past trajectories of the event (e.g., estimated by event detector 512 ) and/or known trajectory characteristics of the type of event. Event forecaster 514 can predict future strengths or characteristic changes of the event. For example, an earthquake's strength can decrease as it spreads, and a precipitation type (e.g., snow, rain, or hail) can change as a storm moves.
  • a precipitation type e.g., snow, rain, or hail
  • Event characteristics can depend on current characteristics of other areas, such as a current temperature, annual precipitation level, altitude, etc.
  • event forecaster 514 can identify these characteristics (e.g., based on data in data points within the identified data set or other data points or from an external source) and use the characteristics in its forecasting.
  • An alert engine 516 can then generate and transmit alerts that are indicative of or identify the forecasted event.
  • alert engine 516 identifies devices in locations likely to be affected by the event in the future.
  • Alert engine 516 can specifically receive a location zone or location criterion from event forecaster 514 and identify devices in that location based on data in the device-locations database 506 . These devices can include devices within the identified data set and/or other devices. Alerts can then be sent to the identified devices.
  • alert engine 516 identifies users likely to be interested in the event.
  • a user-profile database 518 can associate, for each user, a telephone number (e.g., a cellular phone number), an email, or a portable device ID with a device ID.
  • Alert engine 516 can predict that a user will be interested in the event if the event is predicted to affect a location at which the device is located (e.g., a home) or if the user is estimated to be within an area predicted to be affected (e.g., determined based on cell-phone tracking techniques).
  • Alert engine 516 can then send alerts to the users via a telephone call, email or notification sent to a portable device.
  • alert engine 516 is sent to higher-level entities, such as an emergency-control center, health-care workers, utility company, weather station, etc. These higher-level entities can themselves alert areas likely be affected by the event, attempt to reduce the event's effect, or prepare for post-event action.
  • higher-level entities such as an emergency-control center, health-care workers, utility company, weather station, etc.
  • An alert can explicitly or implicitly identify an event type, an indication that the event is forecasted to reach a specific location, a prediction as to when the event will reach the location, an actual and/or predicted trajectory of the event, and a past and/or predicted event magnitude.
  • Alerts can be sent, e.g., over a network such as the Internet or over a cell-phone network.
  • User preferences can indicate how they wish to be alerted (e.g., via text message, phone call, or home device alert).
  • alerts can be pushed to users to ensure that users are provided with notice in as much advance as possible.
  • users can pull for alerts. For example, a user can request a local forecast or request the probability of a nearby hail storm reaching a current location or home location.
  • devices 100 can communicate in a peer-to-peer manner.
  • a device that detects a potentially concerning. or important event can transmit data point to one or more nearby devices (e.g., in different rooms or different buildings).
  • the nearby devices could then determine whether a large-scale event is occurring by comparing its data to that of the other device's, and, if so, transmit alerts to yet more devices.
  • the device can pull data points from nearby devices, determine whether a large-scale event is occurring, and, if so, transmit alerts to yet more devices.
  • each device can routinely transmit data points to nearby devices, such that a device can instantly estimate whether a large-scale event is occurring.
  • FIG. 6A illustrates a flowchart for a process 600 a of transmitting data from a device 100 to a remote server in accordance with an embodiment of the invention.
  • a sensor measurement is detected.
  • the sensor measurement is collected by the sensor at routine intervals (e.g., every minute, 5 minutes, 15 minutes, 30 minutes, hour, 2 hours, 6 hours, 12 hours or 24 hours).
  • the sensor measurement is only collected upon the occurrence of particular external effects.
  • device 100 can include a sensor that only detects movement if a central mass is sufficiently moved to reach a perimeter or external notch.
  • the transmission criterion can relate to the sensor measurement.
  • the criterion can require the measurement to be above a threshold, below a threshold, or to have changed from a previous measurement by at least a given amount.
  • process 600 a can continue to block 615 , at which sensor data is transmitted.
  • the sensor data can include a raw version of the sensor measurement or a processed version of the sensor measurement (e.g., normalized, time-averaged, or otherwise filtered or processed).
  • the sensor data can further include, e.g., a measurement time; a transmission time; a device identifier; and/or a device location identifier.
  • the sensor data can be transmitted wirelessly to a central server or to other devices (e.g., other nearby devices).
  • process 600 a continues to block 620 , at which the process is paused until the next measurement time. This could entail pausing the process for a defined time interval or pausing the process until another sensor measurement is detected based on an external effect. Following the pause, process 600 a returns to block 605 .
  • FIG. 6B illustrates a flowchart for another process 600 b of transmitting data from a device 100 to a remote server in accordance with an embodiment of the invention.
  • Process 600 b is similar to that of process 600 a .
  • process 600 b does not include block 610 .
  • sensor data is reliably transmitted upon detection of the sensor measurement. This could result in regular sensor-data transmission or transmission of sensor data each time that an external effect resulted in the sensor measurement to be detected.
  • FIG. 7 illustrates a flowchart for a process 700 of analyzing sensor data points to forecast event properties.
  • a plurality of sensor data points are accessed.
  • a central server receives data points for each of a plurality of devices.
  • a device generates at least one sensor data point based on a measurement by a local sensor and receives at least one sensor data point from another device.
  • a data point can be accessed after it is received from another device or after it is locally generated.
  • Each sensor data point can include a raw or processed sensor measurement value; a measurement time; a transmission time; a device identifier; and/or a device location identifier.
  • each sensor data point can be associated with a time and location.
  • the time can include a time at which the sensor data point was generated or received or a time within the sensor data point (e.g., a measurement time).
  • the location can include a location within the sensor data point or a location associated with a device ID in the sensor data point (e.g., determined based on associations in device-locations database 506 ).
  • the sensor data points and the associated times and locations are stored in data-point database 502 . It will be appreciated that the plurality of data points can be accessed, associated with times and locations and/or stored at a same time or at different times (e.g., subsequent to receipt of each data point).
  • a set of sensor data points is identified (e.g., by data set identifier 504 ). In some instances, this identification is precipitated by and/or conditioned on detection of an abnormal sensor measurement in a data point, a request by a user or external entity for an event-detection or event-forecast analysis, or passage of a routine time interval.
  • the identified set of sensor data points can include those associated with a location within a same geographic region and/or those associated with a time within a same time period.
  • the geographic region can be determined based on a location associated with a data point having an abnormal (e.g., above- or below-threshold) sensor measurement or a location associated with a request for an event-detection or event-forecast analysis.
  • an abnormal e.g., above- or below-threshold
  • the set of sensor data points is analyzed (e.g., by inter-device correlator 510 ).
  • the analysis can include determining whether an abnormal sensor measurement is consistent or inconsistent with other sensor measurements, generating statistics, generating a model, performing a data fit, and comparing generated statistics or values to one or more thresholds.
  • the event's location, magnitude and/or trajectory e.g., by event detector 512 .
  • the determination about the event's occurrence can be determined based on a number or percentage of data points having a characteristic sensor measurement (e.g., above-threshold or below-threshold measurements), quality-of-fit statistics, or estimated event magnitude (e.g., concluding that no event occurred if a sufficiently low magnitude is estimated).
  • the location, magnitude and/or trajectory can be determined based on which data points were associated with the most extreme measurements, fit parameters (e.g., offset parameters) and/or time-sensitive analyses.
  • future event properties can be forecasted (e.g., by event forecaster 514 ).
  • the future event properties can include a future location and/or magnitude of the event.
  • the future properties indicate qualitative properties of the event, such as whether a storm will produce snow, hail or rain.
  • the future event properties can be forecasted, e.g., based on time-sensitive analyses, using a predictive model, or based on known trajectory or propagation properties associated with the event type.
  • Block 735 entities to be alerted are identified (e.g., by alert engine 516 ).
  • Block 735 can include identifying locations likely to be affected by the event in the future and identifying devices within the locations. The identified entities can then either include those devices or users associated with those devices (e.g., to be alerted via phone, text message or email).
  • block 735 includes identifying entities that requested general alerts (e.g., requesting an alert whenever an event is detected within a nearby area) or requesting specific alerts (e.g., recently having requested a local forecast).
  • alerts are generated and sent to the identified entities (e.g., by alert engine 516 ).
  • the alerts can include an indication that the event was detected, an estimate of the event's past location, time or magnitude, and/or an indication of the event's forecasted future (e.g., its future location, arrival time and magnitude).
  • FIG. 8 illustrates a flowchart for a process 800 of analyzing sensor data points to detect event properties.
  • block 720 of process 700 can include one, more or all of blocks 805 - 820 of process 800 .
  • a weight is applied to each of one, more or all sensor data points (e.g., by inter-device correlator 510 ).
  • the weight can represent or be indicative of a reliability of the sensor data point or how informative the sensor data point as to one or more event properties.
  • a plurality of weights are applied to each data point. For example, a first weight can be used when attempting to determine whether an event occurred or is occurring, and one or more second weights can be used to determine a magnitude, location or trajectory of the event.
  • weights could be useful (e.g., weighting more highly the sensor reading to first determine whether an event occurred and then weighting more lowly the sensor reading to determine event properties).
  • the weight can be identified by, e.g., looking up an identifier (e.g., a device or sensor identifier) in a look-up table.
  • the look-up table can include one or more weights for the identifier. These stored weights may have been previously determined (e.g., by weight/adjustment assigner 508 ), e.g., by analyzing past sensor data points with respect to known event properties, by considering whether a particular device's sensor data points reliably co-varied with other nearby device's sensor data points, and/or by assessing variability across past sensor data points. It will be appreciated that, in some instances, the weights are stored in multiple look-up tables (e.g., each relating to a different event property).
  • an adjustment is applied to one or more sensor data points (e.g., by inter-device correlator 510 ).
  • the adjustment can include a linear adjustment (e.g., such that a sensor measurement should be adjusted based on an additive or multiplicative factor) or a nonlinear adjustment.
  • a plurality of adjustments are applied to each data point. For example, a first adjustment can be used when attempting to determine whether an event occurred or is occurring, and one or more second adjustments can be used to determine a magnitude, location or trajectory of the event.
  • a first adjustment could include a step-wise function that transforms a sensor measurement to “1” if it as above a threshold and “0” otherwise, and a second adjustment could include a multiplicative and additive scaling factor.
  • the adjustments can result in normalized sensor measurements across devices, though the first adjustment may be more useful when determining a binary condition (e.g., “Did the event occur—yes or no”) and the second adjustment may be more useful when determining a continuous condition (e.g., “Where was the center of the event”).
  • the adjustment can be identified by, e.g., looking up an identifier (e.g., a device or sensor identifier) in a look-up table.
  • the look-up table can include one or more adjustments for the identifier. These stored adjustments may have been previously determined (e.g., by weight/adjustment assigner 508 ), e.g., by analyzing past sensor data points with respect to known event properties, by considering whether a particular device's sensor data points reliably co-varied with other nearby device's sensor data points, and/or by assessing variability across past sensor data points.
  • a single look-up table stores both weights and adjustments.
  • different look-up tables store weights and adjustments. It will be appreciated that, in some instances, the adjustments are stored in multiple look-up tables (e.g., each relating to a different event property).
  • the weighted and/or adjusted sensor data points are fitted (e.g., by inter-device correlator 510 ).
  • the fit could involve fitting a one-dimensional, two-dimensional or multi-dimensional function.
  • the function can include or consist of, e.g., a power function, a logarithmic function, a Gaussian function, and/or a trigonometric function.
  • One or more parameters can be identified as a result of the fit.
  • the parameters can include numeric values to be included within the fitted function (e.g., coefficients, powers, offsets, etc.) and/or one or more quality-of-fit values.
  • event-occurrence criterion is assessed (e.g., by event detector 512 ).
  • the assessment can include comparing one or more fit parameters to one or more thresholds.
  • a criterion can indicate that an event occurred if a quality-of-fit parameter exceeded a first value and an amplitude coefficient of a Gaussian function exceeded a second value.
  • the thresholds are not fixed, e.g., such that lower quality-of-fit parameters are acceptable when detecting the event occurrence given higher amplitude coefficients.
  • the assessment can include identifying a binary event-occurrence answer, a probability metric and/or a confidence metric.
  • a binary event-occurrence answer can include “Yes” indicating that that the event occurred, 76% indicating that there is a 76% probability that the event occurred, and/or 0.6 indicating a confidence metric on a 0-to-1 scale of the “Yes” or 76% result.
  • the other event properties can include, e.g., a measurement-timed or initial event location (e.g., identifying its central location or its reach), a measurement-timed or initial event magnitude, a time that the event began, and/or a trajectory of the event.
  • the event properties could include that an earthquake event was estimated to have begun at 10:32 am at a location with geographic coordinates (x1, x2) and with a strength of 6.8 on the Richter scale.
  • the event properties could include that, at 10:34 am, an earthquake event spread to neighborhoods with zip codes X 1 , X 2 and X 3 , with a strength of 4.4-4.8.
  • a single fit can result in estimation as to whether the event occurred (at block 825 ) and estimation of one or more other event properties.
  • two, three or more fits are used. For example, a first fit can be used during an estimation as to whether the event occurred, a second fit for the event's magnitude, and the third fit for the event's location. These fits may be simultaneously determined or successively determined.
  • FIG. 9 illustrates a flowchart for a process 900 of forecasting event properties and sending alerts.
  • one or more of blocks 730 - 740 of process 700 can include one, more or all of blocks 905 - 920 of process 900 .
  • an event trajectory can be estimated based on an event magnitude or past trajectory (e.g., by event forecaster 514 ). For example, a spread of an earthquake initially centered on a first location may depend on the earthquake's magnitude. As another example, a reach of a tornado or storm can depend on a past trajectory of the tornado or storm. Estimating the event trajectory can include extrapolating a past trajectory. Estimating the event trajectory can also or alternatively include considering characteristics of areas near the event (e.g., land-surface properties, weather conditions, fault-line presence, or altitude).
  • a future event location is forecasted based on the estimated event trajectory (e.g., by event forecaster 514 ).
  • the future event location can include a central location (e.g., a center of a tornado or storm) or an area.
  • a central location e.g., a center of a tornado or storm
  • an area e.g., an earthquake can initially affect a small area around the earthquake's epicenter and can later spread to affect an asymmetrical ring-shaped area. Thus, an estimate of the ring-shaped area can be made.
  • the estimated future event location can include, e.g., a range of geographic coordinates, a set of zip codes, or a list of cities.
  • devices in the forecasted future event location are identified (e.g., by alert engine 516 ).
  • the devices can be identified by looking up the future event location in a database (e.g., device-locations database 506 ).
  • the database can be populated with an address, coordinate set, city, and/or zip code for each device. This data can be provided by user input or by smart-device technology (e.g., that uses GPS signals).
  • alerts are transmitted to the identified devices or to user devices associated with identified devices (e.g., by alert engine 516 ).
  • a user of a device can identify his phone number or email address, and a message can therefore be sent to his phone or email account.
  • the message can identify the occurrence of the event and/or can include past or forecasted event properties.
  • FIGS. 10A-10B illustrate one example of a thermostat device 1000 that may be used to collect sensor measurements.
  • the term “thermostat” is used to represent a particular type of VSCU unit (Versatile Sensing and Control) that is particularly applicable for HVAC control in an enclosure.
  • HVAC includes systems providing both heating and cooling, heating only, cooling only, as well as systems that provide other occupant comfort and/or conditioning functionality such as humidification, dehumidification and ventilation.
  • thermostat and “VSCU unit” may be seen as generally interchangeable for the context of HVAC control of an enclosure, it is within the scope of the present teachings for each of the embodiments hereinabove and hereinbelow to be applied to VSCU units having control functionality over measurable characteristics other than temperature (e.g., pressure, flow rate, height, position, velocity, acceleration, capacity, power, loudness, brightness) for any of a variety of different control systems involving the governance of one or more measurable characteristics of one or more physical systems, and/or the governance of other energy or resource consuming systems such as water usage systems, air usage systems, systems involving the usage of other natural resources, and systems involving the usage of various other forms of energy.
  • measurable characteristics other than temperature e.g., pressure, flow rate, height, position, velocity, acceleration, capacity, power, loudness, brightness
  • thermostat 1000 includes a user-friendly interface, according to some embodiments.
  • Thermostat 1000 includes control circuitry and is electrically connected to an HVAC system.
  • Thermostat 1000 is wall mounted, is circular in shape, and has an outer rotatable ring 1012 for receiving user input.
  • Outer rotatable ring 1012 allows the user to make adjustments, such as selecting a new target temperature. For example, by rotating outer ring 1012 clockwise, a target setpoint temperature can be increased, and by rotating the outer ring 1012 counter-clockwise, the target setpoint temperature can be decreased.
  • a central electronic display 1016 may include, e.g., a dot-matrix layout (individually addressable) such that arbitrary shapes can be generated (rather than being a segmented layout); a combination of a dot-matrix layout and a segmented layout’ or a backlit color liquid crystal display (LCD).
  • a dot-matrix layout (individually addressable) such that arbitrary shapes can be generated (rather than being a segmented layout); a combination of a dot-matrix layout and a segmented layout’ or a backlit color liquid crystal display (LCD).
  • An example of information displayed on electronic display 1016 is illustrated in FIG. 10A , and includes central numerals 1020 that are representative of a current setpoint temperature. It will be appreciated that electronic display 1016 can display other types of information, such as information identifying or indicating an event occurrence and/or forecasting future event properties.
  • Thermostat 1000 has a large front face lying inside the outer ring 1012 .
  • the front face of thermostat 1000 comprises a clear cover 1014 that according to some embodiments is polycarbonate, and a metallic portion 1024 preferably having a number of slots formed therein as shown.
  • metallic portion 1024 has number of slot-like openings so as to facilitate the use of a passive infrared motion sensor 1030 mounted therebeneath.
  • Metallic portion 1024 can alternatively be termed a metallic front grille portion. Further description of the metallic portion/front grille portion is provided in the commonly assigned U.S. Ser. No. 13/199,108, which is hereby incorporated by reference in its entirety for all purposes.
  • occupancy information is used in generating an effective and efficient scheduled program.
  • an active proximity sensor 1070 A is provided to detect an approaching user by infrared light reflection
  • an ambient light sensor 1070 B is provided to sense visible light.
  • Proximity sensor 1070 A can be used to detect proximity in the range of about one meter so that the thermostat 1000 can initiate “waking up” when the user is approaching the thermostat and prior to the user touching the thermostat.
  • Ambient light sensor 1070 B can be used for a variety of intelligence-gathering purposes, such as for facilitating confirmation of occupancy when sharp rising or falling edges are detected (because it is likely that there are occupants who are turning the lights on and off), and such as for detecting long term (e.g., 24-hour) patterns of ambient light intensity for confirming and/or automatically establishing the time of day.
  • intelligence-gathering purposes such as for facilitating confirmation of occupancy when sharp rising or falling edges are detected (because it is likely that there are occupants who are turning the lights on and off), and such as for detecting long term (e.g., 24-hour) patterns of ambient light intensity for confirming and/or automatically establishing the time of day.
  • thermostat 1000 is controlled by only two types of user input, the first being a rotation of the outer ring 1012 as shown in FIG. 10A (referenced hereafter as a “rotate ring” or “ring rotation” input), and the second being an inward push on an outer cap 1008 (see FIG. 10B ) until an audible and/or tactile “click” occurs (referenced hereafter as an “inward click” or simply “click” input).
  • a user click new options can be presented to the user.
  • a menu system can be presented, as detailed in U.S. Ser. No. 13/351,668, which is hereby incorporated by reference in its entirety for all purposes. The user can then navigate through the menu options and select menu settings using the rotation and click functionalities.
  • thermostat 1000 includes a processing system 1060 , display driver 1064 and a wireless communications system 1066 .
  • Processing system 1060 is adapted to cause the display driver 1064 and display area 1016 to display information to the user, and to receiver user input via the rotatable ring 1012 .
  • Processing system 1060 is capable of carrying out the governance of the operation of thermostat 1000 including the user interface features described herein.
  • Processing system 1060 is further programmed and configured to carry out other operations as described herein.
  • processing system 1060 may be programmed and configured to dynamically determine when to collect sensor measurements, when to transmit sensor measurements, and/or how to present received alerts.
  • wireless communications system 1066 is used to communicate with, e.g., a central server, other thermostats, personal computers or portable devices (e.g., laptops or cell phones).
  • FIG. 11 an exemplary environment with which embodiments may be implemented is shown with a computer system 1100 that can be used by a user 1104 to remotely control, for example, one or more of the sensor-equipped smart-home devices according to one or more of the embodiments.
  • the computer system 1110 can alternatively be used for carrying out one or more of the server-based processing paradigms described hereinabove, can be used as a processing device in a larger distributed virtualized computing scheme for carrying out the described processing paradigms, or for any of a variety of other purposes consistent with the present teachings.
  • the computer system 1100 can include a computer 1102 , keyboard 1122 , a network router 1112 , a printer 1108 , and a monitor 1106 .
  • the monitor 1106 , processor 1102 and keyboard 1122 are part of a computer system 1126 , which can be a laptop computer, desktop computer, handheld computer, mainframe computer, etc.
  • the monitor 1106 can be a CRT, flat screen, etc.
  • a user 1104 can input commands into the computer 1102 using various input devices, such as a mouse, keyboard 1122 , track ball, touch screen, etc. If the computer system 1100 comprises a mainframe, a designer 1104 can access the computer 1102 using, for example, a terminal or terminal interface. Additionally, the computer system 1126 may be connected to a printer 1108 and a server 1110 using a network router 1112 , which may connect to the Internet 1118 or a WAN.
  • the server 1110 may, for example, be used to store additional software programs and data.
  • software implementing the systems and methods described herein can be stored on a storage medium in the server 1110 .
  • the software can be run from the storage medium in the server 1110 .
  • software implementing the systems and methods described herein can be stored on a storage medium in the computer 1102 .
  • the software can be run from the storage medium in the computer system 1126 . Therefore, in this embodiment, the software can be used whether or not computer 1102 is connected to network router 1112 .
  • Printer 1108 may be connected directly to computer 1102 , in which case, the computer system 1126 can print whether or not it is connected to network router 1112 .
  • a special-purpose computer system 1200 is shown.
  • one or more of intelligent components 116 , processing engine 306 and components thereof may be a special-purpose computer system 1200 .
  • the above methods may be implemented by computer-program products that direct a computer system to perform the actions of the above-described methods and components.
  • Each such computer-program product may comprise sets of instructions (codes) embodied on a computer-readable medium that directs the processor of a computer system to perform corresponding actions.
  • the instructions may be configured to run in sequential order, or in parallel (such as under different processing threads), or in a combination thereof. After loading the computer-program products on a general purpose computer system 1126 , it is transformed into the special-purpose computer system 1200 .
  • Special-purpose computer system 1200 comprises a computer 1102 , a monitor 1106 coupled to computer 1102 , one or more additional user output devices 1230 (optional) coupled to computer 1102 , one or more user input devices 1240 (e.g., keyboard, mouse, track ball, touch screen) coupled to computer 1102 , an optional communications interface 1250 coupled to computer 1102 , a computer-program product 1205 stored in a tangible computer-readable memory in computer 1102 .
  • Computer-program product 1205 directs system 1200 to perform the above-described methods.
  • Computer 1102 may include one or more processors 1260 that communicate with a number of peripheral devices via a bus subsystem 1290 .
  • peripheral devices may include user output device(s) 1230 , user input device(s) 1240 , communications interface 1250 , and a storage subsystem, such as random access memory (RAM) 1270 and non-volatile storage drive 1280 (e.g., disk drive, optical drive, solid state drive), which are forms of tangible computer-readable memory.
  • RAM random access memory
  • non-volatile storage drive 1280 e.g., disk drive, optical drive, solid state drive
  • Computer-program product 1205 may be stored in non-volatile storage drive 1280 or another computer-readable medium accessible to computer 1102 and loaded into memory 1270 .
  • Each processor 1260 may comprise a microprocessor, such as a microprocessor from Intel® or Advanced Micro Devices, Inc.®, or the like.
  • the computer 1102 runs an operating system that handles the communications of product 1205 with the above-noted components, as well as the communications between the above-noted components in support of the computer-program product 1205 .
  • Exemplary operating systems include Windows® or the like from Microsoft Corporation, Solaris® from Sun Microsystems, LINUX, UNIX, and the like.
  • User input devices 1240 include all possible types of devices and mechanisms to input information to computer system 1102 . These may include a keyboard, a keypad, a mouse, a scanner, a digital drawing pad, a touch screen incorporated into the display, audio input devices such as voice recognition systems, microphones, and other types of input devices. In various embodiments, user input devices 1240 are typically embodied as a computer mouse, a trackball, a track pad, a joystick, wireless remote, a drawing tablet, a voice command system. User input devices 1240 typically allow a user to select objects, icons, text and the like that appear on the monitor 1106 via a command such as a click of a button or the like. User output devices 1230 include all possible types of devices and mechanisms to output information from computer 1102 . These may include a display (e.g., monitor 1106 ), printers, non-visual displays such as audio output devices, etc.
  • a display e.g., monitor 1106
  • non-visual displays such as audio output devices, etc.
  • Communications interface 1250 provides an interface to other communication networks and devices and may serve as an interface to receive data from and transmit data to other systems, WANs and/or the Internet 1118 .
  • Embodiments of communications interface 1250 typically include an Ethernet card, a modem (telephone, satellite, cable, ISDN), a (asynchronous) digital subscriber line (DSL) unit, a FireWire® interface, a USB® interface, a wireless network adapter, and the like.
  • communications interface 1250 may be coupled to a computer network, to a FireWire® bus, or the like.
  • communications interface 1250 may be physically integrated on the motherboard of computer 1102 , and/or may be a software program, or the like.
  • RAM 1270 and non-volatile storage drive 1280 are examples of tangible computer-readable media configured to store data such as computer-program product embodiments of the present invention, including executable computer code, human-readable code, or the like.
  • Other types of tangible computer-readable media include floppy disks, removable hard disks, optical storage media such as CD-ROMs, DVDs, bar codes, semiconductor memories such as flash memories, read-only-memories (ROMs), battery-backed volatile memories, networked storage devices, and the like.
  • RAM 1270 and non-volatile storage drive 1280 may be configured to store the basic programming and data constructs that provide the functionality of various embodiments of the present invention, as described above.
  • RAM 1270 and non-volatile storage drive 1280 may also provide a repository to store data and data structures used in accordance with the present invention.
  • RAM 1270 and non-volatile storage drive 1280 may include a number of memories including a main random access memory (RAM) to store of instructions and data during program execution and a read-only memory (ROM) in which fixed instructions are stored.
  • RAM 1270 and non-volatile storage drive 1280 may include a file storage subsystem providing persistent (non-volatile) storage of program and/or data files.
  • RAM 1270 and non-volatile storage drive 1280 may also include removable storage systems, such as removable flash memory.
  • Bus subsystem 1290 provides a mechanism to allow the various components and subsystems of computer 1102 communicate with each other as intended. Although bus subsystem 1290 is shown schematically as a single bus, alternative embodiments of the bus subsystem may utilize multiple busses or communication paths within the computer 1102 .
  • the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein.
  • Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein.
  • software codes may be stored in a memory.
  • Memory may be implemented within the processor or external to the processor.
  • the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other storage medium and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
  • the term “storage medium” may represent one or more memories for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information.
  • ROM read only memory
  • RAM random access memory
  • magnetic RAM magnetic RAM
  • core memory magnetic disk storage mediums
  • optical storage mediums flash memory devices and/or other machine readable mediums for storing information.
  • machine-readable medium includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels, and/or various other storage mediums capable of storing that contain or carry instruction(s) and/or data.
  • each thermostat includes a set of accelerometers, which detect acceleration in each of three perpendicular directions. Users purchase the thermostat, and each user mounts the thermostat on a wall in a dwelling (e.g., in his home). Each thermostat detects a local wireless network and requests a password. A respective user enters the password by rotating a rotatable ring of the thermostat to highlight appropriate letters and clicking the ring to select the highlighted letter, such that the thermostat can communicate over the Internet.
  • Each thermostat further requests that a user enter an address, which may be a full specific street address in some embodiments or a more general area identifier such as a ZIP code in other embodiment, at which it is located. The user again enters the address using the rotatable ring. Each thermostat then transmits a message to a central server identifying the thermostat and the address. Alternatively, once the user has paired their thermostat with an online account associated with the thermostat, the user may provide their address information using browser-based access to that online account. The central server associates each thermostat with its address in a database.
  • the accelerometers collect acceleration measurements every minute. If any of the three acceleration measurements (one for each spatial dimension) exceed a threshold, the thermostat transmits the acceleration measurements to a center server, along with a device identifier.
  • the central server upon receiving the communication, looks up the thermostat's address and identifies other thermostats near the communication-transmitting thermostat. The central server determines that 10 of 15 other nearby thermostats have also transmitted similar communications within the last minute. This 66% transmission rate exceeds an event-occurrence threshold, and thus, the central server determines that an earthquake has occurred.
  • the central server identifies median acceleration measurements and estimates an earthquake magnitude based on the median.
  • the central server assesses whether there are any similarly occurring events among other nearby populations of thermostats.
  • the central server then forecasts other areas likely to be affected in view of the earthquake's magnitude and known properties about earthquake propagation.
  • the central server consults the database to identify other devices in the forecasted location and transmits a signal to each of the other devices. Upon receiving the signal, each of the other devices sounds an alarm indicating that people should take cover.
  • Each system includes a control box with temperature, humidity and wind detector. Users purchase the sprinkler system, and each user mounts the control box on a wall outside a dwelling (e.g., on a house exterior surface).
  • the control box, or a separately provided device provided in conjunction with the control box, is equipped with a user interface having a similar physical look and feel to the user interface of the thermostat device described above with respect to FIGS. 10A-10B .
  • Each sprinkler system detects a local wireless network and requests a password.
  • a respective user enters the password by rotating a rotatable ring of the control box (or other user interface device associated with the control box) of the sprinkler system to highlight appropriate letters and clicking the ring to select the highlighted letter, such that the sprinkler system can communicate over the Internet.
  • Each sprinkler system also receives GPS signals and identifies its geographic coordinates. The sprinkler system then transmits a message to a central server identifying the sprinkler system and the coordinates. The central server associates each sprinkler system with its coordinates in a database.
  • the sprinkler systems collect measurements from the temperature, humidity and wind sensors for five minutes every hour. The sprinkler system averages these measurements across the time period and transmits the averaged measurements and a device identifier to the central server.
  • the central server upon receiving the communication, looks up coordinates for the sprinkler system.
  • the central server then inputs the coordinates and the average measurements into a model.
  • the model gradually learns about how the average measurements predicts future measurements.
  • the learning may involve weighting sensor measurements (e.g., to reduce the influence of likely-faulty sensor readings), correlating measurement readings in a first region with later measurement readings in a second region, and considering non-measurement variables, such as the date, time of day, and topography.
  • the model can include utilization of thermodynamic and/or aerodynamic principles.
  • the model outputs regular forecasts, which include forecasts for a region spanned by the plurality of sprinkler systems.
  • the forecasts are routinely sent to meteorology centers.
  • a user of the sprinkler system can request a forecast (using the sprinkler system user interface or using a website which can receive an identifier of the sprinkler system and/or of the user).
  • a message is transmitted to the central server, the message including an indication of the request and an identifier of the sprinkler system or the user.
  • the central server looks up the coordinates of the sprinkler system and identifies a forecast specific to those coordinates.
  • a message with the forecast information is then transmitted back to the user (e.g., back to the sprinkler system or over the Internet via the website), and the forecast is displayed to the user.
  • Each device includes a pressure sensor. Users purchase the devices and appropriately positions the device (e.g., mounting it to a wall). Each device may be equipped with a user interface having a similar physical look and feel to the user interface of the thermostat device described above with respect to FIGS. 10A-10B . Each device detects a local wireless network and requests a password. A respective user enters the password by rotating a rotatable ring of the device to highlight appropriate letters and clicking the ring to select the highlighted letter, such that the device can communicate over the Internet.
  • a user of each device registers the device online using a serial number. The user also enters the address of the device location and his phone number.
  • a central server receives this data and associates each device with its address in a first database and associates each device with a user phone number in a second database.
  • the central server communicates with external governmental agencies that control the official issuance of tornado watches and warning. Upon receiving a message from the agency that a tornado watch has been issued, the central server looks up devices within the tornado-watch area using the first database. The central server then sends a message to those devices requesting regular pressure-sensor data. The devices collect the measurements and communicate the measurements to the central server.
  • the central server routinely analyzes the pressure-sensor data and compares an average of a subset of the data (e.g., the data within an 80-90% range with 0% being the lowest received value and 100% being the highest) to a threshold. Upon detecting that the average exceeds the threshold, the central server sends an electronic alert over the Internet to the governmental agency. Further, the central server sends text messages to the smartphones associated with the devices in the tornado-watch area indicating that the server has issued an escalated tornado-watch state.
  • a subset of the data e.g., the data within an 80-90% range with 0% being the lowest received value and 100% being the highest
  • Each light switch includes a motion detector. Users purchase the devices and mount each light switch to a wall. Within a building, each light switch communicates wirelessly with a control box that includes a processing system.
  • Each motion detector is continuously active. Once a motion detector detects motion, it transmits a signal to the control box identifying the light switch and indicating that motion has been detected. The control box correlates the motion detections across the light switches and identifies common patterns (e.g., a frequent successive detection sequence is one that activates the motion detector Switch #3, then #5, then #8). Based on these patterns, the control box estimates location information about the switches (e.g., Switch #3 is near Switch #5).
  • the control box can later receive select motion detections and forecast future motion detections (e.g., if detections are made by Switch #3 and then #5, the control box can forecast that motion will be detected by Switch #8).
  • the control box then sends messages to light switches involved in the forecast (e.g., Switch #8).
  • Switch #8 then automatically turns on the light before motion is detected.
  • the automatic lighting can be prevented if ambient lighting is above a threshold. In this way, a person's path can be illuminated as they walk throughout the house even if light switches are on opposite sides of the room from entryways.
  • Implementation of the techniques, blocks, steps and means described above may be done in various ways. For example, these techniques, blocks, steps and means may be implemented in hardware, software, or a combination thereof.
  • the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described above, and/or a combination thereof.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • processors controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described above, and/or a combination thereof.
  • the embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged.
  • a process is terminated when its operations are completed, but could have additional steps not included in the figure.
  • a process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
  • embodiments may be implemented by hardware, software, scripting languages, firmware, middleware, microcode, hardware description languages, and/or any combination thereof.
  • the program code or code segments to perform the necessary tasks may be stored in a machine readable medium such as a storage medium.
  • a code segment or machine-executable instruction may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a script, a class, or any combination of instructions, data structures, and/or program statements.
  • a code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, and/or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.

Landscapes

  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Emergency Management (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Geology (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Telephonic Communication Services (AREA)
  • Alarm Systems (AREA)

Abstract

Systems and methods for forecasting events can be provided. A measurement database can store sensor measurements, each having been provided by a non-portable electronic device with a primary purpose unrelated to collecting measurements from a type of sensor that collected the measurement. A measurement set identifier can select a set of measurements. The electronic devices associated with the set of measurements can be in close geographical proximity relative to their geographical proximity to other devices. An inter-device correlator can access the set and collectively analyze the measurements. An event detector can determine whether an event occurred. An event forecaster can forecast a future event property. An alert engine can identify one or more entities to be alerted of the future event property, generate at least one alert identifying the future event property, and transmit the at least one alert to the identified one or more entities.

Description

    CROSS-REFERENCES TO RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 13/601,890 filed Aug. 31, 2012, the full disclosure of which is incorporated herein by reference.
  • FIELD
  • This patent specification relates to systems, methods, and related computer program products for aggregating measurements obtained from a dynamic network of sensors in order to forecast external events. More particularly, this patent specification relates to a dynamic process of identifying a set of sensors (e.g., each being housed within a thermostat) applicable to an event's forecast, aggregating measurements from the set of sensors, and forecasting a future characteristic of the event based on the aggregated measurements.
  • BACKGROUND
  • Accurate and timely prediction of impending future events can be useful and beneficial in many ways. For example, predicting where and when severe weather events will strike can provide residents with the warning necessary to protect themselves and their belongings from the damage. As another example, timely prediction of impending earthquake events, even if provided only a few seconds in advance, can prevent injury or death by allowing recipients of earthquake alarm to move quickly to a safer location or position before the onset of the earthquake. Even predictions dealing with less severe events can result in substantial advantages. For example, if a person's actions can be reliably predicted, other related people can more efficiently plan their activities and/or particular conveniences can be appropriately timed to be ready upon the person's arrival at a location. Utilization of such advantages could improve productivity, safety, and comfort on many different scales and in many different ways.
  • Despite these strong advantages, producing reliable predictions remains a difficult task. There are many unknowns that influence a future event, and frequently, contributing variables are also unknown. Thus, weather predictions are frequently erroneous, natural disasters frequently strike without warning, and substantial time is wasted waiting on certain events, such as the arrival of others, or preparing an environment only after such others actually arrive.
  • SUMMARY
  • Provided according to one or more embodiments are systems, methods, computer program products, and related business methods for utilizing measurements obtained from a set of distributed sensors to predict events. Each sensor within a network of sensors can collect data and transmit the data to a central server. The central server can identify the set of sensors from the network of sensors by, e.g., identifying sensors within a geographical region, identifying sensors that transmitted data within a time period and/or identifying sensors that transmitted a particular type of data. The central server can then aggregate data across the set of sensors, estimate characteristics of a current event (e.g., its existence, severity, or movement), and predict characteristics of the event in the future. The central server can then transmit information about the predicted characteristic to one or more devices associated with users likely to be affected by or interested in the future event.
  • As a specific example, a building can include one or more smart devices, such as a thermostat, hazard-detection unit (e.g., smoke detector and/or carbon-monoxide detector), light switch, wall-plug interface, security system, or appliance. A network of devices can include smart devices across multiple rooms, across multiple buildings, across cities, etc. Within a given network, the devices can include different device types or same or similar device types. Each device within the network can include one or more sensors (e.g., to detect motion of the sensor, motion of an external object, temperature, humidity, or pressure). Data indicative of the sensor measurements can be conditionally transmitted (e.g., upon detection of an abnormal event) or regularly transmitted by a respective device to a central server. The central server can correlate the data across a set of devices in order to estimate whether readings are due to a sensor malfunction, a stationary event, or a moving event. For example, accelerometer readings from a set of devices within a locality (e.g., within a zip code) can be used to estimate whether an earthquake is occurring, temperature readings from a set of devices within a locality (e.g., within a city) can be used to estimate weather patterns, and motion-detection readings from a set of devices within a locality (within a set of rooms) can be used to estimate a trajectory of a person within a building. The central server can then predict characteristics of a future event (e.g., its location and/or strength), and can send alerts to other devices within a region predicted to be affected. The other devices can then alert users of the event or can automatically implement device settings to prepare for the event.
  • According to one or more preferred embodiments directed particularly to earthquake detection and prediction, it has been found particularly advantageous to embed one or more accelerometers or similar movement sensors within one or more network-connected smart-home devices that are each affixed to a home structure or that otherwise have normally stationary dispositions within the home. It has been found that network-connected thermostats and network-connected hazard detectors are two particularly useful smart-home devices within which to embed such sensors, although many other examples (network-connected light switches, network-connected doorbells, network-connected home appliances) are also within the scope of the present teachings. According to a preferred embodiment, the smart-home, accelerometer-equipped (or other motion-sensing-equipped) devices within any particular local geographic area (such as a ZIP code) are programmed and configured to quickly report the occurrence of their individual sensed movements to a common central server, such as a cloud-based server system, which is, in turn, is programmed and configured to perform correlation calculations on the received data to detect the occurrence of an earthquake event and, where applicable, promptly detect a geographical speed and trajectory of the earthquake event. Alarms or other advance warnings can then be promptly communicated to persons geographically located in the path of the earthquake event or to first responders. In one particularly advantageous embodiment, the same smart-home devices within which the accelerometers/movement sensors are embedded are also equipped to receive these warnings and to quickly provide audible and/or visual earthquake alarms to home occupants. Even if provided only seconds before the earthquake arrival, a valuable service is provided because these seconds can be used by the occupant to move to a safer location or position.
  • Especially for scenarios in which the network-connected smart-home devices (such as network-connected thermostats, network-connected hazard detectors, etc.) constitute even modestly popular consumer items, there is thereby functionally formed a “crowdsourced” earthquake detection network that can be orders of magnitude larger than known official earthquake detection networks in terms of the number of accelerometer/movement sensor nodes provided. Moreover, by virtue of correlations that can be performed for localized neighborhoods or geographies, the crowdsourced earthquake detection network can be highly robust against false alarms. Thus, for example, while one house in a neighborhood might be shaking due to romping teenagers or a nearby passing truck, which might trigger a sensed earthquake detection event when considered in isolation, the fact that other homes in the community are not shaking will be factored in by the correlations performed by the central server and the false-alarm condition will be avoided.
  • It is to be appreciated that, while crowdsourced earthquake detection based on a population of accelerometer-equipped, network-connected smart-home devices represents one particularly useful and advantageous embodiment, the scope of the present teachings is applicable across a broad variety of scenarios, including those discussed further herein, in which a population of smart-home devices is provided that are each equipped with one or more sensors, and the outputs of those sensors are received and processed in a groupwise manner to achieve one or more useful “crowdsourced” intelligence results. Not unimportantly, according to one or more of the preferred embodiments, the relative ubiquity of the sensor network that is key to the effective crowdsourced intelligence is fostered primarily by the popularity, attractiveness, and/or essential underlying functionality of the smart-home devices within which the sensors are embedded, rather than their functionality as part of the crowdsourced detection network. For example, for the particular exemplary scenario of a crowdsourced earthquake detection network, the accelerometers/movement sensors may be preferably embedded in a smart-home device comprising an elegant, visually appealing, intelligent, network-connected, self-programming thermostat such as that described in the commonly assigned US08195313B1, which is hereby incorporated by reference in its entirety for all purposes. Notably, the popularity and increasing ubiquity of the smart-home device of US08195313B1 is driven by its consumer appeal, along with the fact that every home usually needs at least one thermostat. While being a greatly beneficial by-product of the device'subiquity when adapted and configured according to the present teachings, the fact that the device can be made part of a life-saving crowdsourced earthquake detection network according to the present teachings need not itself be the central reason for that ubiquity.
  • In some embodiments, an event-forecasting system is provided. A measurement database can store a plurality of sensor measurements, each sensor measurement having been provided by a non-portable electronic device. A primary purpose of each respective electronic device can be unrelated to collecting measurements from a type of sensor that collected the sensor measurement. A measurement set identifier can select a set of sensor measurements from the plurality of sensor measurements in the measurement database. The electronic devices associated with the set of sensor measurements can be in close geographical proximity relative to their geographical proximity to other devices. An inter-device correlator can access the selected set of sensor measurements and collectively analyze the sensor measurements. An event detector can determine whether an event has occurred based on the results of the collective analysis. The determination that an event has occurred can require that a criterion involving at least two of the sensor measurements be satisfied. An event forecaster can forecast a future event property. The future event property can be forecasted based on a same or different collective analysis of the sensor measurements. An alert engine can identify one or more entities to be alerted of the future event property, can generate at least one alert identifying the future event property, and can transmit the at least one alert to the identified one or more entities.
  • In some embodiments, a method for forecasting events is provided. A plurality of sensor measurements in a measurement database can be stored, each sensor measurement having been provided by a mounted electronic device. A primary purpose of at least one respective electronic device can be not related to collecting measurements from a type of sensor that collected the sensor measurement. A set of sensor measurements from the plurality of sensor measurements in the measurement database can be selected. The electronic devices associated with the set of sensor measurements can be in close geographical proximity relative to their geographical proximity to other devices. The sensor measurements can be collectively analyzed to determine whether a large-scale event was occurring. The determination that a large-scale event was occurring can require consistency between at least two of the sensor measurements. A future event property can be forecasted. The future event property can be forecasted based on a same or different collective analysis of the sensor measurements. One or more entities to be alerted of the future event property can be identified. At least one alert identifying the future event property can be generated, and the at least one alert can be transmitted to the identified one or more entities.
  • In some embodiments, a crowdsourced event detection network is provided that includes a population of non-portable smart-home devices. Each smart-home device can have a primary function as one of a thermostat, a hazard detector, a wall switch, an entertainment device, a lighting device, and a home appliance. Each smart-home device can include a housing and at least one sensor coupled to the housing. The at least one sensor can be configured to sense at least one environmental characteristic or condition that is generally unrelated to the primary function of the smart-home device. Each smart-home device can further include a data transmission component configured to transmit first information representative of said least one sensed environmental characteristic or condition for reception by an aggregating processor. The aggregating processor can be configured and programmed to receive the first information from each of a plurality of the smart-home devices and to forecast a future event based on a collective analysis thereof. The aggregating processor can be further configured and programmed to identify one or more entities to be alerted of the forecasted future event and to transmit second information representative of the forecasted future event to the identified one or more entities.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The inventive body of work will be readily understood by referring to the following detailed description in conjunction with the accompanying drawings, in which:
  • FIG. 1 illustrates an example of general device components which can be included in an intelligent, network-connected device;
  • FIG. 2 illustrates an example of a smart home environment within which one or more of the devices, methods, systems, services, and/or computer program products described further herein can be applicable;
  • FIG. 3 illustrates a network-level view of an extensible devices and services platform with which a smart home environment can be integrated;
  • FIG. 4 illustrates an abstracted functional view of the extensible devices and services platform of FIG. 3;
  • FIG. 5 illustrates components of processing engine according to an embodiment of the invention;
  • FIGS. 6A and 6B illustrate flowcharts for processes 600 a of transmitting data from a device 100 to a remote server in accordance with an embodiment of the invention;
  • FIG. 7 illustrates a flowchart for a process of analyzing sensor data points to forecast event properties;
  • FIG. 8 illustrates a flowchart for a process of analyzing sensor data points to detect event properties;
  • FIG. 9 illustrates a flowchart for a process of forecasting event properties and sending alerts;
  • FIGS. 10A-10B illustrate an example of a thermostat device that may be used to collect sensor measurements;
  • FIG. 11 illustrates a block diagram of an embodiment of a computer system; and
  • FIG. 12 illustrates a block diagram of an embodiment of a special-purpose computer.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Provided according to one or more embodiments are systems, methods, computer program products, and related business methods for utilizing measurements obtained from a set of distributed sensors to predict events. Each sensor within a network of sensors can collect data and transmit the data to a central server. As used herein, central server refers to any of a variety of different processing devices and/or groups of processing devices that are capable of receiving data derived from the sensors and processing the received information. As would be readily appreciated by the skilled artisan, it is not required that the one or more processors forming the central server be located in any particular geographical location relative to the sensors or to each other. While in one embodiment the central server can be implemented in cloud-based computing and storage environment such as the EC2 (Elastic Compute Cloud) offering from Amazon.com of Seattle, Wash., it is to be appreciated that the central server can be implemented on any of a variety of different hardware and software platforms, ranging from concentrated single-location computing devices to distributed networks of computing devices, including virtualized computing devices. The central server can identify the set of sensors from the network of sensors by, e.g., identifying sensors within a geographical region, identifying sensors that have transmitted data within a time period and/or identifying sensors that have transmitted a particular type of data. The central server can then aggregate data across the set of sensors, estimate characteristics of a current event (e.g., its existence, severity, or movement), and predict characteristics of the event in the future. The central server can then transmit information about the predicted characteristic to one or more devices associated with users likely to be affected by or interested in the future event.
  • Embodiments described further herein are but representative examples of devices, methods, systems, services, and/or computer program products that can be used in conjunction with an extensible devices and services platform that, while being particularly applicable and advantageous in the smart home context, is generally applicable to any type of enclosure or group of enclosures (e.g., offices, factories or retail stores), vessels (e.g., automobiles or aircraft), or other resource-consuming physical systems that will be occupied by humans or with which humans will physically or logically interact. It will be appreciated that devices referred to herein need not be within an enclosure or vessel. For example, a device can be on an exterior surface, nearby or connected to an enclosure or vessel. As another example, a device can include a portable device, such as a cell phone or laptop, that is configured to be carried by a user. Thus, although particular examples are set forth in the context of a smart home, it is to be appreciated that the scope of applicability of the described extensible devices and services platform is not so limited.
  • As described further herein, one or more intelligent, multi-sensing, network-connected devices can be used to promote user comfort, convenience, safety and/or cost savings. FIG. 1 illustrates an example of general device components which can be included in an intelligent, network-connected device 100 (i.e., “device”). Each of one, more or all devices 100 within a system of devices can include one or more sensors 102, a user-interface component 104, a power supply (e.g., including a power connection 106 and/or battery 108), a communications component 110, a modularity unit (e.g., including a docking station 112 and replaceable module 114) and intelligence components 116. Particular sensors 102, user-interface components 104, power-supply configurations, communications components 110, modularity units and/or intelligence components 116 can be the same or similar across devices 100 or can vary depending on device type or model.
  • By way of example and not by way of limitation, one or more sensors 102 in a device 100 may be able to, e.g., detect acceleration, temperature, humidity, water, supplied power, proximity, external motion, device motion, sound signals, ultrasound signals, light signals, fire, smoke, carbon monoxide, global-positioning-satellite (GPS) signals, or radio-frequency (RF) or other electromagnetic signals or fields. Thus, for example, sensors 102 can include temperature sensor(s), humidity sensor(s), hazard-related sensor(s) or other environmental sensor(s), accelerometer(s), microphone(s), optical sensors up to and including camera(s) (e.g., charged-coupled-device or video cameras), active or passive radiation sensors, GPS receiver(s) or radio-frequency identification detector(s). While FIG. 1 illustrates an embodiment with a single sensor, many embodiments will include multiple sensors. In some instances, device 100 includes one or more primary sensors and one or more secondary sensors. The primary sensor(s) can sense data central to the core operation of the device (e.g., sensing a temperature in a thermostat or sensing smoke in a smoke detector). The secondary sensor(s) can sense other types of data (e.g., motion, light or sound), which can be used for energy-efficiency objectives or smart-operation objectives. In some instances, an average user may even be unaware of an existence of a secondary sensor.
  • One or more user-interface components 104 in device 100 may be configured to present information to a user via a visual display (e.g., a thin-film-transistor display or organic light-emitting-diode display) and/or an audio speaker. User-interface component 104 can also include one or more user-input components to receive information from a user, such as a touchscreen, buttons, scroll component (e.g., a movable or virtual ring component), microphone or camera (e.g., to detect gestures). In one embodiment, user-input component 104 includes a click-and-rotate annular ring component, wherein a user can interact with the component by rotating the ring (e.g., to adjust a setting) and/or by clicking the ring inwards (e.g., to select an adjusted setting or to select an option). In another embodiment, user-input component 104 includes a camera, such that gestures can be detected (e.g., to indicate that a power or alarm state of a device is to be changed).
  • A power-supply component in device 100 may include a power connection 106 and/or local battery 108. For example, power connection 106 can connect device 100 to a power source such as a line voltage source. In some instances, connection 106 to an AC power source can be used to repeatedly charge a (e.g., rechargeable) local battery 108, such that battery 108 can later be used to supply power if needed in the event of an AC power disconnection or other power deficiency scenario.
  • A communications component 110 in device 100 can include a component that enables device 100 to communicate with a central server or a remote device, such as another device described herein or a portable user device. Communications component 110 can allow device 100 to communicate via, e.g., Wi-Fi, ZigBee, 3G/4G wireless, CAT6 wired Ethernet, HomePlug or other powerline communications method, telephone, or optical fiber, by way of non-limiting examples. Communications component 110 can include a wireless card, an Ethernet plug, or nother transceiver connection.
  • A modularity unit in device 100 can include a static physical connection, and a replaceable module 114. Thus, the modularity unit can provide the capability to upgrade replaceable module 114 without completely reinstalling device 100 (e.g., to preserve wiring). The static physical connection can include a docking station 112 (which may also be termed an interface box) that can attach to a building structure. For example, docking station 112 could be mounted to a wall via screws or stuck onto a ceiling via adhesive. Docking station 112 can, in some instances, extend through part of the building structure. For example, docking station 112 can connect to wiring (e.g., to 120V line voltage wires) behind the wall via a hole made through a wall's sheetrock. Docking station 112 can include circuitry such as power-connection circuitry 106 and/or AC-to-DC powering circuitry and can prevent the user from being exposed to high-voltage wires. In some instances, docking stations 112 are specific to a type or model of device, such that, e.g., a thermostat device includes a different docking station than a smoke detector device. In some instances, docking stations 112 can be shared across multiple types and/or models of devices 100.
  • Replaceable module 114 of the modularity unit can include some or all sensors 102, processors, user-interface components 104, batteries 108, communications components 110, intelligence components 116 and so forth of the device. Replaceable module 114 can be configured to attach to (e.g., plug into or connect to) docking station 112. In some instances, a set of replaceable modules 114 are produced, with the capabilities, hardware and/or software varying across the replaceable modules 114. Users can therefore easily upgrade or replace their replaceable module 114 without having to replace all device components or to completely reinstall device 100. For example, a user can begin with an inexpensive device including a first replaceable module with limited intelligence and software capabilities. The user can then easily upgrade the device to include a more capable replaceable module. As another example, if a user has a Model #1 device in their basement, a Model #2 device in their living room, and upgrades their living-room device to include a Model #3 replaceable module, the user can move the Model #2 replaceable module into the basement to connect to the existing docking station. The Model #2 replaceable module may then, e.g., begin an initiation process in order to identify its new location (e.g., by requesting information from a user via a user interface).
  • Intelligence components 116 of the device can support one or more of a variety of different device functionalities. Intelligence components 116 generally include one or more processors configured and programmed to carry out and/or cause to be carried out one or more of the advantageous functionalities described herein. The intelligence components 116 can be implemented in the form of general-purpose processors carrying out computer code stored in local memory (e.g., flash memory, hard drive, random access memory), special-purpose processors or application-specific integrated circuits, combinations thereof, and/or using other types of hardware/firmware/software processing platforms. The intelligence components 116 can furthermore be implemented as localized versions or counterparts of algorithms carried out or governed remotely by central servers or cloud-based systems, such as by virtue of running a Java virtual machine (JVM) that executes instructions provided from a cloud server using Asynchronous Javascript and XML (AJAX) or similar protocols. By way of example, intelligence components 116 can be intelligence components 116 configured to detect when a location (e.g., a house or room) is occupied, up to and including whether it is occupied by a specific person or is occupied by a specific number of people (e.g., relative to one or more thresholds). Such detection can occur, e.g., by analyzing microphone signals, detecting user movements (e.g., in front of a device), detecting openings and closings of doors or garage doors, detecting wireless signals, detecting an IP address of a received signal, or detecting operation of one or more devices within a time window. Intelligence components 116 may include image-recognition technology to identify particular occupants or objects.
  • In some instances, intelligence components 116 can be configured to predict desirable settings and/or to implement those settings. For example, based on the presence detection, intelligence components 116 can adjust device settings to, e.g., conserve power when nobody is home or in a particular room or to accord with user preferences (e.g., general at-home preferences or user-specific preferences). As another example, based on the detection of a particular person, animal or object (e.g., a child, pet or lost object), intelligence components 116 can initiate an audio or visual indicator of where the person, animal or object is or can initiate an alarm or security feature if an unrecognized person is detected under certain conditions (e.g., at night or when lights are out). As yet another example, intelligence components 116 can detect hourly, weekly or even seasonal trends in user settings and adjust settings accordingly. For example, intelligence components 116 can detect that a particular device is turned on every week day at 6:30 am, or that a device setting is gradually adjusted from a high setting to lower settings over the last three hours. Intelligence components 116 can then predict that the device is to be turned on every week day at 6:30 am or that the setting should continue to gradually lower its setting over a longer time period.
  • In some instances, devices can interact with each other such that events detected by a first device influences actions of a second device. For example, a first device can detect that a user has pulled into a garage (e.g., by detecting motion in the garage, detecting a change in light in the garage or detecting opening of the garage door). The first device can transmit this information to a second device, such that the second device can, e.g., adjust a home temperature setting, a light setting, a music setting, and/or a security-alarm setting. As another example, a first device can detect a user approaching a front door (e.g., by detecting motion or sudden light-pattern changes). The first device can, e.g., cause a general audio or visual signal to be presented (e.g., such as sounding of a doorbell) or cause a location-specific audio or visual signal to be presented (e.g., to announce the visitor's presence within a room that a user is occupying).
  • FIG. 2 illustrates an example of a smart home environment within which one or more of the devices, methods, systems, services, and/or computer program products described further herein can be applicable. The depicted smart home environment includes a structure 250, which can include, e.g., a house, office building, garage, or mobile home. It will be appreciated that devices can also be integrated into a smart home environment that does not include an entire structure 250, such as an apartment, condominium, or office space. Further, the smart home environment can control and/or be coupled to devices outside of the actual structure 250. Indeed, several devices in the smart home environment need not physically be within the structure 250 at all. For example, a device controlling a pool heater or irrigation system can be located outside of the structure 250.
  • The depicted structure 250 includes a plurality of rooms 252, separated at least partly from each other via walls 254. The walls 254 can include interior walls or exterior walls. Each room can further include a floor 256 and a ceiling 258. Devices can be mounted on, integrated with and/or supported by a wall 254, floor or ceiling.
  • The smart home depicted in FIG. 2 includes a plurality of devices, including intelligent, multi-sensing, network-connected devices that can integrate seamlessly with each other and/or with cloud-based server systems to provide any of a variety of useful smart home objectives. One, more or each of the devices illustrated in the smart home environment and/or in the figure can include one or more sensors, a user interface, a power supply, a communications component, a modularity unit and intelligent software as described with respect to FIG. 1. Examples of devices are shown in FIG. 2.
  • An intelligent, multi-sensing, network-connected thermostat 202 can detect ambient climate characteristics (e.g., temperature and/or humidity) and control a heating, ventilation and air-conditioning (HVAC) system 203. One or more intelligent, network-connected, multi-sensing hazard detection units 204 can detect the presence of a hazardous substance and/or a hazardous condition in the home environment (e.g., smoke, fire, or carbon monoxide). One or more intelligent, multi-sensing, network-connected entryway interface devices 206, which can be termed a “smart doorbell”, can detect a person's approach to or departure from a location, control audible functionality, announce a person's approach or departure via audio or visual means, or control settings on a security system (e.g., to activate or deactivate the security system).
  • Each of a plurality of intelligent, multi-sensing, network-connected wall light switches 208 can detect ambient lighting conditions, detect room-occupancy states and control a power and/or dim state of one or more lights. In some instances, light switches 208 can further or alternatively control a power state or speed of a fan, such as a ceiling fan. Each of a plurality of intelligent, multi-sensing, network-connected wall plug interfaces 210 can detect occupancy of a room or enclosure and control supply of power to one or more wall plugs (e.g., such that power is not supplied to the plug if nobody is at home). The smart home may further include a plurality of intelligent, multi-sensing, network-connected appliances 212, such as refrigerators, stoves and/or ovens, televisions, washers, dryers, lights (inside and/or outside the structure 250), stereos, intercom systems, garage-door openers, floor fans, ceiling fans, whole-house fans, wall air conditioners, pool heaters 214, irrigation systems 216, security systems, and so forth. While descriptions of FIG. 2 can identify specific sensors and functionalities associated with specific devices, it will be appreciated that any of a variety of sensors and functionalities (such as those described throughout the specification) can be integrated into the device.
  • In addition to containing processing and sensing capabilities, each of the devices 202, 204, 206, 208, 210, 212, 214 and 216 can be capable of data communications and information sharing with any other of the devices 202, 204, 206, 208, 210, 212, 214 and 216 devices, as well as to any cloud server or any other device that is network-connected anywhere in the world. The devices can send and receive communications via any of a variety of custom or standard wireless protocols (Wi-Fi, ZigBee, 6LoWPAN, etc.) and/or any of a variety of custom or standard wired protocols (CAT6 Ethernet, HomePlug, etc.). The wall plug interfaces 210 can serve as wireless or wired repeaters, and/or can function as bridges between (i) devices plugged into AC outlets and communicating using Homeplug or other power line protocol, and (ii) devices that not plugged into AC outlets.
  • For example, a first device can communicate with a second device via a wireless router 260. A device can further communicate with remote devices via a connection to a network, such as the Internet 262. Through the Internet 262, the device can communicate with a central server or a cloud-computing system 264. The central server or cloud-computing system 264 can be associated with a manufacturer, support entity or service provider associated with the device. For one embodiment, a user may be able to contact customer support using a device itself rather than needing to use other communication means such as a telephone or Internet-connected computer. Further, software updates can be automatically sent from the central server or cloud-computing system 264 to devices (e.g., when available, when purchased, or at routine intervals).
  • By virtue of network connectivity, one or more of the smart-home devices of FIG. 2 can further allow a user to interact with the device even if the user is not proximate to the device. For example, a user can communicate with a device using a computer (e.g., a desktop computer, laptop computer, or tablet) or other portable electronic device (e.g., a smartphone) 266. A webpage or app can be configured to receive communications from the user and control the device based on the communications and/or to present information about the device's operation to the user. For example, the user can view a current setpoint temperature for a device and adjust it using a computer. The user can be in the structure during this remote communication or outside the structure.
  • The smart home also can include a variety of non-communicating legacy appliances 140, such as old conventional washer/dryers, refrigerators, and the like which can be controlled, albeit coarsely (ON/OFF), by virtue of the wall plug interfaces 210. The smart home can further include a variety of partially communicating legacy appliances 242, such as IR-controlled wall air conditioners or other IR-controlled devices, which can be controlled by IR signals provided by the hazard detection units 204 or the light switches 208.
  • FIG. 3 illustrates a network-level view of an extensible devices and services platform with which the smart home of FIG. 1 and/or 2 can be integrated. Each of the intelligent, network-connected devices from FIG. 2 can communicate with one or more remote central servers or cloud computing systems 264. The communication can be enabled by establishing connection to the Internet 262 either directly (for example, using 3G/4G connectivity to a wireless carrier), though a hubbed network (which can be scheme ranging from a simple wireless router, for example, up to and including an intelligent, dedicated whole-home control node), or through any combination thereof.
  • The central server or cloud-computing system 264 can collect operation data 302 from the smart home devices. For example, the devices can routinely transmit operation data or can transmit operation data in specific instances (e.g., when requesting customer support). The central server or cloud-computing architecture 264 can further provide one or more services 304. The services 304 can include, e.g., software update, customer support, sensor data collection/logging, remote access, remote or distributed control, or use suggestions (e.g., based on collected operation data 304 to improve performance, reduce utility cost, etc.). Data associated with the services 304 can be stored at the central server or cloud-computing system 264 and the central server or cloud-computing system 264 can retrieve and transmit the data at an appropriate time (e.g., at regular intervals, upon receiving request from a user, etc.).
  • One salient feature of the described extensible devices and services platform, as illustrated in FIG. 3, is a processing engine 306, which can be concentrated at a single server or distributed among several different computing entities without limitation. Processing engine 306 can include engines configured to receive data from a set of devices (e.g., via the Internet or a hubbed network), to index the data, to analyze the data and/or to generate statistics based on the analysis or as part of the analysis. The analyzed data can be stored as derived data 308. Results of the analysis or statistics can thereafter be transmitted back to a device providing ops data used to derive the results, to other devices, to a server providing a webpage to a user of the device, or to other non-device entities. For example, use statistics, use statistics relative to use of other devices, use patterns, and/or statistics summarizing sensor readings can be transmitted. The results or statistics can be provided via the Internet 262. In this manner, processing engine 306 can be configured and programmed to derive a variety of useful information from the operational data obtained from the smart home. A single server can include one or more engines.
  • The derived data can be highly beneficial at a variety of different granularities for a variety of useful purposes, ranging from explicit programmed control of the devices on a per-home, per-neighborhood, or per-region basis (for example, demand-response programs for electrical utilities), to the generation of inferential abstractions that can assist on a per-home basis (for example, an inference can be drawn that the homeowner has left for vacation and so security detection equipment can be put on heightened sensitivity), to the generation of statistics and associated inferential abstractions that can be used for government or charitable purposes. For example, processing engine 306 can generate statistics about device usage across a population of devices and send the statistics to device users, service providers or other entities (e.g., that have requested or may have provided monetary compensation for the statistics). As specific illustrations, statistics can be transmitted to charities 322, governmental entities 324 (e.g., the Food and Drug Administration or the Environmental Protection Agency), academic institutions 326 (e.g., university researchers), businesses 328 (e.g., providing device warranties or service to related equipment), or utility companies 330. These entities can use the data to form programs to reduce energy usage, to preemptively service faulty equipment, to prepare for high service demands, to track past service performance, etc., or to perform any of a variety of beneficial functions or tasks now known or hereinafter developed.
  • FIG. 4 illustrates an abstracted functional view of the extensible devices and services platform of FIG. 3, with particular reference to the processing engine 306 as well as the devices of the smart home. Even though the devices situated in the smart home will have an endless variety of different individual capabilities and limitations, they can all be thought of as sharing common characteristics in that each of them is a data consumer 402 (DC), a data source 404 (DS), a services consumer 406 (SC), and a services source 408 (SS). Advantageously, in addition to providing the essential control information needed for the devices to achieve their local and immediate objectives, the extensible devices and services platform can also be configured to harness the large amount of data that is flowing out of these devices. In addition to enhancing or optimizing the actual operation of the devices themselves with respect to their immediate functions, the extensible devices and services platform can also be directed to “repurposing” that data in a variety of automated, extensible, flexible, and/or scalable ways to achieve a variety of useful objectives. These objectives may be predefined or adaptively identified based on, e.g., usage patterns, device efficiency, and/or user input (e.g., requesting specific functionality).
  • For example, FIG. 4 shows processing engine 306 as including a number of paradigms 410. Processing engine 306 can include a managed services paradigm 410 a that monitors and manages primary or secondary device functions. The device functions can include ensuring proper operation of a device given user inputs, estimating that (e.g., and responding to) an intruder is or is attempting to be in a dwelling, detecting a failure of equipment coupled to the device (e.g., a light bulb having burned out), implementing or otherwise responding to energy demand response events, or alerting a user of a current or predicted future event or characteristic. Processing engine 306 can further include an advertising/communication paradigm 410 b that estimates characteristics (e.g., demographic information), desires and/or products of interest of a user based on device usage. Services, promotions, products or upgrades can then be offered or automatically provided to the user. Processing engine 306 can further include a social paradigm 410 c that uses information from a social network, provides information to a social network (for example, based on device usage), and/or processes data associated with user and/or device interactions with the social network platform. For example, a user's status as reported to their trusted contacts on the social network could be updated to indicate when they are home based on light detection, security system inactivation or device usage detectors. As another example, a user may be able to share device-usage statistics with other users. Processing engine 306 can include a challenges/rules/compliance/rewards paradigm 410 d that informs a user of challenges, rules, compliance regulations and/or rewards and/or that uses operation data to determine whether a challenge has been met, a rule or regulation has been complied with and/or a reward has been earned. The challenges, rules or regulations can relate to efforts to conserve energy, to live safely (e.g., reducing exposure to toxins or carcinogens), to conserve money and/or equipment life, to improve health, etc.
  • Processing engine 306 can integrate or otherwise utilize extrinsic information 416 from extrinsic sources to improve the functioning of one or more processing paradigms. Extrinsic information 416 can be used to interpret operational data received from a device, to determine a characteristic of the environment near the device (e.g., outside a structure that the device is enclosed in), to determine services or products available to the user, to identify a social network or social-network information, to determine contact information of entities (e.g., public-service entities such as an emergency-response team, the police or a hospital) near the device, etc., to identify statistical or environmental conditions, trends or other information associated with a home or neighborhood, and so forth.
  • An extraordinary range and variety of benefits can be brought about by, and fit within the scope of, the described extensible devices and services platform, ranging from the ordinary to the profound. Thus, in one “ordinary” example, each bedroom of the smart home can be provided with a smoke/fire/CO alarm that includes an occupancy sensor, wherein the occupancy sensor is also capable of inferring (e.g., by virtue of motion detection, facial recognition, audible sound patterns, etc.) whether the occupant is asleep or awake. If a serious fire event is sensed, the remote security/monitoring service or fire department is advised of how many occupants there are in each bedroom, and whether those occupants are still asleep (or immobile) or whether they have properly evacuated the bedroom. While this is, of course, a very advantageous capability accommodated by the described extensible devices and services platform, there can be substantially more “profound” examples that can truly illustrate the potential of a larger “intelligence” that can be made available. By way of perhaps a more “profound” example, the same data bedroom occupancy data that is being used for fire safety can also be “repurposed” by the processing engine 306 in the context of a social paradigm of neighborhood child development and education. Thus, for example, the same bedroom occupancy and motion data discussed in the “ordinary” example can be collected and made available for processing (properly anonymized) in which the sleep patterns of schoolchildren in a particular ZIP code can be identified and tracked. Localized variations in the sleeping patterns of the schoolchildren may be identified and correlated, for example, to different nutrition programs in local schools.
  • FIG. 5 illustrates components of processing engine 306 according to an embodiment of the invention. Processing engine 306 can receive data points indicative of sensor measurements from each of a plurality of devices. Each data point can include multiple values, such as a continuous-scale, discrete-scale or binary sensor measurement; a measurement time; a transmission time; a device identifier; and/or a device location identifier. For example, a data point can include one or more temperature, pressure, humidity, acceleration or motion-detection sensor readings. The data point can be stored in a data-point database 502.
  • Processing engine 306 can include a data set identifier 504, which can identify a set of data points to analyze. In various embodiments, different events can initiate the set identification For example, a data set can be identified upon receiving a data point with a concerning or unusual sensor measurement, upon receiving a request from a user or other entity for event information, or at regular intervals.
  • In some instances, all data within a data set is received from a same device type (e.g., all from sprinkler systems) and/or relates to measurements of a same or similar type (e.g., all including temperature data). In some instances, data within a data is received from different device types and/or relates to measurements of different types. The set of data points can include data points associated with similar locations and/or times. For example, the set of data points can include all data points associated with a same zip code and received within a particular time period (e.g., the last 30 seconds, 1 minute, 5 minutes, 10 minutes, 30 minutes, 60 minutes, 2 hours, 6 hours, 12 hours or 24 hours). As another example, the set of data points can include all data points associated with a location that is less than a fixed distance away from a location of an instant data point. To illustrate, if a data point indicates that massive acceleration is detected at Location #1, then the data set can include all data points associated with a location less than 1 mile away from Location #1 and received within the last minute.
  • In order to identify data points associated with similar locations, data set identifier 504 can use a device-location database 506. For example, each device of a plurality of devices can transmit one or more data points to processing engine 306 over a period of time. The data point can include a device ID and a location (e.g., determined based on user input or location-identification technology, such as GPS technology). Processing engine 306 can thereafter populate a device-location database 506 to associate each device ID with the respective location (the location including, e.g., geographical coordinates, a street address, a county, a city, and/or a zip code). Subsequently, if data set identifier 504 is attempting to identify a set of data points near a particular location (e.g., a location associated with an instant data point), data set identifier 504 can consult device-location database 505 to identify appropriate device IDs and can then search for data points within data-point database 502 that are associated with the device IDs.
  • A weight/adjustment assigner 508 can assign a weight and/or adjustment to each of one, more or all data-point values within the data set. The weight can be associated with an estimated reliability or a sensor or device associated with a respective data-point value. A given device can be less reliable than others, e.g., due to its age, its model, its device type, its mounting position (e.g., vertical versus horizontal), its location (e.g., upstairs versus downstairs), or stability or insulation of an enclosure surrounding or supporting the device (e.g., with older houses being more influenced by external environments than newer houses).
  • Weight/adjustment assigner 508 can determine a weight to be associated with a device by assessing data-point values associated with the device over a period of time. A device associated with highly variable data-point values can be assigned (depending on the embodiment) a relatively high weight to indicate that the sensor is sensitive to environmental changes and provides informative data or a relatively low weight to indicate that the sensor is likely uncalibrated or malfunctioning. In some instances, data-point values over the time period are compared to data-point values from other devices (e.g., near the instant device). A high weight can be assigned to a device with data-point values well-correlated with or predictive of data-point values of the other devices. Weights can be dynamically adjusted by, e.g., repeatedly analyzing recently received data points (e.g., by redefining an analyzed time period to be a recent time period). A weight can include, e.g., a number, such as a scaled number (e.g., between 0-1).
  • In some instances, it might be determined that the data-point values are likely inaccurate, but they can nonetheless be informative. In some instances, the data-point values have little to no inaccuracy but exhibit an inconsistency with other data-point values due to, e.g., different device models, sensor types, or device types. In these cases, it can be advantageous to highly weight the data-point values, but also to adjust the values. For example, a sensor can be biased to always collect biased measurements (e.g., 10 units or 10% above actual values or measurements with a nonlinear bias). Data-point value inaccuracies or inconsistencies can be due to variation across devices in a device's mounting position, a device's location, or a property of an enclosure surrounding or supporting the device.
  • Weight/adjustment assigner 508 can determine an adjustment to be associated with a device by assessing data-point values associated with the device over a period of time. The data-point values can be compared to data-point values of other devices or to control values. For example weight/adjustment assigner 508 can compare an average of a device's data-point value across a time period to a set value (e.g., 0 or 9.8 m/s2 for an accelerometer reading), a value looked up from an external source (e.g., an average temperature over the time period), or a calculated value (e.g., a mean, median or mode of device-specific average values across a set of nearby devices). As another example, weight/adjustment assigner 508 can compare individual data-point values across a time period to other values (e.g., a mean, median or mode of time-matched data-point values for a set of devices). The determined adjustment can include a single value, such as one that can be added to or multiplied to data-point values, or a more complicated function, such as a power function or logarithmic function.
  • Weight/adjustment assigner 508 can periodically determine weights and/or adjustments and store the weights and/or adjustments in one or more look-up tables (e.g., a weight look-up table and an adjustment look-up table). Each weight and/or adjustment can be associated with a device and/or sensor (e.g., using a device ID or sensor ID). In some instances, blank entries in the look-up table can be associated with a default assignment (e.g., a default weight or no adjustment), or the look-up table can be prepopulated with the default assignments which can thereafter be adjusted by weight/adjustment assigner.
  • Upon identification of a data set by data set identifier 504, the set identification can be transmitted to an inter-device correlator 510. In some instances, the identified set includes set properties (e.g., Device IDs: a1-a10 and transmission times: b1-b2). Thus, the identified set includes one or more data-set criteria. Inter-device correlator 510 can then pull the data points from data-point database 502 that corresponds to the data set. In some instances, data set identifier 504 identifies a specific set of data points (e.g., Data Point IDs: c1-20). In these instances, either data set identifier 504 can retrieve the appropriate data points from data-point database 502 and transmit them to inter-device correlator 510 or inter-device correlator 510 can itself retrieve the points.
  • Inter-device correlator 510 analyzes the set of data points collectively in an attempt to identify whether an event resulted in observed sensor readings. For example, an earthquake would give rise to large accelerometer readings, a power outage would give rise to low voltage-detection measurements, a tornado would give rise to low pressure measurements, or a storm and/or clouds would give rise to low outdoor light intensities. However, each of these measurements could be caused by other factors within a single device (e.g., house renovations or romping teenagers causing large accelerometer readings; intentionally turning off the power causing low voltage-detection measurements; faulty sensor readings causing low pressure measurements; or a deck covering causing low outdoor light intensities). By collectively analyzing the data points, inter-device correlator 510 can better estimate whether a very local event or a more substantial event caused the sensor readings. Consistent and correlated readings across a set of nearby devices (e.g., across a neighborhood or zip code) suggest the presence of a substantial event.
  • Inter-device correlator 510 can utilize any of a variety of techniques to collectively analyze the set of data points. For example, statistics can be performed to determine whether dramatic sensor readings were outliers. Similarly, clustering techniques can be used to determine whether at least a plurality of devices exhibited similar extreme sensor readings. Location- and/or time-sensitive fitting (e.g., 1-d or 2-d Gaussian fitting) can be used to characterize whether sensor readings vary in a continuous manner.
  • The analysis performed by inter-device correlator 510 (e.g., and data properties analyzed by inter-device correlator 510) can include analyses used to predict an event of interest. For example, earthquake prediction techniques disclosed in Allen et al., Real-time earthquake detection and hazard assessment by ElarmS across California, Geophysical Research Letters, 36, 2009: 1-6, by Sakaki et al., Earthquake shakes Twitter users: real-time event detection by social sensors, WWW 2010, 2010: 851:860, and/or by U.S. Pat. No. 6,356,204, each of which is hereby incorporated by reference in its entirety for all purposes, can be used.
  • Inter-device correlator 510 can produce one or more parameters as a result of the analysis. The parameters could include, e.g., a reliability metric, an extreme sensor reading, a time and/or location associated with an extreme sensor reading, or one or more fit parameters (e.g., a Gaussian-fit amplitude, offset and/or width or a quality-of-fit metric). These parameters can be transmitted to an event detector 512.
  • Based on the parameters, event detector 512 can estimate whether an event occurred, a magnitude of the event, a location of the event, a past trajectory of the event, and/or a time of the event. For example, to determine whether an event occurred, event detector 512 can compare a percentage of data points with dramatic sensor measurement values (e.g., beyond one or two standard deviations from the mean or above or below a fixed measurement threshold) to a percentage threshold, or event detector 512 can compare a quality-of-fit metric to a threshold. Event detector 512 can estimate a location and/or time of an event based on when and/or where extreme sensor readings occurred or based on an offset fit parameter. Event detector 512 can estimate a trajectory based on a tracking locations associated with dramatic measurement values over a period of time or based on time-sensitive fit parameters. Event detector 512 can estimate an event magnitude based on a single dramatic measurement value (e.g., the highest or lowest within the set), an average of dramatic measurement values (e.g., an average of the 5 highest or lowest within the set), or a fit parameter (e.g., a Gaussian-fit amplitude).
  • After an event has been detected, an event forecaster 514 can make predictions about future characteristics of the event. For example, event forecaster 514 can predict where the event will later move to and when it will reach that destination. Event forecaster 514 can predict one or more “affected areas” which will experience effects of given characteristics of the event. These predictions can be made based on past trajectories of the event (e.g., estimated by event detector 512) and/or known trajectory characteristics of the type of event. Event forecaster 514 can predict future strengths or characteristic changes of the event. For example, an earthquake's strength can decrease as it spreads, and a precipitation type (e.g., snow, rain, or hail) can change as a storm moves. Event characteristics can depend on current characteristics of other areas, such as a current temperature, annual precipitation level, altitude, etc. Thus, event forecaster 514 can identify these characteristics (e.g., based on data in data points within the identified data set or other data points or from an external source) and use the characteristics in its forecasting.
  • An alert engine 516 can then generate and transmit alerts that are indicative of or identify the forecasted event. In some instances, alert engine 516 identifies devices in locations likely to be affected by the event in the future. Alert engine 516 can specifically receive a location zone or location criterion from event forecaster 514 and identify devices in that location based on data in the device-locations database 506. These devices can include devices within the identified data set and/or other devices. Alerts can then be sent to the identified devices.
  • In some instances, alert engine 516 identifies users likely to be interested in the event. A user-profile database 518 can associate, for each user, a telephone number (e.g., a cellular phone number), an email, or a portable device ID with a device ID. Alert engine 516 can predict that a user will be interested in the event if the event is predicted to affect a location at which the device is located (e.g., a home) or if the user is estimated to be within an area predicted to be affected (e.g., determined based on cell-phone tracking techniques). Alert engine 516 can then send alerts to the users via a telephone call, email or notification sent to a portable device.
  • In some instances, alert engine 516 is sent to higher-level entities, such as an emergency-control center, health-care workers, utility company, weather station, etc. These higher-level entities can themselves alert areas likely be affected by the event, attempt to reduce the event's effect, or prepare for post-event action.
  • An alert can explicitly or implicitly identify an event type, an indication that the event is forecasted to reach a specific location, a prediction as to when the event will reach the location, an actual and/or predicted trajectory of the event, and a past and/or predicted event magnitude. The follow lists examples of possible alerts:
      • Text message sent to user's cell phone reading: “Earthquake imminent. Take cover.”
      • Phone message sent to user's cell phone stating: “Severe hail storm predicted to reach your house at 4:30 pm.”
      • Signal sent to wall thermostat that causes the thermostat to broadcast: “Tornado watch.”
      • Signal sent to a user's wall plug interfaces indicating that the devices should safely kill power within 1 minute due to forecasted power outage.
  • Alerts can be sent, e.g., over a network such as the Internet or over a cell-phone network. User preferences can indicate how they wish to be alerted (e.g., via text message, phone call, or home device alert). For fast-moving events, alerts can be pushed to users to ensure that users are provided with notice in as much advance as possible. In some instances, users can pull for alerts. For example, a user can request a local forecast or request the probability of a nearby hail storm reaching a current location or home location.
  • While some embodiments herein indicate or imply that processing engine 306 is located within a central server, it will be appreciated that, in some instances, other devices can include processing engine 306. Thus, devices 100 can communicate in a peer-to-peer manner. For example, a device that detects a potentially concerning. or important event can transmit data point to one or more nearby devices (e.g., in different rooms or different buildings). The nearby devices could then determine whether a large-scale event is occurring by comparing its data to that of the other device's, and, if so, transmit alerts to yet more devices. As another example, the device can pull data points from nearby devices, determine whether a large-scale event is occurring, and, if so, transmit alerts to yet more devices. As yet another example, each device can routinely transmit data points to nearby devices, such that a device can instantly estimate whether a large-scale event is occurring.
  • FIG. 6A illustrates a flowchart for a process 600 a of transmitting data from a device 100 to a remote server in accordance with an embodiment of the invention. At block 605, a sensor measurement is detected. In some instances, the sensor measurement is collected by the sensor at routine intervals (e.g., every minute, 5 minutes, 15 minutes, 30 minutes, hour, 2 hours, 6 hours, 12 hours or 24 hours). In some instances, the sensor measurement is only collected upon the occurrence of particular external effects. For example, device 100 can include a sensor that only detects movement if a central mass is sufficiently moved to reach a perimeter or external notch.
  • At block 610, it is determined whether a transmission criterion is satisfied. The transmission criterion can relate to the sensor measurement. For example, the criterion can require the measurement to be above a threshold, below a threshold, or to have changed from a previous measurement by at least a given amount.
  • If the criterion is satisfied, process 600 a can continue to block 615, at which sensor data is transmitted. The sensor data can include a raw version of the sensor measurement or a processed version of the sensor measurement (e.g., normalized, time-averaged, or otherwise filtered or processed). The sensor data can further include, e.g., a measurement time; a transmission time; a device identifier; and/or a device location identifier. The sensor data can be transmitted wirelessly to a central server or to other devices (e.g., other nearby devices).
  • Following the data transmission, or if the transmission criterion is determined to not be satisfied at block 610, process 600 a continues to block 620, at which the process is paused until the next measurement time. This could entail pausing the process for a defined time interval or pausing the process until another sensor measurement is detected based on an external effect. Following the pause, process 600 a returns to block 605.
  • FIG. 6B illustrates a flowchart for another process 600 b of transmitting data from a device 100 to a remote server in accordance with an embodiment of the invention. Process 600 b is similar to that of process 600 a. However, process 600 b does not include block 610. Thus, sensor data is reliably transmitted upon detection of the sensor measurement. This could result in regular sensor-data transmission or transmission of sensor data each time that an external effect resulted in the sensor measurement to be detected.
  • FIG. 7 illustrates a flowchart for a process 700 of analyzing sensor data points to forecast event properties. At block 705, a plurality of sensor data points are accessed. In some instances, a central server receives data points for each of a plurality of devices. In some instances, a device generates at least one sensor data point based on a measurement by a local sensor and receives at least one sensor data point from another device. Thus, a data point can be accessed after it is received from another device or after it is locally generated. Each sensor data point can include a raw or processed sensor measurement value; a measurement time; a transmission time; a device identifier; and/or a device location identifier.
  • At block 710, each sensor data point can be associated with a time and location. The time can include a time at which the sensor data point was generated or received or a time within the sensor data point (e.g., a measurement time). The location can include a location within the sensor data point or a location associated with a device ID in the sensor data point (e.g., determined based on associations in device-locations database 506). In some instances, the sensor data points and the associated times and locations are stored in data-point database 502. It will be appreciated that the plurality of data points can be accessed, associated with times and locations and/or stored at a same time or at different times (e.g., subsequent to receipt of each data point).
  • At block 715, a set of sensor data points is identified (e.g., by data set identifier 504). In some instances, this identification is precipitated by and/or conditioned on detection of an abnormal sensor measurement in a data point, a request by a user or external entity for an event-detection or event-forecast analysis, or passage of a routine time interval. The identified set of sensor data points can include those associated with a location within a same geographic region and/or those associated with a time within a same time period. The geographic region can be determined based on a location associated with a data point having an abnormal (e.g., above- or below-threshold) sensor measurement or a location associated with a request for an event-detection or event-forecast analysis.
  • At block 720, the set of sensor data points is analyzed (e.g., by inter-device correlator 510). The analysis can include determining whether an abnormal sensor measurement is consistent or inconsistent with other sensor measurements, generating statistics, generating a model, performing a data fit, and comparing generated statistics or values to one or more thresholds.
  • At block 725, it can be determined whether a particular type of event is occurring, and, if so, the event's location, magnitude and/or trajectory (e.g., by event detector 512). The determination about the event's occurrence can be determined based on a number or percentage of data points having a characteristic sensor measurement (e.g., above-threshold or below-threshold measurements), quality-of-fit statistics, or estimated event magnitude (e.g., concluding that no event occurred if a sufficiently low magnitude is estimated). The location, magnitude and/or trajectory can be determined based on which data points were associated with the most extreme measurements, fit parameters (e.g., offset parameters) and/or time-sensitive analyses.
  • At block 730, future event properties can be forecasted (e.g., by event forecaster 514). The future event properties can include a future location and/or magnitude of the event. In some instances, the future properties indicate qualitative properties of the event, such as whether a storm will produce snow, hail or rain. The future event properties can be forecasted, e.g., based on time-sensitive analyses, using a predictive model, or based on known trajectory or propagation properties associated with the event type.
  • At block 735, entities to be alerted are identified (e.g., by alert engine 516). Block 735 can include identifying locations likely to be affected by the event in the future and identifying devices within the locations. The identified entities can then either include those devices or users associated with those devices (e.g., to be alerted via phone, text message or email). In some instances, block 735 includes identifying entities that requested general alerts (e.g., requesting an alert whenever an event is detected within a nearby area) or requesting specific alerts (e.g., recently having requested a local forecast).
  • At block 740, alerts are generated and sent to the identified entities (e.g., by alert engine 516). The alerts can include an indication that the event was detected, an estimate of the event's past location, time or magnitude, and/or an indication of the event's forecasted future (e.g., its future location, arrival time and magnitude).
  • FIG. 8 illustrates a flowchart for a process 800 of analyzing sensor data points to detect event properties. For example, block 720 of process 700 can include one, more or all of blocks 805-820 of process 800.
  • At block 805, a weight is applied to each of one, more or all sensor data points (e.g., by inter-device correlator 510). The weight can represent or be indicative of a reliability of the sensor data point or how informative the sensor data point as to one or more event properties. In some instances, a plurality of weights are applied to each data point. For example, a first weight can be used when attempting to determine whether an event occurred or is occurring, and one or more second weights can be used to determine a magnitude, location or trajectory of the event. Thus, if a particular device's sensor reliably measured an above-threshold reading only when the event occurred, but the measurement was otherwise uninformative as to the event's magnitude, multiple weights could be useful (e.g., weighting more highly the sensor reading to first determine whether an event occurred and then weighting more lowly the sensor reading to determine event properties).
  • The weight can be identified by, e.g., looking up an identifier (e.g., a device or sensor identifier) in a look-up table. The look-up table can include one or more weights for the identifier. These stored weights may have been previously determined (e.g., by weight/adjustment assigner 508), e.g., by analyzing past sensor data points with respect to known event properties, by considering whether a particular device's sensor data points reliably co-varied with other nearby device's sensor data points, and/or by assessing variability across past sensor data points. It will be appreciated that, in some instances, the weights are stored in multiple look-up tables (e.g., each relating to a different event property).
  • At block 810, an adjustment is applied to one or more sensor data points (e.g., by inter-device correlator 510). The adjustment can include a linear adjustment (e.g., such that a sensor measurement should be adjusted based on an additive or multiplicative factor) or a nonlinear adjustment. In some instances, a plurality of adjustments are applied to each data point. For example, a first adjustment can be used when attempting to determine whether an event occurred or is occurring, and one or more second adjustments can be used to determine a magnitude, location or trajectory of the event. As a specific illustration, a first adjustment could include a step-wise function that transforms a sensor measurement to “1” if it as above a threshold and “0” otherwise, and a second adjustment could include a multiplicative and additive scaling factor. In both instances, the adjustments can result in normalized sensor measurements across devices, though the first adjustment may be more useful when determining a binary condition (e.g., “Did the event occur—yes or no”) and the second adjustment may be more useful when determining a continuous condition (e.g., “Where was the center of the event”).
  • The adjustment can be identified by, e.g., looking up an identifier (e.g., a device or sensor identifier) in a look-up table. The look-up table can include one or more adjustments for the identifier. These stored adjustments may have been previously determined (e.g., by weight/adjustment assigner 508), e.g., by analyzing past sensor data points with respect to known event properties, by considering whether a particular device's sensor data points reliably co-varied with other nearby device's sensor data points, and/or by assessing variability across past sensor data points. In some instances, a single look-up table stores both weights and adjustments. In some instances, different look-up tables store weights and adjustments. It will be appreciated that, in some instances, the adjustments are stored in multiple look-up tables (e.g., each relating to a different event property).
  • At block 815, the weighted and/or adjusted sensor data points are fitted (e.g., by inter-device correlator 510). The fit could involve fitting a one-dimensional, two-dimensional or multi-dimensional function. The function can include or consist of, e.g., a power function, a logarithmic function, a Gaussian function, and/or a trigonometric function. One or more parameters can be identified as a result of the fit. The parameters can include numeric values to be included within the fitted function (e.g., coefficients, powers, offsets, etc.) and/or one or more quality-of-fit values.
  • At block 820, event-occurrence criterion is assessed (e.g., by event detector 512). The assessment can include comparing one or more fit parameters to one or more thresholds. For example, a criterion can indicate that an event occurred if a quality-of-fit parameter exceeded a first value and an amplitude coefficient of a Gaussian function exceeded a second value. In some instances, the thresholds are not fixed, e.g., such that lower quality-of-fit parameters are acceptable when detecting the event occurrence given higher amplitude coefficients. The assessment can include identifying a binary event-occurrence answer, a probability metric and/or a confidence metric. For example, a binary event-occurrence answer can include “Yes” indicating that that the event occurred, 76% indicating that there is a 76% probability that the event occurred, and/or 0.6 indicating a confidence metric on a 0-to-1 scale of the “Yes” or 76% result.
  • At block 825, other event properties are estimated (e.g., by event detector 512). The other event properties can include, e.g., a measurement-timed or initial event location (e.g., identifying its central location or its reach), a measurement-timed or initial event magnitude, a time that the event began, and/or a trajectory of the event. For example, the event properties could include that an earthquake event was estimated to have begun at 10:32 am at a location with geographic coordinates (x1, x2) and with a strength of 6.8 on the Richter scale. As another example, the event properties could include that, at 10:34 am, an earthquake event spread to neighborhoods with zip codes X1, X2 and X3, with a strength of 4.4-4.8.
  • In some instances, a single fit can result in estimation as to whether the event occurred (at block 825) and estimation of one or more other event properties. In some instances, two, three or more fits are used. For example, a first fit can be used during an estimation as to whether the event occurred, a second fit for the event's magnitude, and the third fit for the event's location. These fits may be simultaneously determined or successively determined.
  • FIG. 9 illustrates a flowchart for a process 900 of forecasting event properties and sending alerts. For example, one or more of blocks 730-740 of process 700 can include one, more or all of blocks 905-920 of process 900.
  • At block 905, an event trajectory can be estimated based on an event magnitude or past trajectory (e.g., by event forecaster 514). For example, a spread of an earthquake initially centered on a first location may depend on the earthquake's magnitude. As another example, a reach of a tornado or storm can depend on a past trajectory of the tornado or storm. Estimating the event trajectory can include extrapolating a past trajectory. Estimating the event trajectory can also or alternatively include considering characteristics of areas near the event (e.g., land-surface properties, weather conditions, fault-line presence, or altitude).
  • At block 910, a future event location is forecasted based on the estimated event trajectory (e.g., by event forecaster 514). The future event location can include a central location (e.g., a center of a tornado or storm) or an area. For example, an earthquake can initially affect a small area around the earthquake's epicenter and can later spread to affect an asymmetrical ring-shaped area. Thus, an estimate of the ring-shaped area can be made. The estimated future event location can include, e.g., a range of geographic coordinates, a set of zip codes, or a list of cities.
  • At block 915, devices in the forecasted future event location are identified (e.g., by alert engine 516). The devices can be identified by looking up the future event location in a database (e.g., device-locations database 506). The database can be populated with an address, coordinate set, city, and/or zip code for each device. This data can be provided by user input or by smart-device technology (e.g., that uses GPS signals).
  • At block 920, alerts are transmitted to the identified devices or to user devices associated with identified devices (e.g., by alert engine 516). For example, a user of a device can identify his phone number or email address, and a message can therefore be sent to his phone or email account. The message can identify the occurrence of the event and/or can include past or forecasted event properties.
  • FIGS. 10A-10B illustrate one example of a thermostat device 1000 that may be used to collect sensor measurements. The term “thermostat” is used to represent a particular type of VSCU unit (Versatile Sensing and Control) that is particularly applicable for HVAC control in an enclosure. As used herein the term “HVAC” includes systems providing both heating and cooling, heating only, cooling only, as well as systems that provide other occupant comfort and/or conditioning functionality such as humidification, dehumidification and ventilation. Although “thermostat” and “VSCU unit” may be seen as generally interchangeable for the context of HVAC control of an enclosure, it is within the scope of the present teachings for each of the embodiments hereinabove and hereinbelow to be applied to VSCU units having control functionality over measurable characteristics other than temperature (e.g., pressure, flow rate, height, position, velocity, acceleration, capacity, power, loudness, brightness) for any of a variety of different control systems involving the governance of one or more measurable characteristics of one or more physical systems, and/or the governance of other energy or resource consuming systems such as water usage systems, air usage systems, systems involving the usage of other natural resources, and systems involving the usage of various other forms of energy.
  • As illustrated, thermostat 1000 includes a user-friendly interface, according to some embodiments. Thermostat 1000 includes control circuitry and is electrically connected to an HVAC system. Thermostat 1000 is wall mounted, is circular in shape, and has an outer rotatable ring 1012 for receiving user input.
  • Outer rotatable ring 1012 allows the user to make adjustments, such as selecting a new target temperature. For example, by rotating outer ring 1012 clockwise, a target setpoint temperature can be increased, and by rotating the outer ring 1012 counter-clockwise, the target setpoint temperature can be decreased.
  • A central electronic display 1016 may include, e.g., a dot-matrix layout (individually addressable) such that arbitrary shapes can be generated (rather than being a segmented layout); a combination of a dot-matrix layout and a segmented layout’ or a backlit color liquid crystal display (LCD). An example of information displayed on electronic display 1016 is illustrated in FIG. 10A, and includes central numerals 1020 that are representative of a current setpoint temperature. It will be appreciated that electronic display 1016 can display other types of information, such as information identifying or indicating an event occurrence and/or forecasting future event properties.
  • Thermostat 1000 has a large front face lying inside the outer ring 1012. The front face of thermostat 1000 comprises a clear cover 1014 that according to some embodiments is polycarbonate, and a metallic portion 1024 preferably having a number of slots formed therein as shown. According to some embodiments, metallic portion 1024 has number of slot-like openings so as to facilitate the use of a passive infrared motion sensor 1030 mounted therebeneath. Metallic portion 1024 can alternatively be termed a metallic front grille portion. Further description of the metallic portion/front grille portion is provided in the commonly assigned U.S. Ser. No. 13/199,108, which is hereby incorporated by reference in its entirety for all purposes.
  • Motion sensing as well as other techniques can be use used in the detection and/or predict of occupancy, as is described further in the commonly assigned U.S. Ser. No. 12/881,430, which is hereby incorporated by reference in its entirety. According to some embodiments, occupancy information is used in generating an effective and efficient scheduled program. Preferably, an active proximity sensor 1070A is provided to detect an approaching user by infrared light reflection, and an ambient light sensor 1070B is provided to sense visible light. Proximity sensor 1070A can be used to detect proximity in the range of about one meter so that the thermostat 1000 can initiate “waking up” when the user is approaching the thermostat and prior to the user touching the thermostat. Ambient light sensor 1070B can be used for a variety of intelligence-gathering purposes, such as for facilitating confirmation of occupancy when sharp rising or falling edges are detected (because it is likely that there are occupants who are turning the lights on and off), and such as for detecting long term (e.g., 24-hour) patterns of ambient light intensity for confirming and/or automatically establishing the time of day.
  • According to some embodiments, for the combined purposes of inspiring user confidence and further promoting visual and functional elegance, thermostat 1000 is controlled by only two types of user input, the first being a rotation of the outer ring 1012 as shown in FIG. 10A (referenced hereafter as a “rotate ring” or “ring rotation” input), and the second being an inward push on an outer cap 1008 (see FIG. 10B) until an audible and/or tactile “click” occurs (referenced hereafter as an “inward click” or simply “click” input). Upon detecting a user click, new options can be presented to the user. For example, a menu system can be presented, as detailed in U.S. Ser. No. 13/351,668, which is hereby incorporated by reference in its entirety for all purposes. The user can then navigate through the menu options and select menu settings using the rotation and click functionalities.
  • According to some embodiments, thermostat 1000 includes a processing system 1060, display driver 1064 and a wireless communications system 1066. Processing system 1060 is adapted to cause the display driver 1064 and display area 1016 to display information to the user, and to receiver user input via the rotatable ring 1012. Processing system 1060, according to some embodiments, is capable of carrying out the governance of the operation of thermostat 1000 including the user interface features described herein. Processing system 1060 is further programmed and configured to carry out other operations as described herein. For example, processing system 1060 may be programmed and configured to dynamically determine when to collect sensor measurements, when to transmit sensor measurements, and/or how to present received alerts. According to some embodiments, wireless communications system 1066 is used to communicate with, e.g., a central server, other thermostats, personal computers or portable devices (e.g., laptops or cell phones).
  • Referring next to FIG. 11, an exemplary environment with which embodiments may be implemented is shown with a computer system 1100 that can be used by a user 1104 to remotely control, for example, one or more of the sensor-equipped smart-home devices according to one or more of the embodiments. The computer system 1110 can alternatively be used for carrying out one or more of the server-based processing paradigms described hereinabove, can be used as a processing device in a larger distributed virtualized computing scheme for carrying out the described processing paradigms, or for any of a variety of other purposes consistent with the present teachings. The computer system 1100 can include a computer 1102, keyboard 1122, a network router 1112, a printer 1108, and a monitor 1106. The monitor 1106, processor 1102 and keyboard 1122 are part of a computer system 1126, which can be a laptop computer, desktop computer, handheld computer, mainframe computer, etc. The monitor 1106 can be a CRT, flat screen, etc.
  • A user 1104 can input commands into the computer 1102 using various input devices, such as a mouse, keyboard 1122, track ball, touch screen, etc. If the computer system 1100 comprises a mainframe, a designer 1104 can access the computer 1102 using, for example, a terminal or terminal interface. Additionally, the computer system 1126 may be connected to a printer 1108 and a server 1110 using a network router 1112, which may connect to the Internet 1118 or a WAN.
  • The server 1110 may, for example, be used to store additional software programs and data. In one embodiment, software implementing the systems and methods described herein can be stored on a storage medium in the server 1110. Thus, the software can be run from the storage medium in the server 1110. In another embodiment, software implementing the systems and methods described herein can be stored on a storage medium in the computer 1102. Thus, the software can be run from the storage medium in the computer system 1126. Therefore, in this embodiment, the software can be used whether or not computer 1102 is connected to network router 1112. Printer 1108 may be connected directly to computer 1102, in which case, the computer system 1126 can print whether or not it is connected to network router 1112.
  • With reference to FIG. 12, an embodiment of a special-purpose computer system 1200 is shown. For example, one or more of intelligent components 116, processing engine 306 and components thereof may be a special-purpose computer system 1200. The above methods may be implemented by computer-program products that direct a computer system to perform the actions of the above-described methods and components. Each such computer-program product may comprise sets of instructions (codes) embodied on a computer-readable medium that directs the processor of a computer system to perform corresponding actions. The instructions may be configured to run in sequential order, or in parallel (such as under different processing threads), or in a combination thereof. After loading the computer-program products on a general purpose computer system 1126, it is transformed into the special-purpose computer system 1200.
  • Special-purpose computer system 1200 comprises a computer 1102, a monitor 1106 coupled to computer 1102, one or more additional user output devices 1230 (optional) coupled to computer 1102, one or more user input devices 1240 (e.g., keyboard, mouse, track ball, touch screen) coupled to computer 1102, an optional communications interface 1250 coupled to computer 1102, a computer-program product 1205 stored in a tangible computer-readable memory in computer 1102. Computer-program product 1205 directs system 1200 to perform the above-described methods. Computer 1102 may include one or more processors 1260 that communicate with a number of peripheral devices via a bus subsystem 1290. These peripheral devices may include user output device(s) 1230, user input device(s) 1240, communications interface 1250, and a storage subsystem, such as random access memory (RAM) 1270 and non-volatile storage drive 1280 (e.g., disk drive, optical drive, solid state drive), which are forms of tangible computer-readable memory.
  • Computer-program product 1205 may be stored in non-volatile storage drive 1280 or another computer-readable medium accessible to computer 1102 and loaded into memory 1270. Each processor 1260 may comprise a microprocessor, such as a microprocessor from Intel® or Advanced Micro Devices, Inc.®, or the like. To support computer-program product 1205, the computer 1102 runs an operating system that handles the communications of product 1205 with the above-noted components, as well as the communications between the above-noted components in support of the computer-program product 1205. Exemplary operating systems include Windows® or the like from Microsoft Corporation, Solaris® from Sun Microsystems, LINUX, UNIX, and the like.
  • User input devices 1240 include all possible types of devices and mechanisms to input information to computer system 1102. These may include a keyboard, a keypad, a mouse, a scanner, a digital drawing pad, a touch screen incorporated into the display, audio input devices such as voice recognition systems, microphones, and other types of input devices. In various embodiments, user input devices 1240 are typically embodied as a computer mouse, a trackball, a track pad, a joystick, wireless remote, a drawing tablet, a voice command system. User input devices 1240 typically allow a user to select objects, icons, text and the like that appear on the monitor 1106 via a command such as a click of a button or the like. User output devices 1230 include all possible types of devices and mechanisms to output information from computer 1102. These may include a display (e.g., monitor 1106), printers, non-visual displays such as audio output devices, etc.
  • Communications interface 1250 provides an interface to other communication networks and devices and may serve as an interface to receive data from and transmit data to other systems, WANs and/or the Internet 1118. Embodiments of communications interface 1250 typically include an Ethernet card, a modem (telephone, satellite, cable, ISDN), a (asynchronous) digital subscriber line (DSL) unit, a FireWire® interface, a USB® interface, a wireless network adapter, and the like. For example, communications interface 1250 may be coupled to a computer network, to a FireWire® bus, or the like. In other embodiments, communications interface 1250 may be physically integrated on the motherboard of computer 1102, and/or may be a software program, or the like.
  • RAM 1270 and non-volatile storage drive 1280 are examples of tangible computer-readable media configured to store data such as computer-program product embodiments of the present invention, including executable computer code, human-readable code, or the like. Other types of tangible computer-readable media include floppy disks, removable hard disks, optical storage media such as CD-ROMs, DVDs, bar codes, semiconductor memories such as flash memories, read-only-memories (ROMs), battery-backed volatile memories, networked storage devices, and the like. RAM 1270 and non-volatile storage drive 1280 may be configured to store the basic programming and data constructs that provide the functionality of various embodiments of the present invention, as described above.
  • Software instruction sets that provide the functionality of the present invention may be stored in RAM 1270 and non-volatile storage drive 1280. These instruction sets or code may be executed by the processor(s) 1260. RAM 1270 and non-volatile storage drive 1280 may also provide a repository to store data and data structures used in accordance with the present invention. RAM 1270 and non-volatile storage drive 1280 may include a number of memories including a main random access memory (RAM) to store of instructions and data during program execution and a read-only memory (ROM) in which fixed instructions are stored. RAM 1270 and non-volatile storage drive 1280 may include a file storage subsystem providing persistent (non-volatile) storage of program and/or data files. RAM 1270 and non-volatile storage drive 1280 may also include removable storage systems, such as removable flash memory.
  • Bus subsystem 1290 provides a mechanism to allow the various components and subsystems of computer 1102 communicate with each other as intended. Although bus subsystem 1290 is shown schematically as a single bus, alternative embodiments of the bus subsystem may utilize multiple busses or communication paths within the computer 1102.
  • For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory. Memory may be implemented within the processor or external to the processor. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other storage medium and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
  • Moreover, as disclosed herein, the term “storage medium” may represent one or more memories for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information. The term “machine-readable medium” includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels, and/or various other storage mediums capable of storing that contain or carry instruction(s) and/or data.
  • EXAMPLES Example 1
  • Thermostats are provided, and each thermostat includes a set of accelerometers, which detect acceleration in each of three perpendicular directions. Users purchase the thermostat, and each user mounts the thermostat on a wall in a dwelling (e.g., in his home). Each thermostat detects a local wireless network and requests a password. A respective user enters the password by rotating a rotatable ring of the thermostat to highlight appropriate letters and clicking the ring to select the highlighted letter, such that the thermostat can communicate over the Internet.
  • Each thermostat further requests that a user enter an address, which may be a full specific street address in some embodiments or a more general area identifier such as a ZIP code in other embodiment, at which it is located. The user again enters the address using the rotatable ring. Each thermostat then transmits a message to a central server identifying the thermostat and the address. Alternatively, once the user has paired their thermostat with an online account associated with the thermostat, the user may provide their address information using browser-based access to that online account. The central server associates each thermostat with its address in a database.
  • The accelerometers collect acceleration measurements every minute. If any of the three acceleration measurements (one for each spatial dimension) exceed a threshold, the thermostat transmits the acceleration measurements to a center server, along with a device identifier.
  • The central server, upon receiving the communication, looks up the thermostat's address and identifies other thermostats near the communication-transmitting thermostat. The central server determines that 10 of 15 other nearby thermostats have also transmitted similar communications within the last minute. This 66% transmission rate exceeds an event-occurrence threshold, and thus, the central server determines that an earthquake has occurred.
  • The central server identifies median acceleration measurements and estimates an earthquake magnitude based on the median. The central server assesses whether there are any similarly occurring events among other nearby populations of thermostats. The central server then forecasts other areas likely to be affected in view of the earthquake's magnitude and known properties about earthquake propagation. The central server consults the database to identify other devices in the forecasted location and transmits a signal to each of the other devices. Upon receiving the signal, each of the other devices sounds an alarm indicating that people should take cover.
  • Example 2
  • Sprinkler systems are provided. Each system includes a control box with temperature, humidity and wind detector. Users purchase the sprinkler system, and each user mounts the control box on a wall outside a dwelling (e.g., on a house exterior surface). The control box, or a separately provided device provided in conjunction with the control box, is equipped with a user interface having a similar physical look and feel to the user interface of the thermostat device described above with respect to FIGS. 10A-10B. Each sprinkler system detects a local wireless network and requests a password. A respective user enters the password by rotating a rotatable ring of the control box (or other user interface device associated with the control box) of the sprinkler system to highlight appropriate letters and clicking the ring to select the highlighted letter, such that the sprinkler system can communicate over the Internet.
  • Each sprinkler system also receives GPS signals and identifies its geographic coordinates. The sprinkler system then transmits a message to a central server identifying the sprinkler system and the coordinates. The central server associates each sprinkler system with its coordinates in a database.
  • The sprinkler systems collect measurements from the temperature, humidity and wind sensors for five minutes every hour. The sprinkler system averages these measurements across the time period and transmits the averaged measurements and a device identifier to the central server.
  • The central server, upon receiving the communication, looks up coordinates for the sprinkler system. The central server then inputs the coordinates and the average measurements into a model. The model gradually learns about how the average measurements predicts future measurements. The learning may involve weighting sensor measurements (e.g., to reduce the influence of likely-faulty sensor readings), correlating measurement readings in a first region with later measurement readings in a second region, and considering non-measurement variables, such as the date, time of day, and topography. The model can include utilization of thermodynamic and/or aerodynamic principles.
  • The model outputs regular forecasts, which include forecasts for a region spanned by the plurality of sprinkler systems. The forecasts are routinely sent to meteorology centers. Further, a user of the sprinkler system can request a forecast (using the sprinkler system user interface or using a website which can receive an identifier of the sprinkler system and/or of the user). A message is transmitted to the central server, the message including an indication of the request and an identifier of the sprinkler system or the user. The central server looks up the coordinates of the sprinkler system and identifies a forecast specific to those coordinates. A message with the forecast information is then transmitted back to the user (e.g., back to the sprinkler system or over the Internet via the website), and the forecast is displayed to the user.
  • Example 3
  • A variety of devices are provided, the devices including smoke detectors, wall-plug interfaces, thermostats, and light switches. Each device includes a pressure sensor. Users purchase the devices and appropriately positions the device (e.g., mounting it to a wall). Each device may be equipped with a user interface having a similar physical look and feel to the user interface of the thermostat device described above with respect to FIGS. 10A-10B. Each device detects a local wireless network and requests a password. A respective user enters the password by rotating a rotatable ring of the device to highlight appropriate letters and clicking the ring to select the highlighted letter, such that the device can communicate over the Internet.
  • A user of each device registers the device online using a serial number. The user also enters the address of the device location and his phone number. A central server receives this data and associates each device with its address in a first database and associates each device with a user phone number in a second database.
  • The central server communicates with external governmental agencies that control the official issuance of tornado watches and warning. Upon receiving a message from the agency that a tornado watch has been issued, the central server looks up devices within the tornado-watch area using the first database. The central server then sends a message to those devices requesting regular pressure-sensor data. The devices collect the measurements and communicate the measurements to the central server.
  • The central server routinely analyzes the pressure-sensor data and compares an average of a subset of the data (e.g., the data within an 80-90% range with 0% being the lowest received value and 100% being the highest) to a threshold. Upon detecting that the average exceeds the threshold, the central server sends an electronic alert over the Internet to the governmental agency. Further, the central server sends text messages to the smartphones associated with the devices in the tornado-watch area indicating that the server has issued an escalated tornado-watch state.
  • Example 4
  • A plurality of light switches are provided. Each light switch includes a motion detector. Users purchase the devices and mount each light switch to a wall. Within a building, each light switch communicates wirelessly with a control box that includes a processing system.
  • Each motion detector is continuously active. Once a motion detector detects motion, it transmits a signal to the control box identifying the light switch and indicating that motion has been detected. The control box correlates the motion detections across the light switches and identifies common patterns (e.g., a frequent successive detection sequence is one that activates the motion detector Switch #3, then #5, then #8). Based on these patterns, the control box estimates location information about the switches (e.g., Switch #3 is near Switch #5).
  • The control box can later receive select motion detections and forecast future motion detections (e.g., if detections are made by Switch #3 and then #5, the control box can forecast that motion will be detected by Switch #8). The control box then sends messages to light switches involved in the forecast (e.g., Switch #8). Switch #8 then automatically turns on the light before motion is detected. The automatic lighting can be prevented if ambient lighting is above a threshold. In this way, a person's path can be illuminated as they walk throughout the house even if light switches are on opposite sides of the room from entryways.
  • Specific details are given in the above description to provide a thorough understanding of the embodiments. However, it is understood that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
  • Implementation of the techniques, blocks, steps and means described above may be done in various ways. For example, these techniques, blocks, steps and means may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described above, and/or a combination thereof.
  • Also, it is noted that the embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
  • Furthermore, embodiments may be implemented by hardware, software, scripting languages, firmware, middleware, microcode, hardware description languages, and/or any combination thereof. When implemented in software, firmware, middleware, scripting language, and/or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium such as a storage medium. A code segment or machine-executable instruction may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a script, a class, or any combination of instructions, data structures, and/or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, and/or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
  • While the principles of the disclosure have been described above in connection with specific apparatuses and methods, it is to be clearly understood that this description is made only by way of example and not as limitation on the scope of the disclosure.

Claims (21)

1.-20. (canceled)
21. A event-forecasting system comprising:
a measurement database that stores a plurality of sensor measurements, each sensor measurement having been provided by a smart-home environmental control device having a primary purpose of controlling an environmental condition within a structure including sensing the environmental condition being controlled, the smart-home environmental control device having a first sensor that senses the environmental condition being controlled and a second sensor that senses an alternative condition other than said environmental condition being controlled and that is not subject to the control of said smart-home environmental control device, said second sensor providing said sensor measurements for storage in said measurement database;
a measurement set identifier that selects a set of sensor measurements from the plurality of sensor measurements provided by the environmental control devices in the measurement database, wherein the smart-home environmental control devices associated with the set of sensor measurements are in close geographical proximity relative to their geographical proximity to other devices;
an inter-device correlator that accesses the selected set of sensor measurements and that collectively analyzes the sensor measurements provided by the smart-home environmental control devices;
an event detector that determines whether a relatively large-scale event has occurred based on the results of the collective analysis, wherein the determination that an event has occurred requires collective processing of at least two of the sensor measurements provided by the smart-home environmental control devices;
an event forecaster that forecasts a future event property, wherein the future event property is forecasted based on a same or different collective analysis of the sensor measurements provided by the smart-home environmental control devices; and
an alert engine that identifies one or more entities to be alerted of the future event property, that generates at least one alert identifying the future event property, and that transmits the at least one alert to the identified one or more entities.
22. The event-forecasting system of claim 21, wherein the smart-home environmental control device comprise a thermostat device having a primary purpose of controlling a temperature condition within said structure.
23. The event-forecasting system of claim 21, wherein the first sensor and the second sensor are housed within the smart-home environmental control device.
24. The event-forecasting system of claim 21, wherein the first sensor is housed within a first device of the smart-home environmental control device and the second sensor is housed with a second device of the smart-home environmental control device, wherein the first device is communicatively coupled with the second device.
25. The event-forecasting system of claim 21, wherein said second sensor includes:
a seismic activity sensor;
a hazard related environmental sensor;
a microphone;
an optical sensor; or
a radiation sensor.
26. The event-forecasting system of claim 21, wherein the smart-home environmental control device comprises one or more devices selected from the group consisting of:
thermostat;
smoke detector;
hazard detector;
wall switch;
doorbell;
entertainment device;
lighting device;
home appliance;
refrigerator;
stoves and/or oven;
television;
washer;
dryer;
stereo;
intercom system;
garage-door opener;
floor fan;
ceiling fan;
whole-house fan;
wall air conditioner;
pool heater;
sprinkler system;
irrigation system; and
security system.
27. The event-forecasting system of claim 21, wherein the event includes a weather-related or natural-disaster event.
28. A method for forecasting events, the method comprising:
storing a plurality of sensor measurements in a measurement database, each sensor measurement having been provided by a smart-home environmental control device having a primary purpose of controlling an environmental condition within a structure including sensing the environmental condition being controlled, the smart-home environmental control device having a first sensor that senses the environmental condition being controlled and a second sensor that senses an alternative condition other than said environmental condition being controlled and that is not subject to the control of said smart-home environmental control device, said second sensor providing said sensor measurements for storage in said measurement database;
selecting a set of sensor measurements from the plurality of sensor measurements provided by the environmental control devices in the measurement database, wherein the smart-home environmental control devices associated with the set of sensor measurements are in close geographical proximity relative to their geographical proximity to other devices;
collectively analyzing the sensor measurements provided by the smart-home environmental control devices to determine whether a relatively large-scale event was occurring, wherein the determination that a large-scale event was occurring requires collective processing of at least two of the sensor measurements provided by the smart-home environmental control devices;
forecasting a future event property, wherein the future event property is forecasted based on a same or different collective analysis of the sensor measurements provided by the smart-home environmental control devices;
identifying one or more entities to be alerted of the future event property;
generating at least one alert identifying the future event property; and
transmitting the at least one alert to the identified one or more entities.
29. The method for forecasting events as recited in claim 28, wherein the smart-home environmental control devices comprise thermostat devices having a primary purpose of controlling a temperature condition within said structure.
30. The method for forecasting events as recited in claim 28, wherein said second sensor includes:
a seismic activity sensor;
a hazard related environmental sensor;
a microphone;
an optical sensor; or
a radiation sensor.
31. The method for forecasting events as recited in claim 28, wherein the smart-home environmental control device comprises one or more devices selected from the group consisting of:
thermostat;
smoke detector;
hazard detector;
wall switch;
doorbell;
entertainment device;
lighting device;
home appliance;
refrigerator;
stoves and/or oven;
television;
washer;
dryer;
stereo;
intercom system;
garage-door opener;
floor fan;
ceiling fan;
whole-house fan;
wall air conditioner;
pool heater;
sprinkler system;
irrigation system; and
security system.
32. The method for forecasting events as recited in claim 28, wherein the first sensor and the second sensor are housed within the smart-home environmental control device.
33. The method for forecasting events as recited in claim 28, wherein the first sensor is housed within a first device of the smart-home environmental control device and the second sensor is housed with a second device of the smart-home environmental control device, wherein the first device is communicatively coupled with the second device.
34. The method for forecasting events as recited in claim 28, wherein the same or different collective analysis of the sensor measurements comprises predicting a trajectory of the event.
35. A crowdsourced event detection network, comprising:
a population of smart-home environmental control devices having a primary purpose of controlling an environmental condition within a structure including sensing the environmental condition being controlled, the smart-home environmental control device having a first sensor that senses the environmental condition being controlled and a second sensor that senses an alternative condition other than said environmental condition being controlled and that is not subject to the control of said smart-home environmental control device, each said smart-home environmental control device further comprising a data transmission component configured to transmit first information representative of said alternative condition for reception by an aggregating processor;
wherein the aggregating processor is configured and programmed to receive the first information from each of a plurality of the smart-home environmental control devices, to forecast a future event based on a collective analysis thereof, to identify one or more entities to be alerted of the forecasted future event, and to transmit second information representative of the forecasted future event to the identified one or more entities.
36. The crowdsourced event detection network of claim 35, wherein the smart-home environmental control device comprise a thermostat device having a primary purpose of controlling a temperature condition within said structure.
37. The crowdsourced event detection network of claim 35, wherein said second sensor includes:
a seismic activity sensor;
a hazard related environmental sensor;
a microphone;
an optical sensor; or
a radiation sensor.
38. The crowdsourced event detection network of claim 35, wherein the smart-home environmental control device comprises one or more devices selected from the group consisting of:
thermostat;
smoke detector;
hazard detector;
wall switch;
doorbell;
entertainment device;
lighting device;
home appliance;
refrigerator;
stoves and/or oven;
television;
washer;
dryer;
stereo;
intercom system;
garage-door opener;
floor fan;
ceiling fan;
whole-house fan;
wall air conditioner;
pool heater;
sprinkler system;
irrigation system; and
security system.
39. The crowdsourced event detection network of claim 35, wherein the first sensor and the second sensor are housed within the smart-home environmental control device.
40. The crowdsourced event detection network of claim 35, wherein the first sensor is housed within a first device of the smart-home environmental control device and the second sensor is housed with a second device of the smart-home environmental control device, wherein the first device is communicatively coupled with the second device.
US14/143,816 2012-08-31 2013-12-30 Dynamic distributed-sensor thermostat network for forecasting external events Abandoned US20140207721A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/143,816 US20140207721A1 (en) 2012-08-31 2013-12-30 Dynamic distributed-sensor thermostat network for forecasting external events
US14/677,722 US9286781B2 (en) 2012-08-31 2015-04-02 Dynamic distributed-sensor thermostat network for forecasting external events using smart-home devices
US15/051,324 US10433032B2 (en) 2012-08-31 2016-02-23 Dynamic distributed-sensor network for crowdsourced event detection

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/601,890 US8620841B1 (en) 2012-08-31 2012-08-31 Dynamic distributed-sensor thermostat network for forecasting external events
US14/143,816 US20140207721A1 (en) 2012-08-31 2013-12-30 Dynamic distributed-sensor thermostat network for forecasting external events

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/601,890 Continuation US8620841B1 (en) 2012-08-31 2012-08-31 Dynamic distributed-sensor thermostat network for forecasting external events

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/677,722 Continuation US9286781B2 (en) 2012-08-31 2015-04-02 Dynamic distributed-sensor thermostat network for forecasting external events using smart-home devices

Publications (1)

Publication Number Publication Date
US20140207721A1 true US20140207721A1 (en) 2014-07-24

Family

ID=49776167

Family Applications (4)

Application Number Title Priority Date Filing Date
US13/601,890 Active US8620841B1 (en) 2012-08-31 2012-08-31 Dynamic distributed-sensor thermostat network for forecasting external events
US14/143,816 Abandoned US20140207721A1 (en) 2012-08-31 2013-12-30 Dynamic distributed-sensor thermostat network for forecasting external events
US14/677,722 Active US9286781B2 (en) 2012-08-31 2015-04-02 Dynamic distributed-sensor thermostat network for forecasting external events using smart-home devices
US15/051,324 Active 2034-12-29 US10433032B2 (en) 2012-08-31 2016-02-23 Dynamic distributed-sensor network for crowdsourced event detection

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/601,890 Active US8620841B1 (en) 2012-08-31 2012-08-31 Dynamic distributed-sensor thermostat network for forecasting external events

Family Applications After (2)

Application Number Title Priority Date Filing Date
US14/677,722 Active US9286781B2 (en) 2012-08-31 2015-04-02 Dynamic distributed-sensor thermostat network for forecasting external events using smart-home devices
US15/051,324 Active 2034-12-29 US10433032B2 (en) 2012-08-31 2016-02-23 Dynamic distributed-sensor network for crowdsourced event detection

Country Status (1)

Country Link
US (4) US8620841B1 (en)

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140244997A1 (en) * 2013-02-25 2014-08-28 Qualcomm Incorporated Emergency mode for iot devices
WO2016109839A1 (en) * 2014-12-31 2016-07-07 Google Inc. Handling visitor interaction at a smart-home in a do not disturb mode
WO2016137609A1 (en) * 2015-02-26 2016-09-01 Intel Corporation Sensor hub method and apparatus for an electrical outlet
WO2016141199A1 (en) * 2015-03-05 2016-09-09 Google Inc. Generation and implementation of household policies for the smart home
US9524635B2 (en) 2015-03-05 2016-12-20 Google Inc. Smart-home household policy implementations for facilitating occupant progress toward a goal
WO2017003187A1 (en) * 2015-06-29 2017-01-05 Samsung Electronics Co., Ltd. Method and apparatus for controlling device of one region among a plurality of regions
US20170076212A1 (en) * 2013-10-22 2017-03-16 Lumin, LLC Establishing audio connections between users being continuously tracked by collaborative sensors
US9600645B2 (en) 2012-09-21 2017-03-21 Google Inc. Smart invitation handling at a smart-home
US9626841B2 (en) 2012-09-21 2017-04-18 Google Inc. Occupant notification of visitor interaction with a doorbell at a smart-home
US9640055B2 (en) 2012-09-21 2017-05-02 Google Inc. Interacting with a detected visitor at an entryway to a smart-home
US9652912B2 (en) 2012-09-21 2017-05-16 Google Inc. Secure handling of unsupervised package drop off at a smart-home
WO2017091053A1 (en) * 2015-11-27 2017-06-01 Samsung Electronics Co., Ltd. Apparatus and method for determining user's presence
US9711036B2 (en) 2012-09-21 2017-07-18 Google Inc. Leveraging neighborhood to handle potential visitor at a smart-home
US9710753B1 (en) * 2013-10-22 2017-07-18 Lumin, LLC Collaboration of audio sensors for geo-location of events in an artificial intelligence (AI) environment
US20170235603A1 (en) * 2016-02-11 2017-08-17 International Business Machines Corporation Distributed load processing using forecasted location-based internet of things device clusters
WO2017184636A1 (en) * 2016-04-19 2017-10-26 Jarrell John A Modular approach for smart and customizable security solutions and other applications for a smart city
US20170359664A1 (en) * 2016-06-10 2017-12-14 Intel Corporation Sensor hub apparatus and method for sensing ambient light and audio conditions
US9872088B2 (en) 2015-03-05 2018-01-16 Google Llc Monitoring and reporting household activities in the smart home according to a household policy
US9881474B2 (en) 2012-09-21 2018-01-30 Google Llc Initially detecting a visitor at a smart-home
US9953514B2 (en) 2012-09-21 2018-04-24 Google Llc Visitor feedback to visitor interaction with a doorbell at a smart-home
US9960929B2 (en) 2012-09-21 2018-05-01 Google Llc Environmental sensing with a doorbell at a smart-home
US9959727B2 (en) 2012-09-21 2018-05-01 Google Llc Handling visitor interaction at a smart-home in a do not disturb mode
USD817208S1 (en) 2017-06-12 2018-05-08 Amcrest Global Holdings Limited Doorbell
CN108023956A (en) * 2017-12-07 2018-05-11 厦门狄耐克智能科技股份有限公司 A kind of gate inhibition's cloud service system and the method that access control equipment is registered to the system
US9978238B2 (en) 2012-09-21 2018-05-22 Google Llc Visitor options at an entryway to a smart-home
US9998803B2 (en) 2015-03-05 2018-06-12 Google Llc Generation and implementation of household policies for the smart home
US10114351B2 (en) 2015-03-05 2018-10-30 Google Llc Smart-home automation system that suggests or autmatically implements selected household policies based on sensed observations
US20190149355A1 (en) * 2017-11-10 2019-05-16 Omron Corporation Sensor device
WO2019157602A1 (en) * 2018-02-19 2019-08-22 Venne Jean Simon Systems and methods of optimizing hvac control in a building or network of buildings
US10510035B2 (en) 2012-09-21 2019-12-17 Google Llc Limited access invitation handling at a smart-home
EP2988183B1 (en) 2014-08-14 2020-04-01 Siemens Aktiengesellschaft System for observing and/or controlling a plant
US10684037B2 (en) 2017-10-04 2020-06-16 Trane International Inc. Thermostat and method for controlling an HVAC system with remote temperature sensor and onboard temperature sensor
US10735216B2 (en) 2012-09-21 2020-08-04 Google Llc Handling security services visitor at a smart-home
US10846599B2 (en) 2013-10-22 2020-11-24 Lumin, LLC Collaboration of audio sensors for geo-location and continuous tracking of health conditions for users in a device-independent artificial intelligence (AI) environment
US10896264B2 (en) * 2015-11-05 2021-01-19 Hewlett-Packard Development Company, L.P. Synthesis routines and raw data
US10900687B2 (en) 2018-10-31 2021-01-26 Trane International Inc. Flexible scheduling HVAC graphical user interface and methods of use thereof
US10992753B2 (en) * 2019-06-06 2021-04-27 Bank Of America Corporation Edge computing-based distributed network architecture that enables preemptive client-targeted local data storage
US20230168403A1 (en) * 2020-04-21 2023-06-01 Inova Ltd. Motion Aware Nodal Seismic Unit and Related Methods

Families Citing this family (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489038B2 (en) 2011-01-08 2019-11-26 Michael Edward Klicpera Remote apparatus for displaying, monitoring and controlling shower, bath or faucet water parameters
JP2013169122A (en) 2012-02-17 2013-08-29 Panasonic Corp Non-contact charge module and portable terminal having the same
US8620841B1 (en) 2012-08-31 2013-12-31 Nest Labs, Inc. Dynamic distributed-sensor thermostat network for forecasting external events
US9046414B2 (en) * 2012-09-21 2015-06-02 Google Inc. Selectable lens button for a hazard detector and method therefor
US20140149901A1 (en) * 2012-11-28 2014-05-29 Motorola Mobility Llc Gesture Input to Group and Control Items
US9262915B2 (en) 2013-05-09 2016-02-16 KERBspace, Inc Intelligent urban communications portal and methods
US10084871B2 (en) 2013-05-23 2018-09-25 Allied Telesis Holdings Kabushiki Kaisha Graphical user interface and video frames for a sensor based detection system
PH12013000136A1 (en) 2013-05-23 2015-01-21 De Antoni Ferdinand Evert Karoly A domain agnostic method and system for the capture, storage, and analysis of sensor readings
US9779183B2 (en) 2014-05-20 2017-10-03 Allied Telesis Holdings Kabushiki Kaisha Sensor management and sensor analytics system
US20150338447A1 (en) 2014-05-20 2015-11-26 Allied Telesis Holdings Kabushiki Kaisha Sensor based detection system
US20140351182A1 (en) * 2013-05-24 2014-11-27 Qualcomm Incorporated Modifying Learning Capabilities of Learning Devices
US9747554B2 (en) 2013-05-24 2017-08-29 Qualcomm Incorporated Learning device with continuous configuration capability
US9679491B2 (en) * 2013-05-24 2017-06-13 Qualcomm Incorporated Signaling device for teaching learning devices
US9509763B2 (en) 2013-05-24 2016-11-29 Qualcomm Incorporated Delayed actions for a decentralized system of learning devices
US10318895B1 (en) 2013-08-27 2019-06-11 Curb, Inc. System for promoting efficient use of resources
CA3148411C (en) 2013-10-07 2024-05-14 Google Llc Smart-home hazard detector providing context specific features and/or pre-alarm configurations
EP3055974B1 (en) * 2013-10-07 2018-10-03 Google LLC Hazard detection unit facilitating user-friendly setup experience
EP3066790A1 (en) * 2013-11-04 2016-09-14 Koninklijke Philips N.V. Method of notifying a user on a task on an apparatus
US10768784B2 (en) * 2013-12-06 2020-09-08 Vivint, Inc. Systems and methods for rules-based automations and notifications
US9900177B2 (en) 2013-12-11 2018-02-20 Echostar Technologies International Corporation Maintaining up-to-date home automation models
US20150159893A1 (en) * 2013-12-11 2015-06-11 International Business Machines Corporation Intelligent thermostat control system
US9769522B2 (en) 2013-12-16 2017-09-19 Echostar Technologies L.L.C. Methods and systems for location specific operations
US9716861B1 (en) 2014-03-07 2017-07-25 Steelcase Inc. Method and system for facilitating collaboration sessions
US10664772B1 (en) 2014-03-07 2020-05-26 Steelcase Inc. Method and system for facilitating collaboration sessions
US20170076300A1 (en) * 2014-03-12 2017-03-16 Philips Lighting Holding B.V. City data marektplace
AU2015240946B2 (en) 2014-03-31 2019-03-28 Delta T, Llc Fan with learning mode
US10481045B2 (en) 2014-04-08 2019-11-19 Honeywell International Inc. Assessing performance of an HVAC system
WO2015157686A2 (en) * 2014-04-10 2015-10-15 Trane International Inc. Reconfigurable network controller
US10453328B2 (en) * 2014-04-14 2019-10-22 Vivint, Inc. Systems and methods for crowdsourcing detected events
WO2015159101A1 (en) * 2014-04-17 2015-10-22 Airbase Systems Ltd A method and system for analysing environmental data
US9553971B2 (en) * 2014-04-24 2017-01-24 Calabrese Stemer Llc Portable device-enabled monitoring and security system
US10685402B1 (en) 2014-04-25 2020-06-16 State Farm Mutual Automobile Insurance Company Systems and methods for homeowner-directed risk of property damage mitigation
US9903606B2 (en) 2014-04-29 2018-02-27 Vivint, Inc. Controlling parameters in a building
US11099533B2 (en) 2014-05-07 2021-08-24 Vivint, Inc. Controlling a building system based on real time events
US10197979B2 (en) * 2014-05-30 2019-02-05 Vivint, Inc. Determining occupancy with user provided information
US9693386B2 (en) 2014-05-20 2017-06-27 Allied Telesis Holdings Kabushiki Kaisha Time chart for sensor based detection system
US9742719B2 (en) 2014-06-02 2017-08-22 International Business Machines Corporation Method for real-time viral event prediction from social data
US9955318B1 (en) 2014-06-05 2018-04-24 Steelcase Inc. Space guidance and management system and method
US9766079B1 (en) 2014-10-03 2017-09-19 Steelcase Inc. Method and system for locating resources and communicating within an enterprise
US9380682B2 (en) 2014-06-05 2016-06-28 Steelcase Inc. Environment optimization for space based on presence and activities
US11744376B2 (en) 2014-06-06 2023-09-05 Steelcase Inc. Microclimate control systems and methods
US10433646B1 (en) 2014-06-06 2019-10-08 Steelcaase Inc. Microclimate control systems and methods
US10937286B2 (en) 2014-06-10 2021-03-02 Pb Inc. Radiobeacon data sharing by forwarding low energy transmissions to a cloud host
US11145183B2 (en) 2014-06-10 2021-10-12 PB, Inc Tracking device programs, systems and methods
US10979862B2 (en) 2014-06-10 2021-04-13 Pb Inc. Tracking device system
US9892626B2 (en) 2014-06-10 2018-02-13 Pb Inc. Tracking device program
US10580281B2 (en) 2014-06-10 2020-03-03 PB, Inc. Tracking device system
US11792605B2 (en) 2014-06-10 2023-10-17 PB, Inc. Tracking device systems
US9564774B2 (en) 2014-06-10 2017-02-07 Pb Inc. Reduced thickness tracking device
US9639098B2 (en) * 2014-06-17 2017-05-02 Magnum Energy Solutions, LLC Thermostat and messaging device and methods thereof
US9986086B2 (en) * 2014-07-31 2018-05-29 Samsung Electronics Co., Ltd. Mobile terminal and method of operating the same
US9665094B1 (en) * 2014-08-15 2017-05-30 X Development Llc Automatically deployed UAVs for disaster response
US10073726B2 (en) * 2014-09-02 2018-09-11 Microsoft Technology Licensing, Llc Detection of outage in cloud based service using usage data based error signals
US9824578B2 (en) 2014-09-03 2017-11-21 Echostar Technologies International Corporation Home automation control using context sensitive menus
US10602082B2 (en) 2014-09-17 2020-03-24 Fluke Corporation Triggered operation and/or recording of test and measurement or imaging tools
US9996065B2 (en) * 2014-09-23 2018-06-12 Xiaomi Inc. Methods and devices for controlling appliances
US9989507B2 (en) * 2014-09-25 2018-06-05 Echostar Technologies International Corporation Detection and prevention of toxic gas
US10102738B2 (en) 2014-09-30 2018-10-16 Henry's Products Llc Portable security device
US9852388B1 (en) 2014-10-03 2017-12-26 Steelcase, Inc. Method and system for locating resources and communicating within an enterprise
US10346811B1 (en) 2014-10-07 2019-07-09 State Farm Mutual Automobile Insurance Company Systems and methods for responding to a broken circuit
US11506215B1 (en) 2014-10-14 2022-11-22 Delta T, Llc Fan with automatic thermal comfort control
US10271020B2 (en) * 2014-10-24 2019-04-23 Fluke Corporation Imaging system employing fixed, modular mobile, and portable infrared cameras with ability to receive, communicate, and display data and images with proximity detection
US9511259B2 (en) 2014-10-30 2016-12-06 Echostar Uk Holdings Limited Fitness overlay and incorporation for home automation system
US9983011B2 (en) 2014-10-30 2018-05-29 Echostar Technologies International Corporation Mapping and facilitating evacuation routes in emergency situations
CN107209212B (en) 2014-11-17 2021-01-05 库尔布股份有限公司 Resource monitoring system with device decomposition and device specific notification
FR3029336A1 (en) * 2014-11-28 2016-06-03 Orange METHOD OF QUALIFYING ALERT AMONG ALERTS OBTAINED FROM AN ACTIVITY SUPERVISION SYSTEM
US9967614B2 (en) 2014-12-29 2018-05-08 Echostar Technologies International Corporation Alert suspension for home automation system
EP3241198B1 (en) 2014-12-30 2020-12-30 Alarm.com Incorporated Digital fingerprint tracking
US9857090B2 (en) 2015-01-19 2018-01-02 Lennox Industries, Inc. Programmable smart thermostat
US10139122B2 (en) 2015-01-26 2018-11-27 Trane International Inc. Diagnostic data bus for acquiring and communicating diagnostic information from HVAC systems
US10440118B2 (en) 2015-02-19 2019-10-08 At&T Intellectual Property I, L.P. Scalable homogenized intelligent building data ingest controller
US9900174B2 (en) 2015-03-06 2018-02-20 Honeywell International Inc. Multi-user geofencing for building automation
US9967391B2 (en) 2015-03-25 2018-05-08 Honeywell International Inc. Geo-fencing in a building automation system
US9729989B2 (en) 2015-03-27 2017-08-08 Echostar Technologies L.L.C. Home automation sound detection and positioning
FR3034607A1 (en) 2015-03-31 2016-10-07 Orange METHOD FOR MANAGING ALERTS RELATING TO THE DETECTION OF A LOCAL PHENOMENON
US10938913B2 (en) 2015-04-09 2021-03-02 Web Sensing, Llc Hardware turnstile
US10148761B2 (en) 2015-04-09 2018-12-04 Web Sensing, Llc System-on-chip data security appliance and methods of operating the same
US10802469B2 (en) 2015-04-27 2020-10-13 Ademco Inc. Geo-fencing with diagnostic feature
US10802459B2 (en) 2015-04-27 2020-10-13 Ademco Inc. Geo-fencing with advanced intelligent recovery
US10677484B2 (en) 2015-05-04 2020-06-09 Johnson Controls Technology Company User control device and multi-function home control system
JP6529609B2 (en) 2015-05-04 2019-06-12 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company Attachable touch thermostat using transparent screen technology
US9964328B2 (en) 2015-05-04 2018-05-08 Johnson Controls Technology Company User control device with cantilevered display
US9948477B2 (en) 2015-05-12 2018-04-17 Echostar Technologies International Corporation Home automation weather detection
US9946857B2 (en) 2015-05-12 2018-04-17 Echostar Technologies International Corporation Restricted access for home automation system
US10733371B1 (en) 2015-06-02 2020-08-04 Steelcase Inc. Template based content preparation system for use with a plurality of space types
US9960980B2 (en) 2015-08-21 2018-05-01 Echostar Technologies International Corporation Location monitor and device cloning
US10522031B2 (en) 2015-09-01 2019-12-31 Honeywell International Inc. System and method providing early prediction and forecasting of false alarms by applying statistical inference models
US10378936B2 (en) 2015-09-04 2019-08-13 International Business Machines Corporation Identification of failed sensors in a system of interconnected devices
US20170075510A1 (en) 2015-09-11 2017-03-16 Johnson Controls Technology Company Thermostat with occupant identity determination features
US10760809B2 (en) 2015-09-11 2020-09-01 Johnson Controls Technology Company Thermostat with mode settings for multiple zones
US10530977B2 (en) 2015-09-16 2020-01-07 Fluke Corporation Systems and methods for placing an imaging tool in a test and measurement tool
CN106545950B (en) * 2015-09-17 2020-11-17 开利公司 Building air conditioner control system and control method thereof
US10002504B2 (en) * 2015-10-01 2018-06-19 Honeywell International Inc. System and method of providing intelligent system trouble notifications using localization
US10429806B2 (en) 2015-10-09 2019-10-01 The Procter & Gamble Company Volatile composition dispenser having a temperature sensor to remotely control an air handling device
US10416687B2 (en) 2015-10-09 2019-09-17 The Procter & Gamble Company Systems and methods for coupling the operations of a volatile composition dispenser and a smart appliance
US11226124B2 (en) 2015-10-09 2022-01-18 The Procter & Gamble Company Systems and methods for coupling the operations of an air handling device and a volatile composition dispenser
WO2017070629A1 (en) 2015-10-23 2017-04-27 Fluke Corporation Imaging tool for vibration and/or misalignment analysis
US10655881B2 (en) 2015-10-28 2020-05-19 Johnson Controls Technology Company Thermostat with halo light system and emergency directions
US10546472B2 (en) 2015-10-28 2020-01-28 Johnson Controls Technology Company Thermostat with direction handoff features
US10180673B2 (en) 2015-10-28 2019-01-15 Johnson Controls Technology Company Multi-function thermostat with emergency direction features
US11277893B2 (en) 2015-10-28 2022-03-15 Johnson Controls Technology Company Thermostat with area light system and occupancy sensor
US20170124530A1 (en) * 2015-11-04 2017-05-04 Schneider Electric It Corporation Systems and methods for an environmental event and task manager
US10057110B2 (en) 2015-11-06 2018-08-21 Honeywell International Inc. Site management system with dynamic site threat level based on geo-location data
US9628951B1 (en) 2015-11-11 2017-04-18 Honeywell International Inc. Methods and systems for performing geofencing with reduced power consumption
US10516965B2 (en) 2015-11-11 2019-12-24 Ademco Inc. HVAC control using geofencing
US9996066B2 (en) 2015-11-25 2018-06-12 Echostar Technologies International Corporation System and method for HVAC health monitoring using a television receiver
US10318266B2 (en) 2015-11-25 2019-06-11 Johnson Controls Technology Company Modular multi-function thermostat
US20220095695A1 (en) * 2015-12-07 2022-03-31 Indose Inc Inhalation device with cylindrical rotatable dial for input of a target amount of inhaled substance
US20170169444A1 (en) * 2015-12-10 2017-06-15 Invensense, Inc. Systems and methods for determining consumer analytics
ITUB20159398A1 (en) * 2015-12-14 2017-06-14 Monica Fucci DISASTER MONITORING SYSTEM
US10101717B2 (en) 2015-12-15 2018-10-16 Echostar Technologies International Corporation Home automation data storage system and methods
US9848035B2 (en) * 2015-12-24 2017-12-19 Intel Corporation Measurements exchange network, such as for internet-of-things (IoT) devices
US10404697B1 (en) 2015-12-28 2019-09-03 Symantec Corporation Systems and methods for using vehicles as information sources for knowledge-based authentication
US10091017B2 (en) 2015-12-30 2018-10-02 Echostar Technologies International Corporation Personalized home automation control based on individualized profiling
US10326733B2 (en) 2015-12-30 2019-06-18 Symantec Corporation Systems and methods for facilitating single sign-on for multiple devices
US10060644B2 (en) 2015-12-31 2018-08-28 Echostar Technologies International Corporation Methods and systems for control of home automation activity based on user preferences
US10073428B2 (en) 2015-12-31 2018-09-11 Echostar Technologies International Corporation Methods and systems for control of home automation activity based on user characteristics
US10824145B1 (en) 2016-01-22 2020-11-03 State Farm Mutual Automobile Insurance Company Autonomous vehicle component maintenance and repair
US10116513B1 (en) * 2016-02-10 2018-10-30 Symantec Corporation Systems and methods for managing smart building systems
US10605472B2 (en) 2016-02-19 2020-03-31 Ademco Inc. Multiple adaptive geo-fences for a building
US10700767B2 (en) 2016-03-16 2020-06-30 Honeywell International Inc. Requesting weather data based on pre-selected events
US9978265B2 (en) 2016-04-11 2018-05-22 Tti (Macao Commercial Offshore) Limited Modular garage door opener
US9921726B1 (en) 2016-06-03 2018-03-20 Steelcase Inc. Smart workstation method and system
US9882736B2 (en) 2016-06-09 2018-01-30 Echostar Technologies International Corporation Remote sound generation for a home automation system
US10375114B1 (en) 2016-06-27 2019-08-06 Symantec Corporation Systems and methods for enforcing access-control policies
US10462184B1 (en) 2016-06-28 2019-10-29 Symantec Corporation Systems and methods for enforcing access-control policies in an arbitrary physical space
DE102016113214A1 (en) * 2016-07-18 2018-01-18 Prominent Gmbh Dosing device with communication interface
US10764077B2 (en) * 2016-07-26 2020-09-01 RAM Laboratories, Inc. Crowd-sourced event identification that maintains source privacy
US10941951B2 (en) 2016-07-27 2021-03-09 Johnson Controls Technology Company Systems and methods for temperature and humidity control
US10948213B2 (en) 2016-07-27 2021-03-16 Johnson Controls Technology Company Systems and methods for operating a thermostat based on building configuration data
US20180031266A1 (en) 2016-07-27 2018-02-01 Johnson Controls Technology Company Interactive outdoor display
US10581935B2 (en) * 2016-07-28 2020-03-03 International Business Machines Corporation Event detection and prediction with collaborating mobile devices
US10294600B2 (en) 2016-08-05 2019-05-21 Echostar Technologies International Corporation Remote detection of washer/dryer operation/fault condition
WO2018032512A1 (en) * 2016-08-19 2018-02-22 绿仕科技控股有限公司 Control system
US10049515B2 (en) 2016-08-24 2018-08-14 Echostar Technologies International Corporation Trusted user identification and management for home automation systems
US10469457B1 (en) 2016-09-26 2019-11-05 Symantec Corporation Systems and methods for securely sharing cloud-service credentials within a network of computing devices
US20190310667A1 (en) * 2016-11-22 2019-10-10 Engie North America System for providing thermostat configuration guidance
US10264213B1 (en) 2016-12-15 2019-04-16 Steelcase Inc. Content amplification system and method
US10579961B2 (en) 2017-01-26 2020-03-03 Uptake Technologies, Inc. Method and system of identifying environment features for use in analyzing asset operation
US10687125B2 (en) * 2017-01-27 2020-06-16 Danielle Marie MICHEL Heat and temperature monitoring device
US11994833B2 (en) 2017-02-10 2024-05-28 Johnson Controls Technology Company Building smart entity system with agent based data ingestion and entity creation using time series data
GB2559737B (en) * 2017-02-10 2019-07-17 Centrica Hive Ltd Environmental control configuration
US10812981B1 (en) 2017-03-22 2020-10-20 NortonLifeLock, Inc. Systems and methods for certifying geolocation coordinates of computing devices
US10458669B2 (en) 2017-03-29 2019-10-29 Johnson Controls Technology Company Thermostat with interactive installation features
WO2018191510A1 (en) 2017-04-14 2018-10-18 Johnson Controls Technology Company Multi-function thermostat with air quality display
US11162698B2 (en) 2017-04-14 2021-11-02 Johnson Controls Tyco IP Holdings LLP Thermostat with exhaust fan control for air quality and humidity control
US10317102B2 (en) 2017-04-18 2019-06-11 Ademco Inc. Geofencing for thermostatic control
US11047115B2 (en) 2017-06-02 2021-06-29 H2Optimize, LLC Water meter system and method
US10599294B2 (en) 2017-06-27 2020-03-24 Lennox Industries Inc. System and method for transferring images to multiple programmable smart thermostats
SG10201705480UA (en) * 2017-07-03 2019-02-27 Nec Asia Pacific Pte Ltd System and method for determining event
US11204435B1 (en) * 2017-09-12 2021-12-21 Safehub Inc. Methods and systems for measuring and analyzing building dynamics
US11314726B2 (en) * 2017-09-27 2022-04-26 Johnson Controls Tyco IP Holdings LLP Web services for smart entity management for sensor systems
US10902711B2 (en) * 2017-10-23 2021-01-26 Martin Alpert Facility monitoring apparatus and method
EP3392854A1 (en) * 2017-11-03 2018-10-24 Siemens Schweiz AG Method for automatically adjusting a fire detector, system having an automatically adjustable fire alarm and computer program with an implementation of the method
US10989427B2 (en) 2017-12-20 2021-04-27 Trane International Inc. HVAC system including smart diagnostic capabilites
US11131474B2 (en) 2018-03-09 2021-09-28 Johnson Controls Tyco IP Holdings LLP Thermostat with user interface features
US11094180B1 (en) 2018-04-09 2021-08-17 State Farm Mutual Automobile Insurance Company Sensing peripheral heuristic evidence, reinforcement, and engagement system
WO2019222149A1 (en) * 2018-05-16 2019-11-21 University Of Hawaii Systems and methods for determining maximum alert geography for a hazard
US11067305B2 (en) 2018-06-27 2021-07-20 Lennox Industries Inc. Method and system for heating auto-setback
US11184858B2 (en) 2018-09-18 2021-11-23 PB, Inc. Bluecell devices and methods
US11678141B2 (en) 2018-09-18 2023-06-13 Pb Inc. Hybrid cellular Bluetooth tracking devices, methods and systems
EP3644290B1 (en) 2018-10-23 2020-10-21 Axis AB Emergency notification system
US11107390B2 (en) 2018-12-21 2021-08-31 Johnson Controls Technology Company Display device with halo
US10965484B2 (en) * 2018-12-21 2021-03-30 Opendoor Labs Inc. Fleet of home electronic systems
US11514089B2 (en) * 2019-04-16 2022-11-29 Eagle Technology, Llc Geospatial monitoring system providing unsupervised site identification and classification from crowd-sourced mobile data (CSMD) and related methods
WO2021107939A1 (en) 2019-11-26 2021-06-03 Google Llc Trackpad with force sensing circuitry and cloud-based earthquake detection
US12118178B1 (en) 2020-04-08 2024-10-15 Steelcase Inc. Wayfinding services method and apparatus
US11984739B1 (en) 2020-07-31 2024-05-14 Steelcase Inc. Remote power systems, apparatus and methods
US20220180725A1 (en) * 2020-12-04 2022-06-09 Wearable Technologies Inc. Smart wearable personal safety devices and related systems and methods
US11874415B2 (en) 2020-12-22 2024-01-16 International Business Machines Corporation Earthquake detection and response via distributed visual input
CN114067534B (en) * 2022-01-11 2022-03-29 山东省国土空间生态修复中心 Geological disaster early warning method and system based on machine vision
US20230224183A1 (en) * 2022-01-13 2023-07-13 Demir RAKANOVIC System and Method for Automatically Managing a Living Space
US12101224B2 (en) * 2022-06-17 2024-09-24 International Business Machines Corporation Device lifetime-aware creation of customizable surrogate-based models
US20240013653A1 (en) * 2022-07-08 2024-01-11 Roku, Inc. Use of Crowdsourcing as Basis to Predict Emergency Impact and to Facilitate Emergency Response

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6548967B1 (en) * 1997-08-26 2003-04-15 Color Kinetics, Inc. Universal lighting network methods and systems
US20080077474A1 (en) * 2006-09-20 2008-03-27 Dumas Mark E Method and system for global consolidated risk, threat and opportunity assessment
US20120262303A1 (en) * 2011-04-15 2012-10-18 Mrn Partners Llp Remote data monitoring and collection system with multi-tiered analysis

Family Cites Families (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3640455A (en) 1970-02-06 1972-02-08 Ram Domestic Products Co Air temperature control system
US3991357A (en) 1974-04-30 1976-11-09 The Stolle Corporation Storage battery monitoring and recharging control system with automatic control of prime mover driving charging generator
DE2719144A1 (en) 1977-04-29 1978-11-02 Siegenia Frank Kg SOUND-INSULATING VENTILATION DEVICE FOR ROOMS
US4223831A (en) 1979-02-21 1980-09-23 Szarka Jay R Sound activated temperature control system
US4685614A (en) 1980-05-27 1987-08-11 Honeywell, Inc. Analog to digital conversion employing the system clock of a microprocessor, the clock frequency varying with analog input
US4335847A (en) 1980-05-27 1982-06-22 Levine Michael R Electronic thermostat with repetitive operation cycle
US4408711A (en) 1980-11-14 1983-10-11 Levine Michael R Thermostat with adaptive operating cycle
US4742475A (en) 1984-06-19 1988-05-03 Ibg International, Inc. Environmental control system
US4646964A (en) 1982-03-26 1987-03-03 Parker Electronics, Inc. Temperature control system
JPS59106311A (en) 1982-12-09 1984-06-20 Nippon Denso Co Ltd Control device for automatic air conditioner
JPS59106311U (en) 1982-12-28 1984-07-17 ヤマハ株式会社 Bliss box opening locking mechanism
US4657179A (en) 1984-12-26 1987-04-14 Honeywell Inc. Distributed environmental/load control system
US4632177A (en) 1985-03-29 1986-12-30 Honeywell Inc. Clock operated thermostat having automatic changeover and optimum start
US4615380A (en) 1985-06-17 1986-10-07 Honeywell Inc. Adaptive clock thermostat means for controlling over and undershoot
US4674027A (en) 1985-06-19 1987-06-16 Honeywell Inc. Thermostat means adaptively controlling the amount of overshoot or undershoot of space temperature
US4751961A (en) 1986-02-18 1988-06-21 Honeywell Inc. Electronic programmable thermostat
US4656835A (en) 1986-09-15 1987-04-14 Honeywell Inc. Demand limit control by integral reset of thermostats
US4897798A (en) 1986-12-08 1990-01-30 American Telephone And Telegraph Company Adaptive environment control system
US4948040A (en) 1987-06-11 1990-08-14 Mitsubishi Denki Kabushiki Kaisha Air conditioning system
JPH01252850A (en) 1987-12-24 1989-10-09 Mitsubishi Electric Corp Display device for airconditioner
US4971136A (en) 1989-11-28 1990-11-20 Electric Power Research Institute Dual fuel heat pump controller
US5088645A (en) 1991-06-24 1992-02-18 Ian Bell Self-programmable temperature control system for a heating and cooling system
US5240178A (en) 1991-09-05 1993-08-31 Dewolf Thomas L Active anticipatory control
US5211332A (en) 1991-09-30 1993-05-18 Honeywell Inc. Thermostat control
US5761083A (en) 1992-03-25 1998-06-02 Brown, Jr.; Robert J. Energy management and home automation system
US5544036A (en) 1992-03-25 1996-08-06 Brown, Jr.; Robert J. Energy management and home automation system
US5224648A (en) 1992-03-27 1993-07-06 American Standard Inc. Two-way wireless HVAC system and thermostat
US5244146A (en) 1992-05-08 1993-09-14 Homebrain, Inc. Energy-conserving thermostat and method
CA2124053C (en) 1993-05-24 1999-03-30 Henry Petrie Mcnair Remote temperature control system
US5348078A (en) 1993-07-08 1994-09-20 Steven D. Dushane Dwelling heating and air conditioning system
US6116512A (en) 1997-02-19 2000-09-12 Dushane; Steven D. Wireless programmable digital thermostat system
US5416725A (en) 1993-08-18 1995-05-16 P.C. Sentry, Inc. Computer-based notification system having redundant sensor alarm determination and associated computer-implemented method for issuing notification of events
US5381950A (en) 1993-10-20 1995-01-17 American Standard Inc. Zone sensor or thermostat with forced air
US5611484A (en) 1993-12-17 1997-03-18 Honeywell Inc. Thermostat with selectable temperature sensor inputs
US5635896A (en) 1993-12-27 1997-06-03 Honeywell Inc. Locally powered control system having a remote sensing unit with a two wire connection
US5476221A (en) 1994-01-28 1995-12-19 Seymour; Richard L. Easy-to-install thermostatic control system based on room occupancy
US5395042A (en) 1994-02-17 1995-03-07 Smart Systems International Apparatus and method for automatic climate control
US5646349A (en) 1994-02-18 1997-07-08 Plan B Enterprises, Inc. Floating mass accelerometer
US5413278A (en) 1994-06-30 1995-05-09 Erikson; Evans W. Remotely activated opposing pressure air flow control register
US5644173A (en) 1994-10-25 1997-07-01 Elliason; Kurt L. Real time and/shed load based on received tier pricing and direct load control with processors for each load
US6574581B1 (en) 1994-10-25 2003-06-03 Honeywell International Inc. Profile based method for deriving a temperature setpoint using a ‘delta’ based on cross-indexing a received price-point level signal
US5555927A (en) 1995-06-07 1996-09-17 Honeywell Inc. Thermostat system having an optimized temperature recovery ramp rate
US5802467A (en) 1995-09-28 1998-09-01 Innovative Intelcom Industries Wireless and wired communications, command, control and sensing system for sound and/or data transmission and reception
US5839654A (en) 1996-02-05 1998-11-24 Innova Patent Trust Portable air comfort system thermostat enabling personal localized control of room temperature
JPH09298683A (en) 1996-04-26 1997-11-18 Sony Corp Video signal processing method and video signal processor
JPH09298780A (en) 1996-05-07 1997-11-18 Yamatake Honeywell Co Ltd Wireless receiver
DK0932398T3 (en) 1996-06-28 2006-09-25 Ortho Mcneil Pharm Inc Use of topiramate or derivatives thereof for the manufacture of a medicament for the treatment of manic depressive bipolar disorders
JP3240434B2 (en) 1996-07-04 2001-12-17 株式会社山武 Desktop / wall mounted sensor built-in device
US5918474A (en) 1996-07-30 1999-07-06 Whirlpool Corporation Fan motor on/off control system for a refrigeration appliance
US5902183A (en) 1996-11-15 1999-05-11 D'souza; Melanius Process and apparatus for energy conservation in buildings using a computer controlled ventilation system
US5808294A (en) 1997-01-14 1998-09-15 Kenco Automatic Feeders Electronic controller for scheduling device activation by sensing daylight
US5986357A (en) 1997-02-04 1999-11-16 Mytech Corporation Occupancy sensor and method of operating same
CA2202008C (en) 1997-04-07 2000-02-08 Hugues Demilleville Energy management system
US5909378A (en) 1997-04-09 1999-06-01 De Milleville; Hugues Control apparatus and method for maximizing energy saving in operation of HVAC equipment and the like
US5926776A (en) 1997-06-04 1999-07-20 Gas Research Institute Smart thermostat having a transceiver interface
US6072784A (en) 1997-07-25 2000-06-06 At&T Corp. CDMA mobile station wireless transmission power management with adaptive scheduling priorities based on battery power level
CA2300377A1 (en) 1997-08-19 1999-02-25 Sami Guindi Method and apparatus for detecting impending earthquakes
US6062482A (en) 1997-09-19 2000-05-16 Pentech Energy Solutions, Inc. Method and apparatus for energy recovery in an environmental control system
US5924486A (en) 1997-10-29 1999-07-20 Tecom, Inc. Environmental condition control and energy management system and method
US6385510B1 (en) 1997-12-03 2002-05-07 Klaus D. Hoog HVAC remote monitoring system
US6066843A (en) 1998-04-06 2000-05-23 Lightstat, Inc. Light discriminator for a thermostat
US6798341B1 (en) 1998-05-18 2004-09-28 Leviton Manufacturing Co., Inc. Network based multiple sensor and control device with temperature sensing and control
US6891838B1 (en) 1998-06-22 2005-05-10 Statsignal Ipc, Llc System and method for monitoring and controlling residential devices
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6280053B1 (en) * 1998-09-23 2001-08-28 Tseng-Lu Chien Multiple function electro-luminescent night light devices
US6098893A (en) 1998-10-22 2000-08-08 Honeywell Inc. Comfort control system incorporating weather forecast data and a method for operating such a system
US7038667B1 (en) 1998-10-26 2006-05-02 Immersion Corporation Mechanisms for control knobs and other interface devices
US6179213B1 (en) 1999-02-09 2001-01-30 Energy Rest, Inc. Universal accessory for timing and cycling heat, ventilation and air conditioning energy consumption and distribution systems
US6095427A (en) 1999-04-22 2000-08-01 Thermo King Corporation Temperature control system and method for efficiently obtaining and maintaining the temperature in a conditioned space
US6453687B2 (en) 2000-01-07 2002-09-24 Robertshaw Controls Company Refrigeration monitor unit
CA2391405C (en) 2000-04-10 2006-01-10 Zensys A/S Rf home automation system comprising replicable controllers
US6604023B1 (en) 2000-04-28 2003-08-05 International Business Machines Corporation Managing an environment utilizing a portable data processing system
US6622115B1 (en) 2000-04-28 2003-09-16 International Business Machines Corporation Managing an environment according to environmental preferences retrieved from a personal storage device
US6519509B1 (en) 2000-06-22 2003-02-11 Stonewater Software, Inc. System and method for monitoring and controlling energy distribution
US6909921B1 (en) 2000-10-19 2005-06-21 Destiny Networks, Inc. Occupancy sensor and method for home automation system
US7149727B1 (en) 2000-11-01 2006-12-12 Avista Advantage, Inc. Computerized system and method for providing cost savings for consumers
AU2002216339B2 (en) * 2000-12-15 2006-03-02 Nooly Technologies Ltd. Location-based weather nowcast system and method
US6478233B1 (en) 2000-12-29 2002-11-12 Honeywell International Inc. Thermal comfort controller having an integral energy savings estimator
CN1311376C (en) 2001-02-24 2007-04-18 国际商业机器公司 Novel massively parallel super computer
US6370894B1 (en) 2001-03-08 2002-04-16 Carrier Corporation Method and apparatus for using single-stage thermostat to control two-stage cooling system
US6668240B2 (en) 2001-05-03 2003-12-23 Emerson Retail Services Inc. Food quality and safety model for refrigerated food
US6769482B2 (en) 2001-05-10 2004-08-03 Ranco Incorporated Of Delaware System and method for switching-over between heating and cooling modes
US7555364B2 (en) 2001-08-22 2009-06-30 MMI Controls, L.P. Adaptive hierarchy usage monitoring HVAC control system
US6993417B2 (en) 2001-09-10 2006-01-31 Osann Jr Robert System for energy sensing analysis and feedback
US6622925B2 (en) 2001-10-05 2003-09-23 Enernet Corporation Apparatus and method for wireless control
US6645066B2 (en) 2001-11-19 2003-11-11 Koninklijke Philips Electronics N.V. Space-conditioning control employing image-based detection of occupancy and use
US6619555B2 (en) 2002-02-13 2003-09-16 Howard B. Rosen Thermostat system communicating with a remote correspondent for receiving and displaying diverse information
US6619055B1 (en) 2002-03-20 2003-09-16 Honeywell International Inc. Security system with wireless thermostat and method of operation thereof
US7471062B2 (en) 2002-06-12 2008-12-30 Koninklijke Philips Electronics N.V. Wireless battery charging
US20050090915A1 (en) 2002-10-22 2005-04-28 Smart Systems Technologies, Inc. Programmable and expandable building automation and control system
US7832465B2 (en) 2002-11-07 2010-11-16 Shazhou Zou Affordable and easy to install multi-zone HVAC system
US7109879B2 (en) * 2003-01-17 2006-09-19 Smart Safety Systems, Inc. Remotely activated, multiple stage alarm system
US7392661B2 (en) 2003-03-21 2008-07-01 Home Comfort Zones, Inc. Energy usage estimation for climate control system
US6983889B2 (en) 2003-03-21 2006-01-10 Home Comfort Zones, Inc. Forced-air zone climate control system for existing residential houses
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7113086B2 (en) 2003-04-07 2006-09-26 Altec Energy Systems Systems and methods for monitoring room conditions to improve occupant performance
US20070043478A1 (en) 2003-07-28 2007-02-22 Ehlers Gregory A System and method of controlling an HVAC system
US6851621B1 (en) 2003-08-18 2005-02-08 Honeywell International Inc. PDA diagnosis of thermostats
US7055759B2 (en) 2003-08-18 2006-06-06 Honeywell International Inc. PDA configuration of thermostats
US7702424B2 (en) 2003-08-20 2010-04-20 Cannon Technologies, Inc. Utility load control management communications protocol
US20050270151A1 (en) 2003-08-22 2005-12-08 Honeywell International, Inc. RF interconnected HVAC system and security system
CN1701243A (en) 2003-08-27 2005-11-23 恩益禧慕百霖株式会社 Earthquake prediction method and system thereof
US20050053063A1 (en) 2003-09-04 2005-03-10 Sajeev Madhavan Automatic provisioning of network address translation data
US7289887B2 (en) 2003-09-08 2007-10-30 Smartsynch, Inc. Systems and methods for remote power management using IEEE 802 based wireless communication links
US20050055432A1 (en) 2003-09-08 2005-03-10 Smart Synch, Inc. Systems and methods for remote power management using 802.11 wireless protocols
US20050128067A1 (en) 2003-12-11 2005-06-16 Honeywell International, Inc. Automatic sensitivity adjustment on motion detectors in security system
US7469550B2 (en) 2004-01-08 2008-12-30 Robertshaw Controls Company System and method for controlling appliances and thermostat for use therewith
US7135965B2 (en) 2004-01-08 2006-11-14 Maple Chase Company Hazardous condition detection system and method and thermostat for use therewith
US7104462B2 (en) 2004-01-09 2006-09-12 Goodrich Corporation Low noise solid-state thermostat with microprocessor controlled fault detection and reporting, and programmable set points
US7360370B2 (en) 2004-01-20 2008-04-22 Carrier Corporation Method of verifying proper installation of a zoned HVAC system
US7600694B2 (en) 2004-01-27 2009-10-13 Trane International Inc. Multiple thermostats for air conditioning system with time setting feature
US7502768B2 (en) 2004-02-27 2009-03-10 Siemens Building Technologies, Inc. System and method for predicting building thermal loads
US20050189429A1 (en) 2004-02-28 2005-09-01 Breeden Robert L. Thermostat and method for adaptively providing a changeover between heat and cool
US20050194456A1 (en) 2004-03-02 2005-09-08 Tessier Patrick C. Wireless controller with gateway
US20050234600A1 (en) 2004-04-16 2005-10-20 Energyconnect, Inc. Enterprise energy automation
US7788332B2 (en) * 2004-05-06 2010-08-31 Cornell Research Foundation, Inc. Sensor-network processors using event-driven architecture
US7024336B2 (en) 2004-05-13 2006-04-04 Johnson Controls Technology Company Method of and apparatus for evaluating the performance of a control system
US7379791B2 (en) 2004-08-03 2008-05-27 Uscl Corporation Integrated metrology systems and information and control apparatus for interaction with integrated metrology systems
US7188482B2 (en) 2004-08-27 2007-03-13 Carrier Corporation Fault diagnostics and prognostics based on distance fault classifiers
US7156316B2 (en) 2004-10-06 2007-01-02 Lawrence Kates Zone thermostat for zone heating and cooling
US7168627B2 (en) 2004-10-06 2007-01-30 Lawrence Kates Electronically-controlled register vent for zone heating and cooling
US7347774B2 (en) 2004-11-12 2008-03-25 Peter S. Aronstam Remote autonomous intelligent air flow control system and network
US7537171B2 (en) 2004-11-17 2009-05-26 Emerson Electric Co. Thermostat control system providing power saving transmissions
US6990335B1 (en) 2004-11-18 2006-01-24 Charles G. Shamoon Ubiquitous connectivity and control system for remote locations
US7058477B1 (en) 2004-11-23 2006-06-06 Howard Rosen Thermostat system with remote data averaging
US20060149395A1 (en) 2004-12-30 2006-07-06 Carrier Corporation Routine and urgent remote notifications from multiple home comfort systems
US20060147003A1 (en) 2004-12-30 2006-07-06 Carrier Corporation Remote telephone access control of multiple home comfort systems
US20060196953A1 (en) 2005-01-19 2006-09-07 Tim Simon, Inc. Multiple thermostat installation
US7802618B2 (en) 2005-01-19 2010-09-28 Tim Simon, Inc. Thermostat operation method and apparatus
US7849698B2 (en) 2005-03-02 2010-12-14 York International Corporation Method and apparatus to sense and establish operation mode for an HVAC control
WO2006101472A1 (en) 2005-03-15 2006-09-28 Chubb International Holdings Limited Context-aware alarm system
US7605714B2 (en) 2005-05-13 2009-10-20 Microsoft Corporation System and method for command and control of wireless devices using a wearable device
US7434742B2 (en) 2005-06-20 2008-10-14 Emerson Electric Co. Thermostat capable of displaying received information
WO2007027632A2 (en) 2005-08-30 2007-03-08 Siemens Building Technologies, Inc. Application of microsystems for comfort control
US20070045431A1 (en) 2005-08-31 2007-03-01 Ranco Incorporated Of Delaware Occupancy-based zoning climate control system and method
US20070114295A1 (en) 2005-11-22 2007-05-24 Robertshaw Controls Company Wireless thermostat
US7537172B2 (en) 2005-12-13 2009-05-26 Comverge, Inc. HVAC communication system
US7597976B2 (en) 2005-12-20 2009-10-06 Gm Global Technology Operations, Inc. Floating base load hybrid strategy for a hybrid fuel cell vehicle to increase the durability of the fuel cell system
US7644869B2 (en) 2005-12-28 2010-01-12 Honeywell International Inc. Auxiliary stage control of multistage thermostats
US7891573B2 (en) 2006-03-03 2011-02-22 Micro Metl Corporation Methods and apparatuses for controlling air to a building
US20070228183A1 (en) 2006-03-28 2007-10-04 Kennedy Kimberly A Thermostat
US8091375B2 (en) 2006-05-10 2012-01-10 Trane International Inc. Humidity control for air conditioning system
US7580775B2 (en) 2006-07-11 2009-08-25 Regen Energy Inc. Method and apparatus for implementing enablement state decision for energy consuming load based on demand and duty cycle of load
US7571865B2 (en) 2006-10-31 2009-08-11 Tonerhead, Inc. Wireless temperature control system
US8219254B2 (en) * 2006-11-20 2012-07-10 Water Optimizer LLC. Adaptive control for irrigation system
US7904830B2 (en) 2006-11-30 2011-03-08 Honeywell International Inc. HVAC zone control panel
US20080128523A1 (en) 2006-11-30 2008-06-05 Honeywell International Inc. Hvac zone control panel
US7558648B2 (en) 2006-11-30 2009-07-07 Honeywell International Inc. HVAC zone control panel with zone configuration
CN101809380A (en) 2006-12-21 2010-08-18 开利公司 Pulse width modulation control for heat pump fan to eliminate cold blow
US7957839B2 (en) 2006-12-29 2011-06-07 Honeywell International Inc. HVAC zone controller
KR20090000248A (en) 2007-02-07 2009-01-07 엘지전자 주식회사 Unification management display apparatus and method for multi-air conditioner
US7784704B2 (en) 2007-02-09 2010-08-31 Harter Robert J Self-programmable thermostat
US7904209B2 (en) 2007-03-01 2011-03-08 Syracuse University Open web services-based indoor climate control system
US8220721B2 (en) 2007-03-01 2012-07-17 Flohr Daniel P Wireless interface circuits for wired thermostats and electrical service demand management
US7847681B2 (en) 2007-03-23 2010-12-07 Johnson Controls Technology Company Building automation systems and methods
US20080273754A1 (en) 2007-05-04 2008-11-06 Leviton Manufacturing Co., Inc. Apparatus and method for defining an area of interest for image sensing
US8249731B2 (en) 2007-05-24 2012-08-21 Alexander Bach Tran Smart air ventilation system
US8037022B2 (en) 2007-06-05 2011-10-11 Samsung Electroncis Co., Ltd. Synchronizing content between content directory service and control point
US7774102B2 (en) 2007-06-22 2010-08-10 Emerson Electric Co. System including interactive controllers for controlling operation of climate control system
US8027518B2 (en) 2007-06-25 2011-09-27 Microsoft Corporation Automatic configuration of devices based on biometric data
US8196185B2 (en) 2007-08-27 2012-06-05 Honeywell International Inc. Remote HVAC control with a customizable overview display
US7848900B2 (en) 2008-09-16 2010-12-07 Ecofactor, Inc. System and method for calculating the thermal mass of a building
US8019567B2 (en) 2007-09-17 2011-09-13 Ecofactor, Inc. System and method for evaluating changes in the efficiency of an HVAC system
US20100250009A1 (en) 2007-12-07 2010-09-30 Carrier Corporation Control of conditioned environment by remote sensor
US20090171862A1 (en) 2007-12-28 2009-07-02 Johnson Controls Technology Company Energy control system
US8981927B2 (en) * 2008-02-13 2015-03-17 En-Gauge, Inc. Object Tracking with emergency equipment
US8274383B2 (en) 2008-03-31 2012-09-25 The Boeing Company Methods and systems for sensing activity using energy harvesting devices
US20090327354A1 (en) 2008-06-26 2009-12-31 Microsoft Corporation Notification and synchronization of updated data
US8010237B2 (en) 2008-07-07 2011-08-30 Ecofactor, Inc. System and method for using ramped setpoint temperature variation with networked thermostats to improve efficiency
US7992794B2 (en) 2008-07-10 2011-08-09 Honeywell International Inc. Backup control for HVAC system
US8180492B2 (en) 2008-07-14 2012-05-15 Ecofactor, Inc. System and method for using a networked electronic device as an occupancy sensor for an energy management system
US7918406B2 (en) 2008-07-22 2011-04-05 Howard Rosen Override of nonoccupancy status in a thermostat device based upon analysis of recent patterns of occupancy
US20100025483A1 (en) 2008-07-31 2010-02-04 Michael Hoeynck Sensor-Based Occupancy and Behavior Prediction Method for Intelligently Controlling Energy Consumption Within a Building
US20100261465A1 (en) 2009-04-14 2010-10-14 Rhoads Geoffrey B Methods and systems for cell phone interactions
US9268385B2 (en) 2008-08-20 2016-02-23 International Business Machines Corporation Introducing selective energy efficiency in a virtual environment
US20100058450A1 (en) 2008-08-28 2010-03-04 Gene Fein Pass code provision
CA2678825C (en) 2008-09-15 2017-09-26 Johnson Controls Technology Company System status user interfaces
US8543244B2 (en) 2008-12-19 2013-09-24 Oliver Joe Keeling Heating and cooling control methods and systems
ES2617744T3 (en) 2008-12-30 2017-06-19 Zoner Llc Automatic balance register for HVAC systems
US8275412B2 (en) 2008-12-31 2012-09-25 Motorola Mobility Llc Portable electronic device having directional proximity sensors based on device orientation
AU2010204729A1 (en) 2009-01-14 2011-09-01 Integral Analytics, Inc. Optimization of microgrid energy use and distribution
USD614976S1 (en) 2009-03-06 2010-05-04 Danfoss A/S Wireless thermostat with dial and display
US9020647B2 (en) 2009-03-27 2015-04-28 Siemens Industry, Inc. System and method for climate control set-point optimization based on individual comfort
US8498753B2 (en) 2009-05-08 2013-07-30 Ecofactor, Inc. System, method and apparatus for just-in-time conditioning using a thermostat
US8596550B2 (en) 2009-05-12 2013-12-03 Ecofactor, Inc. System, method and apparatus for identifying manual inputs to and adaptive programming of a thermostat
CA2762163C (en) 2009-05-18 2017-12-12 Alarm.Com Incorporated Remote device control and energy monitoring
US8626344B2 (en) 2009-08-21 2014-01-07 Allure Energy, Inc. Energy management system and method
US8406933B2 (en) 2009-08-18 2013-03-26 Control4 Corporation Systems and methods for estimating the effects of a request to change power usage
US20110046805A1 (en) 2009-08-18 2011-02-24 Honeywell International Inc. Context-aware smart home energy manager
US8498749B2 (en) 2009-08-21 2013-07-30 Allure Energy, Inc. Method for zone based energy management system with scalable map interface
GB2474007A (en) * 2009-08-27 2011-04-06 Simon R Daniel Communication in and monitoring of a disaster area, optionally including a disaster medical pack
US9003387B2 (en) 2009-09-25 2015-04-07 Fisher-Rosemount Systems, Inc. Automated deployment of computer-specific software updates
US8503984B2 (en) 2009-12-23 2013-08-06 Amos Winbush, III Mobile communication device user content synchronization with central web-based records and information sharing system
US8352082B2 (en) 2009-12-31 2013-01-08 Schneider Electric USA, Inc. Methods and apparatuses for displaying energy savings from an HVAC system
US20110185895A1 (en) 2010-02-03 2011-08-04 Paul Freen Filter apparatus and method of monitoring filter apparatus
US20110253796A1 (en) 2010-04-14 2011-10-20 Posa John G Zone-based hvac system
US9329903B2 (en) 2010-05-12 2016-05-03 Emerson Electric Co. System and method for internet based service notification
US8706310B2 (en) 2010-06-15 2014-04-22 Redwood Systems, Inc. Goal-based control of lighting
US20120017611A1 (en) 2010-07-20 2012-01-26 Coffel James A Load management aware fan control
US8090477B1 (en) 2010-08-20 2012-01-03 Ecofactor, Inc. System and method for optimizing use of plug-in air conditioners and portable heaters
US8727611B2 (en) 2010-11-19 2014-05-20 Nest Labs, Inc. System and method for integrating sensors in thermostats
US8510255B2 (en) 2010-09-14 2013-08-13 Nest Labs, Inc. Occupancy pattern detection, estimation and prediction
US20120085831A1 (en) 2010-10-07 2012-04-12 Energy Eye, Inc. Systems and methods for controlling the temperature of a room based on occupancy
US8375118B2 (en) * 2010-11-18 2013-02-12 Verizon Patent And Licensing Inc. Smart home device management
US8195313B1 (en) * 2010-11-19 2012-06-05 Nest Labs, Inc. Thermostat user interface
US20130185491A1 (en) 2012-01-17 2013-07-18 Skymedi Corporation Memory controller and a method thereof
US8847781B2 (en) * 2012-03-28 2014-09-30 Sony Corporation Building management system with privacy-guarded assistance mechanism and method of operation thereof
US8620841B1 (en) 2012-08-31 2013-12-31 Nest Labs, Inc. Dynamic distributed-sensor thermostat network for forecasting external events
WO2014035432A2 (en) 2012-08-31 2014-03-06 Nest Labs, Inc. Dynamic distributed-sensor network for forecasting external events

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6548967B1 (en) * 1997-08-26 2003-04-15 Color Kinetics, Inc. Universal lighting network methods and systems
US20080077474A1 (en) * 2006-09-20 2008-03-27 Dumas Mark E Method and system for global consolidated risk, threat and opportunity assessment
US20120262303A1 (en) * 2011-04-15 2012-10-18 Mrn Partners Llp Remote data monitoring and collection system with multi-tiered analysis

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Freudenthal et al., Communicating extensive smart home functionalaty to users of all ages: the design of a mixed-initiative multimodal thermostat-interface, 2001, OIKOS, pp:1-6 *
Han et al., Smart Home Energy Management System using IEEE 802.15.4 and ZigBee, 2010, IEEE, pp:1-8 *
Khan et al., Web Services for Indoor Energy Management in a Smart Grid Environment, 2011, IEEE, pp:1-5 *
Papadopoulos et al., A Connected Home Platform and Development Framework for Smart Home Control Applications, 2009, IEEE, pp:1-8 *

Cited By (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652912B2 (en) 2012-09-21 2017-05-16 Google Inc. Secure handling of unsupervised package drop off at a smart-home
US9959727B2 (en) 2012-09-21 2018-05-01 Google Llc Handling visitor interaction at a smart-home in a do not disturb mode
US9626841B2 (en) 2012-09-21 2017-04-18 Google Inc. Occupant notification of visitor interaction with a doorbell at a smart-home
US10735216B2 (en) 2012-09-21 2020-08-04 Google Llc Handling security services visitor at a smart-home
US9640055B2 (en) 2012-09-21 2017-05-02 Google Inc. Interacting with a detected visitor at an entryway to a smart-home
US10510035B2 (en) 2012-09-21 2019-12-17 Google Llc Limited access invitation handling at a smart-home
US9960929B2 (en) 2012-09-21 2018-05-01 Google Llc Environmental sensing with a doorbell at a smart-home
US9881474B2 (en) 2012-09-21 2018-01-30 Google Llc Initially detecting a visitor at a smart-home
US9953514B2 (en) 2012-09-21 2018-04-24 Google Llc Visitor feedback to visitor interaction with a doorbell at a smart-home
US9600645B2 (en) 2012-09-21 2017-03-21 Google Inc. Smart invitation handling at a smart-home
US9978238B2 (en) 2012-09-21 2018-05-22 Google Llc Visitor options at an entryway to a smart-home
US9711036B2 (en) 2012-09-21 2017-07-18 Google Inc. Leveraging neighborhood to handle potential visitor at a smart-home
US20140244997A1 (en) * 2013-02-25 2014-08-28 Qualcomm Incorporated Emergency mode for iot devices
US9818061B1 (en) * 2013-10-22 2017-11-14 Lumin, LLC Collaboration of audio sensors for geo-location and continuous tracking of multiple users in a device-independent artificial intelligence (AI) environment
US9710753B1 (en) * 2013-10-22 2017-07-18 Lumin, LLC Collaboration of audio sensors for geo-location of events in an artificial intelligence (AI) environment
US20170076212A1 (en) * 2013-10-22 2017-03-16 Lumin, LLC Establishing audio connections between users being continuously tracked by collaborative sensors
US9830554B2 (en) * 2013-10-22 2017-11-28 Lumin, LLC Establishing audio connections between users being continuously tracked by collaborative sensors
US10846599B2 (en) 2013-10-22 2020-11-24 Lumin, LLC Collaboration of audio sensors for geo-location and continuous tracking of health conditions for users in a device-independent artificial intelligence (AI) environment
EP2988183B1 (en) 2014-08-14 2020-04-01 Siemens Aktiengesellschaft System for observing and/or controlling a plant
WO2016109839A1 (en) * 2014-12-31 2016-07-07 Google Inc. Handling visitor interaction at a smart-home in a do not disturb mode
CN107209159A (en) * 2015-02-26 2017-09-26 英特尔公司 Sensor center method and apparatus for electrical socket
WO2016137609A1 (en) * 2015-02-26 2016-09-01 Intel Corporation Sensor hub method and apparatus for an electrical outlet
US10423135B2 (en) 2015-03-05 2019-09-24 Google Llc Smart-home automation system that suggests or automatically implements selected household policies based on sensed observations
US11921477B2 (en) 2015-03-05 2024-03-05 Google Llc Smart-home automation system that suggests or automatically implements selected household policies based on sensed observations
US9872088B2 (en) 2015-03-05 2018-01-16 Google Llc Monitoring and reporting household activities in the smart home according to a household policy
US11237530B2 (en) 2015-03-05 2022-02-01 Google Llc Smart-home automation system that suggests or automatically implements selected household policies based on sensed observations
US9524635B2 (en) 2015-03-05 2016-12-20 Google Inc. Smart-home household policy implementations for facilitating occupant progress toward a goal
WO2016141199A1 (en) * 2015-03-05 2016-09-09 Google Inc. Generation and implementation of household policies for the smart home
US9998803B2 (en) 2015-03-05 2018-06-12 Google Llc Generation and implementation of household policies for the smart home
US10114351B2 (en) 2015-03-05 2018-10-30 Google Llc Smart-home automation system that suggests or autmatically implements selected household policies based on sensed observations
WO2017003187A1 (en) * 2015-06-29 2017-01-05 Samsung Electronics Co., Ltd. Method and apparatus for controlling device of one region among a plurality of regions
US10394201B2 (en) 2015-06-29 2019-08-27 Samsung Electronics Co., Ltd. Method and apparatus for controlling device of one region among a plurality of regions
US11741261B2 (en) 2015-11-05 2023-08-29 Hewlett-Packard Development Company, L.P. Requests and compute resources
US10896264B2 (en) * 2015-11-05 2021-01-19 Hewlett-Packard Development Company, L.P. Synthesis routines and raw data
WO2017091053A1 (en) * 2015-11-27 2017-06-01 Samsung Electronics Co., Ltd. Apparatus and method for determining user's presence
US9924312B2 (en) 2015-11-27 2018-03-20 Samsung Electronics Co., Ltd. Apparatus and method for determining user's presence
US10244054B2 (en) * 2016-02-11 2019-03-26 International Business Machines Corporation Distributed load processing using forecasted location-based internet of things device clusters
US20170235603A1 (en) * 2016-02-11 2017-08-17 International Business Machines Corporation Distributed load processing using forecasted location-based internet of things device clusters
US9954953B2 (en) * 2016-02-11 2018-04-24 International Business Machines Corporation Distributed load processing using forecasted location-based internet of things device clusters
US10529221B2 (en) 2016-04-19 2020-01-07 Navio International, Inc. Modular approach for smart and customizable security solutions and other applications for a smart city
US10950118B2 (en) 2016-04-19 2021-03-16 Navio International, Inc. Modular sensing systems and methods
US11790760B2 (en) 2016-04-19 2023-10-17 Navio International, Inc. Modular sensing systems and methods
WO2017184636A1 (en) * 2016-04-19 2017-10-26 Jarrell John A Modular approach for smart and customizable security solutions and other applications for a smart city
US10757790B2 (en) * 2016-06-10 2020-08-25 Intel Corporation Sensor hub apparatus and method for sensing ambient light and audio conditions
US20170359664A1 (en) * 2016-06-10 2017-12-14 Intel Corporation Sensor hub apparatus and method for sensing ambient light and audio conditions
USD817208S1 (en) 2017-06-12 2018-05-08 Amcrest Global Holdings Limited Doorbell
US10684037B2 (en) 2017-10-04 2020-06-16 Trane International Inc. Thermostat and method for controlling an HVAC system with remote temperature sensor and onboard temperature sensor
JP2019091107A (en) * 2017-11-10 2019-06-13 オムロン株式会社 Sensor device
US10554440B2 (en) * 2017-11-10 2020-02-04 Omron Corporation Sensor device
US20190149355A1 (en) * 2017-11-10 2019-05-16 Omron Corporation Sensor device
CN108023956A (en) * 2017-12-07 2018-05-11 厦门狄耐克智能科技股份有限公司 A kind of gate inhibition's cloud service system and the method that access control equipment is registered to the system
WO2019157602A1 (en) * 2018-02-19 2019-08-22 Venne Jean Simon Systems and methods of optimizing hvac control in a building or network of buildings
US11796205B2 (en) 2018-02-19 2023-10-24 BrainBox AI Inc. Systems and methods of optimizing HVAC control in a building or network of buildings
US10900687B2 (en) 2018-10-31 2021-01-26 Trane International Inc. Flexible scheduling HVAC graphical user interface and methods of use thereof
US10992753B2 (en) * 2019-06-06 2021-04-27 Bank Of America Corporation Edge computing-based distributed network architecture that enables preemptive client-targeted local data storage
US11272010B2 (en) * 2019-06-06 2022-03-08 Bank Of America Corporation Edge computing-based distributed network architecture that enables preemptive client-targeted local data storage
US20230168403A1 (en) * 2020-04-21 2023-06-01 Inova Ltd. Motion Aware Nodal Seismic Unit and Related Methods
US12025762B2 (en) * 2020-04-21 2024-07-02 Inova Ltd. Motion aware nodal seismic unit and related methods

Also Published As

Publication number Publication date
US8620841B1 (en) 2013-12-31
US20160173963A1 (en) 2016-06-16
US20150213703A1 (en) 2015-07-30
US9286781B2 (en) 2016-03-15
US10433032B2 (en) 2019-10-01

Similar Documents

Publication Publication Date Title
US10433032B2 (en) Dynamic distributed-sensor network for crowdsourced event detection
US10545517B2 (en) Generating and implementing thermodynamic models of a structure
US10697662B2 (en) Automated adjustment of an HVAC schedule for resource conservation
US9353965B1 (en) Automated display adjustment for smart-home device based on viewer location or other sensed viewer-related parameters
US9606552B2 (en) Thermostat with multiple sensing systems integrated therein
EP2769278B1 (en) Adjusting proximity thresholds for activating device user interface
US9909777B2 (en) Thermostat with multiple sensing systems including presence detection systems integrated therein
US20170102681A1 (en) Coordinating energy use of disparately-controlled devices in the smart home based on near-term predicted hvac control trajectories
EP3341658B1 (en) Thermostat with multiple sensing systems integrated therein
WO2014035432A2 (en) Dynamic distributed-sensor network for forecasting external events
US20170051933A1 (en) Persistent home thermal comfort model reusable across multiple sensor and device configurations in a smart home
US20170051934A1 (en) Persistent thermal model and method of using same for automatically determining the presence of an additional thermal source other than the hvac system being controlled

Legal Events

Date Code Title Description
AS Assignment

Owner name: GOOGLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NEST LABS, INC.;REEL/FRAME:033568/0693

Effective date: 20140207

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: GOOGLE LLC, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044144/0001

Effective date: 20170929

AS Assignment

Owner name: GOOGLE LLC, CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE THE REMOVAL OF THE INCORRECTLY RECORDED APPLICATION NUMBERS 14/149802 AND 15/419313 PREVIOUSLY RECORDED AT REEL: 44144 FRAME: 1. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:068092/0502

Effective date: 20170929