Skip to main content

This package makes it possible to control various types of LED strips with a homeassistant mqtt instance

Project description

dumb_led_mqtt

Overview

dumb_led_mqtt is a Python package designed to control Dumb RGB 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 Dumb RGB LED strips

Local Installation (Options 1)

Use Poetry to install the package:

poetry install

PyPI Installation (Option 2) - Recommended

The dumb_led_mqtt 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 dumb_led_mqtt

Usage

Here's a quick example on how to use dumb_led_mqtt in your project:

env file

Multiple ways of doing this:

  1. You can pass the env vars directly to the executable
  • example: MQTT_BROKER=192.168.0.100 MQTT_PORT=1883 ... dumb-led-mqtt
  1. create an env file where the script is run, and it will automatically be loaded
  2. Pass the path to your env file as an Environment variable: Dumb RGB_ENV_PATH and it will read from there. (Recommended)
MQTT_BROKER = "192.168.0.123"
MQTT_PORT = 1883
MQTT_USER = "your_user"
MQTT_PASS = "your_password"
MQTT_UID = "dumb-rgb-1"

Explanation of Environment Variables:

  • 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 Dumb RGB LED controller instance. This is used so the broker and corresponding systems know where messages should be routed.

Script arguments

usage: dumb-led-mqtt [-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 dumb_led_mqtt

if installed as package

dumb_led_mqtt

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

dumb_led_mqtt is licensed under the Apache License 2.0.

Support

For issues or questions, please open an issue in this repository.

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

rgb_mqtt-1.0.0rc1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

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

rgb_mqtt-1.0.0rc1-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file rgb_mqtt-1.0.0rc1.tar.gz.

File metadata

  • Download URL: rgb_mqtt-1.0.0rc1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.0 CPython/3.13.1 Linux/6.12.10-200.fc41.x86_64

File hashes

Hashes for rgb_mqtt-1.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 e55abeed7cb54b12fd22ad9f9797a2687c29c7916b3174c05e22d7a1d01639b7
MD5 044794267a1624cd6c4f1022272ebdb5
BLAKE2b-256 4be7c85e8e55cab403e543415aeaa02512b787ab2acf0351c7d6955828dec633

See more details on using hashes here.

File details

Details for the file rgb_mqtt-1.0.0rc1-py3-none-any.whl.

File metadata

  • Download URL: rgb_mqtt-1.0.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.0 CPython/3.13.1 Linux/6.12.10-200.fc41.x86_64

File hashes

Hashes for rgb_mqtt-1.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 12d3cf6d9984dcb2e0b36daea8c2e74de02d6fdbc75f5ee2e063840a709cf09f
MD5 8c7bd092357cbde00d4565bde37fb030
BLAKE2b-256 f4651868d6a77a14b67201e5df00b7f01da41b194a8b2baee5fae855752f4180

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