用于LimitleSled/EasyBulb/Milight Wi-Fi LED的控制器库
ledcontroller的Python项目详细描述
微光灯泡控制器。相同的灯泡有多种不同的品牌,包括LimitleSled、EasyBulb、Applight、Dekolight和iLight。
在使用此代码之前,您需要将网关配置为连接到WiFi—有多个iOS和Android应用程序可供使用。之后,将灯光组配置到网关。配置远程与配置网关无关。
有关详细信息,请参见github repository。
安装
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.com和easybulb.com销售两个不同品牌的相同产品。这些比无限制雪橇更贵,但从英国发货。
- 至少S'Luce iLight的一些产品在品牌上是完全相同的。
- 请注意,至少milight.com和easybulb.com出售旧版本的wifi网关(v3,与limitlesled的v4相比)。v3不支持nightmode,并且似乎不如v4可靠。
- 使用搜索“milight”尝试aliexpress.com。当心旧版本(RGB灯泡)和同品牌销售的非遥控灯泡。