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.6a3.tar.gz
(7.2 kB
view hashes)
Built Distribution
Close
Hashes for pyControl4-0.0.6a3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2106597e84076215f8445461eeb596356225b088df169f66bff32a919c28cdf |
|
MD5 | fdd13685ed7db754c5c3a0eb7d73b69d |
|
BLAKE2b-256 | c9ceb829970320af308037e95b25cf66382b416e1fdba2f5ab88b2df9a48964d |