Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/2tvenom/golifx
Golang LIFX library
https://github.com/2tvenom/golifx
Last synced: 3 days ago
JSON representation
Golang LIFX library
- Host: GitHub
- URL: https://github.com/2tvenom/golifx
- Owner: 2tvenom
- License: wtfpl
- Created: 2015-09-27T13:33:39.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-11-28T08:34:38.000Z (almost 6 years ago)
- Last Synced: 2024-06-18T20:06:56.280Z (5 months ago)
- Language: Go
- Homepage:
- Size: 51.8 KB
- Stars: 32
- Watchers: 4
- Forks: 12
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Go LIFX library
Pure Go Implementation of LIFX protocol. This allow you to lookup bulbs, change color, power and receive info. This code has been developed and maintained by Ven at September 2015.
![gopher](https://github.com/2tvenom/golifx/raw/master/gopher.png)
## Installation
```bash
go get github.com/2tvenom/golifx
```## Example
```go
package mainimport (
"fmt"
"github.com/2tvenom/golifx"
"time"
)func main() {
//Lookup all bulbs
bulbs, _ := golifx.LookupBulbs()
//Get label
location, _ := bulbs[0].GetLabel()fmt.Printf("Label: %s\n", location) //Ven LIFX
//Get power state
powerState, _ := bulbs[0].GetPowerState()//Turn if off
if !powerState {
bulbs[0].SetPowerState(true)
}ticker := time.NewTicker(time.Second)
counter := 0hsbk := &golifx.HSBK{
Hue: 2000,
Saturation: 13106,
Brightness: 65535,
Kelvin: 3200,
}
//Change color every second
for _ = range ticker.C {
bulbs[0].SetColorState(hsbk, 500)
counter++
hsbk.Hue += 5000
if counter > 10 {
ticker.Stop()
break
}
}
//Turn off
bulbs[0].SetPowerState(false)
}```
## Links
- LIFX protocol specification http://lan.developer.lifx.com/
- Community https://community.lifx.com/c/developing-with-lifx## Licence
[WTFPL](http://www.wtfpl.net/)