The Philips Hue API provides fine-grained control over your Hue lighting system, and the PhilipsHue package for R aims to simplify making requests to the API and processing responses. The package provides wrappers for all V1 endpoints using local authentication; remote authentication is not supported.
Install directly from GitHub with:
To connect to your Hue Bridge, you’ll need to discover the Bridge IP
address and create a
vignette("local_authentication") for more detailed
instructions. Once you have these values, you can use
auth_local() to save them as environment variables.
auth_local(ip = "999.999.999.999", username = "<Philips Hue username>")
Here are some examples of what you can do once you’ve set your credentials.
# # Delete and re-add all lights (Warning!) # purrr::map_lgl(names(get_lights()), delete_light) # search_for_new_lights() # get_new_lights() # Rename a light rename_light("1", "Table lamp") # Create a room group_id <- create_group( name = "Living room", type = "Room", class = "Living room", lights = as.character(1:4) ) # Define a scene scene_id <- create_scene("Default", as.character(1:4)) purrr::map_lgl( as.character(1:4), set_scene_lightstate, scene_id = scene_id, on = TRUE, bri = 134, ct = 316 ) # Configure a switch to turn on the scene sensor_id <- 42 create_rule( name = "Living room - Default", conditions = list( condition(sprintf("/sensors/%s/state/buttonevent", sensor_id), "eq", "1002"), condition(sprintf("/sensors/%s/state/lastupdated", sensor_id), "dx") ), actions = list( action(sprintf("/groups/%s/action", group_id), "PUT", scene = scene_id) ) )