README.md in xilight-0.1.2 vs README.md in xilight-0.1.5
- old
+ new
@@ -1,10 +1,10 @@
-# Yeelight
+# Xilight
-Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/xilight`. To experiment with that code, run `bin/console` for an interactive prompt.
+Xilight provides a Ruby library and a CLI interface to control your Xiaomi Yeelight programmatically.
-TODO: Delete this and the text above, and describe your gem
+**Note**: It requires your yeelight to be configured to [development mode](https://www.yeelight.com/en_US/developer).
## Installation
Add this line to your application's Gemfile:
@@ -20,17 +20,236 @@
$ gem install xilight
## Usage
-TODO: Write usage instructions here
+### Library
+Read the API docs [here](https://rubydoc.info/github/wouterken/xilight/master/Xilight/Yeelight).
+
+### CLI
+
+#### Help
+
+ yee -h
+
+#### Discovery
+ Command:
+ yee discover
+
+ Usage:
+ yee discover
+
+ Description:
+ Discover Yeelights and save to ~/.config/.yeelights
+
+ Options:
+ --help, -h # Print this help
+
+ Examples:
+ yee discover
+
+#### List Lights
+
+ Command:
+ yee list
+
+ Usage:
+ yee list
+
+ Description:
+ List known Yeelights
+
+ Options:
+ --help, -h # Print this help
+
+ Examples:
+ yee list
+
+#### Set Light Name
+
+ Command:
+ yee name
+
+ Usage:
+ yee name NAME
+
+ Description:
+ Set name for Yeelight
+
+ Arguments:
+ NAME # REQUIRED Name to set for light
+
+ Options:
+ --light=VALUE, -l VALUE # ID/index of Yeelight to target, default: "0"
+ --help, -h # Print this help
+
+ Examples:
+ yee name name -l 1 foo # Set the name for light#1 to "foo"
+
+
+#### Set RGB
+
+ Command:
+ yee rgb
+
+ Usage:
+ yee rgb R G B
+
+ Description:
+ Set RGB for Yeelight
+
+ Arguments:
+ R # REQUIRED Red (0-255)
+ G # REQUIRED Green (0-255)
+ B # REQUIRED Blue (0-255)
+
+ Options:
+ --light=VALUE, -l VALUE # ID/index of Yeelight to target, default: "0"
+ --name=VALUE, -n VALUE # Name of Yeelight to target
+ --help, -h # Print this help
+
+ Examples:
+ yee rgb 255 0 0 # set light to red (red 255, green 0, blue 0)
+ yee rgb 0 0 180 -n foo# set light with name foo to blue (red 0, green 0, blue 180)
+ yee rgb 255 255 255 -l 3# set light #3 to white (red 255, green 255, blue 255)
+
+
+#### Brightness
+
+ Command:
+ yee bright
+
+ Usage:
+ yee bright BRIGHTNESS
+
+ Description:
+ Set Brightness for Yeelight
+
+ Arguments:
+ BRIGHTNESS # REQUIRED Brightness (0-100)
+
+ Options:
+ --light=VALUE, -l VALUE # ID/index of Yeelight to target, default: "0"
+ --name=VALUE, -n VALUE # Name of Yeelight to target
+ --help, -h # Print this help
+
+ Examples:
+ yee bright 100 # full brightness
+ yee bright 50 -n foo # 50% brightness for light with name foo
+ yee bright 25 -l 3 # 25% brightness for light#3
+
+#### Set HSV
+
+ Command:
+ yee hsv
+
+ Usage:
+ yee hsv H S
+
+ Description:
+ Set HSV for Yeelight
+
+ Arguments:
+ H # REQUIRED Hue (0-359)
+ S # REQUIRED Saturation (0-100)
+
+ Options:
+ --light=VALUE, -l VALUE # ID/index of Yeelight to target, default: "0"
+ --name=VALUE, -n VALUE # Name of Yeelight to target
+ --help, -h # Print this help
+
+ Examples:
+ yee hsv 180 40 # set hue to 180 and saturation to 40
+ yee hsv 200 20 -n foo# set light with name foo to hue: 200, saturation: 20
+ yee hsv 359 90 -l 3# set light #3 to hue: 359, saturation: 90
+
+#### Turn Off
+
+ Command:
+ yee off
+
+ Usage:
+ yee off
+
+
+ Description:
+ Turn Off Yeelight
+
+ Options:
+ --light=VALUE, -l VALUE # ID/index of Yeelight to target, default: "0"
+ --name=VALUE, -n VALUE # Name of Yeelight to target
+ --help, -h # Print this help
+
+ Examples:
+ yee off # turn default/first light off
+ yee off -n kitchen # turn light with name 'kitchen' off
+ yee off -l 3 # turn light #3 off
+
+#### Turn On
+ Command:
+ yee on
+
+ Usage:
+ yee on
+
+ Description:
+ Turn on Yeelight
+
+ Options:
+ --light=VALUE, -l VALUE # ID/index of Yeelight to target, default: "0"
+ --name=VALUE, -n VALUE # Name of Yeelight to target
+ --help, -h # Print this help
+
+ Examples:
+ yee on # turn default/first light on
+ yee on -n kitchen # turn light with name 'kitchen' on
+ yee on -l 3 # turn light #3 on
+
+#### Toggle
+
+ Command:
+ yee toggle
+
+ Usage:
+ yee toggle
+
+ Description:
+ Toggle Yeelight
+
+ Options:
+ --light=VALUE, -l VALUE # ID/index of Yeelight to target, default: "0"
+ --name=VALUE, -n VALUE # Name of Yeelight to target
+ --help, -h # Print this help
+
+ Examples:
+ yee toggle # toggle default/first light
+ yee toggle -n kitchen # toggle light with name 'kitchen'
+ yee toggle -l 3 # toggle light #3
+
+#### Version
+
+ Command:
+ yee version
+
+ Usage:
+ yee version
+
+ Description:
+ Print version
+
+ Options:
+ --help, -h # Print this help
+
+ Examples:
+ yee version
+
## Development
After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Contributing
-Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/xilight. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
+Bug reports and pull requests are welcome on GitHub at https://github.com/wouterken/xilight. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.