跳转到主要内容

用于控制Sunix RGB / RGBWWCW WiFi LED灯带的库

项目描述

sunix-ledstrip-controller-client pypi_version

用于控制Sunix® RGB / RGBWWCW WiFi LED灯带的Python 3.7+库。

构建状态

主分支

测试版

开发版

build_master

build_beta

build_dev

codebeat_master

codebeat_beta

codebeat_dev

如何使用

安装

pip安装sunix-ledstrip-controller-client

用法

基本示例请参阅example.py文件。如果需要更多信息,请参阅文档,它应该会提供帮助。

基本示例

创建LEDStripControllerClient对象

与任何控制器通信的第一件事是API客户端。创建一个如下所示

from sunix_ledstrip_controller_client import LEDStripControllerClient

api = LEDStripControllerClient()

接下来,您需要一个指定您Sunix控制器硬件基本信息的Controller对象。您可以使用以下方式让API自动搜索您的控制器

devices = api.discover_controllers()

或手动创建一个如下所示

from sunix_ledstrip_controller_client import Controller
device = Controller(api, "192.168.2.23")

或包含一个端口,如果您想从本地网络之外访问它

device = Controller(api, "my-dyndns-address.org", 12345)

请注意,您必须提供一个api对象,以便控制器可以获取其状态。

打开它!

现在您已经拥有了控制您的设备所需的所有东西。是时候打开和关闭它了!使用此方法来打开

device.turn_on()

而此方法用于关闭

device.turn_off()

让它成为彩虹(改变颜色)

现在来到有趣的部分。RGB值和WW(暖白和冷白)值可以分别调整(同时保持其他值)或同时调整。

所有值的有效范围均为0255

如果您只想更改RGB值,请使用

device.set_rgb(255, 255, 255)

如果您只想更改WW值,请使用此方法

device.set_ww(255, 255)

要同时设置两个值,请(您已经猜到了)使用

device.set_rgbww(255, 255, 255, 255, 255)

函数

Sunix控制器官方应用程序提供了20种不同的功能,可以按速度激活和自定义。这些功能在控制器中硬编码,因此不能以任何方式更改。您可以通过以下方式激活它们

from sunix_ledstrip_controller_client import FunctionId
device.set_function(FunctionId.RED_GRADUAL_CHANGE, 240)

函数ID可以在FunctionId枚举类中找到。

0是慢速 - 255是快速。

在网络协议中,速度实际上是相反的(0是快速,255是慢速),但我为了简单起见改变了它。但是,您应该注意,速度曲线似乎是指数的。这意味着255非常快,但240已经慢了很多。

自定义功能

官方应用程序的另一个功能是设置具有自定义过渡和颜色之间速度的自定义颜色循环。从库的1.2.0版本开始,您也可以设置这些:

只需查看example_custom_function.py文件以获取详细示例。

设置/获取时间

Sunix®控制器内置时钟,以便能够执行定时器操作。目前,此库无法获取或设置定时器。但是,您可以获取和设置控制器的当前时间。

要获取当前设置的时间,请使用

time = device.get_time()

请注意,如果您之前从未为此控制器设置过时间,则此值可能为None。要设置新值,请使用

dt = datetime.datetime.now()
device.set_time(dt)

致谢

我要向Chris Mullins(别名sidoh)和他的ledenet_api库表示衷心的感谢。虽然Sunix控制器使用的协议与LEDENET Magic UFO控制器使用的协议不完全相同,但它们非常相似,他的工作对我来说是一个很好的起点。

贡献

Github是社交编码:如果您想编写代码,我鼓励您通过从此存储库的分支创建拉取请求来贡献。为错误和功能创建GitHub问题,并评论您感兴趣的问题。

许可证

sunix-ledstrip-controller-client by Markus Ressel
Copyright (C) 2017  Markus Ressel

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://gnu.ac.cn/licenses/>.

项目详细信息


下载文件

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

源分发

sunix_ledstrip_controller_client-2.0.5.tar.gz (27.4 kB 查看散列)

上传时间:

构建分发

sunix_ledstrip_controller_client-2.0.5-py3-none-any.whl (28.2 kB 查看哈希值)

上传时间 Python 3

由以下支持