def setup_platform(hass, config, add_devices_callback, discovery_info=None): """Setup the Flux lights.""" import flux_led lights = [] light_ips = [] for ipaddr, device_config in config["devices"].items(): device = {} device['name'] = device_config[ATTR_NAME] device['ipaddr'] = ipaddr light = FluxLight(device) if light.is_valid: lights.append(light) light_ips.append(ipaddr) if not config['automatic_add']: add_devices_callback(lights) return # Find the bulbs on the LAN scanner = flux_led.BulbScanner() scanner.scan(timeout=10) for device in scanner.getBulbInfo(): ipaddr = device['ipaddr'] if ipaddr in light_ips: continue device['name'] = device['id'] + " " + ipaddr light = FluxLight(device) if light.is_valid: lights.append(light) light_ips.append(ipaddr) add_devices_callback(lights)
def setup_platform(hass, config, add_devices, discovery_info=None): """Set up the Flux lights.""" import flux_led lights = [] light_ips = [] for ipaddr, device_config in config.get(CONF_DEVICES, {}).items(): device = {} device['name'] = device_config[CONF_NAME] device['ipaddr'] = ipaddr device[CONF_PROTOCOL] = device_config[CONF_PROTOCOL] device[ATTR_MODE] = device_config[ATTR_MODE] light = FluxLight(device) lights.append(light) light_ips.append(ipaddr) if not config.get(CONF_AUTOMATIC_ADD, False): add_devices(lights, True) return # Find the bulbs on the LAN scanner = flux_led.BulbScanner() scanner.scan(timeout=10) for device in scanner.getBulbInfo(): ipaddr = device['ipaddr'] if ipaddr in light_ips: continue device['name'] = '{} {}'.format(device['id'], ipaddr) device[ATTR_MODE] = MODE_RGBW device[CONF_PROTOCOL] = None light = FluxLight(device) lights.append(light) add_devices(lights, True)
def setup_platform(hass, config, add_devices, discovery_info=None): """Setup the Flux lights.""" import flux_led lights = [] light_ips = [] for ipaddr, device_config in config[CONF_DEVICES].items(): device = {} device['name'] = device_config[CONF_NAME] device['ipaddr'] = ipaddr device[ATTR_MODE] = device_config[ATTR_MODE] light = FluxLight(device) if light.is_valid: lights.append(light) light_ips.append(ipaddr) if not config[CONF_AUTOMATIC_ADD]: add_devices(lights) return # Find the bulbs on the LAN scanner = flux_led.BulbScanner() scanner.scan(timeout=10) for device in scanner.getBulbInfo(): ipaddr = device['ipaddr'] if ipaddr in light_ips: continue device['name'] = device['id'] + " " + ipaddr device[ATTR_MODE] = 'rgbw' light = FluxLight(device) if light.is_valid: lights.append(light) light_ips.append(ipaddr) add_devices(lights)
def bulb_scan(): try: ip_addresses = [] scanner = flux_led.BulbScanner() bulbs_found = scanner.scan(10) for bulb in bulbs_found: ip_addresses.append(bulb['ipaddr']) logger.info(ip_addresses) return ip_addresses except Exception as exc: logger.error(str(exc))
def setup_platform(hass, config, add_devices, discovery_info=None): """Setup the Flux lights.""" import flux_led lights = [] light_ips = [] for ipaddr, device_config in config.get(CONF_DEVICES, {}).items(): device = {} device['name'] = device_config[CONF_NAME] device['ipaddr'] = ipaddr device[CONF_PROTOCOL] = device_config[CONF_PROTOCOL] device[ATTR_MODE] = device_config[ATTR_MODE] light = FluxLight(device) if light.is_valid: lights.append(light) light_ips.append(ipaddr) if discovery_info: device = {} # discovery_info: ip address,device id,device type device['ipaddr'] = discovery_info[0] device['name'] = discovery_info[1] # As we don't know protocol and mode set to none to autodetect. device[CONF_PROTOCOL] = None device[ATTR_MODE] = None light = FluxLight(device) if light.is_valid: lights.append(light) light_ips.append(device['ipaddr']) if not config.get(CONF_AUTOMATIC_ADD, False): add_devices(lights) return # Find the bulbs on the LAN scanner = flux_led.BulbScanner() scanner.scan(timeout=10) for device in scanner.getBulbInfo(): ipaddr = device['ipaddr'] if ipaddr in light_ips: continue device['name'] = device['id'] + " " + ipaddr device[ATTR_MODE] = 'rgbw' device[CONF_PROTOCOL] = None light = FluxLight(device) if light.is_valid: lights.append(light) light_ips.append(ipaddr) add_devices(lights)
def setup_platform(): """Set up the Flux lights.""" import flux_led lights = [] light_ips = [] # Find the bulbs on the LAN scanner = flux_led.BulbScanner() scanner.scan(timeout=10) for device in scanner.getBulbInfo(): ipaddr = device["ipaddr"] if ipaddr in light_ips: continue device["name"] = "{} {}".format(device["id"], ipaddr) device[ATTR_MODE] = None device[CONF_PROTOCOL] = None device[CONF_CUSTOM_EFFECT] = None dlight = FluxLight(device) lights.append(dlight) return dlight
import flux_led from PySide2 import QtWidgets from ui import ui bulb_scanner = flux_led.BulbScanner() class QtUi(ui.Ui_MainWindow, QtWidgets.QMainWindow): def __init__(self): super(QtUi, self).__init__() self.setupUi(self) self.setWindowTitle("Python Lights") self.active_bulb = None # button function connection self.rgb_enter.clicked.connect(self.get_user_rgb) self.set_light.clicked.connect(self.connect_bulb) self.set_white_button.clicked.connect(self.set_white) self.set_red_button.clicked.connect(self.set_red) self.lights_on_button.clicked.connect(self.set_light_on) self.lights_off_button.clicked.connect(self.set_light_off) self.bright_lights_button.clicked.connect(self.brighten_light) self.dim_lights_button.clicked.connect(self.dim_light) found_bulbs = bulb_scanner.scan(3) if found_bulbs is not None: # Populates list with bulbs on the network for e in found_bulbs: item = QtWidgets.QListWidgetItem(self.light_list) bulb_ip = str(e)[12:25] item.setText(bulb_ip)