Control Philips Hue smart lighting. Use this package to connect to a Hue bridge on your local network (remote authentication not yet supported) and control your smart lights through the Philips Hue API. All API V1 endpoints are supported. See API documentation at < https://developers.meethue.com/>.
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:
devtools::install_github("fascinatingfingers/PhilipsHue")
library(PhilipsHue)
To connect to your Hue Bridge, you'll need to discover the Bridge IP address and
create a username. See 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)
)
)