我正在尝试编写一个自动打开和关闭小米灯的脚本。安装库后
discover_bulbs()
可以正常工作
>>> from yeelight import discover_bulbs
>>> discover_bulbs()
[{'capabilities': {'bright': '50',
'color_mode': '1',
'ct': '2700',
'fw_ver': '45',
'hue': '359',
'id': '0x0000000002dfb19a',
'model': 'color',
'name': 'bedroom',
'power': 'off',
'rgb': '16711935',
'sat': '100',
'support': 'get_prop set_default set_power toggle '
'set_bright start_cf stop_cf set_scene cron_add '
'cron_get cron_del set_ct_abx set_rgb set_hsv '
'set_adjust set_music set_name'},
'ip': '192.168.0.19',
'port': 55443}]
,但一段时间后它返回一个空列表。如果您重置灯,则会再次搜索灯并在一段时间后停止响应。在应用程序中,灯工作。如果您直接设置灯的 IP,它也可以工作(但灯会不时更改其 IP)。 LAN 控制已启用。 代码如下。
from yeelight import *
import time
import schedule
# ip=discover_bulbs()[0]['ip']
ip=discover_bulbs()
print(ip)
bulb=Bulb(ip)
def turnOnAt16():
bulb.turn_on()
bulb.set_brightness(100)
bulb.set_color_temp(4100)
def turnOnAt21():
bulb.turn_on()
bulb.set_rgb(255,0,0)
bulb.set_brightness(100)
def main():
schedule.every().day.at('08:00').do(turnOnAt16)
schedule.every().day.at('16:00').do(turnOnAt16)
schedule.every().day.at('21:30').do(turnOnAt21)
schedule.every().day.at('23:00').do(bulb.turn_off)
while True:
schedule.run_pending()
time.sleep(10)
if __name__=='__main__':
main()
如何解决这个问题?
我浏览了所有论坛。我尝试重置灯泡。增加灯响应时间。