# Python Utility for Logitech Litra Glow and Beam
[![PyPI version](https://badge.fury.io/py/litra-driver.svg)](https://badge.fury.io/py/litra-driver)
## Introduction
After purchasing a [Logitech Litra Glow](https://www.logitech.com/en-us/products/lighting/litra-glow.946-000001.html) I was unable to find any support for linux. This project reverse-engineers the basic functionality of the litra glow so that we can control it via USB without using the physical buttons on the device. It also now supports the [Logitech Litra Beam](https://www.logitech.com/en-us/products/lighting/litra-beam.946-000006.html).
## Quick Start
### Linux
```bash
# If necessary, create a udev role to grant permission to access the light
sudo tee /etc/udev/rules.d/82-litra-glow.rules <<< 'SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c900",MODE="0666"'
sudo tee /etc/udev/rules.d/82-litra-beam.rules <<< 'SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c901",MODE="0666"'
sudo reboot
# Uninstall if previously installed
pip uninstall litra-driver
pip install litra-driver
# Command Line Interface
lc --help
# User Interface
lcui
```
## The UI
A basic UI can be launched to allow control of the light:
```bash
lcui
```
![lcui Screen Shot](images/ui.png)
## The CLI
```
NAME
lc
SYNOPSIS
lc COMMAND
COMMANDS
COMMAND is one of the following:
on
Turns on the Litra Glow
off
Turns off the Litra Glow
temp
Sets the temperature level of the Litra Glow
bright
Sets the brightness level of the Litra Glow
```
Sample Usage
```bash
lc on
lc bright 10
lc temp 6500
lc off
# Chain multiple commands
lc on bright 100 temp 2700
```
The log level can be adjusted by setting the environment variable `LITRA_LOGLEVEL` to one of the following:
* CRITICAL
* ERROR
* WARNING
* INFO
* DEBUG
## Development
### Creating / installing the distribution
```bash
pip install build
# Create distribution
python -m build
# Local Testing
pip install --editable .
# Linter
tox -e lint
# Unit Test - "Coming Soon"™
tox -e test
```
Raw data
{
"_id": null,
"home_page": "https://github.com/kharyam/litra-driver",
"name": "litra-driver",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "logitech lumitra glow,CLI,UI",
"author": "Khary Mendez",
"author_email": "kharyam+llgd@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/3b/be/94560784035bb08b1d0a4af1a30a88adfe61b7e97f6836d2af302e81546e/litra-driver-0.0.8.tar.gz",
"platform": null,
"description": "# Python Utility for Logitech Litra Glow and Beam\n[![PyPI version](https://badge.fury.io/py/litra-driver.svg)](https://badge.fury.io/py/litra-driver)\n\n## Introduction\n\nAfter purchasing a [Logitech Litra Glow](https://www.logitech.com/en-us/products/lighting/litra-glow.946-000001.html) I was unable to find any support for linux. This project reverse-engineers the basic functionality of the litra glow so that we can control it via USB without using the physical buttons on the device. It also now supports the [Logitech Litra Beam](https://www.logitech.com/en-us/products/lighting/litra-beam.946-000006.html).\n\n## Quick Start\n\n### Linux\n```bash\n# If necessary, create a udev role to grant permission to access the light\nsudo tee /etc/udev/rules.d/82-litra-glow.rules <<< 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"046d\", ATTR{idProduct}==\"c900\",MODE=\"0666\"'\nsudo tee /etc/udev/rules.d/82-litra-beam.rules <<< 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"046d\", ATTR{idProduct}==\"c901\",MODE=\"0666\"'\n\nsudo reboot\n\n# Uninstall if previously installed\npip uninstall litra-driver\npip install litra-driver\n\n# Command Line Interface\nlc --help\n\n# User Interface\nlcui\n\n```\n\n## The UI\nA basic UI can be launched to allow control of the light:\n\n```bash\nlcui\n```\n\n![lcui Screen Shot](images/ui.png)\n## The CLI\n\n```\nNAME\n lc\n\nSYNOPSIS\n lc COMMAND\n\nCOMMANDS\n COMMAND is one of the following:\n\n on\n Turns on the Litra Glow\n\n off\n Turns off the Litra Glow\n\n temp\n Sets the temperature level of the Litra Glow\n\n bright\n Sets the brightness level of the Litra Glow\n```\n\nSample Usage\n```bash\nlc on\nlc bright 10\nlc temp 6500\nlc off\n\n# Chain multiple commands\nlc on bright 100 temp 2700\n```\n\nThe log level can be adjusted by setting the environment variable `LITRA_LOGLEVEL` to one of the following:\n* CRITICAL\n* ERROR\n* WARNING\n* INFO\n* DEBUG\n\n## Development\n### Creating / installing the distribution\n\n```bash\npip install build\n\n# Create distribution\npython -m build\n\n# Local Testing\npip install --editable .\n\n# Linter\ntox -e lint\n\n# Unit Test - \"Coming Soon\"\u2122\ntox -e test\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "Logitech Lumitra Glow and Beam Driver",
"version": "0.0.8",
"split_keywords": [
"logitech lumitra glow",
"cli",
"ui"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "ab0a01dd6df3061f4eec9338c4b3d8ed",
"sha256": "0f5770edf2357dccde160c82e7f1330bee724716232bcdbaf3a6da371bbf7927"
},
"downloads": -1,
"filename": "litra_driver-0.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ab0a01dd6df3061f4eec9338c4b3d8ed",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 22935,
"upload_time": "2022-12-08T15:39:21",
"upload_time_iso_8601": "2022-12-08T15:39:21.855205Z",
"url": "https://files.pythonhosted.org/packages/c1/fd/deda548d5e41027cf537a47a1cff915dba4aa36949e5cf84367e85cbb6cd/litra_driver-0.0.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "30f22b875f6231c4faf58b2401761fb6",
"sha256": "c7c0162c3a659f9fcaa059025e99850bdaba668272a0b340adfc92d59cc6f7a0"
},
"downloads": -1,
"filename": "litra-driver-0.0.8.tar.gz",
"has_sig": false,
"md5_digest": "30f22b875f6231c4faf58b2401761fb6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 39043,
"upload_time": "2022-12-08T15:39:24",
"upload_time_iso_8601": "2022-12-08T15:39:24.663983Z",
"url": "https://files.pythonhosted.org/packages/3b/be/94560784035bb08b1d0a4af1a30a88adfe61b7e97f6836d2af302e81546e/litra-driver-0.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-08 15:39:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "kharyam",
"github_project": "litra-driver",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "litra-driver"
}