# US 9,437,106 B2 · Techniques for controlling appliances

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,437,106 B2
- Document ID: US9437106B2
- Status: Granted
- Kind: B2
- Application number: 14/043,248
- Filed: 2013-10-01
- Published: 2014-04-03
- Granted: 2016-09-06
- Earliest claimed: 2012-10-01
- Applicants: Logitech Europe S.A.
- Inventors: Adrien Lazarro; Devon Wang; Richard Titmuss; Jack Ha; Ian Crowe; Ranjit Sidhu
- Web page: https://patentgrep.com/patent/US9437106B2

## CPC

- G08C 19/00: Electric signal transmission systems (G08C17/00 takes precedence)
- G08C 17/02: using a radio link
- G08C 23/04: using light waves, e.g. infrared
- G08C 2201/32: Remote control based on movements, attitude of remote control device
- G08C: TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS (fluid pressure transmitting systems F15B; mechanical means for transferring the output of a sensing member into a different variable G01D5/00; mechanical control systems G05G)

## Abstract

Remote control systems utilize touch-sensitive user-input devices and/or displays which may be integral with the touch-sensitive user-input devices. Gestures input into a touch-sensitive user-input device result in signals transmitted to one or more appliances for the purpose of controlling the one or more appliances. A display provides intuitive visual feedback regarding input into the remote control system, through a touch-sensitive user-input device and/or other user-input devices. The remote control systems may be configured and dynamically updated based on user activity in connection with the remote control systems.

## Claims

### Claim 1

A method for updating a control device configured to control a plurality of appliances in a coordinated manner for different activities, comprising:
detecting a first starting of a first activity of the different activities;
tracking the state of one or more appliances involved in the first activity;
detecting a first ending of the first activity;
analyzing state data for the one or more appliances obtained at least partially between the first starting and the first ending;
at least one of generating, or updating, an end-state data associated with the first activity for the one or more appliances based on the analysis of the state data;
detecting a second starting of the first activity;
accessing the end-state data associated with the first activity; and
modifying a state of the one or more appliances based on the second starting of the first activity and the end-state data.

### Claim 2 (depends on 1)

The method of claim 1, wherein the end state data includes an indication that a computer application should be running, and modifying the state of the one or more appliances based on the end-state data includes sending a signal from the control device to the one or more appliances to change the state of the one or more appliances to a state corresponding to the end-state data by opening the computer application.

### Claim 3 (depends on 1)

The method of claim 1, wherein the activity corresponds to a pre-programmed macro including instructions for a plurality of appliances.

### Claim 4 (depends on 1)

The method of claim 1, wherein detecting the start of the first activity includes detecting a user input corresponding to selection of the first activity.

### Claim 5 (depends on 1)

The method of claim 1, wherein detecting the start of the first activity includes detecting selection of a content source, and the control device determines the first activity from among the different activities based on the selected content source.

### Claim 6 (depends on 1)

The method of claim 1, further comprising receiving a user command to start the first activity, wherein receiving the user command to start the first activity causes a macro to be executed that causes the one or more appliances to update their state to a state corresponding to the end-state data.

### Claim 7 (depends on 1)

The method of claim 1, wherein at least one of said detecting of the first starting and said detecting of the first ending is based on commands entered to the control device.

### Claim 8 (depends on 1)

The method of claim 1, wherein tracking the state of the one or more appliances involved in the first activity is based on at least a use of the control device.

### Claim 9 (depends on 1)

The method of claim 1, wherein detecting the first ending of the first activity is based on a power off command that is input to the control device, and the end-state data is based on a state of the one or more appliances prior to the control device sending the power off command.

### Claim 10 (depends on 1)

The method of claim 1, further comprising querying a user of the control device whether to update the end-state data based at least in part on detecting the first ending of the first activity.

### Claim 11 (depends on 10)

The method of claim 10, wherein the querying of the user on whether to update the end-state data is presented based on the control device detecting the first ending of the first activity.

### Claim 12 (depends on 1)

The method of claim 1, wherein detecting the end of the activity is based on a predetermined period of time associated with the first activity.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
detecting a second ending of the first activity;
analyzing state data for the one or more appliances obtained at least partially between the second starting and the second ending;
updating the end-state data for the one or more appliances based on the analysis of the state data obtained at least partially between the second starting and the second ending;
detecting a third starting of the first activity; and
modifying the state of the one or more appliances based on the third starting of the first activity and the updated end-state data.

### Claim 14 (depends on 1)

The method of claim 1, further comprising generating a macro based on at least three of the first activity, a selected media content source corresponding to the first activity, the end-state data, and current state data of the one or more appliances.

### Claim 15 (depends on 1)

The method of claim 1, further comprising obtaining a device inventory for a user of the control device, obtaining a user interface design parameter for the user, and generating a user interface for the control device based on the device inventory and the design parameter.

### Claim 16 (depends on 1)

The method of claim 1, further comprising:
receiving a user selection indicating a content source;
obtaining macro data based on the content source; and
generating a macro based on the obtained macro data.

### Claim 17

A controller, comprising:
a user interface;
a wireless communication device;
a processor; and
a memory including computer-executable instructions that, when executed, configure the processor to:
detect a first starting of an activity;
track the state of one or more appliances involved in the activity;
detect a first ending of the activity;
analyze state data for the one or more appliances obtained at least partially between the first starting and the first ending;
at least one of generate, or update, an end-state data associated with the activity for the one or more appliances based on the analysis of the state data;
detect a second starting of the activity;
access the end-state data associated with the activity;
access current-state data for the one or more appliances involved in the activity; and
generate a macro, executable by the controller, and configured to modify a state of the one or more appliances based on the second starting of the activity, the current-state data, and the end-state data.

### Claim 18 (depends on 17)

The controller of claim 17, wherein modifying the state of the one or more appliances based on the end-state data includes sending a signal from the controller to the one or more appliances to change the state of the one or more appliances to a state corresponding to the end-state data.

### Claim 19 (depends on 17)

The controller of claim 17, wherein detecting the start of an activity includes detecting a user input to the user interface corresponding to selection of the activity.

### Claim 20 (depends on 17)

The controller of claim 17, wherein tracking the state of the one or more appliances involved in the activity is based on a use of the controller.

### Claim 21 (depends on 17)

The controller of claim 17, wherein detecting the first ending of the activity is based on a power off command that is input to the controller, and the end-state data is based on a state of the one or more appliances prior to the controller sending the power off command.

### Claim 22 (depends on 17)

The controller of claim 17, further comprising instructions for:
detecting a second ending of the activity;
analyzing state data for the one or more appliances obtained at least partially between the second starting and the second ending;
updating the end-state data for the one or more appliances based on the analysis of the state data obtained at least partially between the second starting and the second ending;
detecting a third starting of the activity; and
modifying the state of the one or more appliances based on the third starting of the activity and the updated end-state data.

### Claim 23

A non-transitory computer-readable storage medium including computer-executable instructions for configuring one or more processors to perform a method comprising:
receiving a command on a control device to start an activity involving one or more appliances;
detecting a first starting of the activity;
tracking the state of one or more appliances involved in the activity;
detecting a first ending of the activity;
analyzing state data for the one or more appliances obtained at least partially between the first starting and the first ending;
at least one of generating, or updating, an end-state data associated with the activity for the one or more appliances based on the analysis of the state data;
detecting a second starting of the activity;
accessing the end-state data associated with the activity; and
modifying a state of the one or more appliances based on the second starting of the activity and the end-state data.

### Claim 24 (depends on 23)

The non-transitory computer-readable storage medium of claim 23, wherein the activity corresponds to a pre-programmed macro including instructions for a plurality of appliances.

### Claim 25 (depends on 23)

The non-transitory computer-readable storage medium of claim 23, wherein detecting the start of the activity includes detecting selection of a content source.

### Claim 26 (depends on 23)

The non-transitory computer-readable storage medium of claim 23, further comprising instructions for generating a macro based on at least two of the activity, a selected media content source corresponding to the activity, the end-state data, and current state data of the one or more appliances.

### Claim 27 (depends on 23)

The non-transitory computer-readable storage medium of claim 23, further comprising instructions for obtaining a device inventory for a user of the control device, obtaining a user interface design parameter for the user, and generating a user interface for the control device based on the device inventory and the design parameter.

### Claim 28 (depends on 23)

The non-transitory computer-readable storage medium of claim 23, further comprising instructions for:
receiving a user selection indicating a content source;
obtaining macro data based on the content source; and
generating a macro based on the obtained macro data.
