Skip to main content

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 should be done with the official Hue Sync app.

Installation

pip3 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 (free registration required)

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 3 seconds until the light blinks green.")

registration_info = None
while not registration_info:
    try:
        registration_info = await box.register("Your application", "Your device")
        time.sleep(1)
    except InvalidState:
        # Indicates the button was not pressed
        pass

# 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 of the box
await box.execution.update()
print(box.execution.sync_active)
print(box.execution.mode)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiohuesyncbox-0.0.13.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

aiohuesyncbox-0.0.13-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file aiohuesyncbox-0.0.13.tar.gz.

File metadata

  • Download URL: aiohuesyncbox-0.0.13.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for aiohuesyncbox-0.0.13.tar.gz
Algorithm Hash digest
SHA256 7a868c827bbc9fead41cd673189df5729e331a05eb25b2feba9817da296a49e5
MD5 f3692281153e444fff37ab29256ed3c9
BLAKE2b-256 00309b3fd189c81029436e4b21c7ee55bb9b0c249db486d2053ae3237ea8dce5

See more details on using hashes here.

File details

Details for the file aiohuesyncbox-0.0.13-py3-none-any.whl.

File metadata

  • Download URL: aiohuesyncbox-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for aiohuesyncbox-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 4e21de0b419efae4c87577d0b87eaaeaddb910f59a268061e7883ae786756433
MD5 bf94889e317ddce199913ea7dcf96e18
BLAKE2b-256 c67da12e986098e1023bfb13ceb14d578766d449c37e7747de086ff193f4d8a2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page