Discover_bulbs() не работает. Из библиотеки yeelight для PythonPython

Программы на Python
Anonymous
Discover_bulbs() не работает. Из библиотеки yeelight для Python

Сообщение Anonymous »

Я пытаюсь написать скрипт, который будет автоматически включать и выключать лампу Xiaomi. После установки библиотеки 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). Управление по локальной сети включено.
Код представлен ниже.

Код: Выделить всё

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()
Как решить эту проблему?
Просмотрел все форумы. Я попробовал переустановить лампу. Увеличьте время отклика лампы.

Подробнее здесь: https://stackoverflow.com/questions/775 ... for-python

Вернуться в «Python»