2
votes

Does anybody know how Philips implemented "scenes" in their hue api? With an app you can select an image and move every bulb to a color pixel and change the intensity. All lamps can have different colors and brightness levels and everything is saved as a "scene". However, when retreiving "scene" information; you only get an array of which lights are used in a scene, no detailed info is given. Since you can schedule the scenes, philips must have stored this information on the hub. The API does not even describe the "scenes". I have seen 3rd party apps that do create scenes, so it's not entirely secret...

2
hey.. i am new in devlopment of HUE ... can u help meDalvik

2 Answers

3
votes

I realise this is an old post, but I couldn't find an answer to this anywhere so I had a play around and figured it out myself. Hopefully useful to someone.

I don't have enough reputation to post the code snippets, but you can see the instructions in this post on Google+

https://plus.google.com/111036301775898522222/posts/iMt2hVdJvYo


First you address

</code>http://BRIDGE IP/api/APP ID/scenes/SCENENAME</code>

I think the scene name cannot contain spaces. PUT the lights you want in the scene in the body like so

{"lights":["3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],"name":"SCENENAME"}

Then you specify the condition for each bulb in the scene using PUT at

<code>http://BRIDGE IP/api/APP ID/scenes/SCENENAME/lights/BULBNUMBER/state</code>

I found you could specify values in whichever format you want, no need to include all values. My body looked like this

{"on":true,"bri":254,"xy":[0.1631,0.0206]}

Then once values are set for each bulb in the scene you activate it at

</code>http://BRIDGE IP/api/APP ID/groups/0/action</code>

with the body

{"scene":"SCENENAME"}
2
votes

There are 2 things:

Most apps that use scenes just store the scenes in the app and when you apply a scene it will just send commands for each lamp in the scene sequentially to the bridge.

There's also a new scenes api in the bridge, but as far as I know that's not documented yet. It allows you to store a limited number of scenes on the lamps themselves and after that you can switch to such a scene by sending just a single command to the bridge which will then broadcast it to all the lamps.

This last option requires a firmware update, which not all your app users might have installed yet, so it's probably easier to just use the first option for now.