The present disclosure generally relates to the home automation. More particularly, the following discussion relates to systems, methods, and devices for controlling appliances and other home automation components via a media device.
Due in part to the ubiquity of mobile devices, smart-phones, tablet computers, and the like, as well as a trend toward an “Internet of Things,” home automation has become increasing popular in recent years, allowing users to remotely control appliances, lighting, security systems, and other such controllable devices and systems using a variety of communication protocols, such as WiFi, RF, Zigbee, Z-Wave, BLE, and the Insteon protocol.
While such home automation systems are relatively convenient and effective, many challenges still exist. For example, such systems often require one or more additional electronic components to act as a “base station,” interface, and/or controller. This need for additional components tends to increase power consumption and complexity. Furthermore, the setup of controllable devices in an environment can be time consuming and non-intuitive.
Accordingly, there is a need for improved home automation systems, devices, and techniques. These and other desirable features and characteristics will become apparent from the subsequent detailed description and the claims, taken in conjunction with the accompanying drawings and this background section.
Several examples of systems, devices, methods, user interfaces are described for controlling appliances and other home automation components using a media device (e.g., set-top box, place-shifting device, or the like) capable of communicating with such devices. A home automation method in accordance with one embodiment includes: storing, at a media device, configuration data including an identifier associated with a remotely controllable device; receiving, over a network, remote control information; determining, from the remote control information and the configuration data, a desired remote control signal; and transmitting the desired remote control signal from the media device to the remotely controllable device.
A home automation system in accordance with one embodiment includes a computing device coupled to a network; a configuration server communicatively coupled to the computing device over the network; a remotely controllable device configured to receive remote control signals; and a media device communicatively coupled to the computing device and the configuration server over the network. The media device is configured to request configuration data from the configuration server, the configuration data including an identifier associated with the remotely controllable device; receive, over the network, remote control information; determine, from the remote control information and the configuration data, a desired remote control signal; and transmit the desired remote control signal to the remotely controllable device.
Alternate embodiments, aspects and other features are described in more detail herein.
Exemplary embodiments will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and:
Systems and methods are provided for home automation through the use of a media device that includes a suitable remote control transmitter (e.g., an “IR blaster”). In this way, a component that is already present in the environment (e.g., a set-top box or placeshifting device) can be used to control appliances and other devices in the environment, without requiring additional components. In that regard, the following detailed description of the invention is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background or the following detailed description.
Referring to
Device 120 may correspond to any combination of hardware and software configured to receive and process media content from a content source (not illustrated in
Controllable devices 130 may include any assembly, device, or electronic component capable of receiving and interpreting a remote control signal transmitted by component 121 of media device 120. In the illustrated embodiment, for example, the controllable devices 130 include a surveillance system 131, a thermostat 132, one or more lighting devices 133, an over 134, a refrigerator 135, and an alarm system 136. The invention is not so limited, however, and contemplates any other remotely controllable device now known or later developed, such as audio speakers, ceiling fans, LAN components, media streaming devices, wall power outlets, irrigation controllers, electrical blinds, and swimming pool components.
Controllable devices 130 may communicate with media device 120 through any suitable protocol. Example home automation protocols include, without limitation, C-Bus, EnOcean, Insteon, KNX, UPB, X10, IR, Zixbee, and Z-Wave. Such protocols are well known in the art, and need not be discussed in detail herein. In one embodiment, remote control component 121 is an infrared transmitter (e.g., an “IR blaster”) as is known in the art. Such a component is particularly advantageous in that media devices such as media device 120 often include such a component for controlling entertainment devices in the environment (e.g., devices within the line-of-sight of component 121).
Configuration data 104 preferably includes, for one of controllable devices 130, a list of functions provided by each device, as well their corresponding remote control signals. Because the functionality of each controllable device 104 can vary, the nature and format of configuration data 104 may also vary widely. In the case of alarm system 136, for example, configuration data 104 might include two functions: “arm” and “disarm,” each having their own associated codes. This information is then suitable formatted and provided to media device 120. Media device 120 may store the received configuration data in a variety of formats and data structures, such as an IR “.bin” file, as is known in the art.
Configuration data 103 preferably includes graphical information or “skins” associated with a virtual remote control to be used with the associated controllable device 131. For example, in the case of thermostat 132, user interface 152 might include a graphical display that mimics the physical appearance of (and allows graphical manipulation of) a form of “virtual” thermostat. In other embodiments, more general user interface components are used, much in the way that universal remote control devices may be used for multiple entertainment devices.
Next, at step 204, when the user wants to control a device remotely, he first connects to media device 120 and then initiates a home controller mode at computing device 150. This may be accomplished, for example, by the user selecting a “My Home Controller Input” tab or the like provided by software running on computing device 150. In the context of place-shifting media content (described in further detail in conjunction with
In response to the user entering the home controller mode and selecting the device to control, the computing device 150 requests the skin files 103 from server 102, then a virtual remote control device or other user interface 152 is presented to the user (step 206). The computing device 150 can then store the skin file for subsequent use. The graphical components of such a user interface 152 may be specified by one or more graphics files residing on server 102 and downloadable by computing device 150. In the case of refrigerator 135, for example, computing device may know a priori (or download only when needed) the appropriate buttons and controls to be used for that device (e.g., buttons associated with “increase temperature,” “decrease freezer temperature,” and the like.
In response to user interaction with user interface 152 (e.g., the clicking of a button intended to increase temperature), computing device 150 then sends, at step 208, the remote control information over network 110 to media device 120. The remote control information may have a variety of formats and content, depending upon the nature of the associated controllable device 130. In one embodiment, for example, the remote control information includes controllable device index and code associated with the requested function, which can then be understood by media device 120 by virtue of the configuration file(s) downloaded and stored previously.
Finally, in step 210, the appropriate remote control command (e.g., an IR signal) is transmitted to the appropriate controllable device 130. Continuing with the previous example, media device 120 uses the previously downloaded configuration files and looks up the code associated with the requested function (“increase temperature”), then determines the correct remote control command (e.g., a series of IR pulses) to send via component 121.
The above systems and methods may be implemented in the context of a wide variety of entertainment devices and systems.
The placeshifting system 300 also includes a host server 302 (or host) that communicates or otherwise interacts with the devices 304, 308 over the network 306 to facilitate establishment of a peer-to-peer connection 380 over the network 306, which may be utilized for a placeshifting session, as described in greater detail below. It should be understood that
In practice, the client device 304 may be any device, component, module, hardware and/or the like that is capable of communicating with the server 302 over network 306. For example, depending on the embodiment, client device 304 may be realized as a conventional personal computer, portable computer, a tablet computer, workstation and/or other computing system, a mobile (or cellular) telephone, a smartphone, a personal digital assistant, a video game player, and/or any other device capable of receiving media programs via the network 306 and presenting audio and/or visual content. In this regard, the client device 304 includes a display device, such as a monitor, screen, or another conventional electronic display, capable of graphically presenting visual content, data and/or information that is generated or otherwise provided by an application 305, 307 executing on the client 304. The client device 304 may further include a user input device, such as a keyboard, a mouse, a touchscreen, or the like, capable of receiving input data and/or other information from the user of the client device 304. The client device 304 also includes a processing system and a data storage element (or memory) that is coupled to or otherwise accessed by the processing system and stores programming instructions that, when read and executed, cause the processing system of the client device 304 to generate one or more applications 305, 307, 309 executing thereon and perform various tasks, functions, processes and/or operations and support the subject matter described herein. The processing system may be realized as any sort of processor, microprocessor, microcontroller, digital signal processor, or any other suitable processing device, or any suitable combination thereof.
The client 304 may reside at a geographic location that is remote or otherwise physically distinct from the geographic location of the media device 308. In this regard, the media device 308 may have an essentially fixed or permanent geographic location, whereas the geographic location of the client 304 may be transient or otherwise variable with respect to the location of the media device 308. For example, the media device 308 may be realized as a set-top box or a similar device that resides at a user's home for providing media content to the user's television or other home display device 340, while the client 304 is realized as a portable electronic device, such as a mobile phone or other mobile computing device, that moves about with the user.
In the embodiment shown in
With continued reference to
The components in media device 308 may be provided within a common chassis or housing as depicted in
In the exemplary embodiment illustrated in
The DVR 310 feature stores recorded programming (e.g., recorded broadcast programming received via receiver 342) on a hard disk drive, memory, a networked server, or other storage medium as appropriate in response to user/viewer programming instructions, wherein the recorded programming may be subsequently viewed via the media device 308, either on display device 340 or client device 304 via network 306. Content stored in DVR 310 may be any sort of file-based programming or other content that is accessible to media device 308. In various embodiments, in addition to storing broadcast programming, the DVR 310 may also store programming received from other sources not illustrated in
The control module 346 is any sort of hardware, circuitry, processing logic and/or other components capable of directing the operations of media device 308. In various embodiments, control module 346 includes software or firmware logic and/or other programming instructions residing in memory and executing on any sort of processing system, such as any sort of processor, microprocessor, microcontroller, digital signal processor or the like. The instructions, when read and executed, cause the control module 346 to perform various tasks, functions, processes and/or operations and otherwise support the subject matter described herein. In various embodiments, the control module 346 is based upon a “system on a chip” (SoC) implementation that incorporates a hybrid microcontroller with memory, input/output and other features to perform the various signal processing and other actions of media device 308. Other embodiments may implement control module 346 and/or the other features of media device 308 with any number of discrete and/or integrated processing components (e.g., any sort of microprocessor or microcontroller), memories, input/output features and/or other features as desired. The control module 346 communicates with the network interface 348 to establish a peer-to-peer connection 380 to the client device 304 over the network 306 and support streaming of media programs (e.g., from the DVR 310 or the receiver 342) to the client device 304 over the network 306 via the peer-to-peer connection 380, as described in greater detail below.
In the embodiment of
In the illustrated embodiment of
While
The user of the client 304 is able to connect to the portal application 338 supported by host 302 via the network 306, for example, by directing the client application 305 to a URL or other network address associated with host 302 and/or portal application 338. In exemplary embodiments, after the user is successfully authenticated by the portal application 338, and he gets the the connection parameter associated with device 308. Using the connection info client 305 establish a channel 380 which is used to stream media data and to and fro communication. Thereafter, the client 304 utilizes the connection 380 to obtain, from the media device 308 via the network 306, information about programming stored at the media device 308 and available for placeshifting to the client device 304, such as, for example, a listing of the media programs stored on DVR 310. It should be noted that although
Server 302 is coupled to an electronic program guide 322, which may be realized as a server, a database, or another device operating on the network 306 that maintains information pertaining to current and/or future broadcasts (or airings) of media programs that are available to be received from broadcast source 312 (e.g., by the media device 308 via receiver 342 and/or antenna 352). The server 302 and/or the portal application 338 may obtain information pertaining to current and/or future broadcasts (or airings) of media programs from the electronic program guide 322 and generate or otherwise provide a program guide graphical user interface (GUI) display on the client device 304 (e.g., within client application 305) that indicates media programs that are or will be available for streaming from the media device 308. The user of the client device 304 may manipulate or otherwise utilize the graphical user interface (or the graphical user interface elements contained therein) to select or otherwise identify media programs for streaming to the client device 304 and/or recording to the DVR 310. The user may pause or otherwise stop presentation of the streamed media program and manipulate or otherwise operate the client application 305 to transmit or otherwise provide, via the network 306, a request for content to a third-party content source 326 (e.g., a third-party website). The third-party content source 326 responds to the request by transmitting or otherwise providing content to the client device 304 via the network 306.
In the illustrated embodiment of
Placeshifting system 300 may also include a registration server 323, as illustrated. After authentication and connection parameters are provided by server 302, either server 302 or 305 can fetch the appropriate registration information. The media device may registers itself with registration server 323 over network 306. As part of registration, the media device communicates its own unique ID and a port that the device “listens” to. The registration server 323 knows the device ID, its public IP address, and the port number with which it listens. This process may be periodic so that any change in the public IP address or port would be reflected in registration server 323.
Many other modifications and enhancements could be provided in a wide array of alternate but equivalent embodiments. The term “exemplary” is used herein to represent one example, instance or illustration that may have any number of alternates. Any implementation described herein as exemplary is not necessarily to be construed as preferred or advantageous over other implementations. While several exemplary embodiments have been presented in the foregoing detailed description, it should be appreciated that a vast number of alternate but equivalent variations exist, and the examples presented herein are not intended to limit the scope, applicability, or configuration of the invention in any way. To the contrary, various changes may be made in the function and arrangement of elements described without departing from the scope of the claims and their legal equivalents.
This application claims priority to U.S. Provisional Patent Application No. 62/097,493, filed Dec. 29, 2014, the entire contents of which are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
62097493 | Dec 2014 | US |