This package makes it possible to control many types of led strips with the command line, using the mqtt-leds-lib library
Project description
mqtt-leds
Overview
mqtt-leds is a Python package designed to control multiple types of LED strips using MQTT, making it easier to integrate lighting controls with the Home Assistant platform.
Currently specific to the GPIO pins of the Raspberry Pi but I intend to abstract that part of the code to make it work on any platform.
Current requirements
- A raspberry PI, since the package directly refer to the GPIO pins for data transmission, and ensure you have the necessary permissions to access them (Root access) How to set up the lights with the Raspberry Pi
- Homeassistant instance
- An MQTT broker to facilitate communication between the Home Assistant and the WS2811 LED strips
Local Installation (Options 1)
Use Poetry to install the package:
poetry install
PyPI Installation (Option 2) - Recommended
The mqtt-leds package is also published on PyPI, allowing you to easily install it using pip. This enables seamless integration into projects without using Poetry.
pip install mqtt-leds
Usage
Here's a quick example on how to use mqtt-leds in your project:
env file
Multiple ways of doing this:
- You can pass the env vars directly to the executable
- example:
MQTT_BROKER=192.168.0.100 MQTT_PORT=1883 ... mqtt-leds
- create an env file where the script is run, and it will automatically be loaded
- Pass the path to your env file as an Environment variable:
WS2811_ENV_PATHand it will read from there. (Recommended)
NUM_LEDS = 50
MQTT_BROKER = "192.168.0.123"
MQTT_PORT = 1883
MQTT_USER = "your_user"
MQTT_PASS = "your_password"
MQTT_UID = "ws2811-1"
Explanation of Environment Variables:
- NUM_LEDS: This variable sets the number of LEDs in your strip. It's essential to configure this correctly to ensure that the program knows how many LEDs it needs to control.
- MQTT_BROKER: This is the IP address of your MQTT broker. The broker is responsible for managing the communication between the different parts of your system.
- MQTT_PORT: The port on which the MQTT broker is running. The default MQTT port is 1883, but this might need to be changed if your setup uses a different configuration.
- MQTT_USER: The username required to authenticate with the MQTT broker.
- MQTT_PASS: The password for the given MQTT user. It's used alongside the username
- MQTT_UID: A unique identifier for this particular WS2811 LED controller instance. This is used so the broker and corresponding systems know where messages should be routed.
Script arguments
usage: mqtt-leds [-h] [-v]
Control the LED strip with MQTT and API
options:
-h, --help show this help message and exit
-v, --verbosity increase output verbosity, each v adds a verbosity level, (ex: -vvv)
Running the script
if installed locally:
poetry run mqtt-leds
if installed as package
mqtt-leds
Troubleshooting
Make sure to have configured all env vars properly.
If you encounter issues, check the MQTT broker connection and ensure the LED strip is properly connected.
You can debug using the -v option to increase verbosity and get more detailed logs.
If the problem persists, you can also check homeassistant logs.
You can open an issue, I will be happy to look into it.
Contributing
Contributions are welcome! Please submit a pull request or file an issue for any enhancements.
License
mqtt-leds is licensed under the Apache License 2.0.
Support
For issues or questions, please open an issue in this repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mqtt_leds_cli-1.0.0rc2.tar.gz.
File metadata
- Download URL: mqtt_leds_cli-1.0.0rc2.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.10.18 Linux/6.17.11-200.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a080b4f91b590134f38cef475003cd7bf2ce953e71248eb051b53351cb1185a
|
|
| MD5 |
ca76b76e76651da95dc11dbbae86d19f
|
|
| BLAKE2b-256 |
164ada1054ac7d4c2e0c1f1f3d2e5325fcc76107e82c9c41640cb69d0af3b6c0
|
File details
Details for the file mqtt_leds_cli-1.0.0rc2-py3-none-any.whl.
File metadata
- Download URL: mqtt_leds_cli-1.0.0rc2-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.10.18 Linux/6.17.11-200.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c222b20241393d4cdfe4a1de93e247b995a2e87be378fbe35e6d7020a8a67bd
|
|
| MD5 |
a4b44e79af104567741728754a30888c
|
|
| BLAKE2b-256 |
a0d176f23e6ef07e47c9b64b0feef6167bdbcfd0ab3ad02d1f15647c9834ac85
|