add support for invoking and assigning scenes by name.
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
+12
-5
@@ -93,15 +93,22 @@ func sceneCmd(
|
||||
{
|
||||
fetch := cmd.Params.Get(0).String()
|
||||
id := cmd.Params.Get(1).Int()
|
||||
if fetch == nil || id == nil {
|
||||
log.Println("Usage: lucy scene assign <fetch> <id> <group=S> <duration=I>")
|
||||
name := cmd.Params.Get(1).String()
|
||||
if fetch == nil || (id == nil && name == nil) {
|
||||
log.Println("Usage: lucy scene assign <fetch> <id|name> <group=S> <duration=I>")
|
||||
}
|
||||
|
||||
devices, err := c.AssignDevice(ctx, *fetch, cmd.Name == "push", models.DeviceSceneAssignment{
|
||||
SceneID: *id,
|
||||
assignment := models.DeviceSceneAssignment{
|
||||
Group: cmd.Params.Get("group").StringOr(*fetch),
|
||||
DurationMS: int64(cmd.Params.Get("duration").IntOr(0)),
|
||||
})
|
||||
}
|
||||
if id != nil {
|
||||
assignment.SceneID = *id
|
||||
} else {
|
||||
assignment.SceneName = *name
|
||||
}
|
||||
|
||||
devices, err := c.AssignDevice(ctx, *fetch, cmd.Name == "push", assignment)
|
||||
if err != nil {
|
||||
log.Println("Could not assign devices:", err)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user