# pyLukeRoberts
This library enables control of Luke Roberts Luvo lamps via Bluetooth Low Energy. It was written as a library to power a future Home Assistant Plug-In.
## Table of Contents
- [Capabilities](#capabilities)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
## Capabilities
* Discover Luke Roberts Luvo lamps
* Switch Lamps On/Off
* Read all configured scenes
* Read current scene
* Change scene
* Change Color for Uplight
Future Features
* Change Brightness
* Change Color Temperature for Downlight and Uplight
## Installation
```bash
# Install via pypi
pip install pylukeroberts
```
## Dependencies
pyLukeRoberts uses bleak for Bluetooth Low Energy connectivity
## Usage
Example from `examples/set_scene.py`
```python
from pylukeroberts import LUVOLAMP, find_lamp
import asyncio
async def main():
# try:
lamp_address = await find_lamp()
print(f"Found Luke Roberts Lamp at address: {lamp_address}")
lamp = LUVOLAMP(lamp_address)
await lamp.update_scenes()
await lamp.update_current_scene()
print (f'{lamp.get_current_scene()} with ID: {lamp.get_current_scene(True)}')
await lamp.select_scene(12)
await lamp.switch_off()
if __name__ == "__main__":
asyncio.run(main())
```
## Contributing
Guidelines for contributing to the project.
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Make your changes.
4. Commit your changes (`git commit -m 'Add some feature'`).
5. Push to the branch (`git push origin feature-branch`).
6. Open a pull request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Contact
Timur Pulathaneli - [timur@koeln.de](mailto:timur@koeln.de)
Project Link: [https://github.com/tpulatha/pylukeroberts](https://github.com/tpulatha/pylukeroberts)
Raw data
{
"_id": null,
"home_page": null,
"name": "pylukeroberts",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.14,>=3.10",
"maintainer_email": null,
"keywords": "bluetooth, BLE, luvo, control, Luke Roberts",
"author": "Timur Pulathaneli",
"author_email": "timur@koeln.de",
"download_url": "https://files.pythonhosted.org/packages/4f/75/61f51f78c675a422aef653e31f2cdb2b4f09404878a33b303a95565e0e49/pylukeroberts-0.3.0.tar.gz",
"platform": null,
"description": "# pyLukeRoberts\n\nThis library enables control of Luke Roberts Luvo lamps via Bluetooth Low Energy. It was written as a library to power a future Home Assistant Plug-In.\n\n\n\n## Table of Contents\n\n- [Capabilities](#capabilities)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n- [Contact](#contact)\n\n## Capabilities\n* Discover Luke Roberts Luvo lamps\n* Switch Lamps On/Off\n* Read all configured scenes\n* Read current scene\n* Change scene\n* Change Color for Uplight\n\nFuture Features\n* Change Brightness\n* Change Color Temperature for Downlight and Uplight\n\n\n## Installation\n\n\n```bash\n# Install via pypi\npip install pylukeroberts\n```\n\n## Dependencies\n\npyLukeRoberts uses bleak for Bluetooth Low Energy connectivity\n\n## Usage\n\nExample from `examples/set_scene.py`\n\n```python\nfrom pylukeroberts import LUVOLAMP, find_lamp\nimport asyncio\n\nasync def main():\n # try:\n lamp_address = await find_lamp()\n print(f\"Found Luke Roberts Lamp at address: {lamp_address}\")\n lamp = LUVOLAMP(lamp_address)\n await lamp.update_scenes()\n await lamp.update_current_scene()\n print (f'{lamp.get_current_scene()} with ID: {lamp.get_current_scene(True)}')\n await lamp.select_scene(12)\n await lamp.switch_off()\n\nif __name__ == \"__main__\":\n asyncio.run(main())\n```\n\n## Contributing\n\nGuidelines for contributing to the project.\n\n1. Fork the repository.\n2. Create a new branch (`git checkout -b feature-branch`).\n3. Make your changes.\n4. Commit your changes (`git commit -m 'Add some feature'`).\n5. Push to the branch (`git push origin feature-branch`).\n6. Open a pull request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contact\n\nTimur Pulathaneli - [timur@koeln.de](mailto:timur@koeln.de)\n\nProject Link: [https://github.com/tpulatha/pylukeroberts](https://github.com/tpulatha/pylukeroberts)\n",
"bugtrack_url": null,
"license": null,
"summary": "A library to control Luke Roberts lamps via Bluetooth Low Energy",
"version": "0.3.0",
"project_urls": null,
"split_keywords": [
"bluetooth",
" ble",
" luvo",
" control",
" luke roberts"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f332e8d926dd68627b6d414f8504ea5362e78e8ed675fb7e7a7c2b6673a6e617",
"md5": "0db7becd4a28e85e7526eeca02379abe",
"sha256": "f5b87c3cdcd9e3deea992bbd55f8b3d2192b87167131a67424f8e853c51b17f2"
},
"downloads": -1,
"filename": "pylukeroberts-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0db7becd4a28e85e7526eeca02379abe",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14,>=3.10",
"size": 5592,
"upload_time": "2025-07-16T21:17:56",
"upload_time_iso_8601": "2025-07-16T21:17:56.122816Z",
"url": "https://files.pythonhosted.org/packages/f3/32/e8d926dd68627b6d414f8504ea5362e78e8ed675fb7e7a7c2b6673a6e617/pylukeroberts-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4f7561f51f78c675a422aef653e31f2cdb2b4f09404878a33b303a95565e0e49",
"md5": "693b85864b969f1d79418887ceae94c7",
"sha256": "6707e6ae0eef576311ecad49563fa6f2eee224303399419d13d4fceb030cd96e"
},
"downloads": -1,
"filename": "pylukeroberts-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "693b85864b969f1d79418887ceae94c7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.10",
"size": 4526,
"upload_time": "2025-07-16T21:17:57",
"upload_time_iso_8601": "2025-07-16T21:17:57.307511Z",
"url": "https://files.pythonhosted.org/packages/4f/75/61f51f78c675a422aef653e31f2cdb2b4f09404878a33b303a95565e0e49/pylukeroberts-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-16 21:17:57",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pylukeroberts"
}