Skip to main content

CLI utility for controlling smart lamps

Project description

Lampctl

PyPI Test

A small CLI utility for controlling smart lamps.

Icon

Currently only Philips Hue lamps are supported, but adding support for other backends is easy.

Usage

To use, first create the file ~/.config/lampctl/config.json pointing to your lamp systems:

{
  "systems": [
    {
      "type": "hue",
      "bridge-ip": "your.ip.here"
    }
  ],
  "default-lamp": "My Lamp"
}

If no default-lamp is set you can use the environment variable DEFAULT_LAMP or -n to select a lamp to control.

Now you can use the CLI to control your lamps. For example:

lampctl on               # turn selected lamp on
lampctl off              # turn selected lamp off
lampctl toggle           # toggle selected lamps
lampctl color blue       # set selected lamps to blue
lampctl dim 50           # dim selected lamps to 50%
lampctl --all on         # turn all lamps on
lampctl list             # list all lamps
lampctl status           # list selected lamps
lampctl -n "My Lamp" on  # turn lamp with name `MyLamp` on

Development

  • Optionally setup a virtual environment:
    • Create a venv using python3 -m venv venv
    • Activate the venv using source venv/bin/activate
  • Make sure that Wheel is installed using pip3 install wheel
  • Finally install the dependencies with pip3 install -r requirements.txt
  • Now you can run lampctl with python3 -m lampctl ...
  • To run the test suite, invoke python3 -m unittest in this directory

Installation

  • First make sure you are not in a virtual environment
  • Then run pip3 install .
  • If your Python packages are available on your PATH you should now be able to invoke lampctl from anywhere

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

lampctl-0.1.2.tar.gz (8.8 kB view details)

Uploaded Source

File details

Details for the file lampctl-0.1.2.tar.gz.

File metadata

  • Download URL: lampctl-0.1.2.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for lampctl-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0d3623f2ecaae198f39e10b1ff5738fe8994d561cfab945e042c807c206fcfd9
MD5 59553a43cadf319010d33508b8c3d0b3
BLAKE2b-256 7d82a6a9df2725a75e729718bd3bc0bb0c482b0bb93cbd1dfe58c8ba308755b8

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