是否需要多个(PUT)使用灯API打开/关闭多个灯?

时间:2015-07-29 02:41:40

标签: philips-hue

我使用以下脚本: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"); 

2 个答案:

答案 0 :(得分:2)

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

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

/groups/0/action

要创建一个组,您需要在POST上执行/api/<username>/groups,其中包含该组应包含的灯光ID以及该组的名称,但您可以在此处阅读:{ {3}}

答案 1 :(得分:0)

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

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