用于LimitleSled/EasyBulb/Milight Wi-Fi LED的控制器库

ledcontroller的Python项目详细描述


https://travis-ci.org/ojarva/python-ledcontroller.svg?branch=master

微光灯泡控制器。相同的灯泡有多种不同的品牌,包括LimitleSled、EasyBulb、Applight、Dekolight和iLight。

在使用此代码之前,您需要将网关配置为连接到WiFi—有多个iOS和Android应用程序可供使用。之后,将灯光组配置到网关。配置远程与配置网关无关。

有关详细信息,请参见github repository

代码基于limitlessled.com/dev/

安装

pip install ledcontroller

用法

import ledcontroller
led = ledcontroller.LedController("192.168.1.6")
led.off()  # Switches all groups off
led.set_color("red", 1)  # Switches group 1 on and changes color to red.
led.white(2)  # Group 2 on and color to white.
led.set_brightness(50, 2)  # Group 2 on and brightness to 50%.
led.set_color(150, 2)  # set color without using presets. Number must be 0-255
led.disco(3)  # Group 3 on and enable disco mode.
led.disco_faster(3)  # Group 3 on and adjust disco mode speed.
led.on(4)  # Switch group 4 on. Bulb automatically restores previous color and brightness.

同时使用白色和RGBW灯泡:

import ledcontroller
# By default, all groups are RGBW bulbs.
led = ledcontroller.LedController("192.168.1.6", group_1="white", group_4="white")
led.set_group_type(1, "white")  # This is same as using constructor keyword group_1.
led.on()
led.white(2)  # Switches RGBW group on and changes color to white.
led.white(1)  # Turns white group on.
led.warmer()  # Adjusts all white groups to warmer color. Switches all groups on.
led.cooler(1)  # Adjusts group 1 white bulbs to cooler color.
led.brightness_up()  # Adjusts white group brightness up. Does not affect RGBW lights.
led.brightness_up(2)  # Does nothing to RGBW bulbs.
led.brightness_up(4)  # Adjusts group 4 brightness.
led.set_brightness(50)  # Adjusts all RGBW bulbs to 50%. Does not affect white lights.

控制器池:

当使用多个控制器时,在每个命令之间保持相同的100毫秒暂停是很重要的。使用ledcontrollerpool类自动执行此操作。

import ledcontroller
ledpool = ledcontroller.LedControllerPool(["192.168.1.6", "192.168.1.7"])
ledpool.execute(0, "on")
ledpool.execute(1, "disco", 3)
ledpool.execute(0, "set_color", "red", 1)

注释

  • 每个命令之间自动暂停100毫秒。几乎每个操作都需要发送多个命令,因此需要几百毫秒。您可以使用关键字参数“pause_between_commands”更改此设置。但是,减少延迟将导致一些命令失败。
  • 由于网关看起来相当不可靠,所有命令都会多次发送(默认情况下是三次)。如果要更改此设置,请使用“ledcontroller(ip,repeat_commands=n)”创建新的lightcontroller实例。无法从灯泡中检索任何状态信息。
  • 如果出于某种原因需要更改网关端口,请将port=n参数传递给构造函数。
  • 使用“python setup.py test”运行testsuite。测试只运行代码,而不检查是否发送了正确的命令。
  • rgbw/白灯泡命令略有不同。显然,白色灯泡不可能改变颜色。对于白色灯泡,没有绝对亮度设置。类似地,只有白色灯泡允许调节色温(使用.coller和.warter)。白灯泡亮度和色温有10个步骤。
  • 亮度设置由灯泡存储。白模式和RGB模式的亮度分别保存。此外,灯泡储存最后一种颜色。sending.on()恢复以前的亮度和颜色。

商店和品牌

  • 我从LimitlessLED买了灯泡、遥控器和网关。不幸的是,他们有非常昂贵的航运(50美元到芬兰)。此外,在向芬兰订购时,税费和关税比原价高出约30%。
  • milight.comeasybulb.com销售两个不同品牌的相同产品。这些比无限制雪橇更贵,但从英国发货。
  • 至少S'Luce iLight的一些产品在品牌上是完全相同的。
  • 请注意,至少milight.com和easybulb.com出售旧版本的wifi网关(v3,与limitlesled的v4相比)。v3不支持nightmode,并且似乎不如v4可靠。
  • 使用搜索“milight”尝试aliexpress.com。当心旧版本(RGB灯泡)和同品牌销售的非遥控灯泡。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何避免springbootstarterparent和dependency中的flyway包冲突   java文本文件写入不起作用   java获取名为DAO类的Bean创建异常   java类路径和清单文件   如何使用Java中的模式来获取像C中的“sscanf”这样的组?   java Spring自动连接具有构造函数的类   clientSecurity运行的java geode示例失败   java JavaFX:在FXML中从ResourceBundle访问非string对象   java登录到google firebase   java对象在通过构造函数后不会更改。为什么?   java(Android)对特定页面的操作webView   javascript如何在webview的js中从java调用变量   持久化—一种在Java中存储和检索对象而不使用关系数据库的简单方法?   java Ldap获取通讯组列表中的用户   java检查温度条件   java后退按钮警报框(Android Studio)   数组java列表问题:为什么我运行它时,它会在第三次打印时打印出4?   java相对路径与绝对路径