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.2.tar.gz
(5.0 kB
view hashes)
Built Distribution
pyControl4-0.0.2-py3-none-any.whl
(10.2 kB
view hashes)
Close
Hashes for pyControl4-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccf379a38be2c71049021d29f084fa439c29e636b547c8ee3105aaef930c7a8c |
|
MD5 | fd9fba94f1a9bf0bfdfd38148e3a5b8d |
|
BLAKE2b-256 | 6b0325700916418a5a76c54a9791bcc2bbb8715d9767401a67284f73c0faa825 |