An extensive Philips Hue client library for Go
with an emphasis on simplicity. It is designed to be clean, unbloated and extensible. With Huego
you can interact with any Philips Hue bridge and its resources including Lights
, Groups
, Scenes
, Sensors
, Rules
, Schedules
, Resourcelinks
, Capabilities
and Configuration
.
Get the package and import it in your code.
go get github.com/amimof/huego
You may use New()
if you have already created an user and know the IP address to your bridge.
package main
import (
"github.com/amimof/huego"
"fmt"
)
func main() {
bridge := huego.New("192.168.1.59", "username")
l, err := bridge.GetLights()
if err != nil {
panic(err)
}
fmt.Printf("Found %d lights", len(l))
}
Or discover a bridge on your network with Discover()
and create a new user with CreateUser()
. To successfully create a user, the link button on your bridge must have been pressed before calling CreateUser()
in order to authorise the request.
func main() {
bridge, _ := huego.Discover()
user, _ := bridge.CreateUser("my awesome hue app") // Link button needs to be pressed
bridge = bridge.Login(user)
light, _ := bridge.GetLight(3)
light.Off()
}
See godoc.org/github.com/amimof/huego for the full package documentation.
All help in any form is highly appreciated and your are welcome participate in developing Huego
together. To contribute submit a Pull Request
. If you want to provide feedback, open up a Github Issue
or contact me personally.