Skip to main content

Python TUI for controlling Yeelights

Project description

yeectl

Yeectl is a Python TUI for controlling Yeelights. It uses the Yeelight Python library to control the lights, and py-cui to create an interface.

Installation

To install remotely using pip:

pip install yeectl

To install from source using using pip:

git clone https://github.com/Bean499/yeectl
cd yeectl
pip install .

Usage

Run python -m yeectl.

The colours displayed in the bottom right will be loaded from ~/.xresources and ~/.config/yeectl/.

The names of each light will be determined by the custom name set for their IP addresses. If a light does not have a custom name, it will be given a default name based on its model. If there is no set name for its model, it will simply be called "Yeelight".

Setting Custom Names for Lights

yeectl reads the file ~/.config/yeectl/lights to check for custom light names. Light IP addresses should be seperated from their name by a colon and a space.

Example ~/.config/yeectl/lights:

0.0.0.0: Bedroom light
0.0.0.1: Desk lightstrip

Importing Colours from XResources

yeectl will import any colours from ~/.xresources that are set as *.color followed by anything.

Importing Custom Colours

yeectl will import any custom colours from ~/.config/yeectl/colours ~/.config/yeectl/colors. Colour names should be seperated from their hexadecimal value by a colon and a space.

Example ~/.config/yeectl/colours:

Red: #ff0000
Green: #00ff00
Blue: #0000ff

Todo

  • Add a hotkey to show the IP address of a light
  • Allow the user to manually name lights using a configuration file
  • Load colours from $XDG_CONFIG_HOME instead of ~/.config

License

yeectl is licensed under the MIT license.

Changelog

0.0.3

  • Added ability to set custom light names
  • Fixed a crash that would occur when a model doesn't have a set display name

0.0.2

  • Fixed a few crashes

0.0.1

  • First release

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

yeectl-0.0.3.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

yeectl-0.0.3-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file yeectl-0.0.3.tar.gz.

File metadata

  • Download URL: yeectl-0.0.3.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for yeectl-0.0.3.tar.gz
Algorithm Hash digest
SHA256 45c8bd2099494cba4340aab524d5980ec3e934b30c17777d68153697d1271299
MD5 8614a29a061ed8efab233b4b40c18016
BLAKE2b-256 7c6e356338082d995f0eefae72648a13bb6291d403d1b2aea43f3b0917efd0bb

See more details on using hashes here.

File details

Details for the file yeectl-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: yeectl-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for yeectl-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6f58c4c36bcc84a53d6569f9f8683a25238f5d69088d81018396339c120c03c7
MD5 b77932471bb0664ce002a2c53de7eb48
BLAKE2b-256 3f58d4a86e22c3f4def8df97816a7dfd6d193e72ad36856821f324452b09d3eb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page