通过Hue Sync Box API更改娱乐区域



我正在利用色相同步盒API,我能够控制同步模式和强度等设置。但是,我无法更改hueTarget来更改正在使用的娱乐区。

这是我的请求:PUT https://hue_sync_box_ip/api/v1/execution

标题:

'Content-Type': 'application/json; charset=utf-8'
'Authorization': 'Bearer <token>'

身体:

{"hueTarget": "/groups/c5cecc67-52e8-4f48-9d8d-433634daa9a1"}

我得到的响应是带有这个主体的400 error

{"code":15,"message":"Invalid Value"}

根据文档,这是问题所在:

键存在且值类型匹配,但不符合指定的格式或范围

关于huettarget的文档如下:

  • hueTarget
  • Get、Put
  • 字符串,enum
  • 当前选择的娱乐区域(/groups/表示网桥api v1上的娱乐组,UUID格式的网桥api v2上的娱乐配置)

方法被放置,键根据错误消息是有效的,值类型匹配字符串,并且我遵循v1上所需的/groups/<id>

这些是我的组。我使用的id匹配"Streaming"这是我想要改变的组(娱乐区)

...
"hue": {
"bridgeUniqueId": "001788FFFE6A3B07",
"bridgeIpAddress": "<redacted>",
"groupId": "ef023ba4-71bc-4b8b-a7ad-f86dd68356a4",
"groups": {
"ef023ba4-71bc-4b8b-a7ad-f86dd68356a4": {
"name": "Living Room TV",
"numLights": 5,
"active": false
"active": true
},
"c5cecc67-52e8-4f48-9d8d-433634daa9a1": {
"name": "Streaming",
"numLights": 3,
"active": false
}
},
"connectionState": "connected"
},
...

我也尝试利用色调端点与相同的结果:

这是我的请求:PUT https://hue_sync_box_ip/api/v1/hue

标题:

'Content-Type': 'application/json; charset=utf-8'
'Authorization': 'Bearer <token>'

身体:

{
"groups":
{
"c5cecc67-52e8-4f48-9d8d-433634daa9a1": {
"active": true
}
}
}

我得到的响应是带有这个主体的400 error

{"code":15,"message":"Invalid Value"}

匹配文档:groups/<id>/ active Get, Put boolean.

我还可以在应用程序上手动设置娱乐区。

有什么想法可以在这里的问题?我确实认为这段代码曾经在某些时候工作过,但我不能肯定地确认它。

我已经设法使它工作。您应该只发送<id>,而不是按照文档发送/groups/<id>

也就是说,第一个调用的主体应该是:
{"hueTarget": "c5cecc67-52e8-4f48-9d8d-433634daa9a1"}

而不是原来的

{"hueTarget": "/groups/c5cecc67-52e8-4f48-9d8d-433634daa9a1"}

最新更新