# 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
Future Features
* Change Brightness
* Change Color Temperature for Downlight and Uplight
* Change Color for 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.13",
"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/8a/53/d3cb38958af97f970d5961da13d68725eb2f816bf218ee97d58f4128829e/pylukeroberts-0.1.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\nFuture Features\n* Change Brightness\n* Change Color Temperature for Downlight and Uplight\n* Change Color for Uplight\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)",
"bugtrack_url": null,
"license": null,
"summary": "A library to control Luke Roberts lamps via Bluetooth Low Energy",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [
"bluetooth",
" ble",
" luvo",
" control",
" luke roberts"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1fb32d40039c3852387ccc76e13167f6efb78ed0b7c08a8e353ac63ef2442fa0",
"md5": "115964d2788763df3eafa338f4875501",
"sha256": "0e26202b01c005648f3c7b723ccae38414fa1ebcaad231ac8a495bae74f7c95a"
},
"downloads": -1,
"filename": "pylukeroberts-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "115964d2788763df3eafa338f4875501",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14,>=3.13",
"size": 4438,
"upload_time": "2025-01-02T21:53:29",
"upload_time_iso_8601": "2025-01-02T21:53:29.855972Z",
"url": "https://files.pythonhosted.org/packages/1f/b3/2d40039c3852387ccc76e13167f6efb78ed0b7c08a8e353ac63ef2442fa0/pylukeroberts-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8a53d3cb38958af97f970d5961da13d68725eb2f816bf218ee97d58f4128829e",
"md5": "1c34b4f9373da94ac8b9ddb45f261392",
"sha256": "d4f3873a24c3513c7f0006bbe5586deb06b5049f340537856c05713a052524bc"
},
"downloads": -1,
"filename": "pylukeroberts-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "1c34b4f9373da94ac8b9ddb45f261392",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.13",
"size": 3757,
"upload_time": "2025-01-02T21:53:32",
"upload_time_iso_8601": "2025-01-02T21:53:32.408991Z",
"url": "https://files.pythonhosted.org/packages/8a/53/d3cb38958af97f970d5961da13d68725eb2f816bf218ee97d58f4128829e/pylukeroberts-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-02 21:53:32",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pylukeroberts"
}