【问题标题】:Basic Transition Issues基本过渡问题
【发布时间】:2020-04-20 03:34:04
【问题描述】:

我正在尝试编写一个基本脚本,它使用远程 API 来打开我的灯,然后将它们转换为某种颜色。使用自定义 SDK 执行此操作的代码如下所示:

    group.SetState(hue.State{On: true, Bri: 0, Hue: 4000, TransitionTime: 0})
    time.Sleep(1 * time.Second)
    group.SetState(hue.State{TransitionTime: 300, Bri: 254, Hue: 11500, Sat: 0})

每个SetState 调用都会调用组命令API。看起来很简单,但我有几个问题:

  1. 除非我先调暗灯光然后再将其关闭(或调用 Hue Labs 的“电影”公式),否则当我调用此代码时,灯光会以之前的亮度亮起,似乎忽略了第一个 setState打电话。
  2. 忽略过渡的亮度和饱和度。它所做的只是过渡色调,尽管这种行为会根据我是否包含睡眠定时器而有所不同。

对我做错了什么有什么想法吗?

编辑:看起来 API 甚至不尊重第一条语句的亮度设置。如果我调用将其设置为 0,则不会发生任何事情。

【问题讨论】:

  • 您能发布任何有关 SDK 的文档吗?
  • @RussJ 这是我正在使用的库:github.com/amimof/huego
  • 哦,伙计,我想我刚刚想通了。查看库源亮度和饱和度的值有json:"___,omitempty",因此请求中将省略 0。现在测试,看看我是否正确。如果是这个问题,那会烧掉好几个小时。

标签: philips-hue


【解决方案1】:

原来我描述的问题是由于json:"___,omitempty"在亮度、过渡和饱和度设置上。这意味着当它们的值为 0 时,它们在 Go 中编组为 json 时会被忽略。 掌心

将值转换为 int 指针解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多