1. Field of the Invention
This invention is related to a semantic appliance control system that allows users to issue descriptive command sentences remotely to control an appliance from a cellphone or a computer via a server and a local control box.
2. Description of the Related Art
For many years vendors have tried to provide “smart” appliances with embedded intelligence. It is however less understood how an existing appliance can be turned into a “smart” appliance. This invention is also different from any “smart” appliance (including cable TV) in that a user does not directly operate an appliance via a (separate or embedded) control box; rather operations of an appliance are “programmed” using a descriptive (semantic) language that can be understood by a control software on a remote server that communicates with the appliance using a control box that is also a part of this invention.
For purposes of summarizing the invention, certain aspects, advantages and novel features of the invention have been described herein. It should be understood that not necessarily all such aspects, advantages or features will be embodied in any particular embodiment of the invention.
This invention provides a semantic appliance control system consisting of a computer or cellphone interface that allows a user to compose command sentences remotely; one or more control boxes that each can send and/receive control signals to/from one or more specific appliances; and a control software on a server that receives and compiles a command sentence from a user into one or more control commands. The control software further schedules the control commands from one or more users and sends each control command to one or more control boxes at one or more scheduled times. The control box may as well include one or more sensors to collect and report the status of the appliance and the environment. Users may assert a set of rules in the control software such that whenever the status of an appliance or the environment satisfies certain condition(s), the control software may take one or more user-specified actions or that it can enforce certain conditions be satisfied all the time.
The invention basically extends any existing appliance with user programmability. With the control software and a control box, a user may “program” or control the operations of an appliance remotely from a cellphone or a computer for personalized comfort, better performance and/or energy saving.
The following subsections describe a semantic appliance control system that embodies various inventive features. The various inventive features can be implemented differently than described herein. Thus, the following description is intended only to illustrate, and not limit, the scope of the present invention.
The cell phone 110 could be any ordinary cellphone that can be connected to the control software 130 using a cellphone communication network (such as GPRS, CDMA). The computer 120 could be any ordinary computer that can be connected to the control software via using a computer communication network (such as HTTP, WiFi). In either case, with a standard cellphone interface or browser interface, a user can select a verb (action), a noun (appliance) and one or more constraints (modifiers), and combine them into a command sentence and send it to the control software 130.
The control box 140 may be a device separated from the appliance 150 or embedded in the appliance 150. The control box 140 may be connected to the control software 130 using a cellphone communication network or a computer communication network.
The control software 130 compiles a command sentence received from the user into one or more control commands that can be understood by a control box 140 and schedules their executions. It is possible that based on the constraints in a command sentence the control commands are not executed at the same time. For example a command “turn on TV1” corresponding to the command sentence “turn on TV1 at 8PM everyday” may be executed every day at 8PM. In this case the control software records the command and schedules its execution once a day.
The control software 130 executes the control commands based on their scheduled times. Whenever a control command is scheduled to execute, it is sent to the control box using a communication network.
The appliance control box 140 receives and interprets commands sent from the control software 130. It interprets each command received into one or more control signals that can be executed by the appliance 150 it controls to perform the desired operation. The control signals are transmitted via a wire or in a wireless manner (using infrared or blue tooth technology).
The user may also assert one of more rules in the control software to control the scheduling and execution of the command sentences from the users.
Turn on the TV (whose ID is TV1) to channel 7 every day at 8PM.
The command sentence is sent to the control software that compiles it into a command like:
which is scheduled to be executed everyday at 8PM. At 8PM of each day, the command is sent from the control software to the corresponding control box (i.e., the control box of John that controls TV1). Once received, the control box interprets the command and translates it into an infrared signal sent to TV1.
As another example, a user may assert the following rule to the control software that says no one can turn on the TV whose ID is TV1 after 11PM and before 7AM:
The rule is sent to the control software that understands it is a rule and enforces it to disallow any command that asks for turning on the TV after 11PM and before 7AM.
As a third example, a user may assert the following rule to the control software that says if the room temperature is at or above 70 degrees, turn off the heater whose ID is “heater 1”:
The rule is compiled by the control software into a command to the control box in charge of heater 1 that is equipped with a thermostat. The command requests the box to report in whenever the room temperature exceeds 70 degrees and, if that occurs, the control software schedules the execution of the action “Turn off heater 1” immediately.
When in the learning mode, a user only needs to follow the instructions to transmit the IR signals from a remote controller of an appliance, one at a time, to the control box 100 and modulate the address switch 640 to an address to store a signal. The control box precisely analyzes each signal and stores it to a memory address. When the user wants to control the corresponding appliance with a specific signal, the control box reproduces the stored IR signal.