Skip to main content

OBS integration with Luxafor LED devices

Project description

obs-tally-luxafor

obs-tally-luxafor is a Python package that integrates OBS (Open Broadcaster Software) with Luxafor LED devices. It listens for scene changes via OBS WebSocket and automatically updates the color of your Luxafor device.

Features

  • OBS Integration: Uses obsws-python to listen for scene changes.
  • Luxafor Control: Provides a simple API client to control Luxafor LED devices (brightness, color, patterns).
  • Command-Line Configuration: Customize connection parameters and behavior via command-line arguments.

Installation

To install the package in development (editable) mode:

cd obs-tally-luxafor
pip install -e .

After publishing to PyPI, you can install it via:

pip install obs-tally-luxafor

Configuration

The package can be configured both by modifying default values in the source code and via command-line arguments when launching the integration. The available command-line parameters include:

Luxafor API:

  • --base-url
    The URL of your Luxafor API server (default: http://127.0.0.1:5383).

  • --secret-token
    The secret token for the Luxafor API (default: luxafor).

OBS WebSocket:

  • --host
    OBS host (default: localhost).

  • --port
    Port for OBS WebSocket (default: 4455 for OBS WebSocket v5).

  • --password
    Password for OBS WebSocket (default: password).

Scene Trigger:

  • --scene-name
    The scene name that should trigger the red LED color (default: scene). When the current program scene in OBS matches this value, the Luxafor LED will change to red. For any other scene, the LED will change to green.

Usage

Once installed, run the integration using the command-line script:

obs-tally-luxafor [OPTIONS]

For example, to run with a custom scene name:

obs-tally-luxafor --scene-name "my_custom_scene"

To see all available options, run:

obs-tally-luxafor --help

This command will start the OBS event listener. When the current program scene changes, the package will update the Luxafor LED color accordingly, with detailed logs indicating which color is set and why.

API Reference

LuxaforClient

The LuxaforClient class (found in obs_tally_luxafor/client.py) provides methods to interact with your Luxafor device:

  • change_color(color)
    Changes the LED color to the specified hex value.

  • play_pattern(pattern_id)
    Plays a pre-defined lighting pattern on the device.

Dependencies

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

obs_tally_luxafor-0.3.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

obs_tally_luxafor-0.3.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file obs_tally_luxafor-0.3.1.tar.gz.

File metadata

  • Download URL: obs_tally_luxafor-0.3.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for obs_tally_luxafor-0.3.1.tar.gz
Algorithm Hash digest
SHA256 83df49fbee0a14c187d779e341db7b1e7fe359142a09935069408a4ba1331567
MD5 bc0ea19a7f251123c1f87ec7a399c1a0
BLAKE2b-256 bf82cb66df26fb7e0053255c9514a3893eb53b95dee721aa297733fff3077983

See more details on using hashes here.

File details

Details for the file obs_tally_luxafor-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for obs_tally_luxafor-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a75fdeaeda4128daa0857e1270777399a1f0702626b4ae3b924bb2f6aafbc804
MD5 c066b20af90a0b35c9d72625ea9e63dc
BLAKE2b-256 386dd9371ca0c473a9a7a0abeefb5a9382b66671b12816d51731dfed350a84f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page