예제 #1
0
def create_icon(status : str) -> str:
	color_config = color.get_by_status(status)
	image = Image.new('RGBA', (100, 100), (0, 0, 0, 0))
	draw = ImageDraw.Draw(image)
	draw.ellipse((20, 20, 80, 80), fill = (color_config['rgb'][0], color_config['rgb'][1], color_config['rgb'][2]))
	path = tempfile.mktemp('.png')
	image.save(path)
	return path
예제 #2
0
def process_lights(lights: Any, status: StatusType) -> List[ConsumerModel]:
    result: List[ConsumerModel] = []

    # process lights

    for light in lights:
        result.append({
            'consumer': 'wiz_light',
            'type': 'light',
            'name': get_light_name(light),
            'active': set_light(light, color.get_by_status(status)),
            'status': status
        })
    return result
예제 #3
0
def process_devices(devices: Any, status: StatusType) -> List[ConsumerModel]:
    result: List[ConsumerModel] = []

    # process devices

    for device in devices:
        result.append({
            'consumer': 'embrava_blynclight',
            'type': 'device',
            'name': device.info['product_string'],
            'active': set_device(device, color.get_by_status(status)),
            'status': status
        })
    return result
예제 #4
0
def process_lights(lights: Any, status: StatusType) -> List[ConsumerModel]:
    result: List[ConsumerModel] = []

    # process lights

    for light in lights:
        result.append({
            'consumer': 'xiaomi_yeelight',
            'type': 'light',
            'name': light.get_properties()['name'],
            'active': set_light(light, color.get_by_status(status)),
            'status': status
        })
    return result
예제 #5
0
def process_devices(devices: Any, status: StatusType) -> List[ConsumerModel]:
    result: List[ConsumerModel] = []

    # process devices

    for device in devices:
        result.append({
            'consumer': 'razer_chroma',
            'type': 'device',
            'name': device.name,
            'active': set_device(device, color.get_by_status(status)),
            'status': status
        })
    return result
예제 #6
0
def process_groups(groups : Any, status : StatusType) -> List[ConsumerModel]:
	result : List[ConsumerModel] = []

	# process groups

	for group in groups:
		result.append(
		{
			'consumer': 'lifx_light',
			'type': 'group',
			'name': get_group_name(group),
			'active': set_group(group, color.get_by_status(status)),
			'status': status
		})
	return result
예제 #7
0
def process_groups(groups: Any, status: StatusType) -> List[ConsumerModel]:
    result: List[ConsumerModel] = []

    # process groups

    for index in groups:
        result.append({
            'consumer':
            'philips_hue',
            'type':
            'group',
            'name':
            groups[index]['name'],
            'active':
            set_group(groups[index]['name'], color.get_by_status(status)),
            'status':
            status
        })
    return result
예제 #8
0
def process_devices(devices: Any, status: StatusType) -> List[ConsumerModel]:
    result: List[ConsumerModel] = []

    # process devices

    for device in devices:
        result.append({
            'consumer':
            'agile_innovative_blinkstick',
            'type':
            'device',
            'name':
            device.info['product_string'] + ' (' +
            device.info['serial_number'] + ')',
            'active':
            set_device(device, color.get_by_status(status)),
            'status':
            status
        })
    return result