The present invention relates to building automation and control in general, and, more particularly, to a centralized controller providing automation and control.
Home automation and control refers to the use of computer and information technology to control home systems, such as lighting; heating, ventilation, and air conditioning (HVAC); audio-visual; smoke detection; security; and shading. Using specialized hardware, even household appliances such as coffeemakers can be monitored and controlled automatically. A feature of science fiction for many years, home automation has only recently become practical, both from a technological and cost perspective. This is due to the rapid advancement of information technology.
A home automation and control system (hereinafter “home automation system”) in the prior art includes i) sensor devices configured to monitor conditions such as temperature, light, motion detection, and so on, ii) actuator devices to control devices such as motorized valves, switches, and so on, and iii) some control logic. The system also includes a human-machine interface device that enables someone, such as a resident of the home or an occupant of a building, to interact with the system. The interface is typically a specialized, dedicated terminal such as a kinetic device, or an application (“app”) running on a smartphone or tablet computer. The various sensor, actor, and interface devices communicate over dedicated wiring, or over a wired network, or wirelessly, using one or more protocols.
The sensor devices that are present in a home automation system typically include one or more of the following:
A home automation system having one or more of the aforementioned sensor devices present is able to trigger certain events, such as turning on lights with motion detection, controlling HVAC systems, and so on.
Most home automation systems in the prior art are based on peer-to-peer network architectures that include the sensor and actor devices mentioned earlier. Sensor devices transmit information, such that actor devices can act on the information transmitted. The actor devices act on the information gathered and transmitted by the sensor devices. For example, a sensor detects motion, propagates this information such that a light module receives it, which module turns on electrical current to a light bulb as a result.
There are two primary classes of home automation systems in the prior art. In a first home automation system in the prior art, depicted in
In a second home automation system in the prior art, depicted in
Both of the aforementioned systems are peer-to-peer, in that there is no processing entity between sensor devices and actor devices. All peer-to-peer systems can be equipped with so-called gateways, which are usually equipped with computer network connectivity, such as through wired Ethernet or wireless Wi-Fi, and are generally Internet protocol- (IP-) based. At the same time, a peer-to-peer gateway usually has a radio module dedicated to a particular system, such as a Z-Wave™-to-IP gateway or an EnOcean™-to-IP gateway.
A peer-to-peer gateway in a home automation context realizes two functions. First, it enables IP-connected devices to interact with a radio network; for example, it can use a smartphone to turn on the lights in a Z-Wave™-based system. And second, it enables the management of more than one actor device, in the form of “scenes” (e.g., light scenes, etc.), and coordinates multiple actors operating together, albeit by sending individual commands or multicast commands out to multiple actors.
However, such a peer-to-peer gateway is limited in that it is not an integral part of the communication amongst sensor and actor devices, because it merely monitors the communications traffic and, if necessary, intervenes and sends its own commands.
The present invention enables the orchestration of multiple actor devices within a home automation system, based in part on signals received from multiple sensor devices co-located with the home. Such orchestration coordinates functions performed by the actor devices within a home, and at a level that is inherently not possible in at least some automation systems in the prior art. The orchestration disclosed herein is made possible by introducing a centralized, system controller that is capable of interacting with multiple sensor and actor devices, and by providing the system controller with context awareness of the operating states of the home.
In the disclosed automation system, the system controller has access to the signals transmitted by every sensor device that is relevant to the environment being controlled, including access to nonconventional sensor sources such as web-based services that provide information on predicted conditions (e.g., future outside temperature, etc.). Each sensor device monitors a particular physical condition, present or future, senses changes in the condition being monitored, and reports states of the condition, which is made available to the system controller. Meanwhile, the system controller memorizes and maintains the states of various processing events, such as when a sensor device reported a particular state of the condition that the sensor monitors. By considering the information reported by the various and multiple sensor devices, as well as by accounting for the memorized states corresponding to the various events, the system controller is able to generate and continually update a representation of the state of the controlled home environment, thereby becoming and remaining context aware. Having such context awareness enables the design and implementation of sophisticated reasoning logic and conditional logic.
Having a context awareness that includes the current up-to-date state of the controlled environment enables the inferring of one or more activities occurring at the home being controlled. As a basis for illustrating a non-limiting example of inferring one or more activities, a scenario is described here in which the illustrative system controller is capable of executing one or more types of algorithms, including fuzzy logic algorithms. In one such algorithm, there are three logic states: (i) people are home and awake; (2) people are home but sleeping; and (3) people are away from home. Furthermore, the relevant logic specifies that if people are home and awake, the room temperature is set to a comfort mode, all security systems are disabled, and the home entertainment system is turned on. If people are sleeping, the room temperature is set to a slight economy mode, the outside security system is activated, and the home entertainment system is set to play soft background music. And if people are away, the room temperature is set to a deep economy mode, all security systems (inside and outside) are activated, and the home entertainment system is turned off.
Continuing with this example of inferring activities, at least some prior-art control systems use a calendar to switch modes between different parts of the day (e.g., switching from evening- to night-mode occurs on a particular day of the week at 11:00 pm, while switching from night- to morning-mode occurs at 6:00 am). This can be disadvantageous, however, because people often shift their daily patterns by sometimes going to sleep earlier and sometimes later, for example, even for a given day of the week or from one day to the next. In accordance with an illustrative embodiment of the present invention, and in contrast to at least some prior-art techniques, the switch between time-of-day modes is automatic, in one scenario being based on tracking the activity of people within the home.
In particular, by considering both the input signal values from various sensor devices and the memorized states of various processing events, the illustrative system controller can track the frequency and/or pattern in which multiple, motion-detection sensors are being tripped, and when. When the monitoring of motion-detection sensors that is performed during the time window of 9:00 pm to midnight and no motion has been detected for at least 10 minutes when motion had been detected previously, the system controller infers that the residents went to sleep, and can proceed to command various actor devices to implement a “home, but asleep” logic mode such as the one identified earlier. When motion is detected during a morning time window in a bedroom, then in the master bathroom, the system controller infers from the received signals and the relative ordering of the events that a resident has awakened and is beginning to prepare for the day ahead. In this case, the system controller can proceed to command various actor devices to implement a “home, but awake” logic mode, such as the mode identified earlier. It is noted that other combinations of sensor signal values and memorized states of events can be used to infer one or more activities or events, as disclosed elsewhere in this specification.
Having the foundation of a system controller and context awareness also enables the anticipation of one or more events that affect the home being controlled. The following non-limiting example demonstrates an application of the system controller's ability to anticipate. Depending on the resident heating system, a large home in particular can be burdened with a long lag in the heating system's ability to warm a cold environment to a desired temperature. In some thermostatic techniques in the prior art, a temperature sensor tries to compensate for this by triggering the heating system at an earlier time that is based on the difference between the current room temperature and the desired, higher room temperature. The system controller of the illustrative embodiment improves upon this by also accounting for a predicted future outside temperature. The “sensor” source of the predicted condition can be a weather forecasting service that provides future temperature predictions. By providing the temperature forecast (e.g., for 12 hours from the current time, etc.) to a thermostatic algorithm that controls the heating system, the illustrative system controller is able to account for the long lag in the heating system.
In accordance with an illustrative embodiment, the disclosed automation system is an automation system in a home. As those who are skilled in the art will appreciate after reading this specification, however, the disclosed automation system can be applied to any type of building, including the environment surrounding the building, or to any environment in which automated control can be applied.
An illustrative method for inferring one or more activities that are occurring in or around a building comprises: comprising: receiving, by a server computer, input signal values from each of a plurality of sensor devices associated with the building, including a surrounding environment thereof, wherein the plurality of sensor devices comprises at least a first sensor device and a second sensor device; inferring, by the server computer, an activity occurring at the building, based on a combination of i) the input signal values received and ii) a memorized state of at least one processing event; and transmitting, by the server computer, output signals to at least one actor device associated with the building, based on the activity inferred.
An illustrative building automation controller comprises: a receiver configured to receive input signal values from each of a plurality of sensor devices associated with a building, including a surrounding environment thereof, wherein the plurality of sensor devices comprises at least a first sensor device and a second sensor device; a processor configured to infer an activity occurring at the building, based on a combination of i) the input signal values received and ii) a memorized state of at least one processing event; and a transmitter configured to transmit output signals to at least one actor device associated with the building, based on the activity inferred.
An illustrative method for anticipating one or more events that affect a building comprises: receiving, by a server computer, input signal values from each of a plurality of sensor sources, including a surrounding environment thereof, wherein the plurality of sensor sources comprises at least a first source of a first predicted condition; generating, by the server computer, a first decision, of a plurality of decisions, wherein the first decision is based on the first predicted condition; and transmitting, by the server computer, a first message to a first actor device, based on the generated first decision.
Another illustrative building automation controller comprises: a receiver configured to receive input signal values from each of a plurality of sensor sources, including a surrounding environment thereof, wherein the plurality of sensor sources comprises at least a first source of a first predicted condition; a processor configured to generate a first decision, of a plurality of decisions, wherein the first decision is based on the first predicted condition; and a transmitter configured to transmit a first message to a first actor device, based on the generated first decision.
In accordance with an illustrative embodiment, automation system 200 is an automation system in the home. As those who are skilled in the art will appreciate after reading this specification, however, automation system 200 can be applied to any type of building, including the environment surrounding the building, or to any environment in which automated control can be applied.
Sensor device 201-m, wherein m has a value between 1 and M, inclusive, is an apparatus that comprises memory, processing components, and communication components, and is configured to transmit signals providing sensor-related information, as discussed in detail below. In accordance with an illustrative embodiment, each sensor device 201-m comprises one or more sensor components, wherein each sensor gathers information about the environment that is accessible by the sensor device. At least some of the sensor devices are co-located with building 400, including its surrounding environment, while at least some of the sensor devices might be merely relevant to building 400.
Each sensor device is configured to monitor a particular physical condition in well-known fashion. A sensor senses a change in the condition being monitored and is configured to report a state of the condition by providing input signals (i.e., from system controller 202's perspective), wherein the values of the input signals are representative of the states being reported. A given sensor device 201-m can report discrete input signal values and/or a continuum of states and can report states at particular times and/or continuously. For example and without limitation, sensor device 201-m can comprise one or more of the following sensor components:
As those who are skilled in the art will appreciate, after reading this disclosure, sensor device 201-m can provide a different function than those described above. Furthermore, sensor device 201-m can comprise any combination of and any number of sensor components, possibly including some or all of the sensor components listed above.
System controller 202 is an apparatus that comprises memory, processing components, and communication components. Controller 202 is illustratively a server computer. Controller 202 executes and coordinates the actions to be taken by one or more actor devices 203-1 through 203-N, based on i) the input signals received from one or more sensor devices 201-1 through 201-M and ii) one or more memorized states of at least one processing event. In particular, controller 202 receives information about the states of sensor devices 201-1 through 201-M and, in some embodiments, of actor devices 203-1 through 203-N, maintains in memory the states of various processing events (e.g., predetermined sequences of various input signal values, the time since a last instance of a predetermined input signal value was received, other events that reflect changes in states reported by the sensor devices, etc.). System controller 202 is described in more detail below and in
In accordance with the illustrative embodiment, system controller 202 telecommunicates wirelessly with the other depicted devices (i.e., sensor devices and actor devices). It will clear to those skilled in the art, however, after reading the present disclosure, how to make use and use various embodiments of the present invention in which controller 202 telecommunicates via physical media (e.g., cable, wire, etc.) to one or more of the other devices, either in addition to or instead of wirelessly.
In some alternative embodiments of the present invention, system controller 202 might not be a physically distinct device per se, instead its functionality might be embodied in one or more of the sensor devices and/or actor devices, or might be cloud-based outside of the building being controlled.
Actor device 203-n, wherein n is equal to 1 through N, inclusive, is an apparatus that comprises memory, processing components, and communication components, and is capable of doing something in the course of being affected by signals originating from one or more sensor devices 201-1 through 201-M and processed by system controller 202, as discussed in detail below. In accordance with an illustrative embodiment, each actor device 203-n takes decisions that are based on signals from one or more sensor devices, as processed by system controller 202, and performs appropriate actions upon the actor's environment. Each actor device acts upon its environment in well-known fashion. In some embodiments, an actor device is or comprises an actuator, as is known in the art.
Actor device 203-n is configured to receive, transmit, process, and/or relay signals conveying data, as well as being configured to affect a condition, physical or otherwise, in its environment. For example and without limitation, the condition being affected can be:
As those who are skilled in the art will appreciate, after reading this disclosure, actor device 203-n can be in a variety of forms, such as a light bulb as part of a lighting system, a media player as part of an audio/video system, a heater as part of an environment control system, an outgoing-email server as part of a messaging system, an actor in a water sprinkler system, a robot or robotic arm, a pan/tilt camera, a switch, a motor, a servo mechanism, and so on.
As those who are skilled in the art will appreciate, after reading this specification, actor device 203-n may or may not have additional functions and components, such as i) a sensing component (e.g., a washing machine that can be remotely controlled and reports its state and parameters, etc.), and/or ii) a controlling component (e.g. a light bulb unit having a controller is directly controlled from sensor device, etc.).
Processor 301 is a processing device, such as a microprocessor that is well known in the art. In accordance with an illustrative embodiment, processor 301 comprises a Freescale iMX28 SoC (ARM-based) processor; in some alternative embodiments, however, processor 301 comprises a different type of processor. Processor 301 is configured such that, when operating in conjunction with the other components of system controller 202, processor 301 executes software, processes data, and telecommunicates according to the operations described herein.
Processor 301 is configured to handle both:
In handling sequential logic, processor 301 memorizes (e.g., stores into memory 302, etc.) certain events, states, results, and so on, for future use. In doing so, processor 301 maintains one or more memorized states of processing events, including the points in time when they occurred. In the sequential logic performed by processor 301, the internal, memorized state information may be processed and changed. For example, a motion sensor device has been tripped, resulting in controller 202 turning on the lights in the kitchen for five minutes. Because processor 301 executes a synchronous logic that is clocked at 50 Hz, five minutes equates to 50×60×5 clock ticks, or 15000 ticks. A counter is set up at 15000, and at every tick cycle the counter is decremented by 1. When the counter reaches zero, controller 202 turn the lights off. Then, if the motion sensor device is tripped again during the countdown time (e.g., a person is still in the kitchen and moves), the counter is reset to 15000 and continues to be decremented at every clock cycle.
Because processor 301 handles both kinds of logic, the decision logic of the illustrative embodiment is based not only on real-time input information from sensors (i.e., related to combinational logic) but also on some memorized state of the logic (i.e., related to sequential logic). The memorized state comprises information on processing events that occurred in the past and, at least for some events, the times at which they occurred.
The scenario of a double-click, triple-click, or long-click sensor detection is also handled by system controller 202. A pushbutton sensor device generates and reports only the two basic states of “pressed” and “released.” It is up to the sequential logic of processor 301 to record these received states and their times of occurrences as processing events, and decide whether a particular sequence qualifies as a double click. For example, a double-click sequence can be predetermined as comprising a press-release-press-release cycle occurring within two seconds. In order to determine whether a double click has occurred, processor 301 needs not only to receive the current input signal value (i.e., signifying “pressed”), but must also consider the memorized state of whether there have been any past input signal values (i.e., signifying “presses” or “releases”) received within the past two seconds, or whatever the predetermined time interval is.
The foregoing example applies to other combinations of input signal values and memorized states of processing events, as those who are skilled in the art will appreciate after reading this specification. As another example of its sequential logic, processor 301 tracks which of two motion-sensor detectors in a hallway has been tripped most recently, in order to infer a direction of movement through the hallway.
Memory 302 is non-transitory and non-volatile computer storage memory technology that is well known in the art (e.g., flash memory, etc.). Memory 302 is configured to store operating system 311, application software 312, and database 313. The operating system is a collection of software that manages, in well-known fashion, controller 202's hardware resources and provides common services for computer programs, such as those that constitute the application software. In accordance with an illustrative embodiment, operating system 311 is Linux-based; in some alternative embodiments, however, operating system 311 is based on a different platform. The application software that is executed by processor 301 according to the illustrative embodiment enables controller 202 to perform the functions disclosed herein. Database 313 comprises information about each sensor device, each actor device, and their relationships with each other; environmental information; values of one or more building states; values of one or more activities occurring at a building; and so on.
It will be clear to those having ordinary skill in the art how to make and use alternative embodiments that comprise more than one memory 302; or comprise subdivided segments of memory 302; or comprise a plurality of memory technologies that collectively store the operating system, application software, and database.
Radio component 303 is configured to enable multi-sensor device 201-m to telecommunicate with other devices and systems by receiving signals therefrom and/or transmitting signals thereto, in well-known fashion, by using receiver part 321 and transmitter part 322, respectively. For example, radio component 303 communicates with each sensor device 201-m and each actor device 203-n. Radio component 303 communicates via one or more radio telecommunications protocols such as, but not limited to, Z-Wave, ZigBee, Bluetooth, Wi-Fi, and so on. In some embodiments, radio component 303 comprises a built-in Bluetooth Smart radio transceiver.
Receiver part 321 is a component that enables system controller 202 to telecommunicate with other components and systems by receiving signals that convey information therefrom. It will be clear to those having ordinary skill in the art how to make and use alternative embodiments that comprise more than one receiver part 321.
Transmitter part 322 is a component that enables system controller 202 to telecommunicate with other components and systems by transmitting signals that convey information thereto. It will be clear to those having ordinary skill in the art how to make and use alternative embodiments that comprise more than one transmitter part 322.
In accordance with the illustrative embodiment, system controller 202 uses radio component 303 in order to telecommunicate wirelessly with external devices. It will clear to those skilled in the art, however, after reading the present disclosure, how to make use and use various embodiments of the present invention in which system controller 202 communicates via a wired protocol (e.g., X10, KNX, etc.) over physical media (e.g., cable, wire, etc.) with one or more external devices, either in addition to or instead of the wireless capability provided by radio component 303.
It will be clear to those skilled in the art, after reading the present disclosure, that in some alternative embodiments the hardware platform of system controller 202 can be embodied as a multi-processor platform, as a sub-component of a larger computing platform, as a virtual computing element, or in some other computing environment—all within the scope of the present invention. It will be clear to those skilled in the art, after reading the present disclosure, how to make and use the hardware platform for system controller 202.
As those who are skilled in the art will appreciate, after reading this specification, building 400 can comprise different numbers of sensor devices, system controllers, and/or actor devices than those depicted. Furthermore, building 400 as depicted is a house, but as those who are skilled in the art will appreciate, after reading this specification, building 400 can be a different type of structure with a roof and walls, or can instead be a defined area that comprises multiple sub-areas, wherein at least a portion of the area and/or sub-areas is defined by something other than a roof and/or walls.
At least some of the rooms or areas within building 400 comprise one or more sensor devices 201 and/or one or more actor devices 203. The sensor devices and actor devices provide at least some of the functionality described earlier (e.g., motion-detection, lighting, etc.). As can be seen in
As those who are skilled in the art will appreciate, after reading this specification, system controller 202 does not have to be physically present within the building. The functions performed by illustrative controller 202 can, in fact, be executed anywhere. For example and without limitation, the functions can be executed in “the Cloud,” in which case the sensor and actor devices connect to the Cloud, either directly or via a home-to-cloud gateway. In other words, system controller 202 can be virtualized or located somewhere else other than in building 400.
In regard to method 500, it will be clear to those having ordinary skill in the art, after reading the present disclosure, how to make and use alternative embodiments of method 500 wherein the recited operations and sub-operations are differently sequenced, grouped, or sub-divided—all within the scope of the present invention. It will be further clear to those skilled in the art, after reading the present disclosure, how to make and use alternative embodiments of method 500 wherein some of the recited operations and sub-operations are optional, are omitted, or are executed by other elements and/or systems.
At operation 501, system controller 202 receives signals having input signal values, from one or more sensor devices 201-1 through 201-M. Operation 501 is described below and in
At operation 503, system controller 202 generates one or more results based on i) the one or more signals received at operation 501 and/or ii) one or more memorized states of at least one processing event and/or iii) environmental information. Operation 503 is described below and in
At operation 505, system controller 202 transmits one or more signals to one or more actor devices 203-1 through 203-N, based at least in part on at least some of the results generated at operation 503. Operation 505 is described below and in
At operation 603, system controller 202 receives or accesses environmental information, as described below and in
At operation 701, using one or both of i) the values of the input signals received from sensor devices 201-1 through 201-M and ii) the memorized states of one or more processing events, controller 202 generates a representation (e.g., a “map”, etc.) of the state of building 400. The state of building 400 is characterized by anything that is directly detected (e.g., sensed, etc.) by sensor devices 201-1 through 201-M associated with the building, in combination with the memorized states of one or more processing events. The state of the building can be characterized by one or more detections made by each individual device, or by a combination of devices, or both, taking into account the memorized states of one or more processing events. The representation includes information such as, and without limitation, one or more of the following:
In some embodiments of the present invention, but not all, system controller 202 also uses environmental information to generate the representation of the state of building 400. Environmental information includes, without limitation, one or more of the following:
At operation 703, system controller 202 generates one or more decisions based on the representation of a state of building 400. By considering the state representation of building 400 generated above, system controller 202 develops context awareness, which the controller uses in conjunction with various “reasoning” algorithms that are known in the art, in order to generate the decisions and to orchestrate various activities throughout building 400. A generated decision can be used by one or more of actor devices 203-1 through 203-N, as described below, and can include one or more of the following, for example and without limitation:
In accordance with an illustrative embodiment of the present invention, system controller 202 receives and processes information from “dumb” sensor devices that do not process any information and merely report a state of the physical condition being monitored, such as a temperature sensor reporting the temperature it is sensing and so on. In some embodiments of the present invention, however, system controller 202 also accepts and processes signals transmitted by “smart” sensors. For example, in a Z-Wave™-based system, there are no dumb sensor devices; a Z-Wave™ thermostat device i) measures temperature and additionally, based on the thermostat's set point, ii) takes some action by transmitting a command. But the Z-wave™ sensor device also transmits the raw temperature readings, in addition to the higher-level command.
Furthermore, based on the state representation of building 400 determined at operation 701, system controller 202 can i) merely use the raw data and ignore the transmitted higher-level set point data or command, ii) use only the set point/command, or iii) use both the raw data and the set point/command, depending on the conditional logic programmed. Controller 202 can select which level of information to use from a given sensor device, for updating the state representation of building 400, in performing one or more of the operations subsequently described, or both.
At operation 705, system controller 202 infers, or deduces, one or more activities or events at the building (i.e., inside and/or outside), based on one or more of i) the signals received from sensor devices 201-1 through 201-M, ii) one or more memorized states of at least one processing event, and iii) environmental information, in any combination thereof. The activities that can be inferred, as well as the sensor signals and/or states with which each activity is inferred, are as follows, for example and without limitation:
The activity or activities inferred by system controller 202 can be human or non-human activities (i.e., activities in which a human does or does not participate in); the human activity can involve waking, eating, bathing, sleeping, and so on. In some situations, the inferring of the activity occurs independently of the current time of day and/or other environmental condition(s), while in other situations the inferring relies in part on knowing the time of day and/or other environmental condition(s) (e.g., for context purposes, etc.).
In accordance with an illustrative embodiment of the present invention, system controller 202 infers one or more activities as follows. First, controller 202 generates one or more predefined patterns of data that represent candidate activities. The predefined patterns (i.e., “candidate patterns”) correspond to activities such as waking, eating, bathing, sleeping, and so on, without limitation. System controller 202 uses machine-learning techniques that are well known in the art to generate each candidate pattern. It will be clear to those having ordinary skill in the art, after reading the present disclosure, how to make and use alternative embodiments wherein other techniques generate the candidate patterns, or wherein a combination of machine learning and other techniques is used. The candidate patterns are generated when processing for system controller 202 is initialized, and they can be updated based in part on learning over time the patterns of one or more people living in, or otherwise occupying, building 400.
Second, controller 202 generates one or more occurring data patterns, based at least in part on the sensor signals received from the sensor devices and the memorized states of one or more processing events. The characteristics of the generated patterns can be based on various attributes surrounding the candidate activities being considered. The set of sensor data to be used in determining the one or more patterns can vary, in terms of time (e.g., the past 15 minutes, the last hour, etc.) and/or in terms of the sensor devices involved with respect to rooms (e.g., master bedroom and bathroom, the entire inside of the house, etc.) and/or in terms of the types of sensor devices involved (e.g., motion sensors only, motion sensors and light sensors, all sensors, etc.), for example and without limitation. Additional examples are provided below.
After the proper attributes, the set of sensor data to be used, and other relevant considerations are defined for a particular type of candidate activity or activities being considered, controller 202 uses machine-learning techniques that are well known in the art to generate each occurring data pattern. It will be clear to those having ordinary skill in the art, after reading the present disclosure, how to make and use alternative embodiments wherein other techniques generate the patterns, or wherein a combination of machine learning and other techniques is used.
Third, controller 202 measures how precisely each generated pattern of occurring data matches one or more of the predefined, candidate patterns. Controller 202 compares one pattern to another and evaluates a proper measure of preciseness between them, in well-known fashion.
Fourth, based on the preceding measures of preciseness, controller 202 determines a relationship, if any, as between each generated pattern and one or more activities and, as a result, infers one or more activities that are or are not occurring. For example, by considering the respective measures of preciseness between each generated pattern being evaluated and the candidate patterns that represent candidate activities, it might be inferred that a person in building 400 is, in all likelihood, i) preparing breakfast, while the same person is probably ii) reviewing a work presentation, but the same person is most likely iii) not doing the laundry (because it appears that a second person is).
As discussed above, the inferring can be based on various sensor data (e.g., current input signal values received, etc.) in the context of internal memorized states of one or more processing events. In some situations, for example, the inferring relies on one or more motion-detection sensor devices, wherein the signals received from the sensor devices and relied upon convey whether motion is detected or not in the proximity of the sensor device. The activity that is inferred can be based on tracking the frequency at which each sensor device detects motion and comparing a corresponding, generated pattern to one or more candidate patterns characterized by the frequency-related attribute. Illustratively, when motion is sensed in quick succession in certain rooms of the house in mid-afternoon, the inferred activity might be that children are playing; on the other hand, when motion is sensed in slow succession in those rooms at 10:00 pm, the activity inferred might be that adults are walking around.
Within the scope of inferring, system controller 202 is capable of deriving one or more events, which might reflect internal or virtual states of the controller. For example, controller 202 is capable of inferring internally a “nighttime” event as occurring. The nighttime event triggers many system-wide actions such as turning off devices, setting up the HVAC system to night mode, and so on. The nighttime event is generated internally based on higher order digital filters being applied to multiple sensor devices, usually motion-sensor devices, in the following manner. Controller 202 observes the frequency/patterns of motion sensor detections. If the detections slowly decrease to zero between 9:00 pm and 1:00 am, controller 202 decides that the residents have gone to sleep and generates the nighttime virtual event to switch building 400 into the night mode.
A similar procedure is executed in the morning. Slowly waking up, a resident starts tripping a motion sensor in the sleeping room, then gets out of bed, and walks to a bathroom, tripping more and more motion sensors. If the motion activity reaches a predetermined threshold, system controller 202 infers a “daytime” event as occurring, and various systems within building 400 “wake up”: a coffeemaker brews coffee, lights switch from a calm/night mood to a morning/energetic mood, a radio tunes to a radio station, and so on.
The activity that is inferred can also be based on which of multiple ranges of times currently applies (e.g., 5:00 am to 8:00 am [waking hours], 11:00 am to 1:00 pm [lunch hours], 6:00 pm to 9:00 pm [dinner hours], 10:00 pm to 1:00 am [retiring hours]). For example, if there is motion detected in the kitchen at 7:00 am, then the activity inferred might be breakfast preparation; on the other hand, if there is motion detected in the kitchen at 1:00 am, then someone might be getting a glass of water.
The activity that is inferred can also be based on tracking the relative times at which i) the first sensor device detects motion in a first area of the building and ii) the second sensor device detects motion in a second area of the building. For example, if there is motion detected first in the bedroom, then bathroom, then the kitchen, the activity inferred might be preparing for the day ahead; on the other hand, if there is motion detected first in the living area, then kitchen, the activity inferred might be getting a snack to bring back into the living area.
The activity inferred can be something other than an activity occurring at a sensed position and time by a motion sensor in the particular room or area. For example, motion sensor devices have been traditionally associated with burglar alarm systems, and they detect that a burglar is breaking into a particular room and at a particular time. In contrast, system controller 202 can use the signals from motion sensor devices in other “automation domains”, such as turning on a coffee maker in the kitchen at 7:30 am when motion is detected in the bedroom at 7:00 am, because the inferred activity is workday preparation.
In some embodiments of the present invention, system controller 202 infers one or more activities at the building that are not occurring, based on a combination of the signals received from sensor devices 201-1 through 201-M. For example, it is sometime between 6:00 am and 8:00 am on a workday and motion is detected in the kitchen in a home with a single resident. Based on this information in the example, with or without additional information, system controller 202 might infer that the bedroom will not be occupied in the future and might take appropriate action (e.g., turn down the heat in the bedroom, etc.).
At operation 707, system controller 202 anticipates one or more events that affect building 400, based on one or more of i) the signals received from sensor devices 201-1 through 201-M, ii) one or more memorized states of at least one processing event, and iii) environmental information, in any combination thereof. System controller 202 uses the signals received from a sensor source (e.g., physical sensor device, virtual sensor, etc.), in which the signals convey a prediction (e.g., forecast, etc.) of a future condition that is relevant to building 400. Such a source can be, for example and without limitation, a weather-forecasting web service, and such a future condition can be, for example and without limitation, future temperature, future air quality, future cloud cover, future precipitation, and so on.
In a particular example, system controller 202 executes a thermostatic algorithm that runs a heating system control, which is influenced by the predicted temperature received from the web-based “sensor.” This is particularly advantageous if there is a long lag in building 400's heating system, in which an event such as an extreme change in weather should be anticipated for optimal HVAC control. Anticipating a future outside temperature can reduce energy consumption by timing the heating in an optimal manner. Conversely, without anticipating such events, the heating system might not operate when needed and might operate when no longer needed, possibly resulting in undesirable oscillations. In some embodiments of the present invention, controller 202 controls the heating system based on the current outside temperature as monitored by a sensor device outside of building 400, instead of or in addition to basing the control on the future outside temperature.
As those who are skilled in the art will appreciate, after reading this specification, system controller 202 can use any predicted state (e.g., future temperature, future air quality, future cloud cover, future precipitation, etc.) that is received from one or more sensor devices or sources (virtual or otherwise), in order to anticipate one or more events and, accordingly, to affect one or more actor devices. Furthermore, controller 202 can use i) one or more such sources of predictions with ii) one or more sensor devices that provide state information of current conditions, in any combination.
As those who are skilled in the art will appreciate, after reading this specification, system controller 202 can anticipate something by inferring that it will happen, in at least some instances.
At operation 709, system controller 202 selects at least one of a group of actor devices that includes i) an actor device configured to perform a first function (e.g., sounding a security alarm, etc.) and ii) an actor device configured to perform a second function (e.g., regulating air temperature, something unrelated to security, etc.). Controller 202 selects the actor device or devices based on one or more of i) the signals received from sensor devices 201-1 through 201-M, ii) one or more memorized states of at least one processing event, and iii) environmental information, in any combination thereof. In some embodiments, controller 202 selects the actor device or devices based on the representation of the state of the building determined at operation 701.
In some embodiments, system controller 202 can refrain from processing in a traditional way the signals received from a particular sensor device. For example, in an exercise room in building 400, the resident might want the room a little on the warm side when he starts exercising, but then will want the room to cool down after having exercising for several minutes. Motion sensors can detect activity in the room and controller 202 can instruct a heating system actor device to lower the temperature based on the sensors detecting exercise activity. More significantly, controller 202 is also refraining from instructing a security system actor device to sound an alarm. In some other embodiments, controller 202 might also be disregarding a higher-level signal being received from the motion sensor that conveys an instruction to sound an alarm, choosing only to use the raw motion detection data.
The foregoing example involving motion detection is related to the convergence of vertical services, in particular the convergence of a security alarm system and a heating system. There are several “automation domains” within a home such as heating, media control, presence, alarm systems, and so on. Traditionally, they have been separate systems, so when the residents of a home went on vacation, they needed to adjust individual systems (e.g., timers, etc.) separately. In accordance with the illustrative system controller, the separate subsystems converge into a single, multi-domain control system. Specifically regarding motion sensors, they have been traditionally associated with burglar alarm systems and, consequently, they are used only when the alarm system is armed. System controller 202, however, uses motion sensors for other automation domains, such as regulating the air temperature in a room and refraining from sounding a security alarm, as in the foregoing example.
At operation 711, system controller 202 generates one or more messages designated for one or more actor devices associated with building 400, wherein at least some of the messages generated are based on the results generated in one or more of the afore-described operations in
System controller 202 uses foregoing items listed, in order to determine the following, either individually or in any combination, without limitation:
At operation 801, control of execution returns to operation 501.
It is to be understood that the disclosure teaches just one set of examples of the illustrative embodiment and that many variations of the invention can easily be devised by those skilled in the art after reading this disclosure and that the scope of the present invention is to be determined by the following claims.
The underlying concepts, but not necessarily the language, of the following case is incorporated herein by reference: (1) U.S. Patent Application Ser. No. 61/890,937, filed Oct. 15, 2013. If there are any contradictions or inconsistencies in language between this application and one or more of the cases that have been incorporated by reference that might affect the interpretation of the claims in this application, the claims in this application should be interpreted to be consistent with the language in this application.
Number | Date | Country | |
---|---|---|---|
61890937 | Oct 2013 | US |