rework color system and make it work with drivers.
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
+11
-39
@@ -1,49 +1,21 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.aiterp.net/lucifer/new-server/internal/drivers/hue2"
|
||||
"git.aiterp.net/lucifer/new-server/models"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
client := hue2.NewClient("10.80.8.8", "o2XKGgmVUGNBghYFdLUCVuinOTMxFH4pHV9PuTbU")
|
||||
bridge := hue2.NewBridge(client)
|
||||
|
||||
err := bridge.RefreshAll(context.Background())
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
j, _ := json.Marshal(bridge.GenerateDevices())
|
||||
fmt.Println(string(j))
|
||||
|
||||
ch := make(chan models.Event)
|
||||
go func() {
|
||||
for event := range ch {
|
||||
log.Println("EVENT", event.Name, event.Payload)
|
||||
}
|
||||
}()
|
||||
|
||||
for i, dev := range bridge.GenerateDevices() {
|
||||
device := dev
|
||||
switch device.InternalID {
|
||||
case "6d5a45b0-ec69-4417-8588-717358b05086":
|
||||
c, _ := models.ParseColorValue("xy:0.22,0.18")
|
||||
device.State.Color = c
|
||||
device.State.Intensity = 0.3
|
||||
case "a71128f4-5295-4ae4-9fbc-5541abc8739b":
|
||||
c, _ := models.ParseColorValue("k:6500")
|
||||
device.State.Color = c
|
||||
device.State.Intensity = 0.2
|
||||
}
|
||||
|
||||
device.ID = i + 1
|
||||
bridge.Update(device)
|
||||
}
|
||||
|
||||
err = bridge.Run(context.Background(), ch)
|
||||
log.Println(err)
|
||||
cv, _ := models.ParseColorValue("rgb:#fff")
|
||||
hs, _ := cv.ToHS()
|
||||
log.Println(cv.String())
|
||||
log.Println(hs.String())
|
||||
xy, _ := hs.ToXY()
|
||||
log.Println(xy.String())
|
||||
}
|
||||
|
||||
func toJSON(v interface{}) string {
|
||||
j, _ := json.Marshal(v)
|
||||
return string(j)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user