python-hue-v2 2.0.1

Last updated:

0 purchases

python-hue-v2 2.0.1 Image
python-hue-v2 2.0.1 Images
Add to Cart

Description:

pythonhuev2 2.0.1

Python Hue V2
Python library to control the Philips Hue lighting system
for Hue-V2 API.
Features

Design for Hue API 2.0

High Level Control
Simple Example
import time
from python_hue_v2 import Hue, BridgeFinder

finder = BridgeFinder()
time.sleep(1) # wait for search
# Get server by mdns
host_name = finder.get_bridge_server_lists()[0] # Here we use first Hue Bridge

# or hue = Hue('ip address','app-key')
hue = Hue(host_name, 'hue app key') # create Hue instance

# If you don't have hue-app-key, press the button and call bridge.connect() (this only needs to be run a single time)
# hue = Hue(host_name)
# app_key = hue.bridge.connect() # you can get app_key and storage on disk

lights = hue.lights

for light in lights:
print(light.on)
light.on = True
light.brightness = 80.0

Scenes
You can get scenes from hue bridge.
from python_hue_v2 import Hue

hue = Hue('bridge-ip', 'app-key')

scenes = hue.scenes
for scene in scenes:
print(scene.id)
print(scene.data_dict)

Recall scene using active, dynamic_palette, static.
scene = scenes[0]
scene.recall(action='active')

If you want create one scene with light actions in a room:
from python_hue_v2.scene import ActionPost, ScenePost

light_id = []
lights = hue.lights
for light in lights:
light_id.append(light.light_id)

actions = []
for rid in light_id:
actions.append(
ActionPost.create_by_parameters(
target_rid=rid,
target_rtype='light',
on=True,
brightness=50,
color_xy=(0.1, 0.3) # xy color tuple
# mirek=200 % or use mirek
)
)

# Get all rooms, may be empty
rooms = hue.rooms

# ScenePost should have a group property, here we bind with a room

# refer to https://developers.meethue.com/develop/hue-api-v2/api-reference/#resource_scene_post
# Group associated with this Scene. All services in the group are part of this scene.
# If the group is changed the scene is update (e.g. light added/removed)
scene_post: ScenePost = ScenePost.create_by_parameters(
actions=actions, name='test', group_rid=rooms[0].id, group_rtype="room"
)
hue.create_scene(scene_post)

Also, you can delete scene by id.
hue.delete_scene('scene-id-example')

Grouped Light
Get group Lights from hue.
from python_hue_v2 import Hue

hue = Hue('bridge-ip', 'app-key')
grouped_lights = hue.grouped_lights

for group in grouped_lights:
print(group.type)
# group.on = True
group.set_state(True, 100, None) # Feature in
group.set_state(on=True, brightness=100, duration_ms=1)


Low Level Control

Low level function may be changed when update

You can use some basic functions in this library.
For example, you can use get_lights,set_light or other low level control functions to implement
some custom functions.
import time
from python_hue_v2 import Hue

# or hue = Hue('ip address','app-key')
hue = Hue('host_name', 'hue app key') # create Hue instance
bridge = hue.bridge

bridge.get_lights()
bridge.set_light('id', light_property_name='on', property_value={'on': True})

bridge.get_zones()

Attention
Some API may be de deprecated When major version updates.

Grouped light API will be changed after version 2.0.0

TODO

Zones Control Class

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.