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.6a2.tar.gz
(7.1 kB
view hashes)
Built Distribution
Close
Hashes for pyControl4-0.0.6a2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dcefa21502e3cbeadb143c2309fc9fe5af70c366b18e3eef79f157a07961343 |
|
MD5 | c1564efd536356297186f8b6b9886295 |
|
BLAKE2b-256 | 140839ce6b5e80d3d70b596ef3e23ac098341fc2a3915a53b7e3adb1b2be2469 |