Patent ID: 12213232

DETAILED DESCRIPTION

To establish a smart lighting system that includes a hub, a user is required to obtain and install the hub in addition to obtaining and installing individual light fixtures. Without the hub, the light fixtures cannot receive wireless instructions and thus cannot be controlled as part of the smart lighting system. The hub can facilitate an efficient and reliable smart lighting system; however, the hub also represents a cost and complexity increase.

Some implementations of a control system described herein enable a light fixture to be controlled not only by a first network, such as one provided by a hub, but also by an additional network based on a direct communication technique. The direct communication technique is provided, for example, through a peer-to-peer network or a mesh configuration and uses communication technologies such as Bluetooth or Near-Field Communication (NFC). An external device, such as a smartphone, may be able to communicate with a nearby light fixture by way of the direct communication technique, but the external device may be unable to communicate with light fixtures in this manner outside a limited range allowed by the direct communication technique. Thus, in some implementations, the light fixtures are configured to form a direct communication network, such as a mesh network, in which the light fixtures communicate with one another by way of the direct communication technique. For instance, a first light fixture located near the external device may receive an instruction directly from the external device and may pass that instruction to other light fixtures near the first light fixture. Through communications among light fixtures, the instruction may be provided to each light fixture to which the instruction applies, and each of such light fixtures may comply with the instruction.

In one example, if an external device instructs a nearby light fixture in a house to turn off all light fixtures in the house, the nearby light fixture communicates that instruction to other light fixtures within its communication range via direct communication, and such other light fixtures communicate the instruction to light fixtures within their communication ranges, and so on until all light fixtures in the house have received the instruction. Each light fixture in the house then turns off its respective light in compliance with the instruction.

Implementations described herein enable a smart lighting system to be established with or without a communication network requiring hardware other than the light fixtures themselves. Thus, an initial smart lighting system may be established through installation of a set of light fixtures and through the pairing of such light fixtures with an external device, such as a smartphone, which may already be in a user's possession. At that time or a later time, if desirable, the user can obtain and install a hub or establish some other network for the light fixtures in addition to the direct communication network. At such later time, the direct communication network may then be used in conjunction with the other network as described herein. The light fixtures may be configured to receive instructions through the direct communication network as well as though the other network, such as a network facilitated by a hub. Although this disclosure refers repeatedly to the use of a hub to facilitate a hub-based network as the other network, various types of networks may be used in conjunction with the direct communication network.

FIG.1is a diagram of a control system100for controlling one or more light fixtures110via dual networks, according to some implementations. In some implementations, the control system100is a smart lighting system or is otherwise configured to control a set of light fixtures110that are part of the smart lighting system. The smart lighting system may include networked light fixtures110able to wirelessly receive instructions and to change their configurations. The light fixtures110of the smart lighting system, and thus of the control system100for the smart lighting system, may share a common premises, for instance, or may be managed by a common person or organization.

In some implementations, the control system100is configured to control one or more light fixtures110associated with the control system100by determining one or more instructions for such light fixtures110and providing such instructions to the light fixtures110over one or more networks such that the light fixtures110can comply with the instructions. Instructions can take various forms. For instance, an instruction may dictate a change in intensity of light emitted or a change in color temperature of the light emitted, the instruction may dictate characteristics of the light based on time or based on a detected condition, the instruction may dictate a shut-on or shutoff time, or the instruction may dictate various other parameters associated with the light fixture110. In another example, a light fixture110is pre-programmed with lighting profiles stored on the light fixture110, and an instruction can activate one or more of such lighting profiles or deactivate one or more of such lighting profiles, or the instruction can dictate that a lighting profile is dependent on a time of day or another factor. For instance, a lighting profile may define a set of behaviors for the light fixture, such as timing for turning light emission on or off or other automated activities.

In some implementations, the dual networks of the control system100include a first network180, such as a hub-based network as shown via solid arrows inFIG.1, and a direct communication network190facilitated by a direct communication (e.g., peer-to-peer) technique, such as Bluetooth or Near-Field Communication, as shown via dashed arrows. In some implementations, the direct communication technique is a form of communication directly from an external device160to a light fixture or directly from one light fixture to another, without routing through a hub or router. Thus, in some implementations, the direct communication network190, which may be configured as a mesh network, delivers instructions directly from an external device160to a light fixture110or directly from one light fixture110to another without use of a hub120while, in the first network180, instructions are routed to light fixtures110through a hub120or some other component (e.g., a router130) rather than coming directly from the external device160or from another light fixture110. The directions of arrows inFIG.1illustrate an example of a communications flow and do not limit the various implementations described herein.

As shown inFIG.1, the control system100includes a set of light fixtures110, each of which may be configured to emit light. Each light fixture110may be in communication with a hub120. The hub120may be connected to a router130, which may be connected to a modem140, which may be connected to the internet, which may be connected to a cloud150. In some implementations, the router130and the modem140are integrated together in a gateway device. The hub120and the light fixtures110may communicate over a wireless network, such as ZigBee, for instance. However, in some implementations, the light fixtures110connect directly to the router130, and the hub120need not be included.

Each light fixture110may include one or more communication devices. More specifically, the light fixture110may include a first communication device112configured to communicate over the first network180; for instance, the first communication device112may be a hub-communication device, such as a ZigBee device, for communicating with the hub120or may be a Wireless Fidelity (WiFi) card for communicating with the router130. The light fixture110may further include a second communication device, such as a direct communication device114, which can be a Bluetooth device (e.g., Bluetooth Low Energy (BLE)), an NFC device, or another peer-to-peer communication device, for communicating directly with an external device160or directly with other light fixtures110. The light fixture110may utilize the first communication device112to receive instructions from the hub120, or from the router in some implementations, and the light fixture110may utilize the direct communication device114to receive instructions directly from an external device160or directly from one or more other light fixtures110, to deliver instructions directly to one or more other light fixtures110, or to communicate status information with the external device160, the hub120, or other light fixtures110.

In some implementations, a light fixture110includes a processing device116, such as a microprocessor, configured to execute program code to implement the operations described herein. For instance, the processing device116is configured to receive instructions for operating the light fixture110over the first network180or the direct communication network190, and the processing device116is configured to modify settings of the light fixture110(e.g., by turning light emission on or off) as needed to execute those instructions.

The hub120may be a smart lighting hub configured to communicate with one or more light fixtures110associated with the control system100. For instance, the hub120is configured to communicate with each light fixture110associated with the control system100. In some implementations, to communicate with a light fixture110, the hub120utilizes the same communication technology as does the first communication device112of the light fixture110. For instance, if the first communication device112of the light fixture110utilizes ZigBee, then the hub120utilizes ZigBee to communicate with the light fixture110via its first communication device112. Further, in some implementations, the hub120is configured to communicate directly with the light fixture110, but alternatively, communications from the hub120may be routed through one or more devices on the way to the light fixture110. Various implementations are within the scope of this disclosure.

In some implementations, if no hub120is being used, the light fixtures110may be configured to communicate with the router130. In that case, rather than a hub-communication device, each light fixture may include a WiFi device or other communication device configured to communicate with the router130. It will be understood that, in that case, instructions described herein as being transmitted from the hub120to a light fixture110may instead by transmitted from the router130to the light fixture110.

In some implementations, the direct communication device114has a limited range, such that the light fixture110may be unable to communicate by way of the direct communication device114with every other light fixture110that is part of a common smart lighting system. The range of the direct communication device114may be based on various factors such as, for instance, the specific communication technique (e.g., Bluetooth or NFC) used by the direct communication device114and the medium over which data is transmitted (e.g., including objects through which a transmission must pass). The light fixture110may be configured to receive an instruction from an external device160by way of the direct communication device114, when the external device160is within a range of the light fixture110but may be unable to receive such instructions directly from the external device160when outside of that range.

The external device160may be a computing device configured to generate an instruction for one or more light fixtures110and to transmit that instruction to the cloud150or to a nearby light fixture110. For instance, the external device160may be a smartphone, a control panel, a wall mounted controller that could look like a light switch, or an embedded device. In some implementations, the external device160includes a processing unit and a memory, where the processing unit is configured to execute instructions stored in a computer-readable medium (e.g., the memory), such as a non-transitory computer-readable medium, to perform the operations described herein. For instance, such instructions include instructions implementing the control application170described herein.

In some implementations, the external device160includes a first communication device and a direct communication device. The first communication device may enable communication with the cloud150; for instance, the first communication device may be a WiFi device or a mobile communication device (e.g., Long-Term Evolution (LTE)). The first communication device need not utilize the same communication technique as the first communication device112(e.g., the hub-communication device) of the light fixtures110. For instance, a hub-communication device of the light fixtures110may be a ZigBee device, and the first communication device of the external device160may be a mobile communication device by which the external device160accesses the internet. The direct communication device may provide direct communication to light fixtures110within a range of the direct communication device; for instance, the direct communication device may be a Bluetooth device or an NFC device. In some implementations, the direct communication device of the external device160uses the same communication technology as do the direct communication devices114of the light fixtures110so as to enable direct communication between the external device160and the light fixtures110.

In some implementations, the control system100includes a control application170, which may be configured to run remotely from the light fixtures110. For instance, the control application170is executable by the external device160. The control application170enables the external device160to provide instructions to one or more light fixtures110that are also connected to a hub-based network (i.e., connected to the hub120). For instance, the control application170may provide an interface useable by a user to construct or select an instruction. Such instruction may apply to one or more light fixtures110, in that the instruction asks such one or more light fixtures110to change their state. The control application170may be further configured to select an operational mode utilized by the external device160when delivering the instruction to the light fixtures110to which the instruction applies, and the control application170may be configured to initiate transmission using the selected operational mode. The available operational modes may be, for instance, direct mode or indirect mode, or both.

In indirect mode, the external device160delivers the instruction using the first network180. To this end, in some implementations, the external device160utilizes its first communication device to transmit the instruction to the hub120, such as over the internet to the cloud150, which delivers the instruction to the hub120by way of the modem140and the router130. After receiving the instruction, the hub120delivers the instruction to the light fixtures110to which the instruction applies. In the example shown inFIG.1, the control system100causes the instruction to be transmitted from the external device160to the cloud150. Alternatively, however, if both the external device160and the hub120are connected to the same router130and thus share a local area network, the external device160may transmit the instruction to the router130, which may transmit the instruction to the hub120without routing through the cloud150. For another example, if the external device160is directly connected to the hub120(e.g., by way of ZigBee), the control system100may cause the external device160to transmit the instruction directly to the hub120without routing through the cloud150or the router130, and the hub120may deliver the instruction to the light fixtures110to which the instruction applies. Various implementation are possible and are within the scope of this disclosure.

If the indirect mode is used, the control application170may cause the external device160transmit the instruction through the hub120. Responsive to this request, the external device160may utilize its first communication device to transmit the instruction to the cloud150. If the external device160is connected to the same router130as is the hub120, transmission to the cloud150may require relay through the same router130and modem140used by the hub120. Alternatively, however, the transmission may pass through a different router on the way to the hub120, or if the external device160is utilizing a mobile communication device, the transmission may pass through a tower of a mobile network. The cloud150may forward the instruction to the modem140, which may forward the instruction to the router130, which may forward the instruction to the hub120, which may forward the instruction to the light fixtures110to which the instruction applies.

In the direct mode, the external device160delivers the instruction using the direct communication network190. To this end, in some implementations, the external device160utilizes its direct communication device to transmit the instruction directly to one or more light fixtures110reachable by way of the direct communication device (e.g., within the range of the direct communication device). As described further below, the instruction may then be propagated throughout the direct communication network190formed by the light fixtures110.

If the direct mode is used, the control application170may request that the external device160transmit the instruction directly to one or more light fixtures110including, for instance, each light fixture110with which the external device160can directly communicate using the direct communication device. To this end, for instance, the external device160is paired (e.g., via Bluetooth) via the direct communication device with a set of light fixtures110associated with the control system100and can thus detect a subset of such light fixtures110to which the external device160is currently connected. As such, the external device160transmits the instruction to one or more of such light fixtures110detected as being within range. Alternatively, for instance, the external device160sends out a broadcast (e.g., via NFC) via the direct communication device such that light fixtures110within a range of the direct communication device and using the same communication technology can receive the instruction.

In some implementations, when a first light fixture110receives the instruction, the first light fixture110determines whether the instruction applies to the first light fixture110. For instance, an instruction may identify one or more individual light fixtures110or a set of light fixtures110to which the instruction applies. Specifically, in one example, each light fixture110stores its location, such as the room in which the light fixture110is installed, as defined by a user during setup of the light fixture110as part of the control system100. An instruction can indicate that it applies to light fixtures110in a given room, such as a foyer, and upon receiving the instruction, the light fixture110determines that the instruction applies to the given room and compares the given room to the name of the stored location in which the light fixture is installed. If the given room matches the stored location, then the light fixture110determines that the instruction applies to itself. In another example, the instruction identifies a light fixture by a unique identifier, such as a serial number, a Media Access Control (MAC) address, Internet Protocol (IP) address, or a name assigned by a user. Upon receiving the instruction, the light fixture110compares the unique identifier in the instruction with its own stored unique identifier to determine whether the instruction applies to the light fixture110.

If the instruction applies to the first light fixture110, the first light fixture110follows the instruction. For instance, if the instruction is to turn off the lights in the foyer, then the first light fixture110determines whether the first light fixture110is in the foyer (e.g., based on internal data describing the location of the first light fixture110), and if so, the first light fixture110turns off (i.e., stops emitting light). In some implementations, regardless of whether the instruction is applicable to the first light fixture110, the first light fixture transmits the instruction to other light fixtures110with which the first light fixture110can communicate via its direct communication device114. Like the external device160, a light fixture110may be paired with other light fixtures110associated with the control system100and may thus detect which of such light fixtures110are within range, so as to transmit the instruction to the other light fixtures110within range of its direct communication device114. If the first light fixture receives the instruction multiple times (e.g., from the external device160and from another light fixture110, or from two or more light fixtures110), the first light fixture110need not determine whether to perform the instruction and need not transmit the instruction each time the instruction is received but, rather, may perform these tasks only once in response to the instruction.

A second light fixture110may receive the instruction from the first light fixture110. Like the first light fixture110, the second light fixture110may determine whether the instruction applies to it and, if so, may comply with the instruction. The second light fixture110may forward the instruction to one or more other light fixtures110. The second light fixture110may be configured to identify the first light fixture110as sender of the instruction. For instance, the first light fixture110sends an identifier of itself along with the instruction, or the second light fixture110accesses metadata associated with the transmission of the instruction and recognizes that metadata to include a signature, MAC address, IP address, or other identifier associated with the first light fixture110. As such, when transmitting the instruction to one or more other light fixtures110, the second light fixture110may avoid resending the instruction back to the first light fixture110. In some implementations, eventually, all light fixtures110reachable from the external device160over the direct communication network190formed by the light fixtures110receive the instruction and, if applicable, comply with the instruction.

In some implementations, the control system100determines an operational mode for each instruction on an individual basis. Additionally or alternatively, however, the control system100determines an operational mode, and that operational mode remains in effect while a certain condition is met (e.g., twenty-four hours pass or the external device160is located in a given area). More specifically, in some implementations, the control application170of the control system100on the external device160makes this determination. The control system100may base its selection of an operational mode on availability or priority, or a combination of both. For instance, the control system100may consider only operational modes that are deemed available when determining how to deliver an instruction. Thus, if the direct communication device is not currently available or if no light fixture110is reachable via the direct communication device, then the control system100need not consider the direct mode for delivery of an instruction. In contrast, if the external device160does not currently have internet access and, thus, cannot reach the hub120through the cloud150or otherwise, then the indirect mode may be deemed unavailable and need not be considered an option for delivery of the instruction. From among available operational modes, the control system100may select the operational mode with the highest priority in some implementations.

Prioritization may be set by default or may be set by a user. In some implementations, the first network180via the hub120is more reliable for reaching every light fixture110of the control system100than is the direct communication network190because the direct communication network190relies on the limited ranges of the direct communication device of the external device160and the direct communication devices114of the light fixtures110. Thus, in some examples, delivery via the indirect mode (e.g., via the hub120) is prioritized over the direct mode due to an assumption that the hub120is able to reach all light fixtures110, and in contrast, it may not be guaranteed that all light fixtures110to which an instruction is applicable can be reached using the direct mode.

Regardless of which operational mode is used, the instruction may be same, or the control application170may modify the instruction as needed based on the operational mode. For instance, if using the direct mode, the control application170may modify the instruction to indicate that each light fixture110should pass the instruction along to other light fixtures110if possible. However, in some implementations, a light fixture110is already programmed to pass instructions to other light fixtures110, if possible, when an instruction is received via the direct communication device114.

In some implementations, the control system100utilizes only one operational mode for a given instruction, or alternatively, the control system100utilizes a combination of operational modes for a given instruction. In one example, the control system100uses the direct mode to control the light fixtures110for fast execution of an instruction and additionally utilizes the indirect mode to communicate with hub120to control the light fixtures110. This redundant delivery of the instruction can ensure that all light fixtures110to which the instruction is applicable are reached and that the instruction is applied in an efficient manner. In another example, the control system100uses the direct mode to control the light fixtures110and additionally utilizes the indirect mode to communicate with the hub120to inform the hub120that the instruction was sent and was applicable to certain light fixtures110such that the status of those certain light fixtures110is potentially changed. This redundant delivery can ensure that the hub120remains up to date as to the status of the light fixtures110.

In some cases, a light fixture110may receive conflicting instructions, such as a first instruction received from an external device160or from a second light fixture110over the mesh network and a second instruction received from the hub120over the hub-based network, or from some other first network180, within a short timeframe (e.g., one second). To address such a case, the processing device116of the light fixture110may be configured to apply a contention rule to handle contentions, resulting in one or both instructions being followed or one or both instructions being ignored. For instance, in accordance with the contention rule, in the case of a conflict between a first instruction and a second instruction, the light fixture110may comply with the instruction received more recently, or one of such networks may be prioritized over the other. In some cases, the contents of conflicting instructions may be relevant to the contention rule. For instance, an instruction to dim to a specific level may be prioritized over an instruction to dim by one increment. In the case of toggle instructions, the contention rule may indicate that only one toggle of a certain setting (e.g., toggling light emission on and off) may be applied within a given timeframe, such as one per second, such that the first toggle instruction for a setting is applied and any other toggle instruction received for the same setting is ignored until the given timeframe passes since the first toggle instruction was received. However, various other techniques may be used to handle contentions.

In some implementations, a user of the control application170need not decide how a particular instruction is routed to the light fixtures; rather, the control application170can determine an operational mode based on internal data, such as data describing prioritization, and based on a determination of which networks (e.g., the direct communication network190or the hub-based network) are available to the external device160. If the direct communication network190is not currently active (e.g., the direct communication network190is currently down or has not yet been established), the control application170may detect the lack of a direct communication network190and may utilize the hub120for routing instructions. Analogously, if the hub120is not currently available (e.g., no hub120is installed or the hub120is unreachable due to a connection being down), the control application170may detect the unavailability of the hub120and may utilize the direct mode of delivery. Thus, the user need not indicate to the control application170which networks are available. Additionally or alternatively, the user may expressly select which operational mode to use (i.e., direct or indirect), and in that case, the control application170may receive that selection and prioritize the selected operational mode.

FIG.2is a flow diagram of a method200for controlling a light fixture110, according to some implementations. The method200depicted inFIG.2may be implemented in software (e.g., firmware) executed by one or more processing units of the external device160or some other device, implemented in hardware, or implemented in a combination of software and hardware. The method200presented inFIG.2and described below is illustrative and non-limiting. In certain implementations, operations may be added or removed, the operations described below may be performed in a different order, or some operations may also be performed in parallel. In some implementations, this method200or similar is performed in whole or in part by the control system100.

At block205of the method200, the control system100is initialized. Initializing the control system100can include, for instance, establishing a prioritization of operational modes, specifically, for instance, a prioritization between the direct mode and the indirect mode. For instance, the prioritization may be set by default, or the prioritization may be received at the external device160upon entry by a user. It will be understood that various mechanisms exist to establish the prioritization.

At block210, the control system100awaits an instruction for operation the light fixtures110associated with the control system100. These light fixtures110may be those included in a single smart lighting system, for example.

At block215of the method200, the control system100determines an instruction at the external device160. For example, the instruction is entered by a user utilizing the control application170running on the external device160. For another example, the control system100accesses a set of existing instructions that are part of an automation; for example, such as set of existing instructions might adjust the brightness or color temperature of certain light fixtures110based on the time of day. The control system100may determine that criteria associated with an instruction in the set are met such that the instruction should be executed. Regardless of how the instruction is determined, the instruction may be applicable to one or more light fixtures associated with the control system100.

At decision block220, the control system100evaluates the first network180and the direct communication network190and, as a result, selects an operational mode (e.g., direct or indirect) for transmitting the instruction to the light fixtures110. In some implementations, making the evaluation involves considering availability or priority, or both. For instance, the control application170detects which communication devices are available including, for instance, the first communication device and the direct communication device of the external device160. If the first communication device is present and available for communicating over the first network180, then the control application170can deem the indirect mode, which requires communication via the first communication device in some implementations, to be available. If the direct communication device is present, available, and can reach at least one light fixture110, then the control application170deems the direct mode to be available. If more than a single operational mode is available, the control application170may select for use the available operational mode with the highest priority according to the established prioritization.

If the determined operational mode is the indirect mode, then at block225, the control application170transmits the instruction to the cloud150either directly or indirectly via the external device160. For example, the external device160may transmit the instruction to the cloud150over the internet, such as by way of WiFi or a mobile connection. At block230, the cloud150forwards the instruction to the hub120, for instance, by way of the modem140and the router130. At block235, the hub120instructs the light fixtures110to which the instruction applies to comply with the instruction (e.g., by transmitting the instruction to such light fixtures110).

However, if the selected operational mode is the direct mode, then at block240, the control application170, via the external device160, transmits the instruction to one or more light fixtures110in range of the direct communication device of the external device160. At block245, if the instruction applies to a light fixture110receiving the instruction, then that light fixture110complies with the instruction. At block250, the light fixture110forwards the instruction to each light fixture110within the range of its respective direct communication device114. In some implementations, block245and block250may be performed once by each light fixture110receiving the instruction. As such, each light fixture110reachable through a path of light fixtures110utilizing their direct communication devices114may comply with the instruction if applicable.

As shown inFIG.2, after delivery of the instruction by either the direct mode or the indirect mode, the control system100proceeds to wait for further instructions, as at block210. For each instruction received, an implementation of the control system100proceeds to block215and continues the method200as described above.

Thus, as described herein, some implementations of the control system100provide a technique for controlling light fixtures110in addition or alternatively to control via a hub120or other indirect means. More specifically, an implementation described herein may utilize a direct communication network190, such as a Bluetooth network, to propagate an instruction among the light fixtures110to potentially deliver the instruction to light fixtures110to which the instruction applies. This direct communication network190may be utilized when communication through a hub120is unavailable or when the direct communication network190is given priority over the hub120.

Numerous specific details are set forth herein to provide a thorough understanding of the claimed subject matter. However, those skilled in the art will understand that the claimed subject matter may be practiced without these specific details. In other instances, methods, apparatuses, or systems that would be known by one of ordinary skill have not been described in detail so as not to obscure claimed subject matter.

The features discussed herein are not limited to any particular hardware architecture or configuration. A computing device can include any suitable arrangement of components that provide a result conditioned on one or more inputs. Suitable computing devices include multipurpose microprocessor-based computer systems accessing stored software (i.e., computer-readable instructions stored on a memory of the computer system) that programs or configures the computing system from a general-purpose computing apparatus to a specialized computing apparatus implementing one or more aspects of the present subject matter. Any suitable programming, scripting, or other type of language or combinations of languages may be used to implement the teachings contained herein in software to be used in programming or configuring a computing device.

The use of “adapted to” or “configured to” herein is meant as open and inclusive language that does not foreclose devices adapted to or configured to perform additional tasks or steps. Additionally, the use of “based on” is meant to be open and inclusive, in that a process, step, calculation, or other action “based on” one or more recited conditions or values may, in practice, be based on additional conditions or values beyond those recited. Headings, lists, and numbering included herein are for ease of explanation only and are not meant to be limiting.

While the present subject matter has been described in detail with respect to specific aspects thereof, it will be appreciated that those skilled in the art, upon attaining an understanding of the foregoing, may readily produce alterations to, variations of, and equivalents to such aspects. Accordingly, it should be understood that the present disclosure has been presented for purposes of example rather than limitation and does not preclude inclusion of such modifications, variations, or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art.