Giter Club home page Giter Club logo

lifxsh's Introduction

lifxsh

Node.js based command line interface for controlling LIFX lamps. Uses the LIFX LAN protocol for communication.

lifxsh example screenshot

Release notes

Version 1.0.0

  • replace spaces with dashes for light aliases used to avoid using quotes when addressing lights so for example "Kitchen Table" becomes "kitchen-table"
  • include light alias in the output of list
  • parse duration in natural language, e.g. on kitchen-table -d 5m
  • update lifx-lan-client to v1.1.0 to support newer products
  • fix stale cached light status issue
  • fix unhandled promise warning

Version 0.10.0

  • fix npm audit issues

Version 0.9.1

  • remove babel transpilation
  • update dependencies

Version 0.8.1

  • add support for listing known light addresses in $HOME/.lifxsh/settings.yml
  • fix bug on tab complete

Version 0.8.0

  • preliminary support for MultiZone lights with "zone" command

Version 0.7.0

  • preliminary infrared LED support added (brightness can be changed but the light list information still needs to be updated)

Version 0.6.x

  • works with all current LIFX products (no support for LIFX+ or LIFX Z special features yet)
  • uses LAN protocol (fast/responsive) - thanks MariusRumpf/node-lifx!
  • interactive color CLI - thanks dthree/vorpal!
    • in-app help
    • tab completion of light names (lowercase form based on given labels)
    • command history
    • logs individual bulb/strip online/offline statuses
    • list all lights with power state, color information and IP address
    • multiple light names can be listed to set all at once
    • alias all can be used to target all lights, alternatively name can be omitted
    • caches the previous color properties fetched from lights to allow changing only single attribute (LAN protocol defines hue/saturation/brightness need to always be sent together)
  • supports most LIFX functionalities
    • on/off toggle with optional transition delay
    • change color using hue/saturation/brightness and luminosity (kelvin) (with optional transition delay)

Planned features

  • show light type in listing
  • configuration file
    • alias names for lights
    • aliases for light groups
    • presets
  • in-app saving of aliases/presets

Known issues

  • after tab completion, sometimes first press of backspace does not register

Install using NPM

Global (might require sudo)

npm install --global lifxsh

Local

npm install lifxsh

Usage

  1. Run lifxsh (global install) or node_modules/.bin/lifxsh (local install)
  2. Type help

lifxsh's People

Contributors

dependabot[bot] avatar fkistner avatar ristomatti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

fkistner

lifxsh's Issues

No ligths shown on list

Hello, thank you for developing this :)

Although i do not seem to have any lights listing, they do appear on the official app though.
I tried both a global install and a local install, the light model is LIFX(A19) and i also tried to reset the light itself.

~ lifxsh 
LIFX> list
Label Alias Power Hue Sat. Bri. Temp. ID IP 
LIFX> 

Any hints as why no lights show up, no errors are thrown.

Maybe you can provide a sample for the settings.yml file so i can replicate with my own manually?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.