【发布时间】: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。看起来很简单,但我有几个问题:
- 除非我先调暗灯光然后再将其关闭(或调用 Hue Labs 的“电影”公式),否则当我调用此代码时,灯光会以之前的亮度亮起,似乎忽略了第一个
setState打电话。 - 忽略过渡的亮度和饱和度。它所做的只是过渡色调,尽管这种行为会根据我是否包含睡眠定时器而有所不同。
对我做错了什么有什么想法吗?
编辑:看起来 API 甚至不尊重第一条语句的亮度设置。如果我调用将其设置为 0,则不会发生任何事情。
【问题讨论】:
-
您能发布任何有关 SDK 的文档吗?
-
@RussJ 这是我正在使用的库:github.com/amimof/huego
-
哦,伙计,我想我刚刚想通了。查看库源亮度和饱和度的值有
json:"___,omitempty",因此请求中将省略 0。现在测试,看看我是否正确。如果是这个问题,那会烧掉好几个小时。
标签: philips-hue