跳转到主要内容

用于与Control4系统交互的Python 3 asyncio包

项目描述

pyControl4

PyPI versionDownloads

CIpdocPyPI Release

一个异步库,通过内置的REST API与Control4系统交互。已知在OS 2.10.1.544795-res和OS 3.0+的控制器上运行。

自动生成的函数文档可在https://lawtancool.github.io/pyControl4找到

对于寻找预构建解决方案来控制他们设备的用户,这个库已在官方Home Assistant Control4集成中实现。

用法示例

from pyControl4.account 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()))

贡献

欢迎拉取请求!请使用flake8对Python代码进行lint,并使用Black进行格式化。

免责声明

此库与Control4无关,也未获得Control4的认可。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

pycontrol4-1.2.1.tar.gz (17.9 kB 查看哈希值)

上传时间

构建分发

pyControl4-1.2.1-py3-none-any.whl (20.7 kB 查看哈希值)

上传时间 Python 3

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面