1461025465-2978ad28-df38-4955-bd78-327f8d285d85

1. A system comprising:
a wall-mounted module for controlling a visible light emitter, the wall-mounted module comprising:
at least one gesture sensor;
at least one audio sensor;
a physical relay electrically connected to the visible light emitter;
at least one processor; and
a memory device including instructions that, when executed by the at least one processor, cause the wall-mounted module to:
detect infrared light using the at least one gesture sensor;
analyze at least a portion of the detected infrared light in attempt to recognize a user-initiated gesture;
acquire audio data using the at least one audio sensor;
analyze at least a portion of the acquired audio data in attempt to recognize a user-initiated vocal command;
determine that at least one of the user-initiated gesture or the user-initiated vocal command corresponds to an instruction for controlling a state of the physical relay, the physical relay being configured to provide power to the visible light emitter; and
perform at least one of, 1) providing power to the visible light emitter or 2) ceasing to provide power to the visible light emitter, based at least in part on the state of the physical relay.
2. The system of claim 1, wherein the instructions, when executed by the at least one processor, further cause the wall-mounted module to:
emit infrared light using an infrared light emitting component associated with the at least one gesture sensor, wherein the detected infrared light includes at least a portion of the emitted infrared light, the at least the portion of the emitted infrared light being reflected off an object within an allowable distance from the at least one gesture sensor.
3. The system of claim 1, wherein analyzing the at least the portion of the detected infrared light in attempt to recognize the user-initiated gesture further comprises:
determining a pattern indicated by the detected infrared light;
identifying a defined pattern that matches the determined pattern within an allowable deviation, the defined pattern corresponding to a defined gesture, wherein the user-initiated gesture is recognized as corresponding to the defined gesture.
4. The system of claim 3, wherein the defined patterned corresponds to at least one of a preset gesture or a gesture customized by a user of the system.
5. The system of claim 1, wherein power is provided to the visible light emitter when the user-initiated gesture includes a substantially upward moving gesture, and wherein power is ceased to be provided to the visible light emitter when the user-initiated gesture includes a substantially downward moving gesture.
6. The system of claim 1, wherein analyzing the at least the portion of the acquired audio data in attempt to recognize the user-initiated vocal command further comprises:
applying a speech recognition process to the at least the portion of the acquired audio data in attempt to recognize the user-initiated vocal command.
7. The system of claim 6, wherein the instructions, when executed by the at least one processor, further cause the wall-mounted module to:
facilitate in configuring a vocal identifier for the visible light emitter, wherein the vocal identifier enables the visible light emitter to be distinguishable from a second visible light emitter, and wherein the user-initiated vocal command includes the vocal identifier for the visible light emitter.
8. The system of claim 7, wherein the vocal identifier for the visible light emitter is customizable using at least one of a set of predefined vocal identifiers or a vocal recording of a user of the system.
9. The system of claim 1, wherein the at least one audio sensor comprises at least a first audio sensor and a second audio sensor, wherein the first audio sensor is separated from the second audio sensor by a specified distance, wherein the audio data is acquired using, at least in part, the first audio sensor and the second audio sensor, and wherein the instructions, when executed by the at least one processor, further cause the wall-mounted module to:
determine locational information associated with a source that produces sound corresponding to the acquired audio data, the locational information being determined using, at least in part, the first audio sensor and the second audio sensor.
10. A computer-implemented method comprising:
acquiring data from an environment of a first electric device, the data being acquired using one or more sensors of the first electric device, the data including at least one of optical data, ultrasonic data, or electromagnetic data;
analyzing at least a portion of the data, using at least in part one or more processors of the first electric device, to recognize a user-initiated gesture;
determining, using at least in part the one or more processors of the first electric device, that the user-initiated gesture corresponds to a signal for controlling a physical controller electrically connected to the first electric device and to a second electric device; and
performing at least one of, 1) providing power to the second electric device or 2) limiting power provided to the second electric device, based at least in part on the physical controller.
11. The computer-implemented method of claim 10, further comprising:
acquiring audio data using one or more audio sensors of the first electric device;
analyzing at least a portion of the audio data, using at least in part the one or more processors of the first electric device, to recognize a user-initiated vocal command; and
determining, using at least in part the one or more processors of the first electric device, that the user-initiated voice command corresponds to a second signal for controlling the physical controller.
12. The computer-implemented method of claim 11, wherein power is provided to the second electric device when at least one of the user-initiated gesture corresponds to a substantially upward moving gesture or the user-initiated vocal command includes a first key phrase, and wherein limiting power provided to the second electric device occurs when at least one of the user-initiated gesture includes a substantially downward moving gesture or the user-initiated vocal command includes a second key phrase.
13. The computer-implemented method of claim 10, wherein the user-initiated gesture includes at least partially obscuring the one or more sensors for a threshold amount of time, wherein the user-initiated gesture is determined to further correspond to a second signal for controlling a second physical controller electrically connected to the first electric device and to a third electric device, and wherein how much power is provided to the third electric device is based at least in part on the second physical controller.
14. The computer-implemented method of claim 10, wherein the second electric device is a visible light emitter, and wherein the method further comprises:
determining that a speed associated with the user-initiated gesture is below a specified threshold, wherein the physical controller causes visible light emitted at the visible light emitter to be dimmed over time when the user-initiated gesture corresponds to a substantially downward moving gesture performed at the determined speed; or
determining that the speed associated with the user-initiated gesture at least meets the specified threshold, wherein the physical controller causes visible light emitted at the visible light emitter to brighten over time when the user-initiated gesture corresponds to a substantially upward moving gesture performed at the determined speed.
15. The computer-implemented method of claim 10, further comprising:
analyzing the at least the portion of the data, using at least in part the one or more processors of the first electric device, to recognize a second user-initiated gesture;
determining, using at least in part the one or more processors of the first electric device, that the second user-initiated gesture corresponds to a second signal for controlling the physical controller.
16. The computer-implemented method of claim 10, further comprising:
acquiring ambient light data using an ambient light sensor of the first electric device; and
modifying a mode of operation for the one or more sensors of the first electric device based, at least in part, on analyzing the acquired ambient light data.
17. The computer-implemented method of claim 10, further comprising:
establishing a wireless communicative connection between the first electric device and a third electric device;
receiving, at the first electric device, via the wireless communicative connection, at least one signal from the third electric device for controlling the physical controller.
18. A portable electric device comprising:
one or more sensors;
at least one processor; and
a memory device including instructions that, when executed by the at least one processor, cause the portable electric device to:
acquire data obtainable at an environment in which the portable electric device is situated, the data being acquired using the one or more sensors, the data including at least one of optical data, ultrasonic data, or electromagnetic data;
analyze at least a portion of the data, using at least in part the at least one processor of the portable electric device, to recognize a user-initiated gesture;
determine, using at least in part the at least one processor of the portable electric device, that the user-initiated gesture corresponds to a signal for controlling a physical controller electrically connected to the portable electric device and to a separate electric device that is separate from the portable electric device; and
perform at least one of, 1) providing power to the separate electric device or 2) limiting power provided to the separate electric device, based at least in part on the physical controller.
19. The portable electric device 18, further comprising:
an electric energy input element configured to receive energy for powering the portable electric device;
an electric energy output element configured to transmit at least a portion of the received energy to power the separate electric device.
20. The portable electric device of claim 18, wherein the portable electric device is attachable and detachable from a wall-mounted element.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method comprising:
issuing a request, from an application of a contributing client device to a stream administration server, to contribute messages from the application to a feed adapter within a data communication environment via a message stream which bypasses the stream administration server, wherein,
the feed adapter is coupled to a feed source via a feed adapter input stream and to at least one subscribing device via a feed adapter output stream,
the feed source is separate from the contributing client device, and
the feed adapter input stream is separate from the message stream;

receiving, in response to the request and an authentication of the contributing client device,
a set of constraints on messages to be transmitted from the contributing client device to the feed adapter, wherein the set of constraints specifies one or more topics of messages that the contributing client device is authorized to contribute to the feed adapter;
establishing the set of constraints in a messaging middleware of the contributing client device;
receiving, in the messaging middleware of the contributing client device from the application of the contributing client device, a message for transmission to the feed adapter on the message stream;
determining, by the messaging middleware of the contributing client device, whether contents of the message satisfy the set of constraints, wherein the determining comprises
comparing a topic associated with the message with the one or more topics of messages that the contributing client device is authorized to contribute to the feed adapter; and
administering the message, by the messaging middleware of the contributing client device, in dependence upon whether the message satisfies the set of constraints.
2. The method of claim 1 wherein the data communications environment comprises a data communications network, the network further comprising the feed adapter, the stream administration server, the at least one subscribing client device, the contributing client device, and no router.
3. The method of claim 1 wherein
the feed adapter comprises a conversion module to convert messages having a first format received via the feed adapter input stream to messages having a second format for transmission on the feed adapter output stream to the at least one subscribing client device.
4. The method of claim 1 wherein administering the message further comprises
authorizing transmission of the message on the message stream in dependence upon whether the message satisfies the set of constraints; and
transmitting the message from the contributing client device to the feed adapter, bypassing the stream administration server, in response to an authorization of transmission of the message on the message stream.
5. The method of claim 1 wherein administering the message further comprises logging the message in dependence upon whether the message satisfies the set of constraints.
6. The method of claim 1 further comprising setting, by the stream administration server, values of constraints in the messaging middleware of the contributing client device that prevent the message from being sent on the message stream.
7. The method of claim 1 wherein:
each constraint of the set of constraints is characterized by a message field identifier, a constraint value, and a constraint operator; and
determining, by the messaging middleware, whether contents of the message satisfy the set of constraints further comprises applying the constraint operator to the constraint value and to a value from a data field in the message identified by the message field identifier.
8. An apparatus for computer data communications in a data communications environment, the apparatus comprising:
one or more computer processors;
one or more computer memories operatively coupled to the one or more computer processors, the computer memories configured to store computer program instructions configured to:
issue a request, from an application of a contributing client device to a stream administration server, to contribute messages from the application to a feed adapter within a data communication environment via a message stream which bypasses the stream administration server, wherein,
the feed adapter is coupled to a feed source via a feed adapter input stream and to at least one subscribing device via a feed adapter output stream,
the feed source is separate from the contributing client device, and
the feed adapter input stream is separate from the message stream;

receive, in response to the request and an authentication of the contributing client device,
a set of constraints on messages to be transmitted from the contributing client device to the feed adapter, wherein the set of constraints specifies one or more topics of messages that the contributing client device is authorized to contribute to the feed adapter;

establish the set of constraints in a messaging middleware of the contributing client device;
receive, in the messaging middleware of the contributing client device from the application of the contributing client device, a message for transmission to the feed adapter on the message stream;
determine, by the messaging middleware of the contributing client device, whether contents of the message satisfy the set of constraints, wherein the determine comprises:
compare a topic associated with the message with the one or more topics of messages that the contributing client device is authorized to contribute to the feed adapter; and
administer the message, by the messaging middleware of the contributing client device, in dependence upon whether the message satisfies the set of constraints.
9. The apparatus of claim 8 wherein the data communications environment comprises a data communications network, the network further comprising the feed adapter, the stream administration server, the at least one subscribing client device, the contributing client device, and no router.
10. The apparatus of claim 8 wherein
the feed adapter comprises a conversion module to convert messages having a first format received via a feed adapter input stream to messages having a second format for transmission on the feed adapter output stream to the at least one subscribing client device.
11. The apparatus of claim 8 wherein the computer program instructions configured to administer the message comprises computer program instructions configured to:
authorize transmission of the message on the message stream in dependence upon whether the message satisfies the set of constraints; and
transmit the message from the contributing client device to the feed adapter, bypassing the stream administration server, in response to an authorization of transmission of the message on the message stream.
12. The apparatus of claim 8 wherein the computer program instructions configured to administer the message comprises computer program instructions configured to log the message in dependence upon whether the message satisfies the set of constraints.
13. The apparatus of claim 8 wherein:
each constraint of the set of constraints is characterized by a message field identifier, a constraint value, and a constraint operator; and
wherein the computer program instructions are configured to determine, by the messaging middleware, whether contents of the message satisfy the constraints further comprises applying the constraint operator to the constraint value and to a value from a data field in the message identified by the message field identifier.
14. A computer program product for computer data communications in a data communications environment, the computer program product disposed upon a non-transitory machine-readable storage recordable medium, the computer program product comprising computer program instructions configured to:
issue a request, from an application of a contributing client device to a stream administration server, to contribute messages from the application to a feed adapter within a data communication environment via a message stream which bypasses the stream administration server, wherein,
the feed adapter is coupled to a feed source via a feed adapter input stream and to at least one subscribing device via a feed adapter output stream,
the feed source is separate from the contributing client device, and
the feed adapter input stream is separate from the message stream;

receive, in response to the request and an authentication of the contributing client device,
a set of constraints on messages to be transmitted from the contributing client device to the feed adapter, wherein the set of constraints specifies one or more topics of messages that the contributing client device is authorized to contribute to the feed adapter;
establish the set of constraints in a messaging middleware of the contributing client device;
receive, in the messaging middleware of the contributing client device from the application of the contributing client device, a message for transmission to the feed adapter on the message stream;
determine, by the messaging middleware of the contributing client device, whether contents of the message satisfy the set of constraints, wherein the determine comprises
compare a topic associated with the message with the one or more topics of messages that the contributing client device is authorized to contribute to the feed adapter; and
administer the message, by the messaging middleware of the contributing client device, in dependence upon whether the message satisfies the set of constraints.
15. The computer program product of claim 14 wherein the data communications environment comprises a data communications network, the network further comprising the feed adapter, the stream administration server, the at least one subscribing client device, the contributing client device, and no router.
16. The computer program product of claim 14 wherein the computer program instructions configured to administer the message comprises computer program instructions configured to:
authorize transmission of the message on the message stream in dependence upon whether the message satisfies the set of constraints; and
transmit the message from the contributing client device to the feed adapter, bypassing the stream administration server, in response to an authorization of transmission of the message on the message stream.
17. The computer program product of claim 14 wherein the computer program instructions configured to administer the message comprises computer program instructions configured to log the message in dependence upon whether the message satisfies the set of constraints.
18. The computer program product of claim 14 wherein:
each constraint of the set of constraints is characterized by a message field identifier, a constraint value, and a constraint operator; and
wherein the computer program instructions are configured to determinea, by the messaging middleware, whether contents of the message satisfy the set of constraints further comprises applying the constraint operator to the constraint value and to a value from a data field in the message identified by the message field identifier.