1

我正在使用以下脚本:https ://github.com/callil/SparkHue/blob/master/sparkhue.ino

除了它只允许我控制一个 ID 为 3 的灯之外,这非常有效。我有多个灯 ID 我想用灯 API 打开/关闭。我需要为每个电话打多个电话吗?

                client.println("PUT /api/deviceAddress/groups/1/action HTTP/1.1");
                client.println("Connection: keep-alive"); //
                client.println("Host: 192.168.1.11"); //same as server
                client.println("Content-Type: text/plain;charset=UTF-8"); //
                client.print("Content-Length: "); //param
                client.println(11+len); //brightness string + val length
                client.println();  // blank line before body
                client.print("{\"bri\": ");
                client.print(val); //value of potentiometer
                client.println("}");
                Serial.println("sent"); 
4

2 回答 2

3

您可以创建一组多个灯光,而不是对每个灯光 ID 执行单独的命令。

假设您想对所有灯光执行命令,您可以使用 ID 为 0 的 all-lights-group。/lights/3/state您可以类似地使用组路径,而不是使用路径:

/groups/0/action

要创建一个组,您需要使用组应包含的灯的 ID 以及组的名称执行POSTon ,但您可以在此处阅读全部内容:创建组 API/api/<username>/groups

于 2015-07-29T22:30:14.337 回答
0

您可以动态创建一个组,执行操作,然后再次删除该组。如果您需要对大量灯光应用操作,这可能只是一个聪明的解决方法。

我可能会选择只使用多个 put(如果只有几个,则每个灯一个),或者创建一个静态组。

于 2021-03-14T03:16:55.287 回答