Asyncio package to communicate with a Philips Hue Play HDMI Sync Box.
Project description
AIOHUESYNCBOX
Asyncio package to communicate with Philips Hue Play HDMI Sync Box. This package is aimed at basic control of the box. Initial setup and configuration is assumed to done with the official Hue Sync app.
Installation
python3 -m pip install aiohuesyncbox
Usage
Instantiate the HueSyncBox class and access the API.
For more details on the API see the official API documentation on https://developers.meethue.com
Examples
The examples below are available as a runnable script in the repository. There is also an example on using zeroconf for device discovery.
Registration
import time
from aiohuesyncbox import HueSyncBox, InvalidState
# host and id can be obtained through mDNS/zeroconf discovery
# (or for testing look them up in the official Hue Sync app)
# The ID is the number that looks like C43212345678
box = HueSyncBox(host, id)
print("Press the button on the box for a few seconds until the light blinks green.")
registration_info = None
while not registration_info:
try:
registration_info = await box.register("Your application", "Your device")
except InvalidState:
# Indicates the button was not pressed
pass
time.sleep(1)
# Save registration_info somewhere and use the 'access_token' when instantiating HueSyncBox next time
print(registration_info)
# Unregister by registration ID.
# HueSyncBox needs to use the associated `access_token` to execute this request.
await box.unregister(registration_info['registration_id'])
Basic usage
from aiohuesyncbox import HueSyncBox
# host and id can be obtained through mDNS/zeroconf discovery
# (or for testing look them up in the official Hue Sync app)
box = HueSyncBox(host, id, access_token_from_registration_info)
# Call initialize before interacting with the box
await box.initialize()
print(box.device.name)
print(box.execution.sync_active)
print(box.execution.mode)
# Turn the box on, start syncing with video mode on input 4
await box.execution.set_state(sync_active=True, mode="video", hdmi_source="input4")
# Call update() to update with latest status from the box
await box.execution.update()
print(box.execution.sync_active)
print(box.execution.mode)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file aiohuesyncbox-0.0.20.tar.gz
.
File metadata
- Download URL: aiohuesyncbox-0.0.20.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3919672b4443a4c76b3e9919aff9b62a6ce413f963963be02420e2d86af201ea |
|
MD5 | c1c1c86887f2bb2418041923a121b290 |
|
BLAKE2b-256 | 3e603fc3807cfc37b0c9f669e6c91fbecbd9a33cc5aa0b6838680ad73d21899d |
File details
Details for the file aiohuesyncbox-0.0.20-py3-none-any.whl
.
File metadata
- Download URL: aiohuesyncbox-0.0.20-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | da287201243c73fcabb80b07591373d6382bc24be5f946ebb51c24f78826b744 |
|
MD5 | f940771d8cb605ad16d1eec95719dc84 |
|
BLAKE2b-256 | 85062450a8df460f0c455abf1291e35aa6e8e779d882b6c63aa2970d76bbc218 |