Forming groups of devices by analyzing device control information
11602034 · 2023-03-07
Assignee
Inventors
Cpc classification
International classification
Abstract
A system (1) is configured to receive device control information. The device control information specifies how devices, e.g. lights, should be controlled. The device control information may identify specific devices or specify device requirements, for example. The system is further configured to form a group of identified devices by analyzing the device control information, the identified devices of the group being controlled similarly according to the device control information. The system is also configured to transmit at least one message comprising an identifier of the group to allow the identified devices to be configured to carry out one or more commands comprising the identifier when receiving such one or more commands. The at least one message identifies the identified devices of the group.
Claims
1. A system for facilitating control of a plurality of lighting devices, said system comprising: at least one receiver; at least one transmitter; and at least one processor configured to: receive, via said at least one receiver, a light script specifying how the lighting devices are controlled, analyze said light script to identify at least a subset of lighting devices of said plurality of lighting devices that are controlled similarly according to said light script, form an incipient conception of a group of identified lighting devices of said subset based on said analysis of said light script, transmit, via said at least one transmitter, at least one message identifying said identified lighting devices of said group and comprising an identifier of said group, said at least one message causing said identified lighting devices of said group to be configured to carry out subsequent commands comprising said identifier, receive lighting control assignments in which lighting control instructions are assigned to said subset, and reassign said lighting control instructions such that said group is formed.
2. The system of claim 1, wherein said light script comprises a plurality of commands, and each command of said plurality of commands specifies properties of one or more lighting devices to be controlled.
3. The system of claim 2, wherein said at least one processor is configured to identify one or more lighting devices of said subset having said properties for each command of said plurality of commands.
4. The system of claim 3, wherein said at least one processor is configured to form said group of identified lighting devices from said identified one or more lighting devices by analyzing said plurality of commands.
5. The system of claim 1, wherein said light script comprises a plurality of commands for controlling a plurality of identified lighting devices and said plurality of identified lighting devices comprises at least said identified lighting devices of said group.
6. The system of claim 5, wherein said light script identifies at least one previously formed group of one or more of said plurality of identified lighting devices.
7. The system of claim 1, wherein said group is a first group and wherein said at least one processor is further configured to use said at least one transmitter to transmit one or more commands for controlling one or more groups of identified lighting devices and/or one or more individually identified lighting devices, said one or more groups of identified lighting devices comprising said first group.
8. The system of claim 7, wherein said at least one processor is configured to form said first group and transmit said at least one message before transmitting any of said one or more commands.
9. The system of claim 7, wherein said at least one processor is configured to form said first group and transmit said at least one message after transmitting at least one of said one or more commands.
10. The system of claim 1, wherein said at least one processor is further configured to form one or more further groups of identified lighting devices by analyzing said light script, said identified devices of each of said one or more further groups being controlled similarly according to said light script.
11. A method of facilitating control of a plurality of lighting devices, said method comprising: receiving, by at least one receiver, a light script specifying how the lighting devices are controlled; analyzing said light script to identify at least a subset of lighting devices of said plurality of lighting devices that are controlled similarly according to said light script and assigning lighting control instructions to said subset, forming an incipient conception of a group of identified lighting devices of said subset based on said analysis of said light script and reassigning said lighting control instructions such that said group is formed; and transmitting, via at least one transmitter, at least one message identifying said identified lighting devices of said group and comprising an identifier of said group, said at least one message causing said identified lighting devices of said group to be configured to carry out subsequent commands comprising said identifier.
12. The method of claim 11, wherein said light script comprises a plurality of commands, and each command of said plurality of commands specifies properties of one or more lighting devices to be controlled.
13. The method of claim 11, wherein said light script comprises a plurality of commands for controlling a plurality of identified lighting devices and said plurality of identified lighting devices comprises at least said identified lighting devices of said group.
14. The method of claim 11, wherein said group is a first group and wherein the method further comprises transmitting one or more commands for controlling one or more groups of identified lighting devices and/or one or more individually identified lighting devices, said one or more groups of identified lighting devices comprising said first group.
15. A non-transitory storage medium comprising at least one software code portion, the software code portion, when run by at least one processor, being configured to cause said processor to perform the method of claim 11.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) 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:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10) Corresponding elements in the drawings are denoted by the same reference numeral.
DETAILED DESCRIPTION OF THE EMBODIMENTS
(11) In a first embodiment, the invention is implemented in a rendering device: mobile device 1, see
(12) The processor 5 of the mobile device 1 is configured to use transceiver 3 to receive a device script (e.g. a light script) from another device on the Internet 29. The mobile device 1 may receive the entire device script (also referred to as “pre-loaded content”) and then start rendering it or the mobile device 1 may stream the device script, i.e. start rendering it as soon as a first part has been received, while the remainder is being receiving during rendering, or the mobile device 1 may generate the device script on-the-fly, e.g. if the mobile device 1 is running a game.
(13) A device script may define, for example, certain effects to be rendered, such as “ice effect”, “my own ambiance 01”, “my own ambiance 02”, “cold blast” and “fireplace”. For each effect, certain properties may be defined, such color and/or intensity, duration and transition speed. A simple effect may simply specify a color and/or intensity. A first type of advanced effect may specify, for example, that a first color and/or intensity is generated at moment t0 (the start of the effect) and a second color and/or intensity is generated at moment t1 (and possibly, further colors and/or intensities may be specified for further moments). A second type of advanced effect may specify, for example, that a first color and/or intensity transitions to a second color and/or intensity at a specified transition speed.
(14) The device script may specify a plurality of commands (also referred to as elements) and for each command: which effect(s) is/are to be rendered at which position(s) and at which moment. The moment may be specified as an offset from the start of the rendering, for example. The position may be specified, for example, as “left”, “right”, “front”, “back” and “all” or as “all”, left”, “right”, “front”, “back”, “front-left”, “back-right”, etc.
(15) The device script may also specify a minimum number of devices that needs to be available, types of devices that need to be available, and a minimum number of devices per type that needs to be available. A light script may require, for example, that at least two lights are available. Other types of devices may include speakers and/or fans, for example.
(16) Before rendering the device script, the mobile device 1 first determines which controllable devices are available for rendering the device script. The mobile device 1 receives from the bridge 31 a list of identified devices which available, i.e. lights 21 to 25, and their characteristics. These characteristics include their capabilities and their positions. The mobile device 1 may then check whether the device script can be rendered using these devices. For example, the device script may require that at least two lights are available and since five lights are available (lights 21 to 25), the mobile device 1 may determine that the device script can be rendered.
(17) Rendering a device script involves mapping each element (command) of the device script to one or more of the identified devices. For example, if an element specifies that a “fireplace” effect, which involves red and yellow colors, should be rendered at the front of the room 15 seconds after the rendering has started, the mobile device 1 will determine which of lights 21 to 25 can output red and yellow colors (e.g. color lights) and which of lights 21 to 25 are located at the front of the room (e.g. a first light has a location “front-left” and a second light has a location “front-right”). If a device does not have the required properties specified in an element, it is not selected as a device to be controlled for rendering that element.
(18) If the entire device script is available, all elements may be mapped to the identified devices before rendering starts. Alternatively, if the device script is streamed or generated on-the-fly, an element may be mapped to the identified devices as soon as it is received or generated. After the mapping, commands are generated for the identified devices. These commands are lower-level than the commands (elements) of the device script. The device script is a first kind of device control information. The lower-level commands are a second kind of device control information. In both cases, the device control information specifies how devices should be controlled, but while the commands of the device script do not identify any specific devices, the commands for the identified devices of course do (and are therefore considered to be lower-level).
(19) The processor 5 is configured to form a group of identified devices by analyzing the device control information, the identified devices of the group of devices being controlled similarly according to the device control information. In the embodiment of
(20) In the embodiment of
(21) The processor 5 is further configured to form one or more further groups of identified devices by analyzing the device control information, the identified devices of each of the one or more further groups being controlled similarly according to the device control information. In this way, multiple groups of identified devices may be created. If a certain identified device is not controlled in similar manner as another identified device, e.g. because it is on another side of the room and has different capabilities than the other identified devices, it may be better not to group this device and control it individually instead. By forming groups of devices and using group addresses (identifiers) instead of individual addresses in control messages, the size of these control messages can be reduced, thereby allowing more devices to be controlled with the same size of control messages without reducing the frequency at which commands may be transmitted.
(22) The processor 5 is further configured to use the transceiver 3 to transmit one or more commands for controlling one or more groups of identified devices and/or one or more individually identified devices. If the entire device script is available, these one or more (lower-level) commands may all be determined before the first command is transmitted. Alternatively, if the device script is streamed or generated on-the-fly, a (lower-level) command may be determined as soon as a new device script command (element) is received or generated. In the former case, the processor 5 is preferably configured to form the group and transmit the at least one message before transmitting any of the commands. In the latter case, the processor 5 is preferably configured to form the group and transmit the at least one message after transmitting at least one of the commands. This at least one of the commands is only intended for controlling individually identified devices, as not enough information is present at that time to form groups of identified devices based on analysis of the device control information. In the embodiment of
(23) In the embodiment shown in
(24) In a second embodiment, the invention is implemented in a bridge 11, see
(25) In the embodiment of
(26) The processor 15 is further configured to use the transceiver 3 to transmit one or more commands for controlling one or more groups of identified devices and/or one or more individually identified devices. Thus, the bridge 11 converts the lower-level commands received from the mobile device 33 to other lower-level commands, which the bridge 11 then transmits to the lights 21 to 25. The processor 15 is preferably configured to form the group and transmit the at least one message after transmitting at least one of the commands, as it does not have enough information to form groups of identified devices based on analysis of the device control information after receiving only one lower-level command from the mobile device 33.
(27) In the embodiment shown in
(28) In a variation on the embodiment of
(29) In a third embodiment, the invention is both implemented in a mobile device 1 and in a bridge 11, see
(30) In a fourth embodiment, the invention is implemented in a mobile device 1 and the mobile device 1 configured to communicate directly with lights 21 to 25, i.e. without the use of a bridge, see
(31) In a fifth embodiment, the invention is implemented in a mobile device 1 and the mobile device 1 is configured to communicate with lights 21 to 25 without the use of a bridge, but via wireless LAN access point 27, see
(32)
(33) Light 21 is thus part of groups 45 and 48. Light 22 is thus part of groups 45, 46 and 48. Light 23 is thus part of groups 47 and 48. Light 24 is thus part of groups 46 and 48. Light 25 is thus part of groups 47 and 48. These lights groups are used to illustrate the embodiments of
(34) In the embodiment of
(35) In the embodiment of
(36) In the embodiment of
(37) A first embodiment of the method of facilitating control of devices is shown in
(38) The device control information may comprise a device script that comprises a plurality of commands for controlling a plurality of not yet identified devices or a plurality of commands for controlling a plurality of identified devices. The plurality of identified devices comprises at least the identified devices of the group. The plurality of commands for controlling a plurality of not yet identified devices specifies required properties of one or more devices to be controlled.
(39) In the embodiment of
(40)
(41) As shown in
(42) 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.
(43) 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, 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.
(44) In an embodiment, the input and the output devices may be implemented as a combined input/output device (illustrated in
(45) 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.
(46) As pictured in
(47) 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.
(48) 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.
(49) 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.