我正在利用色相同步盒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"}