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)
"""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"])
)
"""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.1.tar.gz
(4.9 kB
view hashes)
Built Distribution
pyControl4-0.0.1-py3-none-any.whl
(10.1 kB
view hashes)
Close
Hashes for pyControl4-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f45ca7479e69b7919a5e791988dbd316c3a6bd51c18ce35aa3aa73fc31016e0 |
|
MD5 | d5f75409e535f16974b1b9fa6ff95ed5 |
|
BLAKE2b-256 | 227a69759c4d313ae104150a475a5dbcf7c3b634be64253554b4ef099eda9249 |