我使用以下脚本: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");
答案 0 :(得分:2)
您可以创建一组多个灯光,而不是在每个灯光ID上执行单独的命令。
假设您要对所有灯光执行命令,可以使用ID为0的all-lights-group,而不是使用/lights/3/state
路径,您可以类似地使用组路径: / p>
/groups/0/action
要创建一个组,您需要在POST
上执行/api/<username>/groups
,其中包含该组应包含的灯光ID以及该组的名称,但您可以在此处阅读:{ {3}}
答案 1 :(得分:0)
您可以动态创建一个组,执行操作,然后再次删除该组.. 如果您需要对大量灯光应用操作,这可能只是一个明智的解决方法。
我可能会只使用多个 puts(如果只有几个,则每个灯一个),或者创建一个静态组。