ADJUSTING A ROUTINE IN DEPENDENCE ON A DIFFERENCE BETWEEN CURRENT AND EXPECTED STATES
20240057238 ยท 2024-02-15
Inventors
- Bartel Marinus Van De Sluis (Eindhoven, NL)
- Dzmitry Viktorovich Aliakseyeu (Eindhoven, NL)
- TOBIAS BORRA (RIJSWIJK, NL)
Cpc classification
International classification
Abstract
A method comprises, in a learning mode, learning (101) a state of one or more portable devices at a start time associated with a routine for a plurality of executions of the routine over a period of time based on received signals and determining (103) one or more expected states of the one or more portable devices at the start time associated with the routine based on the learned state. The method further comprises, in an adjustment mode, determining (105) a current state of the one or more portable devices at the start time of the routine for a current execution of the routine, determining (107) whether the current state differs from the expected state, and adjusting (109) the current execution of the routine in dependence on a difference between these states. The current execution of the routine comprises transmission of at least one light command.
Claims
1. A system for adjusting an execution of a routine in dependence on a determined state, said routine controlling one or more lighting devices, said system comprising: at least one receiver, at least one transmitter; and at least one processor configured to: learn, in a learning mode, based on one or more signals received via said at least one receiver, one or more states of one or more portable devices at a start time associated with said routine for a plurality of executions of said routine over a period of time, determine, in said learning mode, one or more expected states of said one or more portable devices at said start time associated with said routine based on said one or more learned states, determine, in an adjustment mode, via said at least one receiver, one or more current states of said one or more portable devices at said start time of said routine for a current execution of said routine, if said one or more expected states have been determined, determine whether said one or more current states differ from said one or more expected states, and adjust, in said adjustment mode, said current execution of said routine in dependence on a difference between said one or more current states and said one or more expected states, said current execution of said routine comprising transmission of at least one light command via said at least one transmitter.
2. A system as claimed in claim 1, wherein said one or more portable devices comprise a plurality of portable devices.
3. A system as claimed in claim 1, wherein said one or more portable devices comprise a mobile user device and/or a portable lighting device.
4. A system as claimed in claim 3, wherein said at least one processor is configured to determine states of said mobile user device based on sensor data provided by one or more sensors comprised in said mobile user device, said states being comprised in said one or more learned states and said one or more current states.
5. A system as claimed in claim 1, wherein said one or more learned states and said one or more current states indicate one or more of: a position of at least one of said one or more portable devices, whether at least one of said one or more portable devices is being charged, whether at least one of said one or more portable devices is being moved, whether at least one of said one or more portable devices is turned on, whether at least one of said one or more portable devices is being used, motion characteristics of at least one of said one or more portable devices, an application active on at least one of said one or more portable devices, a type of application active on at least one of said one or more portable devices, user interaction on at least one of said one or more portable devices, a setting active on at least one of said one or more portable devices, a mode of at least one of said one or more portable devices, and an orientation of at least one of said one or more portable devices.
6. A system as claimed in claim 5, wherein said one or more portable devices comprise a mobile user device, said one or more learned states and said one or more current states indicate a position of said mobile user device, and said position of said mobile user device indicates whether said mobile user device is home or away from home, whether said mobile user device is near said one or more lighting devices, and/or whether said mobile user device is near a user of said mobile user device.
7. A system as claimed in claim 1, wherein said at least one processor is configured to determine said start time associated with said routine based on a user-specified time, based on a start time of an agenda entry, based on a sunrise or sunset time, or based on a time of a sensor event.
8. A system as claimed in claim 1, wherein said at least one processor is configured to adjust said current execution of said routine by postponing said routine, cancelling said routine, modifying a transition time of said routine, prompting a user to decide how to adjust said routine, or causing said routine to control one or more different lighting devices.
9. A system as claimed in claim 8, wherein said at least one processor is configured to postpone said routine by delaying a start of said current execution of said routine and delaying an end of said current execution of said routine and/or by delaying a start time of a period from which a time for starting said current execution of said routine is arbitrarily chosen.
10. A system as claimed in claim 1, wherein said at least one processor is configured to ask said user for permission before adjusting said current execution of said routine.
11. A system as claimed in claim 1, wherein said at least one processor is configured to determine whether said one or more portable devices are, at said start time associated with said routine, expected to be in a same state as before said start time associated with said routine or in a same state as after an end time associated with said routine and determine how to adjust said current execution of said routine based on said expectation.
12. A system as claimed in claim 11, wherein said at least one processor is configured to determine whether said one or more portable devices are, at said start time associated with said routine, expected to be in a same state as before said start time associated with said routine or in a same state as after said end time associated with said routine based on a type of said routine or based on user input.
13. A system as claimed in claim 1, wherein said at least one processor is configured to: learn, in said learning mode, based on said one or more signals received via said at least one receiver, one or more contextual states at said start time associated with said routine for said plurality of executions of said routine over said period of time, said one or more learned contextual states indicating a number of portable devices in a space in which said one or more lighting devices are located and/or a social context in said space, determine, in said learning mode, one or more expected contextual states at said start time associated with said routine based on said one or more learned contextual states, determine, in said adjustment mode, via said at least one receiver, one or more current contextual states at said start time of said routine for said current execution of said routine, if said one or more expected contextual states have been determined, determine whether said one or more current contextual states differ from said one or more expected contextual states, and adjust, in said adjustment mode, said current execution of said routine further in dependence on a difference between said one or more current contextual states and said one or more expected contextual states.
14. A method of adjusting an execution of a routine in dependence on a determined state, said routine controlling one or more lighting devices, said method comprising: learning, in a learning mode, based on one or more received signals, one or more states of one or more portable devices at a start time associated with said routine for a plurality of executions of said routine over a period of time; determining, in said learning mode, one or more expected states of said one or more portable devices at said start time associated with said routine based on said one or more learned states; determining, in an adjustment mode, via said at least one receiver, one or more current states of said one or more portable devices at said start time of said routine for a current execution of said routine; if said one or more expected states have been determined, determining whether said one or more current states differ from said one or more expected states; and adjusting, in said adjustment mode, said current execution of said routine in dependence on a difference between said one or more current states and said one or more expected states, said current execution of said routine comprising transmission of at least one light command.
15. A computer program product for a computing device, the computer program product comprising computer program code to perform the method of claim 14 when the computer program product is run on a processing unit of the computing device.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0040] These and other aspects of the invention are apparent from and will be further elucidated, by way of example, with reference to the drawings, in which:
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050] Corresponding elements in the drawings are denoted by the same reference numeral.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0051]
[0052] The bridge 1 is connected to a wireless LAN access point 17, e.g. via Ethernet or Wi-Fi. The wireless LAN access point 17 is connected to the Internet 11. An Internet server 13 is also connected to the Internet 11. A mobile device 13 is also connected to the wireless LAN access point 17. The mobile device 13 may run an app for controlling lighting devices 31-34 and configuring routines, for example. A mobile device 14 is connected to the Internet 11 via a mobile communication network.
[0053] The bridge 1 comprises a receiver 3, a transmitter 4, a processor 5, and a memory 7. The processor 5 is configured to learn, in a learning mode, based on one or more signals received via the receiver 4, one or more states of one or more portable devices, e.g. of the mobile device 13, the mobile device 14, and/or the portable lighting device 34, at a start time associated with the routine for a plurality of executions of the routine over a period of time, and determine, in the learning mode, one or more expected states of the one or more portable devices at the start time associated with the routine based on the one or more learned states.
[0054] The routine may be stored in the memory 7, for example. The learned states and the expected states may be recorded in the memory 7, for example. The processor 5 may is be configured to determine the start time associated with the routine based on a user-specified time, based on a start time of an agenda entry, based on a sunrise or sunset time, or based on a time of a sensor event, for example.
[0055] The processor 5 is further configured to determine, in an adjustment mode, via the receiver 3, one or more current states of the one or more portable devices at the start time of the routine for a current execution of the routine, and if the one or more expected states have been determined, determine whether the one or more current states differ from the one or more expected states. The processor 5 is further configured to adjust, in the adjustment mode, the current execution of the routine in dependence on a difference between the one or more current states and the one or more expected states. The current execution of the routine comprises transmission of at least one light command via the transmitter 4 to one or more of the lighting devices 31-34. The at least one light command specifies the new light setting(s), e.g. a fade-out light effect.
[0056] The processor 5 may be configured to adjust the current execution of the routine by postponing the routine, cancelling the routine, modifying a transition time of the routine, prompting a user to decide how to adjust the routine, or causing the routine to control one or more different lighting devices, for example.
[0057] Routine adjustments may also be communicated to the user, either actively (as a push notification or spoken message) or passively (e.g. shown in the lighting control app). A push notification or spoken message could also be used to ask the user what he wants the system to do, e.g. continue as planned, postpone, or cancel the routine. The system could also offer more intelligent options, such as postpone until everyone has left the room and enabling a user to select the option always do this in case of similar circumstances.
[0058] In the embodiment of
[0059] Alternatively or additionally, the states of the one or more portable devices may indicate whether the mobile device 13 and/or 14 is being charged, whether the mobile device 13 and/or 14 is being moved, whether the mobile device 13 and/or 14 is turned on, whether the mobile device 13 and/or 14 is being used, motion characteristics of the mobile device 13 and/or 14, an application active on the mobile device 13 and/or 14, a type of application active on the mobile device 13 and/or 14, user interaction on the mobile device 13 and/or 14, and/or a setting active on the portable lighting device 34, for example.
[0060] Distinguishing between apps or app types may be beneficial if the different apps or app types indicate very different level of activity or concentration required or imply different social settings. For example, a user may normally use a Spotify/music streaming app at the start time of the go-to-sleep routine (e.g. if the user uses music to fall asleep). If the user is exceptionally using a Netflix/video streaming app at the start time of the go-to-sleep routine instead, the routine may be postponed. Similarly, if the user plays an action-oriented game on his smart phone, while he normally uses a Kindle app to read an eBook at the start time of the go-to-sleep routine, the routine might be postponed.
[0061] In the embodiment of the bridge 1 shown in
[0062] The receiver 3 and the transmitter 4 may use one or more wired or wireless communication technologies, e.g. Ethernet or Wi-Fi for communicating with the wireless LAN access point 17 and Zigbee for communicating with the lighting devices 31-34, for example. In an alternative embodiment, multiple receivers and/or multiple transmitters are used instead of a single receiver and a single transmitter. In the embodiment shown in
[0063]
[0064] The computer 21 comprises a receiver 23, a transmitter 24, a processor 25, and storage means 27. The processor 25 is configured to learn, in a learning mode, based on one or more signals received via the receiver 24, one or more states of one or more portable devices, e.g. of the mobile device 13, the mobile device 14, and/or the portable lighting device 34, at a start time associated with the routine for a plurality of executions of the routine over a period of time, and determine, in the learning mode, one or more expected states of the one or more portable devices at the start time associated with the routine based on the one or more learned states. The routine may be stored in the memory 27 or in the bridge 16, for example. The learned states and the expected states may be recorded in the memory 27, for example.
[0065] The processor 25 is further configured to determine, in an adjustment mode, via the receiver 23, one or more current states of the one or more portable devices at the start time of the routine for a current execution of the routine, and if the one or more expected states have been determined, determine whether the one or more current states differ from the one or more expected states. The processor 25 is further configured to adjust, in the adjustment mode, the current execution of the routine in dependence on a difference between the one or more current states and the one or more expected states. The current execution of the routine comprises transmission of at least one light command via the transmitter 24. The at least one light command is transmitted to one or more of lighting devices 31-34 via the bridge 16.
[0066] In the embodiment of the computer 21 shown in
[0067] The receiver 23 and the transmitter 24 may use one or more wired and/or wireless communication technologies such as Ethernet and/or Wi-Fi (IEEE 802.11) to connect to the Internet 11, for example. In an alternative embodiment, multiple receivers and/or multiple transmitters are used instead of a single receiver and a single transmitter. In the embodiment shown in
[0068] In the embodiments of
[0069]
[0070] In the example of
[0071] Sometimes, the user has a guest at 11 PM and is not using the web browser on his mobile device 13. Instead he may be charging his mobile device 13, for example. At other times, the user is cleaning the living room 65 at 11 PM and has switched on lighting device 34 to get better visibility. In these exceptional situations, the go-to-sleep routine is not executed normally. The execution of the go-to-sleep routine may be postponed, for example.
[0072]
[0073] A first embodiment of the method of adjusting an execution of a routine in dependence on a determined state is shown in
[0074] A step 101 comprises learning, in a learning mode, based on one or more received signals, one or more states of one or more portable devices at a start time associated with the routine. The one or more portable devices may comprise one or more mobile user devices and/or one or more portable lighting devices, for example. The start time associated with the routine may be determined based on a user-specified time, based on a start time of an agenda entry, based on a sunrise or sunset time, or based on a time of a sensor event, for example.
[0075] Next, a step 102 comprises checking whether it is possible to determine one or more expected states of the one or more portable devices at the start time associated with the routine based on the one or more learned states. The learned states have been learned for a plurality of executions of the routine over a period of time. For example, after states have been determined (in step 101) at the start time of a new routine at least a minimum number of times and at least some learned states are repeatedly determined in at least a minimum percentage of cases, the one or more expected states may be determined in the learning mode in a step 103. If it is not possible to determine the one or more expected states yet, step 101 is repeated.
[0076] After step 103, a step 105 is performed. Step 105 comprises determining, in an adjustment mode, one or more current states of the one or more portable devices at the start time of the routine for a current execution of the routine. Then, a step 107 comprises determining whether the one or more current states differ from the one or more expected states. In a step 108, it is checked whether (sufficient) differences were determined in step 107 and if so, a step 109 is performed.
[0077] Thresholds for determining whether differences are sufficiently different may be learned in step 103. For example, if a user is always sitting on a couch and it is possible to determine (indoor) positions accurately, a relatively small threshold may be determined. If a user is not always sitting on a couch, but always located in the same room, a larger threshold may be determined. In the case that there are no or insufficient differences, a step 111 is performed. Step 111 comprises executing the routine normally. The execution of the routine comprises transmission of at least one light command.
[0078] Step 109 comprises adjusting, in the adjustment mode, the current execution of the routine. Adjustment of the routine may be dependent on the type of routine. For instance, in the case of a wake-up routine in a bedroom, the wake-up light may only activate if the user device is also in the bedroom, and the wake-up routine may be cancelled if the user device is detected in a different room. It is also possible that the wake-up routine is relocated to the room where the personal user device has been detected. For instance, in the middle of the night, the user may have moved to another room, for instance, because it became too warm in the bedroom. It would then be beneficial if the wake-up routine would automatically be activated in the other room.
[0079] In the case of a go-to-sleep routine in the living room, a gradual fade-out may be started at the start time of the routine if the user is using a web browser on his mobile device. If the user is not using a web browser on his mobile device the start time of the routine, the fade-out may be postponed.
[0080] Besides wake-up and go-to-bed routines, a user may also have predefined time-, agenda- or event-based activation of dinner time light, exercise/yoga/meditation time, whereby the lights both remind and help to prepare the user of a scheduled activity and (gradually) adjust the light such that it is optimized for the activity. If normally people are present before dinner time, and preparing food in the kitchen, but currently no one is present in normal locations, or people show a completely different activity pattern, the system may decide to adjust the routine, optionally after asking permission from the user.
[0081] A second embodiment of the method of adjusting an execution of a routine in dependence on a determined state is shown in
[0082] A step 121 comprises determining that a routine has been triggered, e.g. at a predetermined time or by a sensor event. A routine typically describes what light settings to activate on one or more lighting devices at a particular moment (e.g. time-of-day, or upon a detected event). The routine may be defined by a user as part of a lighting control app and stored in a local lighting control device (e.g. in a bridge or a lamp) and/or may be stored in the cloud.
[0083] In a system like Philips Hue, a user can define scenes (light settings for each individual lighting device) and rooms (groups of lighting devices). This makes routine definition rather easy, since a user can simply define that every weekday at 7.15 AM his bedroom lamps should activate the wake-up light scene. External routines, such as IFTTT, that are not stored in a lighting control device or in an accessible cloud storage, are more difficult to analyze.
[0084] In the case of the Hue system, when an external routine triggers a change, it happens via the Hue cloud. In the Hue app, external routines are referred to as routines from the other apps. When such a trigger is received by the Hue system, it also contains a handle to the external system that requests the change in lighting. When the Hue system recognizes an external routine, it could prompt the user and ask if it is a reoccurring routine or use historical information to determine if it is a reoccurring routine. In both cases, it could then store this information to include external routines in the analysis.
[0085] Since the lighting system may not (always) be aware of the reason for the trigger/routine, the lighting system could cancel the routine, but to postpone it, the lighting system will need to communicate with the other system such that it can trigger the routine again later.
[0086] A step 123 comprises determining one or more current states of one or more portable devices at the start time of the routine. This start time may be a user-specified time, a start time of an agenda entry, a sunrise or sunset time, or a time of a sensor event, for example. Typically, (just) before the system is about to take the lighting control action corresponding to the routine, it will detect the state of the one or more portable devices. The determined one or more states of mobile user devices preferably comprise position.
[0087] In a broad sense, position may indicate whether the mobile user device is at home or away from home (e.g. using GPS or access to Wi-Fi networks). More specifically, the system may determine a position in the home, such as in what room the user device is currently present (e.g. using RF-based positioning or VLC-based positioning). In a simpler implementation, the system may only check if the mobile user device is available in the area where the routine-based lighting control action is about to be executed. In the case that the routine that only affects a subset of lighting devices in the room (e.g. Hue zones), the system could additionally check the proximity to the subset of lighting devices. Instead of determining the position of a single mobile user device, the positions of multiple mobile user devices may be determined.
[0088] Instead of or in addition to positions, one or more other states of a portable device may be detected. For instance, it may be detected if the device is currently near the user, if it is carried or actively used by the user, or whether it is in a stationary position or in a charging dock. Furthermore, the mobile device sensors may be used, e.g. to detect motion characteristics.
[0089] Next, a step 125 comprises determining whether the routine is still in a learning mode. If so, step 102 is performed. If not, step 107 is performed. Step 102 comprises checking whether it is possible to determine one or more expected states of the one or more portable devices at the start time associated with the routine based on the one or more states learned in the current iteration and in previous iterations of step 121. If so, the one or more expected states are determined in step 103 and the routine is taken out of the learning mode in a step 127. If it is not possible to determine the one or more expected states yet, a step 129 is performed. Step 129 comprises recording the one or more states learned in the current iteration of step 123. Step 111 is performed after step 127 or step 129 has been performed.
[0090] If it is determined in step 125 that the routine is no longer in the learning mode, step 107 is performed. Step 107 comprises determining whether the one or more current states, determined in the current iteration of step 123, differ from the one or more expected states, previously determined in step 103. If the user is not satisfied with the expected states that have been determined, he may be able to reset the learned states and manually put the routine in the learning mode again. In step 108, it is checked whether (sufficient) differences were determined in step 107 and if so, a step 109 is performed. If not, step 111 is performed.
[0091] In the embodiment of
[0092] In the case of an external routine, the system performing the method could, depending on the user's answer, simply cancel the execution of the routine or postpone the execution of the routine without communicating with the external system. Alternatively, it could inform the remote system that the routine cannot be triggered at the moment and should be delayed, and later it can inform the remote system that the routine can be triggered now; in this case the remote system could decide itself if triggering the routine at the later stage make sense or if it should be canceled.
[0093] Step 111 comprises executing the routine normally. The execution of the routine comprises transmission of at least one light command. Step 121 is repeated after step 109 or step 111 has been performed and the method then proceeds as shown in
[0094] A third embodiment of the method of adjusting an execution of a routine in dependence on a determined state is shown in
[0095] Step 141 comprises determining whether the one or more portable devices are, at the start time associated with the routine, expected to be in a same state as before the start time associated with the routine or in a same state as after an end time associated with the routine, e.g. based on a type of the routine or based on user input. For example, for a wake-up routine, the one or more portable devices may be assumed to be, at the start time associated with the routine, expected to be in a same state as before the start time associated with the routine. For a go-to-sleep routine (e.g. to be executed with a lighting device in the bedroom), it may be necessary to make the determination of step 141 based on user input. Step 143 comprises determining how to adjust the current execution of the routine based on the expectation determined in step 141.
[0096] For instance, if the user specifies a start time of 11 PM for a go-to-sleep routine, it could be that a) he is often already using Spotify to fall sleep at that time or alternatively, that b) he is often still using Netflix at that time. In scenario (a), if the user is then still using Netflix at 11 PM (thereby deviating from normal behavior), the routine may be postponed. In scenario (b), if the user is then already using Spotify at 11 PM (thereby deviating from normal behavior), the purpose of the routine may be taken into account to determine how to adjust the execution of the routine. For example, in scenario (b), it may be assumed that the go-to-sleep routine is usually used to prepare for bed and go to sleep. Then, if the deviation from the normal behavior is a less active behavior (e.g. instead of Netflix, listening to relaxing music via Spotify app), the routine should preferably not be postponed or cancelled.
[0097] The knowledge about the nature of the routine can either be given to the system that performs the method as a parameter, which can be used when deciding to cancel or postpone, or it can be learned from the past behaviors, i.e. it could check if similar deviations occurred in the past and if it caused a user to stop the routine. The advantage of the first approach is that it could be applied immediately after the normal behavior is learned, so even if a specific deviation happens for the first time the system could already act. The second approach will require more learning and when a specific deviation happens for the first time it will not be able to react to it, but in a long term it will be more versatile compared to the first approach. The system could also use a combination of both approaches.
[0098] Step 145 comprises adjusting the current execution of the routine by postponing the routine, cancelling the routine, modifying a transition time of the routine, or cause the routine to control one or more different lighting devices. In step 145, the routine may be postponed, for example, by delaying a start of the current execution of the routine and delaying an end of the current execution of the routine and/or by delaying a start time of a period from which a time for starting the current execution of the routine is arbitrarily chosen.
[0099] For instance, in the Hue system, a user is able to specify a transition time (i.e. how quickly the lighting system should transit from its current light settings to new light settings defined by the routine) for some types of routines. The user is also able to indicate a time span within which the routine is randomly activated (e.g. switch to scene A at random in the time period between 7 PM and 7.30 PM, usually used to simulate presence of a human to avoid always exact time light change). Deviation from a normal/expected behavior detected with personal devices could then for example increase the transition time instead of postponing the routine, and in case of a random activation, it could adjust the time period within which it can be activated e.g. instead of 7-7.30 PM, extend or reduce it, e.g. change random activation from 7-7.30 PM to 7.15-7.30 PM.
[0100] In step 145, the user may be asked for permission before adjusting the current execution of the routine, e.g. whether to postpone an exercise routine if no music application is active on the user's mobile device yet.
[0101] A fourth embodiment of the method of adjusting an execution of a routine in dependence on a determined state is shown in
[0102] Step 121 comprises determining that a routine has been triggered, e.g. at a predetermined time or by a sensor event. Step 123 comprises determining one or more current states of one or more portable devices at a start time associated with the routine. A step 161 comprises determining one or more contextual states at the start time associated with the routine. The one or more contextual states indicate a number of portable devices in a space in which the one or more lighting devices are located and/or a social context in the space. In the embodiment of
[0103] Next, a step 125 comprises determining whether the routine is still in a learning mode. If so, step 102 is performed. If not, steps 107 and 165 are performed. Step 102 comprises checking whether it is possible to determine one or more expected states and one or more expected contextual states of the one or more portable devices at the start time associated with the routine. If so, step 103 is performed next.
[0104] Step 103 comprises determining the one or more expected states of the one or more portable devices at the start time associated with the routine based on the one or more states learned in the current iteration and in previous iterations of step 121. Then, step 163 comprises determining the one or more expected contextual states at the start time associated with the routine based on the one or more contextual states learned in the current iteration and in previous iterations of step 161. In the embodiment of
[0105] If it is not possible to determine the one or more expected states yet, a step 164 is performed. Step 164 comprises recording the one or more states learned in the current iteration of step 123 and the one or more contextual states learned in the current iteration of step 161. Step 111 is performed after step 127 or step 164 has been performed.
[0106] If it is determined in step 125 that the routine is no longer in the learning mode, steps 107 and 165 are performed. Step 107 comprises determining whether the one or more current states, determined in the current iteration of step 123, differ from the one or more expected states, previously determined in step 103. Step 165 comprises determining whether the one or more current contextual states, determined in the current iteration of step 161, differ from the one or more expected contextual states, previously determined in step 163.
[0107] In step 167, it is checked whether (sufficient) differences were determined in steps 107 and 165, and if so, step 109 is performed. If not, step 111 is performed. Step 111 comprises executing the routine normally. The execution of the routine comprises transmission of at least one light command.
[0108] Step 109 comprises adjusting the execution of the routine. For example, in the case of a go-to-sleep routine in the living room, a gradual fade-out may be started at the start time of the routine if the user is using a web browser on his mobile device and one person is in the living room. If the user is not using a web browser on his mobile device at the start time of the routine or multiple persons are in the room, the fade-out may be postponed. Step 121 is repeated after step 109 or step 111 has been performed and the method then proceeds as shown in
[0109] The embodiments of
[0110]
[0111] As shown in
[0112] The memory elements 304 may include one or more physical memory devices such as, for example, local memory 308 and one or more bulk storage devices 310. The local memory may refer to random access memory or other non-persistent memory device(s) generally used during actual execution of the program code. A bulk storage device may be implemented as a hard drive or other persistent data storage device. The processing system 300 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the quantity of times program code must be retrieved from the bulk storage device 310 during execution. The processing system 300 may also be able to use memory elements of another processing system, e.g. if the processing system 300 is part of a cloud-computing platform.
[0113] Input/output (I/O) devices depicted as an input device 312 and an output device 314 optionally can be coupled to the data processing system. Examples of input devices may include, but are not limited to, a keyboard, a pointing device such as a mouse, a microphone (e.g. for voice and/or speech recognition), or the like. Examples of output devices may include, but are not limited to, a monitor or a display, speakers, or the like. Input and/or output devices may be coupled to the data processing system either directly or through intervening I/O controllers.
[0114] In an embodiment, the input and the output devices may be implemented as a combined input/output device (illustrated in
[0115] A network adapter 316 may also be coupled to the data processing system to enable it to become coupled to other systems, computer systems, remote network devices, and/or remote storage devices through intervening private or public networks. The network adapter may comprise a data receiver for receiving data that is transmitted by said systems, devices and/or networks to the data processing system 300, and a data transmitter for transmitting data from the data processing system 300 to said systems, devices and/or networks. Modems, cable modems, and Ethernet cards are examples of different types of network adapter that may be used with the data processing system 300.
[0116] As pictured in
[0117]
[0118] Various embodiments of the invention may be implemented as a program product for use with a computer system, where the program(s) of the program product define functions of the embodiments (including the methods described herein). In one embodiment, the program(s) can be contained on a variety of non-transitory computer-readable storage media, where, as used herein, the expression non-transitory computer readable storage media comprises all computer-readable media, with the sole exception being a transitory, propagating signal. In another embodiment, the program(s) can be contained on a variety of transitory computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., flash memory, floppy disks within a diskette drive or hard-disk drive or any type of solid-state random-access semiconductor memory) on which alterable information is stored. The computer program may be run on the processor 302 described herein.
[0119] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms a, an, and the are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms comprises and/or comprising, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
[0120] The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of embodiments of the present invention has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the implementations in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the present invention. The embodiments were chosen and described in order to best explain the principles and some practical applications of the present invention, and to enable others of ordinary skill in the art to understand the present invention for various embodiments with various modifications as are suited to the particular use contemplated.