ACCESSING DEVICES VIA AN ELECTRONIC PROGRAM GUIDE

A map that associates each device in a set of devices, and each channel of media content in a set of channels of media content, with a respective channel number in a set of channel numbers. Input is received that includes a channel number. Information is retrieved related to one of the devices according to the channel number.

BACKGROUND

So-called home automation systems generally include devices such as sensors, cameras, and the like that provide data to a computing device such as a central controller. The central controller may then provide information relating to events, the environment, and so forth, in a building such as a home. Further, the central controller may be used to actuate and/or change settings in home automation devices, e.g., raise or lower a temperature setting in a thermostat, turn a light on or off, etc. However, user interfaces for accessing and/or controlling home automation devices may be inconvenient to use. Accordingly, there is a need for improved mechanisms for accessing and/or controlling home automation devices.

DETAILED DESCRIPTION

Introduction

FIG. 1is a block diagram of an exemplary home automation control system100. As seen inFIG. 1, the system100generally includes a customer premises105. The customer premises105may include a home automation controller120that receives and interprets data from, and/or controls, one or more devices125, e.g., a light, a thermostat, a carbon monoxide detector, a smoke detector, a video or still camera, etc. The customer premises105may further include a media device117, which in turn includes and/or is communicatively coupled to a media display110. The media device117may be a set top box or the like configured to receive media data150from a media source145outside the customer premises105, e.g., via a network115. Further, the media device117may be configured to display the media data150, e.g., a television program, sporting event, movie, etc., via the display110, in addition to displaying an electronic program guide (EPG)140.

The media device117may include, or, as illustrated inFIG. 1, be communicatively coupled to, the controller120. The input device130, e.g., a conventional remote control, may be used to select channels of media content150and/or to access the EPG140. Further, using a channel table135that maps devices125to channel numbers that may be selected in the media device117, the input device130and/or some other input device of the media device117may be used to access information from one or more devices125, modify settings in one or more devices125and/or otherwise control one or more devices125, etc.

Exemplary System Elements

Customer Premises

The customer premises105generally includes a building, structure, or portion thereof. For example, the customer premises105may be a house, condominium, apartment, or other home residence. Further, although the system100is described herein with respect to “home” automation systems, the system100could include, and/or systems and/or processes disclosed herein could be applicable to, commercial or other types of premises105. Various mechanisms for communications between the devices117,120,125,130, etc. within the customer premises105may be utilized in the context of the system100, and may include various networking technologies, such as infrared communications, a wired and/or wireless local area network (LAN), Bluetooth, ZigBee, Z-Wave, etc.

The display110may be included in the media device117, e.g., the media device117could be a computing device including a screen or monitor, speakers or headphones, etc., but also the display110could be a device such as a television, video monitor, mobile telecommunications device, tablet, or the like. When content150is referred to herein as being “displayed,” it is to be understood that such display could include any possible mode of displaying media data, such as a display of visual data, audio data, etc.

The media device117may be a specialized device for receiving media content150, e.g., a set-top-box (STB) or the like, and is generally a device including a computer processor and associated storage, e.g., volatile memory, nonvolatile memory, etc., and capable of communicating via the network115. Exemplary media devices120include, in addition to a set-top-box, a personal computer such as a laptop, handheld, or tablet computer, a smart phone, etc. Further, as mentioned above, the media device120may be connected to a display device110, e.g., a television, or may incorporate a display device121, e.g., a display of a personal computer.

The controller120is generally a computing device including a processor and a memory, and also includes mechanisms for communicating with, and receiving data from, one or more devices125. For example, the controller120generally may communicate with the devices125via known mechanisms, e.g., according to IEEE 802.11, the ZigBee protocol, the Z-Wave protocol, the Bluetooth protocol, and/or a wired local area network (LAN), etc. The controller120may be, or may be included in one or more various computing devices, including a laptop computer, desktop computer, dedicated home automation computer, media device117such as a set-top box, etc. The controller120may include a gateway mechanism (or a gateway could be a separate device), the gateway mechanism generally including software and/or hardware such as is known for allowing one or more computing devices, e.g., the controller120, to communicate via a network115.

Devices125, as mentioned above, may include one or more sensors, cameras, etc. For example, a device125may be a motion sensor, noise sensor, temperature sensor, thermostat, moisture sensor, camera, carbon monoxide detector, smoke detector, etc. Further, a device125may be a control system or the like that is located in the customer premises105and configured to provide data to the controller120, e.g., a home thermostat may communicate with the controller120to provide information relating to temperature settings, detected temperature. Other examples of devices125include lamp control modules, appliance (e.g., dishwasher, refrigerator, etc.) control modules, window shade controls, etc.

The input device130may be a conventional remote control or the like, such as mentioned above. Alternatively or additionally, the system100could include input device134accessing the media device117such as a keyboard, touchscreen, pointing device, etc.

A channel table135is generally maintained in a non-volatile memory of the media device117. For example, the channel table135may include a list of media content150channel identifiers and generally also channel descriptions that may be listed in the EPG140, where such channels of media content may be selected by a user for display according to instructions stored in the media device117. Further, the channel table135may include a list of devices125that may be accessed by a selection of a channel identifier via the input device130. Table 1 below provides an example of at least a portion of a channel table135.

In actual implementation, a channel table135would likely include many more channels of media content150than shown in Table 1, as well as additional channels mapped to devices125. Further, the channel table135may include additional columns or fields, e.g., a unique or substantially unique identifier for a device125, e.g., a controller device125for a light or set of lights, a camera device125, a thermostat device125, etc.

For example, a device125could be identified according to one or more of an identifier or address such as a network address, e.g., an Internet protocol (IP) address, a machine address, e.g., a media access control (MAC) address, a device identifier or address assigned in a home automation system by the controller120, etc. Accordingly, the channel table135may be used to map a user selection of a channel in an EPG140, or otherwise accessible via the input device130of the media device117, to a device125.

Moreover, the channel table135could include other information about a device125, e.g., one or more categories or types with which a device125is associated. For example, as discussed below, a device125may be assigned to a type category (e.g., lights, thermostats, cameras, etc.), a location category (e.g., basement, main floor, top floor, garage, etc.), or some other category.

The electronic program guide140generally provides a user of the media device117with lists of channels of media content150, and generally also descriptions of media content150. Further, as illustrated with respect toFIGS. 2 and 3, discussed below, the EPG140may list devices125along with channel numbers or the like associated with respective devices125. Accordingly, a user may access information provided by a device125and/or control the device125and/or modify device125settings via the EPG140. Alternatively or additionally, even if the EPG140is not provided on the display110, as described further below, a user may access, control, and/or modify a device125by providing a device125channel number or the like to the media device117via the input device130. Note that a “channel number” as referenced herein generally includes numeric digits, but could also include alphabetic characters and/or be alpha-numeric.

Network

In general, the network115represents one or more mechanisms for data to and from the customer premises105. Accordingly, the network115may be one or more of various wired or wireless communication mechanisms, including any desired combination of wired (e.g., cable and fiber networks) and/or wireless (e.g., cellular network, satellite network, etc.) communication mechanisms, and any desired network topology (or topologies when multiple communication mechanisms are utilized). Exemplary communication networks include wireless communication networks, local area networks (LAN) and/or wide area networks (WAN), including the Internet, etc. The network115generally utilizes digital and/or packet networking technologies.

Media Source

In general, a media source145may include multiple elements for processing, storing, and providing media content150and related data. Elements of the source145may be local to one another and/or may be distributed amongst multiple locations. For example, media source145may include computer servers and data storage devices, e.g., for storing and processing content150and other data such as discussed herein. By way of example and not limitation, media content150data may be provided as video-on-demand through a cable, satellite, or internet protocol television (IPTV) distribution system, as streaming Internet video data, or as some other kind of data. Accordingly, the media source145may include one or more of a cable or satellite television head-end, a video streaming service such as generally includes a multimedia web server (or some other computing device), or some other mechanism for delivering multimedia data. In general, examples of media content150include various types of data, including audio, video, images, etc.

Media content150is generally delivered via the network115in a digital format, e.g., as compressed audio and/or video data. The media content150generally includes, according to such digital format, media data103and content metadata104. For example, MPEG refers to a set of standards generally promulgated by the International Standards Organization/International Electrical Commission Moving Picture Experts Group (MPEG). H.264 refers to a standard promulgated by the International Telecommunications Union (ITU). Accordingly, by way of example and not limitation, media content150may be provided in a format such as the MPEG-1, MPEG-2 or the H.264/MPEG-4 Advanced Video Coating standards (AVC) (H.264 and MPEG-4 at present being consistent), or according to some other standard or standards. For example, media content150could be audio data formatted according to standards such as MPEG-2 Audio Layer III (MP3), Advanced Audio Coding (AAC), etc. Further, the foregoing standards generally provide for including metadata or the like in the media content150, such as may be used by the media device117to populate the EPG140.

Exemplary Graphical User Interfaces

FIG. 2illustrates an exemplary graphical user interface in an electronic program guide140. In the example ofFIG. 2, the EPG140includes a device/channel list205that lists some or all of the devices125in a customer premises105that may be accessed via the EPG140. The device/channel list205also provides channel numbers associated with each of the respective devices125.

A device information area210of the EPG140provides status information and the like for a selected device125. The device information area210may also provide information concerning ways in which a user may modify one or more settings of the device125. For example, as seen inFIG. 2, a “Guest Bedroom Lamp” device125is selected. The area210provides a description of the device as a “Non-Dimming Light.” The area210further notifies a user that a “Select” button or the like on an input device130may be pressed to turn the light on, thereby implicitly notifying the user that the lamp is currently in an “off” status (although such notification could be provided explicitly in the area210as well).

A device category list215lists various categories of devices125available for access via the EPG140. By selecting from the device category list215, a user may select types or categories of devices125to be listed in the EPG140. For example, as seen inFIG. 2, the list215allows a user to make selections “By Device Type,” i.e., available device125categories include “Lights,” “Thermostats,” “Cameras,” “Door Locks,” and “Misc.”

A device display mode selector220allows a user to control a manner in which devices125are categorized, e.g., in the device category list215. In the present example ofFIG. 2, devices125are categorized according to a device125type. However, devices125could be categorized according to other criteria, e.g., a device125location in the customer premises105(e.g., basement, main floor, second floor, bedrooms, living area, kitchen, garage, etc., are examples of device125locations). If a device125location was selected by the device display mode selector220, then the list215would display locations by which a device is categorized.

And EPG mode selector225allows a user to select a display mode of the EPG140. For example, inFIG. 2, the selector225is set to display “Home Control” information. Other possible display modes that could be selected by the selector225include broadcast television channels, cable television channels, pay-per-view media content150, some combination of the foregoing, etc.

FIG. 3illustrates a further exemplary graphical user interface in an electronic program guide140. The EPG140as seen inFIG. 3is similar to that ofFIG. 2, and like elements will not be re-described. As seen inFIG. 3, the device category list215indicates that a “Cameras” category is selected, and the device/channel list205lists available camera devices125in the customer premises105. Further, the device information area210provides an image from a selected camera device125. Moreover, the device information area210provides a “select to view events” option, which if selected could allow a user further options for viewing image data from the selected camera device125. For example, the user could select a time or times for which the user would see images, could select to see a stream of moving images where the device information area210provides only a still image, etc.

Exemplary Process Flow

FIG. 4is a diagram of an exemplary process400for displaying and/or accessing device125status and/or settings. The process400begins in a block405, in which the media device117registers home automation devices125. Generally, the registration process is undertaken once and may be updated periodically, but is not performed on every iteration of the process400. In any event, the block405may include gathering data for, and populating, the channel table135. For example, the device117may communicate with the controller120to obtain a list of devices125available in the customer premises105. Such devices125may be included in the channel table135and/or a user may select devices125for inclusion in the channel table125. Further, the controller120may provide identifying information, e.g., identifiers, addresses, etc., and other information, such as a device125type, location, etc., as described above, for each device125. The media device117may be configured to assign channel numbers to devices125and/or a user may select a channel number to be assigned to a device125.

Next, in a block410, the media device117waits for user input, e.g., via the input device130, requesting information concerning one or more devices125. For example, a media device117may be powered on and may display media content150or the EPG140according to a user request, according to a last status of the media device117, etc. A user may provide input to request information concerning one or more devices125, e.g., could select a channel number associated with a device125, or could select to view the EPG140, and further select a “Home Control” option or the like with a selector225. Alternatively or additionally, the media device117could be configured to automatically display EPG140showing information relating to devices125when powered on, e.g., to display an EPG140such as shown inFIGS. 2 and 3.

The block415follows the block410when the media device117identifies input requesting information concerning one or more devices125. In the block415, the device117determines whether the input is a channel number associated with a specific device125, e.g., by referencing the channel table135, or whether the input is requesting a display of a “home automation” or “home control” portion or the like of the EPG140, e.g., as discussed above regardingFIGS. 2 and 3. If a specific channel number is not provided, i.e., a display of the EPG140relating to more than one device125in the customer premises105is requested, then a block420is executed next. However, if a specific channel number associated with a device125is requested, then a block435is executed next.

In the block420, the media device117provides the EPG140via the display110to provide a list of some or all of the devices125in the customer premises105available for access via the media device117. For example, as discussed above with respect toFIGS. 2 and 3, a list205of devices125and associated channel numbers may be provided, such list representing some or all of the available devices125in the customer premises105, e.g., possibly categorized by device125type, location, etc. Further, as mentioned above, the channel table135could include a device125identifier, address, etc., according to which a device125may be identified by the controller120, and whereby the controller125may provide access to the device125, e.g., provide device125data, allow modification to settings in the device125, etc.

Following the block420, in a block425, the media device117determines whether a device125has been selected to view device125information and/or modified device125settings. For example, when a user requests to access a home automation, device, etc., portion of an EPG140, a device125may be selected by default, e.g., a first device125listed in the channel table135. Further, a user may make selections of devices125by navigating to highlight a device125in a list205using keys or the like in an input device130, or by selecting a channel number associated with a device125. In any event, if a device125has been selected, then the process400proceeds to the block435. Otherwise, the process400proceeds to the block430.

In the block430, which may follow any of blocks425,440,445, the media device117determines whether to exit the process400. For example, the media device117could be powered off. Further, a user interface of the media device117, e.g., a portion of the EPG140, could provide a user with an option to disable access to devices125and/or a home automation, device control, etc. portion of the EPG140. In any event, if a determination is made to exit the process400, then the process400ends following the block430. Otherwise, the process400returns to the block410following the block430.

The block435may follow the block415or the block425. In either case, the block435is reached because a specific device125has been identified, e.g., by selection of a channel number associated with the device125, or by selection of the device125in an interface included in the EPG140. As mentioned above, information relating to a device125may be provided to the media device117by the controller120, the device125being identified by an address, identifier, etc. Device125information may be provided via a variety of mechanisms, e.g., in a device information area210as shown inFIGS. 2 and 3, via text displayed over, or at the top or bottom of, a display of media content150, as audio using a text to speech mechanism or the like, etc.

The block440follows the block435, and is generally reached when some user input is received. In the block440, the media device117determines whether the user input is to modify a device setting or some other input, e.g., to resume viewing media content150, to see some other portion of an EPG140, to view information relating to a different device125, etc. In each of the cases where the user input is other than to modify a device125setting, the process400proceeds to the block430. In these cases, assuming input does not indicate that the process400should end, the process400will then proceed from the block430to the block410in which the input can be processed, e.g., to view information relating to a different device125, to view a different portion of an EPG140, etc. However, if the input is to modify a device125setting, then the process400proceeds to a block445.

In the block445, the media device117instructs the controller120to modify a device125setting according to input received in the block440. Alternatively or additionally, the media device117could be configured to communicate directly with a device125, e.g., using an address or the like provided in the channel table135. For example, a user could change a temperature setting on a thermostat, turn a light on or off, rotate a camera, turn a camera on or off, etc. Following the block445, the process400proceeds to the block430.

CONCLUSION

Computing devices such as those discussed herein generally each include instructions executable by one or more computing devices such as those identified above, and for carrying out blocks or steps of processes described above. For example, process blocks discussed above may be embodied as computer-executable instructions.