# Aiohue
## Asynchronous library to control Phlipis 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():
bridges = await discover_nupnp()
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.
## Asynchronous library to control Phlipis 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():
bridges = await discover_nupnp()
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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiohue-0.3.0.tar.gz
(4.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiohue-0.3.0.tar.gz.
File metadata
- Download URL: aiohue-0.3.0.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8570b5bec1de00a112c858a659a035971dee81973e24f481946503fbbfee0e7
|
|
| MD5 |
415ddae70f4d2731afb609a9d5ab1799
|
|
| BLAKE2b-256 |
cd0cacb39187beb7eab92292df632c5784ae39ceacc7fae474f3d9022c321258
|
File details
Details for the file aiohue-0.3.0-py3-none-any.whl.
File metadata
- Download URL: aiohue-0.3.0-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4188cf42a29c3d2aa84ab2667dc9f8c53002ab47422ec1006bd835b18c422405
|
|
| MD5 |
af2feb28bbcc5bd9d5af3d187a4d83b2
|
|
| BLAKE2b-256 |
f0a606750d1d4111915b3d27c5dd7fddaec620c66005ae1cd9510a3ff8dec5d5
|