Skip to main content

Python module to talk to Philips Hue.

Project description

# Aiohue
## Asynchronous library to control Philips Hue

Requires Python 3.5 and uses asyncio and aiohttp.

```python
import asyncio
from pprint import pprint

from aiohue.discovery import discover_nupnp


async def main():
async with aiohttp.ClientSession() as session:
await run(session)


async def run(websession):
bridges = await discover_nupnp(websession)

bridge = bridges[0]
await bridge.create_user('aiophue-example')
print('Your username is', bridge.username)

await bridge.initialize()

print('Name', bridge.config.name)
print('Mac', bridge.config.mac)

print()
print('Lights:')
for id in bridge.lights:
light = bridge.lights[id]
print('{}: {}'.format(light.name, 'on' if light.state['on'] else 'off'))

# Change state of a light.
await light.set_state(on=not light.state['on'])

print()
print('Groups:')
for id in bridge.groups:
group = bridge.groups[id]
print('{}: {}'.format(group.name, 'on' if group.action['on'] else 'off'))

# Change state of a group.
await group.set_action(on=not group.state['on'])


asyncio.get_event_loop().run_until_complete(main())
```

## Timeouts

Aiohue does not specify any timeouts for any requests. You will need to specify them in your own code. We recommend the `async_timeout` package:

```python
import async_timeout

with async_timeout.timeout(10):
await bridge.initialize()
```

## Contribution guidelines

Object hierarchy and property/method names should match the Philips Hue API.

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

aiohue-1.2.0.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

aiohue-1.2.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file aiohue-1.2.0.tar.gz.

File metadata

  • Download URL: aiohue-1.2.0.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for aiohue-1.2.0.tar.gz
Algorithm Hash digest
SHA256 533c187e4dfb47f53d95145582e170d6e9a8645caefb071f11f87a1b18ea5f4f
MD5 3dcef1076c7613a194cc4eaa8a22b2f1
BLAKE2b-256 302db1827a5248b94fb9777f5769a6647a9779fc97554a25f80edc2019e89b1f

See more details on using hashes here.

File details

Details for the file aiohue-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aiohue-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 98f08199854338d805ca88961302eb119ee5273d1c97be4ddf6e280b8691ad98
MD5 8c03ec5b211068d112f8b305e0143b8f
BLAKE2b-256 19fcb1ca781fcf709d49105fd8dd67500b0ba562c25519eb009cdae4effc487a

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