Python 3 asyncio package for interacting with Control4 systems
Project description
pyControl4
An asynchronous library to interact with Control4 systems through their built-in REST API. This is only known to work on controllers with OS 3.0 or newer.
Auto-generated function documentation can be found at https://lawtancool.github.io/pyControl4
Usage example
from pyControl4.auth import C4Account
from pyControl4.director import C4Director
from pyControl4.light import C4Light
import asyncio
import json
username = ""
password = ""
ip = "192.168.1.25"
"""Authenticate with Control4 account"""
account = C4Account(username, password)
asyncio.run(account.getAccountBearerToken())
"""Get and print controller name"""
accountControllers = asyncio.run(account.getAccountControllers())
print(accountControllers["controllerCommonName"])
"""Get bearer token to communicate with controller locally"""
director_bearer_token = asyncio.run(
account.getDirectorBearerToken(accountControllers["controllerCommonName"])
)["token"]
"""Create new C4Director instance"""
director = C4Director(ip, director_bearer_token)
"""Print all devices on the controller"""
print(asyncio.run(director.getAllItemInfo()))
"""Create new C4Light instance"""
light = C4Light(director, 253)
"""Ramp light level to 10% over 10000ms"""
asyncio.run(light.rampToLevel(10, 10000))
"""Print state of light"""
print(asyncio.run(light.getState()))
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
pyControl4-0.0.4.tar.gz
(7.0 kB
view hashes)
Built Distribution
pyControl4-0.0.4-py3-none-any.whl
(11.6 kB
view hashes)
Close
Hashes for pyControl4-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 540109c646f1e739cae400a1c70e82c217e5f3bb63d32ede9bf3685433ab25c0 |
|
MD5 | bc1bce64070824fbeb7a2493aa08b29a |
|
BLAKE2b-256 | 4c24c8b62ce124e442cd39c82ca6b4ead4dfbb7af74265eae55c871b6dfc4c98 |