Index
busylight_core
¶
Support for USB Connected Lights
Developers, adding support for a new device will entail:
- Optionally create a new vendor package in the vendors directory.
- Create a new subclass of busylight_core.light.Light.
- Implement all the missing abstract methods.
- Make sure the vendor package imports all the new subclasses.
- Make sure the vendor package appends the new subclasses to all.
- Import the new subclasses in busylight_core.init.
- Add the new subclasses to busylight_core.init.all.
Refer to any of the existing vendor packages as an example.
Please note, if the subclasses are not imported here, the abc.ABC.subclasses machinery will not find them and your new lights will not be recognized.
Classes¶
busylight_core.HardwareUnsupportedError
¶
Bases: _BaseLightError
The hardware supplied is not supported by this class.
busylight_core.InvalidHardwareError
¶
Bases: _BaseHardwareError
The device dictionary is missing required key/value pairs.
busylight_core.LightUnavailableError
¶
Bases: _BaseLightError
Previously accessible light is now not accessible.
busylight_core.NoLightsFoundError
¶
Bases: _BaseLightError
No lights were discovered by Light or a subclass of Light.
busylight_core.Hardware
dataclass
¶
Hardware(
device_type,
path,
vendor_id,
product_id,
serial_number,
manufacturer_string,
product_string=None,
release_number=None,
usage=None,
usage_page=None,
interface_number=None,
bus_type=None,
is_acquired=False,
)
USB Hardware description.
Attributes¶
busylight_core.Hardware.interface_number
class-attribute
instance-attribute
¶
busylight_core.Hardware.device_id
cached
property
¶
A tuple of the vendor and product identifiers.
Functions¶
busylight_core.Hardware.enumerate
classmethod
¶
enumerate(by_type=ANY)
List of all connected hardware devices.
Source code in src/busylight_core/hardware.py
busylight_core.Hardware.from_portinfo
classmethod
¶
Create a Hardware object from a serial port info object.
Source code in src/busylight_core/hardware.py
busylight_core.Hardware.from_hid
classmethod
¶
busylight_core.Hardware.acquire
¶
Open the hardware device.
Source code in src/busylight_core/hardware.py
busylight_core.Hardware.release
¶
Close the hardware device.
Source code in src/busylight_core/hardware.py
busylight_core.Light
¶
Bases: ABC
, ColorableMixin
, TaskableMixin
Base class for USB connected lights.
This base class provides a common interface for all USB connected lights.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Light.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.Light.supported_device_ids
class-attribute
instance-attribute
¶
busylight_core.Light.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Light.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Light.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Light.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Light.write_strategy
property
¶
Return the write method used by this light.
Functions¶
busylight_core.Light.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Light.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Light.cancel_tasks
¶
busylight_core.Light.vendor
cached
classmethod
¶
busylight_core.Light.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Light.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.Light.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Light.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Light.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Light.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Light.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Light.reset
¶
busylight_core.Light.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Light.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Light.batch_update
¶
busylight_core.Light.on
abstractmethod
¶
Activate the light with the given red, green, blue color tuple.
busylight_core.BlinkStick
¶
Bases: Light
Agile Innovative BlinkStick status light controller.
The BlinkStick is a USB-connected RGB LED device that can be controlled to display various colors and patterns for status indication.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.BlinkStick.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.BlinkStick.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.BlinkStick.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.BlinkStick.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.BlinkStick.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.BlinkStick.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.BlinkStick.read_strategy
property
¶
Return the read method used by this light.
busylight_core.BlinkStick.write_strategy
property
¶
Return the write method used by this light.
busylight_core.BlinkStick.supported_device_ids
class-attribute
¶
busylight_core.BlinkStick.channel
property
writable
¶
Get the current channel number for multi-channel BlinkStick devices.
busylight_core.BlinkStick.index
property
writable
¶
Get the current LED index for addressing individual LEDs.
busylight_core.BlinkStick.variant
cached
property
¶
Get the BlinkStick variant information based on hardware detection.
Functions¶
busylight_core.BlinkStick.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.BlinkStick.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.BlinkStick.cancel_tasks
¶
busylight_core.BlinkStick.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.BlinkStick.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.BlinkStick.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.BlinkStick.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.BlinkStick.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.BlinkStick.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.BlinkStick.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.BlinkStick.reset
¶
busylight_core.BlinkStick.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.BlinkStick.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.BlinkStick.batch_update
¶
busylight_core.BlinkStick.off
¶
busylight_core.BlinkStick.vendor
staticmethod
¶
busylight_core.BlinkStick.on
¶
Turn on the BlinkStick with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (unused for BlinkStick)
TYPE:
|
Source code in src/busylight_core/vendors/agile_innovative/blinkstick.py
busylight_core.Fit_StatUSB
¶
Bases: Light
CompuLab fit-statUSB status light controller.
The fit-statUSB is a USB-connected RGB LED device that communicates using text-based commands for color control.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Fit_StatUSB.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.Fit_StatUSB.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.Fit_StatUSB.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Fit_StatUSB.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Fit_StatUSB.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Fit_StatUSB.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.Fit_StatUSB.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Fit_StatUSB.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Fit_StatUSB.supported_device_ids
class-attribute
¶
Functions¶
busylight_core.Fit_StatUSB.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Fit_StatUSB.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Fit_StatUSB.cancel_tasks
¶
busylight_core.Fit_StatUSB.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Fit_StatUSB.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.Fit_StatUSB.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Fit_StatUSB.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Fit_StatUSB.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Fit_StatUSB.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Fit_StatUSB.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Fit_StatUSB.reset
¶
busylight_core.Fit_StatUSB.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Fit_StatUSB.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Fit_StatUSB.batch_update
¶
busylight_core.Fit_StatUSB.off
¶
busylight_core.Fit_StatUSB.vendor
staticmethod
¶
busylight_core.Fit_StatUSB.on
¶
Turn on the fit-statUSB with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (unused for fit-statUSB)
TYPE:
|
Source code in src/busylight_core/vendors/compulab/fit_statusb.py
busylight_core.Blynclight
¶
Bases: Light
Embrava Blynclight status light controller.
The Blynclight is a USB-connected RGB LED device with additional features like sound playback, volume control, and flashing patterns.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Blynclight.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.Blynclight.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.Blynclight.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Blynclight.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Blynclight.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Blynclight.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.Blynclight.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Blynclight.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Blynclight.supported_device_ids
class-attribute
¶
supported_device_ids = {
(11277, 1): "Blynclight",
(11277, 12): "Blynclight",
(3667, 9494): "Blynclight",
}
busylight_core.Blynclight.state
cached
property
¶
Get the device state manager for controlling light behavior.
busylight_core.Blynclight.struct
cached
property
¶
Get the binary struct formatter for device communication.
Functions¶
busylight_core.Blynclight.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Blynclight.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Blynclight.cancel_tasks
¶
busylight_core.Blynclight.vendor
cached
classmethod
¶
busylight_core.Blynclight.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Blynclight.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.Blynclight.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Blynclight.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Blynclight.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Blynclight.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Blynclight.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Blynclight.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Blynclight.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Blynclight.batch_update
¶
busylight_core.Blynclight.off
¶
busylight_core.Blynclight.on
¶
Turn on the Blynclight with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (unused for Blynclight)
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Blynclight.dim
¶
busylight_core.Blynclight.bright
¶
busylight_core.Blynclight.play_sound
¶
Play a sound on the Blynclight device.
PARAMETER | DESCRIPTION |
---|---|
music
|
Sound ID to play (0-9)
TYPE:
|
volume
|
Volume level (1-10)
TYPE:
|
repeat
|
Whether to repeat the sound continuously
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Blynclight.stop_sound
¶
busylight_core.Blynclight.mute
¶
busylight_core.Blynclight.unmute
¶
busylight_core.Blynclight.flash
¶
Flash the light with the specified color and speed.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
speed
|
Flash speed (slow, medium, fast) - defaults to slow
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Blynclight.stop_flashing
¶
busylight_core.Blynclight.reset
¶
busylight_core.Blynclight_Mini
¶
Bases: Blynclight
Embrava Blynclight Mini status light controller.
A smaller version of the Blynclight with the same functionality as the standard Blynclight device.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Blynclight_Mini.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.Blynclight_Mini.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.Blynclight_Mini.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Blynclight_Mini.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Blynclight_Mini.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Blynclight_Mini.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.Blynclight_Mini.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Blynclight_Mini.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Blynclight_Mini.state
cached
property
¶
Get the device state manager for controlling light behavior.
busylight_core.Blynclight_Mini.struct
cached
property
¶
Get the binary struct formatter for device communication.
busylight_core.Blynclight_Mini.supported_device_ids
class-attribute
¶
Functions¶
busylight_core.Blynclight_Mini.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Blynclight_Mini.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Blynclight_Mini.cancel_tasks
¶
busylight_core.Blynclight_Mini.vendor
cached
classmethod
¶
busylight_core.Blynclight_Mini.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Blynclight_Mini.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.Blynclight_Mini.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Mini.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Mini.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Mini.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Mini.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Mini.reset
¶
busylight_core.Blynclight_Mini.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Mini.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Mini.batch_update
¶
busylight_core.Blynclight_Mini.on
¶
Turn on the Blynclight with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (unused for Blynclight)
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Blynclight_Mini.off
¶
busylight_core.Blynclight_Mini.dim
¶
busylight_core.Blynclight_Mini.bright
¶
busylight_core.Blynclight_Mini.play_sound
¶
Play a sound on the Blynclight device.
PARAMETER | DESCRIPTION |
---|---|
music
|
Sound ID to play (0-9)
TYPE:
|
volume
|
Volume level (1-10)
TYPE:
|
repeat
|
Whether to repeat the sound continuously
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Blynclight_Mini.stop_sound
¶
busylight_core.Blynclight_Mini.mute
¶
busylight_core.Blynclight_Mini.unmute
¶
busylight_core.Blynclight_Mini.flash
¶
Flash the light with the specified color and speed.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
speed
|
Flash speed (slow, medium, fast) - defaults to slow
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Blynclight_Mini.stop_flashing
¶
busylight_core.Blynclight_Plus
¶
Bases: Blynclight
Embrava Blynclight Plus status light controller.
An enhanced version of the Blynclight with additional features while maintaining the same basic functionality.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Blynclight_Plus.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.Blynclight_Plus.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.Blynclight_Plus.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Blynclight_Plus.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Blynclight_Plus.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Blynclight_Plus.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.Blynclight_Plus.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Blynclight_Plus.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Blynclight_Plus.state
cached
property
¶
Get the device state manager for controlling light behavior.
busylight_core.Blynclight_Plus.struct
cached
property
¶
Get the binary struct formatter for device communication.
busylight_core.Blynclight_Plus.supported_device_ids
class-attribute
¶
Functions¶
busylight_core.Blynclight_Plus.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Blynclight_Plus.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Blynclight_Plus.cancel_tasks
¶
busylight_core.Blynclight_Plus.vendor
cached
classmethod
¶
busylight_core.Blynclight_Plus.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Blynclight_Plus.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.Blynclight_Plus.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Plus.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Plus.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Plus.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Plus.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Plus.reset
¶
busylight_core.Blynclight_Plus.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Plus.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Blynclight_Plus.batch_update
¶
busylight_core.Blynclight_Plus.on
¶
Turn on the Blynclight with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (unused for Blynclight)
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Blynclight_Plus.off
¶
busylight_core.Blynclight_Plus.dim
¶
busylight_core.Blynclight_Plus.bright
¶
busylight_core.Blynclight_Plus.play_sound
¶
Play a sound on the Blynclight device.
PARAMETER | DESCRIPTION |
---|---|
music
|
Sound ID to play (0-9)
TYPE:
|
volume
|
Volume level (1-10)
TYPE:
|
repeat
|
Whether to repeat the sound continuously
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Blynclight_Plus.stop_sound
¶
busylight_core.Blynclight_Plus.mute
¶
busylight_core.Blynclight_Plus.unmute
¶
busylight_core.Blynclight_Plus.flash
¶
Flash the light with the specified color and speed.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
speed
|
Flash speed (slow, medium, fast) - defaults to slow
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Blynclight_Plus.stop_flashing
¶
busylight_core.Busylight
¶
Bases: Light
EPOS Busylight status light controller.
The EPOS Busylight is a USB-connected RGB LED device that provides status indication with multiple LED control capabilities.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Busylight.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.Busylight.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.Busylight.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Busylight.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Busylight.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Busylight.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.Busylight.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Busylight.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Busylight.supported_device_ids
class-attribute
¶
busylight_core.Busylight.state
cached
property
¶
Get the device state manager for controlling LED patterns.
Functions¶
busylight_core.Busylight.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Busylight.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Busylight.cancel_tasks
¶
busylight_core.Busylight.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Busylight.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.Busylight.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Busylight.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Busylight.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Busylight.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Busylight.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Busylight.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Busylight.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Busylight.batch_update
¶
busylight_core.Busylight.off
¶
busylight_core.Busylight.vendor
staticmethod
¶
busylight_core.Busylight.on
¶
Turn on the EPOS Busylight with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index for targeting specific LEDs
TYPE:
|
Source code in src/busylight_core/vendors/epos/busylight.py
busylight_core.Busylight_Alpha
¶
Bases: Light
Kuando Busylight Alpha status light controller.
The Busylight Alpha is a USB-connected RGB LED device that requires periodic keepalive messages to maintain its connection state.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Busylight_Alpha.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.Busylight_Alpha.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.Busylight_Alpha.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Busylight_Alpha.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Busylight_Alpha.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Busylight_Alpha.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.Busylight_Alpha.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Busylight_Alpha.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Busylight_Alpha.supported_device_ids
class-attribute
¶
supported_device_ids = {
(1240, 63560): "Busylight Alpha",
(10171, 15306): "Busylight Alpha",
(10171, 15307): "Busylight Alpha",
(10171, 15310): "Busylight Alpha",
}
busylight_core.Busylight_Alpha.state
cached
property
¶
Get the device state manager for controlling light patterns.
Functions¶
busylight_core.Busylight_Alpha.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Busylight_Alpha.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Busylight_Alpha.cancel_tasks
¶
busylight_core.Busylight_Alpha.vendor
cached
classmethod
¶
busylight_core.Busylight_Alpha.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Busylight_Alpha.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.Busylight_Alpha.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Alpha.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Alpha.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Alpha.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Alpha.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Alpha.reset
¶
busylight_core.Busylight_Alpha.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Alpha.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Busylight_Alpha.batch_update
¶
busylight_core.Busylight_Alpha.on
¶
Turn on the Busylight Alpha with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (unused for Busylight Alpha)
TYPE:
|
Source code in src/busylight_core/vendors/kuando/busylight_alpha.py
busylight_core.Busylight_Alpha.off
¶
Turn off the Busylight Alpha.
PARAMETER | DESCRIPTION |
---|---|
led
|
LED index (unused for Busylight Alpha)
TYPE:
|
Source code in src/busylight_core/vendors/kuando/busylight_alpha.py
busylight_core.Busylight_Omega
¶
Bases: Busylight_Alpha
Kuando Busylight Omega status light controller.
The Busylight Omega is an enhanced version of the Busylight Alpha with the same functionality and keepalive requirements.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Busylight_Omega.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.Busylight_Omega.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.Busylight_Omega.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Busylight_Omega.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Busylight_Omega.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Busylight_Omega.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.Busylight_Omega.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Busylight_Omega.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Busylight_Omega.state
cached
property
¶
Get the device state manager for controlling light patterns.
busylight_core.Busylight_Omega.supported_device_ids
class-attribute
¶
Functions¶
busylight_core.Busylight_Omega.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Busylight_Omega.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Busylight_Omega.cancel_tasks
¶
busylight_core.Busylight_Omega.vendor
cached
classmethod
¶
busylight_core.Busylight_Omega.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Busylight_Omega.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.Busylight_Omega.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Omega.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Omega.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Omega.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Omega.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Omega.reset
¶
busylight_core.Busylight_Omega.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Busylight_Omega.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Busylight_Omega.batch_update
¶
busylight_core.Busylight_Omega.on
¶
Turn on the Busylight Alpha with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (unused for Busylight Alpha)
TYPE:
|
Source code in src/busylight_core/vendors/kuando/busylight_alpha.py
busylight_core.Busylight_Omega.off
¶
Turn off the Busylight Alpha.
PARAMETER | DESCRIPTION |
---|---|
led
|
LED index (unused for Busylight Alpha)
TYPE:
|
Source code in src/busylight_core/vendors/kuando/busylight_alpha.py
busylight_core.Bluetooth
¶
Bases: Flag
Luxafor Bluetooth status light controller.
A Bluetooth-enabled version of the Luxafor Flag with the same functionality as the USB-connected Flag device.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Bluetooth.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.Bluetooth.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.Bluetooth.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Bluetooth.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Bluetooth.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Bluetooth.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.Bluetooth.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Bluetooth.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Bluetooth.state
cached
property
¶
Get the device state manager for controlling LED patterns.
busylight_core.Bluetooth.supported_device_ids
class-attribute
¶
Functions¶
busylight_core.Bluetooth.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Bluetooth.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Bluetooth.cancel_tasks
¶
busylight_core.Bluetooth.vendor
cached
classmethod
¶
busylight_core.Bluetooth.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Bluetooth.claims
classmethod
¶
Check if this class can handle the given hardware device.
PARAMETER | DESCRIPTION |
---|---|
hardware
|
Hardware device to check
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
bool
|
True if this class can handle the hardware |
Source code in src/busylight_core/vendors/luxafor/flag.py
busylight_core.Bluetooth.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Bluetooth.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Bluetooth.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Bluetooth.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Bluetooth.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Bluetooth.reset
¶
busylight_core.Bluetooth.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Bluetooth.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Bluetooth.batch_update
¶
busylight_core.Bluetooth.on
¶
Turn on the Luxafor Flag with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (0 for all LEDs, or specific LED number)
TYPE:
|
Source code in src/busylight_core/vendors/luxafor/flag.py
busylight_core.BusyTag
¶
Bases: Light
BusyTag status light controller.
The BusyTag is a wireless status light that uses command strings for communication and supports various lighting patterns.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.BusyTag.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.BusyTag.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.BusyTag.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.BusyTag.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.BusyTag.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.BusyTag.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.BusyTag.read_strategy
property
¶
Return the read method used by this light.
busylight_core.BusyTag.write_strategy
property
¶
Return the write method used by this light.
busylight_core.BusyTag.supported_device_ids
class-attribute
¶
busylight_core.BusyTag.command
property
writable
¶
Get the current command string for device communication.
Functions¶
busylight_core.BusyTag.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.BusyTag.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.BusyTag.cancel_tasks
¶
busylight_core.BusyTag.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.BusyTag.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.BusyTag.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.BusyTag.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.BusyTag.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.BusyTag.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.BusyTag.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.BusyTag.reset
¶
busylight_core.BusyTag.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.BusyTag.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.BusyTag.batch_update
¶
busylight_core.BusyTag.off
¶
busylight_core.BusyTag.vendor
staticmethod
¶
busylight_core.BusyTag.on
¶
Turn on the BusyTag with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index for specific LED targeting
TYPE:
|
Source code in src/busylight_core/vendors/luxafor/busytag.py
busylight_core.Flag
¶
Bases: Light
Luxafor Flag status light controller.
The Luxafor Flag is a USB-connected RGB LED device with multiple individually controllable LEDs arranged in a flag pattern.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Flag.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Flag.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Flag.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Flag.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Flag.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Flag.supported_device_ids
class-attribute
¶
busylight_core.Flag.state
cached
property
¶
Get the device state manager for controlling LED patterns.
Functions¶
busylight_core.Flag.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Flag.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Flag.cancel_tasks
¶
busylight_core.Flag.vendor
cached
classmethod
¶
busylight_core.Flag.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Flag.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Flag.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Flag.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Flag.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Flag.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Flag.reset
¶
busylight_core.Flag.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Flag.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Flag.batch_update
¶
busylight_core.Flag.off
¶
busylight_core.Flag.claims
classmethod
¶
Check if this class can handle the given hardware device.
PARAMETER | DESCRIPTION |
---|---|
hardware
|
Hardware device to check
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
bool
|
True if this class can handle the hardware |
Source code in src/busylight_core/vendors/luxafor/flag.py
busylight_core.Flag.on
¶
Turn on the Luxafor Flag with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (0 for all LEDs, or specific LED number)
TYPE:
|
Source code in src/busylight_core/vendors/luxafor/flag.py
busylight_core.Mute
¶
Bases: Flag
Luxafor Mute status light controller.
A mute button device with status light functionality, combining the Luxafor Flag features with button input capabilities.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Mute.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Mute.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Mute.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Mute.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Mute.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Mute.state
cached
property
¶
Get the device state manager for controlling LED patterns.
busylight_core.Mute.supported_device_ids
class-attribute
¶
busylight_core.Mute.is_button
property
¶
Check if this device has button functionality.
RETURNS | DESCRIPTION |
---|---|
bool
|
True, as the Mute device has a button |
busylight_core.Mute.button_on
property
¶
Check if the mute button is currently pressed.
RETURNS | DESCRIPTION |
---|---|
bool
|
True if the button is pressed, False otherwise |
Functions¶
busylight_core.Mute.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Mute.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Mute.cancel_tasks
¶
busylight_core.Mute.vendor
cached
classmethod
¶
busylight_core.Mute.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Mute.claims
classmethod
¶
Check if this class can handle the given hardware device.
PARAMETER | DESCRIPTION |
---|---|
hardware
|
Hardware device to check
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
bool
|
True if this class can handle the hardware |
Source code in src/busylight_core/vendors/luxafor/flag.py
busylight_core.Mute.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Mute.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Mute.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Mute.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Mute.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Mute.reset
¶
busylight_core.Mute.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Mute.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Mute.batch_update
¶
busylight_core.Mute.on
¶
Turn on the Luxafor Flag with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (0 for all LEDs, or specific LED number)
TYPE:
|
Source code in src/busylight_core/vendors/luxafor/flag.py
busylight_core.Orb
¶
Bases: Flag
Luxafor Orb status light controller.
A spherical-shaped status light with the same functionality as the Luxafor Flag device.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Orb.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Orb.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Orb.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Orb.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Orb.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Orb.state
cached
property
¶
Get the device state manager for controlling LED patterns.
busylight_core.Orb.supported_device_ids
class-attribute
¶
Functions¶
busylight_core.Orb.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Orb.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Orb.cancel_tasks
¶
busylight_core.Orb.vendor
cached
classmethod
¶
busylight_core.Orb.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Orb.claims
classmethod
¶
Check if this class can handle the given hardware device.
PARAMETER | DESCRIPTION |
---|---|
hardware
|
Hardware device to check
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
bool
|
True if this class can handle the hardware |
Source code in src/busylight_core/vendors/luxafor/flag.py
busylight_core.Orb.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Orb.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Orb.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Orb.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Orb.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Orb.reset
¶
busylight_core.Orb.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Orb.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Orb.batch_update
¶
busylight_core.Orb.on
¶
Turn on the Luxafor Flag with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (0 for all LEDs, or specific LED number)
TYPE:
|
Source code in src/busylight_core/vendors/luxafor/flag.py
busylight_core.MuteMe
¶
Bases: Light
MuteMe status light and button controller.
The MuteMe is a USB-connected RGB LED device with integrated button functionality for mute control in video conferencing applications.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.MuteMe.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.MuteMe.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.MuteMe.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.MuteMe.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.MuteMe.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.MuteMe.read_strategy
property
¶
Return the read method used by this light.
busylight_core.MuteMe.write_strategy
property
¶
Return the write method used by this light.
busylight_core.MuteMe.supported_device_ids
class-attribute
¶
busylight_core.MuteMe.state
cached
property
¶
Get the device state manager for controlling light behavior.
busylight_core.MuteMe.struct
cached
property
¶
Get the binary struct formatter for device communication.
busylight_core.MuteMe.is_pluggedin
property
¶
Check if the device is plugged in and responsive.
RETURNS | DESCRIPTION |
---|---|
bool
|
True if device responds to feature report, False otherwise |
busylight_core.MuteMe.is_button
property
¶
Check if this device has button functionality.
RETURNS | DESCRIPTION |
---|---|
bool
|
True, as the MuteMe device has a button |
busylight_core.MuteMe.button_on
property
¶
Check if the mute button is currently pressed.
RETURNS | DESCRIPTION |
---|---|
bool
|
True if the button is pressed, False otherwise |
RAISES | DESCRIPTION |
---|---|
NotImplementedError
|
Button state reading not implemented |
Functions¶
busylight_core.MuteMe.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.MuteMe.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.MuteMe.cancel_tasks
¶
busylight_core.MuteMe.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.MuteMe.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.MuteMe.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.MuteMe.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.MuteMe.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.MuteMe.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.MuteMe.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.MuteMe.reset
¶
busylight_core.MuteMe.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.MuteMe.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.MuteMe.batch_update
¶
busylight_core.MuteMe.off
¶
busylight_core.MuteMe.vendor
staticmethod
¶
busylight_core.MuteMe.on
¶
Turn on the MuteMe with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (unused for MuteMe)
TYPE:
|
Source code in src/busylight_core/vendors/muteme/muteme.py
busylight_core.MuteMe_Mini
¶
Bases: MuteMe
MuteMe Mini status light and button controller.
A smaller version of the MuteMe device with the same button and LED functionality as the original MuteMe.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.MuteMe_Mini.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.MuteMe_Mini.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.MuteMe_Mini.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.MuteMe_Mini.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.MuteMe_Mini.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.MuteMe_Mini.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.MuteMe_Mini.read_strategy
property
¶
Return the read method used by this light.
busylight_core.MuteMe_Mini.write_strategy
property
¶
Return the write method used by this light.
busylight_core.MuteMe_Mini.state
cached
property
¶
Get the device state manager for controlling light behavior.
busylight_core.MuteMe_Mini.struct
cached
property
¶
Get the binary struct formatter for device communication.
busylight_core.MuteMe_Mini.is_pluggedin
property
¶
Check if the device is plugged in and responsive.
RETURNS | DESCRIPTION |
---|---|
bool
|
True if device responds to feature report, False otherwise |
busylight_core.MuteMe_Mini.is_button
property
¶
Check if this device has button functionality.
RETURNS | DESCRIPTION |
---|---|
bool
|
True, as the MuteMe device has a button |
busylight_core.MuteMe_Mini.button_on
property
¶
Check if the mute button is currently pressed.
RETURNS | DESCRIPTION |
---|---|
bool
|
True if the button is pressed, False otherwise |
RAISES | DESCRIPTION |
---|---|
NotImplementedError
|
Button state reading not implemented |
busylight_core.MuteMe_Mini.supported_device_ids
class-attribute
¶
Functions¶
busylight_core.MuteMe_Mini.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.MuteMe_Mini.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.MuteMe_Mini.cancel_tasks
¶
busylight_core.MuteMe_Mini.vendor
staticmethod
¶
busylight_core.MuteMe_Mini.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.MuteMe_Mini.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.MuteMe_Mini.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.MuteMe_Mini.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.MuteMe_Mini.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.MuteMe_Mini.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.MuteMe_Mini.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.MuteMe_Mini.reset
¶
busylight_core.MuteMe_Mini.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.MuteMe_Mini.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.MuteMe_Mini.batch_update
¶
busylight_core.MuteMe_Mini.on
¶
Turn on the MuteMe with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (unused for MuteMe)
TYPE:
|
Source code in src/busylight_core/vendors/muteme/muteme.py
busylight_core.MuteSync
¶
Bases: Light
MuteSync status light and button controller.
The MuteSync is a USB-connected device that combines button functionality with status light capabilities for meeting control.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.MuteSync.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.MuteSync.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.MuteSync.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.MuteSync.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.MuteSync.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.MuteSync.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.MuteSync.read_strategy
property
¶
Return the read method used by this light.
busylight_core.MuteSync.write_strategy
property
¶
Return the write method used by this light.
busylight_core.MuteSync.supported_device_ids
class-attribute
¶
busylight_core.MuteSync.is_button
property
¶
Check if this device has button functionality.
RETURNS | DESCRIPTION |
---|---|
bool
|
True, as the MuteSync device has a button |
busylight_core.MuteSync.button_on
property
¶
Check if the mute button is currently pressed.
RETURNS | DESCRIPTION |
---|---|
bool
|
Always False in current implementation |
Functions¶
busylight_core.MuteSync.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.MuteSync.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.MuteSync.cancel_tasks
¶
busylight_core.MuteSync.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.MuteSync.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.MuteSync.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.MuteSync.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.MuteSync.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.MuteSync.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.MuteSync.reset
¶
busylight_core.MuteSync.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.MuteSync.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.MuteSync.batch_update
¶
busylight_core.MuteSync.off
¶
busylight_core.MuteSync.vendor
staticmethod
¶
busylight_core.MuteSync.claims
classmethod
¶
Return True if the hardware describes a MuteSync Button.
Source code in src/busylight_core/vendors/muteme/mutesync.py
busylight_core.MuteSync.on
¶
Turn on the MuteSync with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (unused for MuteSync)
TYPE:
|
Source code in src/busylight_core/vendors/muteme/mutesync.py
busylight_core.Status_Indicator
¶
Bases: Blynclight
Plantronics Status Indicator status light controller.
A Plantronics-branded version of the Blynclight device with identical functionality to the Embrava Blynclight.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Status_Indicator.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.Status_Indicator.color
property
writable
¶
A tuple of red, green, and blue color values.
busylight_core.Status_Indicator.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Status_Indicator.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Status_Indicator.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Status_Indicator.name
cached
property
¶
Return the marketing name of this light.
busylight_core.Status_Indicator.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.Status_Indicator.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Status_Indicator.write_strategy
property
¶
Return the write method used by this light.
busylight_core.Status_Indicator.state
cached
property
¶
Get the device state manager for controlling light behavior.
busylight_core.Status_Indicator.struct
cached
property
¶
Get the binary struct formatter for device communication.
busylight_core.Status_Indicator.supported_device_ids
class-attribute
¶
Functions¶
busylight_core.Status_Indicator.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Status_Indicator.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Status_Indicator.cancel_tasks
¶
busylight_core.Status_Indicator.vendor
cached
classmethod
¶
busylight_core.Status_Indicator.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Status_Indicator.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.Status_Indicator.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Status_Indicator.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Status_Indicator.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Status_Indicator.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Status_Indicator.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Status_Indicator.reset
¶
busylight_core.Status_Indicator.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Status_Indicator.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Status_Indicator.batch_update
¶
busylight_core.Status_Indicator.on
¶
Turn on the Blynclight with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index (unused for Blynclight)
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Status_Indicator.off
¶
busylight_core.Status_Indicator.dim
¶
busylight_core.Status_Indicator.bright
¶
busylight_core.Status_Indicator.play_sound
¶
Play a sound on the Blynclight device.
PARAMETER | DESCRIPTION |
---|---|
music
|
Sound ID to play (0-9)
TYPE:
|
volume
|
Volume level (1-10)
TYPE:
|
repeat
|
Whether to repeat the sound continuously
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Status_Indicator.stop_sound
¶
busylight_core.Status_Indicator.mute
¶
busylight_core.Status_Indicator.unmute
¶
busylight_core.Status_Indicator.flash
¶
Flash the light with the specified color and speed.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
speed
|
Flash speed (slow, medium, fast) - defaults to slow
TYPE:
|
Source code in src/busylight_core/vendors/embrava/blynclight.py
busylight_core.Status_Indicator.stop_flashing
¶
busylight_core.Blink1
¶
Bases: Light
ThingM Blink(1) status light controller.
The Blink(1) is a USB-connected RGB LED device that uses feature reports for communication and supports various effects.
Initialize a Light with the given hardware information.
:param: reset - bool - reset the hardware to a known state :param: exclusive - bool - acquire exclusive access to the hardware
- HardwareUnsupportedError: if the given Hardware is not supported by this class.
Source code in src/busylight_core/light.py
Attributes¶
busylight_core.Blink1.tasks
cached
property
¶
Active tasks that are associated with this class.
busylight_core.Blink1.platform
cached
property
¶
The discovered operating system platform name.
busylight_core.Blink1.exclusive
property
¶
Return True if the light has exclusive access to the hardware.
busylight_core.Blink1.sort_key
cached
property
¶
Return a tuple used for sorting lights.
The tuple consists of: - vendor name in lowercase - device name in lowercase - hardware path
busylight_core.Blink1.hex
property
¶
Return the hexadecimal representation of the light's state.
busylight_core.Blink1.read_strategy
property
¶
Return the read method used by this light.
busylight_core.Blink1.supported_device_ids
class-attribute
¶
busylight_core.Blink1.state
cached
property
¶
Get the device state manager for controlling LED patterns.
busylight_core.Blink1.write_strategy
property
¶
Get the write strategy for communicating with the device.
RETURNS | DESCRIPTION |
---|---|
Callable
|
The hardware's send_feature_report method |
Functions¶
busylight_core.Blink1.add_task
¶
Create a new task using coroutine as the body and stash it in the tasks dict.
Using name as a key for the tasks dictionary.
:name: str :coroutine: Awaitable :return: asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Blink1.cancel_task
¶
Cancel a task associated with name if it exists.
If the task exists the cancelled task is returned, otherwise None.
:name: str :return: None | asyncio.Task
Source code in src/busylight_core/mixins/taskable.py
busylight_core.Blink1.cancel_tasks
¶
busylight_core.Blink1.unique_device_names
cached
classmethod
¶
Return a list of unique device names.
busylight_core.Blink1.claims
classmethod
¶
Return True if the hardware is claimed by this class.
busylight_core.Blink1.subclasses
cached
classmethod
¶
Return a list of all subclasses of this class.
Source code in src/busylight_core/light.py
busylight_core.Blink1.supported_lights
cached
classmethod
¶
Return a dictionary of supported lights by vendor.
Keys are vendor names, values are a list of product names.
Source code in src/busylight_core/light.py
busylight_core.Blink1.available_lights
classmethod
¶
Return a dictionary of available hardware by type.
Keys are Light subclasses, values are a list of Hardware instances.
Source code in src/busylight_core/light.py
busylight_core.Blink1.all_lights
classmethod
¶
Return a list of all lights ready for use.
Source code in src/busylight_core/light.py
busylight_core.Blink1.first_light
classmethod
¶
Return the first unused light ready for use.
Raises: - NoLightsFoundError: if no lights are available.
Source code in src/busylight_core/light.py
busylight_core.Blink1.reset
¶
busylight_core.Blink1.exclusive_access
¶
Manage exclusive access to the light.
If the device is not acquired in exclusive mode, it will be acquired and released automatically.
Source code in src/busylight_core/light.py
busylight_core.Blink1.update
¶
Obtain the current state of the light and writes it to the device.
Raises: - LightUnavailableError
Source code in src/busylight_core/light.py
busylight_core.Blink1.batch_update
¶
busylight_core.Blink1.off
¶
busylight_core.Blink1.vendor
staticmethod
¶
busylight_core.Blink1.on
¶
Turn on the Blink(1) with the specified color.
PARAMETER | DESCRIPTION |
---|---|
color
|
RGB color tuple (red, green, blue) with values 0-255
TYPE:
|
led
|
LED index for targeting specific LEDs
TYPE:
|