new and improved Resolver.
This commit is contained in:
+23
-29
@@ -6,16 +6,16 @@ import (
|
||||
"git.aiterp.net/lucifer3/server/commands"
|
||||
"git.aiterp.net/lucifer3/server/device"
|
||||
"git.aiterp.net/lucifer3/server/events"
|
||||
"git.aiterp.net/lucifer3/server/internal/color"
|
||||
"git.aiterp.net/lucifer3/server/internal/gentools"
|
||||
"git.aiterp.net/lucifer3/server/services"
|
||||
"log"
|
||||
"time"
|
||||
)
|
||||
|
||||
func main() {
|
||||
bus := lucifer3.EventBus{}
|
||||
|
||||
bus.Join(services.Resolver())
|
||||
resolver := services.NewResolver()
|
||||
bus.Join(resolver)
|
||||
|
||||
bus.RunEvent(events.Connected{Prefix: "nanoleaf:10.80.1.11"})
|
||||
|
||||
@@ -32,24 +32,25 @@ func main() {
|
||||
}
|
||||
|
||||
bus.RunCommand(commands.ReplaceScene{
|
||||
IDs: []string{"lucifer:name:Hexagon*"},
|
||||
Match: "lucifer:name:Hex*",
|
||||
SceneID: 7,
|
||||
})
|
||||
|
||||
time.Sleep(time.Second / 4)
|
||||
time.Sleep(time.Second / 8)
|
||||
|
||||
for _, id := range []string{"nanoleaf:10.80.1.11:e28c", "nanoleaf:10.80.1.11:67db", "nanoleaf:10.80.1.11:f744", "nanoleaf:10.80.1.11:d057", "nanoleaf:10.80.1.11:73c1"} {
|
||||
bus.RunCommand(commands.SetState{
|
||||
ID: id,
|
||||
State: device.State{
|
||||
Power: gentools.Ptr(true),
|
||||
Intensity: gentools.Ptr(0.75),
|
||||
Color: gentools.Ptr(color.MustParse("xy:0.3209,0.1542")),
|
||||
},
|
||||
})
|
||||
}
|
||||
bus.RunCommand(commands.AddAlias{
|
||||
Match: "nanoleaf:10.80.1.{11,7,16,5}:*",
|
||||
Alias: "lucifer:tag:Magic Lamps",
|
||||
})
|
||||
|
||||
time.Sleep(time.Second / 2)
|
||||
time.Sleep(time.Second / 8)
|
||||
|
||||
bus.RunCommand(commands.ReplaceScene{
|
||||
Match: "lucifer:name:Hex*",
|
||||
SceneID: 7,
|
||||
})
|
||||
|
||||
time.Sleep(time.Second / 8)
|
||||
|
||||
bus.RunEvent(events.HardwareState{
|
||||
ID: "nanoleaf:10.80.1.11:40e5",
|
||||
@@ -58,21 +59,14 @@ func main() {
|
||||
ColorFlags: device.CFlagRGB,
|
||||
State: device.State{},
|
||||
})
|
||||
bus.RunCommand(commands.ReplaceScene{
|
||||
IDs: []string{"lucifer:name:Hexagon*"},
|
||||
SceneID: 7,
|
||||
})
|
||||
|
||||
time.Sleep(time.Second / 4)
|
||||
time.Sleep(time.Second / 8)
|
||||
|
||||
bus.RunCommand(commands.SetState{
|
||||
ID: "nanoleaf:10.80.1.11:40e5",
|
||||
State: device.State{
|
||||
Power: gentools.Ptr(true),
|
||||
Intensity: gentools.Ptr(0.75),
|
||||
Color: gentools.Ptr(color.MustParse("xy:0.3209,0.1542")),
|
||||
},
|
||||
})
|
||||
log.Println("Search \"**:Hexagon {1,5,6}\"")
|
||||
for _, dev := range resolver.Resolve("lucifer:name:Hexagon {1,5,6}") {
|
||||
log.Println("- ID:", dev.ID)
|
||||
log.Println(" Aliases:", dev.Aliases)
|
||||
}
|
||||
|
||||
time.Sleep(time.Second / 4)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user