US20140207721A1 - Dynamic distributed-sensor thermostat network for forecasting external events - Google Patents
Dynamic distributed-sensor thermostat network for forecasting external events Download PDFInfo
- 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
Links
- 238000005259 measurement Methods 0.000 claims abstract description 131
- 238000000034 method Methods 0.000 claims abstract description 70
- 230000007613 environmental effect Effects 0.000 claims description 57
- 238000001514 detection method Methods 0.000 claims description 42
- 238000012545 processing Methods 0.000 claims description 41
- 238000004458 analytical method Methods 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 14
- 239000000779 smoke Substances 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 9
- 230000003287 optical effect Effects 0.000 claims description 8
- 230000004931 aggregating effect Effects 0.000 claims description 7
- 230000002262 irrigation Effects 0.000 claims description 5
- 238000003973 irrigation Methods 0.000 claims description 5
- 230000005855 radiation Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 31
- 230000033001 locomotion Effects 0.000 description 31
- 230000008569 process Effects 0.000 description 31
- 230000006870 function Effects 0.000 description 28
- 230000015654 memory Effects 0.000 description 22
- 238000004590 computer program Methods 0.000 description 15
- 238000003032 molecular docking Methods 0.000 description 11
- 230000001133 acceleration Effects 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- UGFAIRIUMAVXCW-UHFFFAOYSA-N Carbon monoxide Chemical compound [O+]#[C-] UGFAIRIUMAVXCW-UHFFFAOYSA-N 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 3
- 229910002091 carbon monoxide Inorganic materials 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010438 heat treatment Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000009530 blood pressure measurement Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000001556 precipitation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000009423 ventilation Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 231100000357 carcinogen Toxicity 0.000 description 1
- 239000003183 carcinogenic agent Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008131 children development Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000034994 death Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000007791 dehumidification Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 231100000573 exposure to toxins Toxicity 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 239000000383 hazardous chemical Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000002779 inactivation Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000035764 nutrition Effects 0.000 description 1
- 235000016709 nutrition Nutrition 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004417 polycarbonate Substances 0.000 description 1
- 229920000515 polycarbonate Polymers 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000009418 renovation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D23/00—Control of temperature
- G05D23/19—Control of temperature characterised by the use of electric means
- G05D23/1902—Control of temperature characterised by the use of electric means characterised by the use of a variable reference value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B17/00—Fire alarms; Alarms responsive to explosion
- G08B17/10—Actuation by presence of smoke or gases, e.g. automatic alarm devices for analysing flowing fluid materials by the use of optical means
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/02—Alarms for ensuring the safety of persons
- G08B21/10—Alarms for ensuring the safety of persons responsive to calamitous events, e.g. tornados or earthquakes
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B27/00—Alarm systems in which the alarm condition is signalled from a central station to a plurality of substations
- G08B27/005—Alarm systems in which the alarm condition is signalled from a central station to a plurality of substations with transmission via computer network
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B27/00—Alarm systems in which the alarm condition is signalled from a central station to a plurality of substations
- G08B27/006—Alarm systems in which the alarm condition is signalled from a central station to a plurality of substations with transmission via telephone network
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B29/00—Checking or monitoring of signalling or alarm systems; Prevention or correction of operating errors, e.g. preventing unauthorised operation
- G08B29/18—Prevention or correction of operating errors
- G08B29/185—Signal analysis techniques for reducing or preventing false alarms or for enhancing the reliability of the system
- G08B29/188—Data fusion; cooperative systems, e.g. voting among different detectors
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B31/00—Predictive alarm systems characterised by extrapolation or other computation using updated historic data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1895—Arrangements 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
Description
- 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.
- 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.
- 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.
- 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.
- 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 ofFIG. 3 ; -
FIG. 5 illustrates components of processing engine according to an embodiment of the invention; -
FIGS. 6A and 6B illustrate flowcharts forprocesses 600 a of transmitting data from adevice 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. - 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 alldevices 100 within a system of devices can include one ormore sensors 102, a user-interface component 104, a power supply (e.g., including apower connection 106 and/or battery 108), acommunications component 110, a modularity unit (e.g., including adocking station 112 and replaceable module 114) andintelligence components 116.Particular sensors 102, user-interface components 104, power-supply configurations,communications components 110, modularity units and/orintelligence components 116 can be the same or similar acrossdevices 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 adevice 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). WhileFIG. 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 indevice 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 apower connection 106 and/orlocal battery 108. For example,power connection 106 can connectdevice 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 thatbattery 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 indevice 100 can include a component that enablesdevice 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 allowdevice 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 areplaceable module 114. Thus, the modularity unit can provide the capability to upgradereplaceable 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 ofdevices 100. -
Replaceable module 114 of the modularity unit can include some or allsensors 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 ofreplaceable modules 114 are produced, with the capabilities, hardware and/or software varying across thereplaceable modules 114. Users can therefore easily upgrade or replace theirreplaceable module 114 without having to replace all device components or to completely reinstalldevice 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 aModel # 1 device in their basement, aModel # 2 device in their living room, and upgrades their living-room device to include aModel # 3 replaceable module, the user can move theModel # 2 replaceable module into the basement to connect to the existing docking station. TheModel # 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. Theintelligence 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. Theintelligence 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 beintelligence 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 astructure 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 anentire 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 theactual structure 250. Indeed, several devices in the smart home environment need not physically be within thestructure 250 at all. For example, a device controlling a pool heater or irrigation system can be located outside of thestructure 250. - The depicted
structure 250 includes a plurality ofrooms 252, separated at least partly from each other viawalls 254. Thewalls 254 can include interior walls or exterior walls. Each room can further include afloor 256 and aceiling 258. Devices can be mounted on, integrated with and/or supported by awall 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 toFIG. 1 . Examples of devices are shown inFIG. 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-sensinghazard 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-connectedentryway 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-connectedappliances 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 ofFIG. 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 devices - 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 theInternet 262. Through theInternet 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 thehazard detection units 204 or thelight switches 208. -
FIG. 3 illustrates a network-level view of an extensible devices and services platform with which the smart home ofFIG. 1 and/or 2 can be integrated. Each of the intelligent, network-connected devices fromFIG. 2 can communicate with one or more remote central servers orcloud computing systems 264. The communication can be enabled by establishing connection to theInternet 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 collectoperation 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 ormore services 304. Theservices 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 collectedoperation data 304 to improve performance, reduce utility cost, etc.). Data associated with theservices 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 aprocessing 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 deriveddata 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 theInternet 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 tocharities 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), orutility 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 ofFIG. 3 , with particular reference to theprocessing 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 showsprocessing engine 306 as including a number of paradigms 410.Processing engine 306 can include a managedservices 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 asocial 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 utilizeextrinsic 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 ofprocessing 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 adata 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 fromLocation # 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 toprocessing 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, ifdata 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 aninter-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, eitherdata set identifier 504 can retrieve the appropriate data points from data-point database 502 and transmit them tointer-device correlator 510 orinter-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 anevent 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, orevent 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 fromevent 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 includeprocessing 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 aprocess 600 a of transmitting data from adevice 100 to a remote server in accordance with an embodiment of the invention. Atblock 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 anotherprocess 600 b of transmitting data from adevice 100 to a remote server in accordance with an embodiment of the invention.Process 600 b is similar to that ofprocess 600 a. However,process 600 b does not includeblock 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 aprocess 700 of analyzing sensor data points to forecast event properties. Atblock 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 aprocess 800 of analyzing sensor data points to detect event properties. For example, block 720 ofprocess 700 can include one, more or all of blocks 805-820 ofprocess 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 aprocess 900 of forecasting event properties and sending alerts. For example, one or more of blocks 730-740 ofprocess 700 can include one, more or all of blocks 905-920 ofprocess 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 athermostat 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 outerrotatable 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 rotatingouter ring 1012 clockwise, a target setpoint temperature can be increased, and by rotating theouter 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 onelectronic display 1016 is illustrated inFIG. 10A , and includescentral numerals 1020 that are representative of a current setpoint temperature. It will be appreciated thatelectronic 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 theouter ring 1012. The front face ofthermostat 1000 comprises aclear cover 1014 that according to some embodiments is polycarbonate, and ametallic 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 passiveinfrared 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 anambient 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 thethermostat 1000 can initiate “waking up” when the user is approaching the thermostat and prior to the user touching the thermostat. Ambientlight 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 theouter ring 1012 as shown inFIG. 10A (referenced hereafter as a “rotate ring” or “ring rotation” input), and the second being an inward push on an outer cap 1008 (seeFIG. 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 aprocessing system 1060,display driver 1064 and awireless communications system 1066.Processing system 1060 is adapted to cause thedisplay driver 1064 anddisplay area 1016 to display information to the user, and to receiver user input via therotatable ring 1012.Processing system 1060, according to some embodiments, is capable of carrying out the governance of the operation ofthermostat 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 acomputer system 1100 that can be used by auser 1104 to remotely control, for example, one or more of the sensor-equipped smart-home devices according to one or more of the embodiments. Thecomputer 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. Thecomputer system 1100 can include acomputer 1102,keyboard 1122, anetwork router 1112, a printer 1108, and amonitor 1106. Themonitor 1106,processor 1102 andkeyboard 1122 are part of acomputer system 1126, which can be a laptop computer, desktop computer, handheld computer, mainframe computer, etc. Themonitor 1106 can be a CRT, flat screen, etc. - A
user 1104 can input commands into thecomputer 1102 using various input devices, such as a mouse,keyboard 1122, track ball, touch screen, etc. If thecomputer system 1100 comprises a mainframe, adesigner 1104 can access thecomputer 1102 using, for example, a terminal or terminal interface. Additionally, thecomputer system 1126 may be connected to a printer 1108 and aserver 1110 using anetwork router 1112, which may connect to theInternet 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 theserver 1110. Thus, the software can be run from the storage medium in theserver 1110. In another embodiment, software implementing the systems and methods described herein can be stored on a storage medium in thecomputer 1102. Thus, the software can be run from the storage medium in thecomputer system 1126. Therefore, in this embodiment, the software can be used whether or notcomputer 1102 is connected tonetwork router 1112. Printer 1108 may be connected directly tocomputer 1102, in which case, thecomputer system 1126 can print whether or not it is connected tonetwork router 1112. - With reference to
FIG. 12 , an embodiment of a special-purpose computer system 1200 is shown. For example, one or more ofintelligent 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 generalpurpose computer system 1126, it is transformed into the special-purpose computer system 1200. - Special-
purpose computer system 1200 comprises acomputer 1102, amonitor 1106 coupled tocomputer 1102, one or more additional user output devices 1230 (optional) coupled tocomputer 1102, one or more user input devices 1240 (e.g., keyboard, mouse, track ball, touch screen) coupled tocomputer 1102, anoptional communications interface 1250 coupled tocomputer 1102, a computer-program product 1205 stored in a tangible computer-readable memory incomputer 1102. Computer-program product 1205 directssystem 1200 to perform the above-described methods.Computer 1102 may include one ormore processors 1260 that communicate with a number of peripheral devices via abus 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 innon-volatile storage drive 1280 or another computer-readable medium accessible tocomputer 1102 and loaded intomemory 1270. Eachprocessor 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, thecomputer 1102 runs an operating system that handles the communications ofproduct 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 tocomputer 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 themonitor 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 fromcomputer 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 theInternet 1118. Embodiments ofcommunications 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 ofcomputer 1102, and/or may be a software program, or the like. -
RAM 1270 andnon-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 andnon-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 andnon-volatile storage drive 1280. These instruction sets or code may be executed by the processor(s) 1260.RAM 1270 andnon-volatile storage drive 1280 may also provide a repository to store data and data structures used in accordance with the present invention.RAM 1270 andnon-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 andnon-volatile storage drive 1280 may include a file storage subsystem providing persistent (non-volatile) storage of program and/or data files.RAM 1270 andnon-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 ofcomputer 1102 communicate with each other as intended. Althoughbus subsystem 1290 is shown schematically as a single bus, alternative embodiments of the bus subsystem may utilize multiple busses or communication paths within thecomputer 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.
- 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.
- 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.
- 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.
- 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)
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)
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)
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)
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)
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 |
-
2012
- 2012-08-31 US US13/601,890 patent/US8620841B1/en active Active
-
2013
- 2013-12-30 US US14/143,816 patent/US20140207721A1/en not_active Abandoned
-
2015
- 2015-04-02 US US14/677,722 patent/US9286781B2/en active Active
-
2016
- 2016-02-23 US US15/051,324 patent/US10433032B2/en active Active
Patent Citations (3)
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)
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)
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 |