Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ristomatti/lifxsh
Node.js based command line interface for controlling LIFX lamps that communicates using the LIFX LAN protocol.
https://github.com/ristomatti/lifxsh
Last synced: 8 days ago
JSON representation
Node.js based command line interface for controlling LIFX lamps that communicates using the LIFX LAN protocol.
- Host: GitHub
- URL: https://github.com/ristomatti/lifxsh
- Owner: ristomatti
- License: mit
- Created: 2015-11-22T15:00:10.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-02-20T14:08:10.000Z (10 months ago)
- Last Synced: 2024-12-11T20:42:31.691Z (13 days ago)
- Language: JavaScript
- Size: 473 KB
- Stars: 10
- Watchers: 5
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lifxsh
Node.js based command line interface for controlling LIFX lamps. Uses the LIFX
LAN protocol for communication.![lifxsh example
screenshot](https://raw.githubusercontent.com/ristomatti/lifxsh/master/example-screenshot.png)## 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](https://github.com/MariusRumpf/node-lifx)!
- interactive color CLI - thanks
[dthree/vorpal](https://github.com/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)
```sh
npm install --global lifxsh
```### Local
```sh
npm install lifxsh
```## Usage
1. Run `lifxsh` (global install) or `node_modules/.bin/lifxsh` (local install)
2. Type `help`