def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield light.register_light(var, config) cg.add(var.set_led_id(config[CONF_LED_ID])) hub = yield cg.get_variable(config[CONF_QMK_ID]) cg.add(var.set_parent_hub(hub))
def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield cg.register_component(var, config) yield light.register_light(var, config) hside = yield cg.get_variable(config[CONF_PIN_A]) cg.add(var.set_pina_pin(hside)) lside = yield cg.get_variable(config[CONF_PIN_B]) cg.add(var.set_pinb_pin(lside))
def to_code(config): template_ = yield cg.process_lambda(config[CONF_LAMBDA], [], return_type=cg.std_vector.template( light.LightOutput.operator('ptr'))) rhs = CustomLightOutputConstructor(template_) custom = cg.variable(config[CONF_ID], rhs) for i, conf in enumerate(config[CONF_LIGHTS]): rhs = custom.Pget_light(i) yield light.register_light(rhs, conf)
def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield light.register_light(var, config) red = yield cg.get_variable(config[CONF_RED]) cg.add(var.set_red(red)) green = yield cg.get_variable(config[CONF_GREEN]) cg.add(var.set_green(green)) blue = yield cg.get_variable(config[CONF_BLUE]) cg.add(var.set_blue(blue))
def new_fastled_light(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield cg.register_component(var, config) if CONF_MAX_REFRESH_RATE in config: cg.add(var.set_max_refresh_rate(config[CONF_MAX_REFRESH_RATE])) yield light.register_light(var, config) # https://github.com/FastLED/FastLED/blob/master/library.json cg.add_library('FastLED', '3.2.9') yield var
def to_code(config): segments = [] for conf in config[CONF_SEGMENTS]: var = yield cg.get_variable(conf[CONF_ID]) segments.append( AddressableSegment(var, conf[CONF_FROM], conf[CONF_TO] - conf[CONF_FROM] + 1)) var = cg.new_Pvariable(config[CONF_OUTPUT_ID], segments) yield cg.register_component(var, config) yield light.register_light(var, config)
def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield light.register_light(var, config) cwhite = yield cg.get_variable(config[CONF_COLD_WHITE]) cg.add(var.set_cold_white(cwhite)) cg.add(var.set_cold_white_temperature(config[CONF_COLD_WHITE_COLOR_TEMPERATURE])) wwhite = yield cg.get_variable(config[CONF_WARM_WHITE]) cg.add(var.set_warm_white(wwhite)) cg.add(var.set_warm_white_temperature(config[CONF_WARM_WHITE_COLOR_TEMPERATURE])) cg.add(var.set_constant_brightness(config[CONF_CONSTANT_BRIGHTNESS]))
def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield cg.register_component(var, config) yield light.register_light(var, config) if CONF_MIN_VALUE in config: cg.add(var.set_min_value(config[CONF_MIN_VALUE])) if CONF_MAX_VALUE in config: cg.add(var.set_max_value(config[CONF_MAX_VALUE])) # paren = yield cg.get_variable(config[CONF_DALI_ID]) # cg.add(var.set_dali_parent(paren)) yield register_dali_device(var, config)
def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield light.register_light(var, config) ctemp = yield cg.get_variable(config[CONF_COLOR_TEMPERATURE]) cg.add(var.set_color_temperature_output(ctemp)) bright = yield cg.get_variable(config[CONF_BRIGHTNESS]) cg.add(var.set_brightness_output(bright)) cg.add( var.set_cold_white_temperature( config[CONF_COLD_WHITE_COLOR_TEMPERATURE])) cg.add( var.set_warm_white_temperature( config[CONF_WARM_WHITE_COLOR_TEMPERATURE]))
def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield light.register_light(var, config) red = yield cg.get_variable(config[CONF_RED]) cg.add(var.set_red(red)) green = yield cg.get_variable(config[CONF_GREEN]) cg.add(var.set_green(green)) blue = yield cg.get_variable(config[CONF_BLUE]) cg.add(var.set_blue(blue)) white = yield cg.get_variable(config[CONF_WHITE]) cg.add(var.set_white(white)) cg.add(var.set_color_interlock(config[CONF_COLOR_INTERLOCK]))
def new_fastled_light(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield cg.register_component(var, config) if CONF_MAX_REFRESH_RATE in config: cg.add(var.set_max_refresh_rate(config[CONF_MAX_REFRESH_RATE])) yield light.register_light(var, config) # https://github.com/FastLED/FastLED/blob/master/library.json # 3.3.3 has an issue on ESP32 with RMT and fastled_clockless: # https://github.com/esphome/issues/issues/1375 cg.add_library("FastLED", "3.3.2") yield var
def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield cg.register_component(var, config) yield light.register_light(var, config) if CONF_DIMMER_DATAPOINT in config: cg.add(var.set_dimmer_id(config[CONF_DIMMER_DATAPOINT])) if CONF_SWITCH_DATAPOINT in config: cg.add(var.set_switch_id(config[CONF_SWITCH_DATAPOINT])) if CONF_MIN_VALUE in config: cg.add(var.set_min_value(config[CONF_MIN_VALUE])) if CONF_MAX_VALUE in config: cg.add(var.set_max_value(config[CONF_MAX_VALUE])) paren = yield cg.get_variable(config[CONF_TUYA_ID]) cg.add(var.set_tuya_parent(paren))
def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield cg.register_component(var, config) yield light.register_light(var, config) if CONF_ADDRESS in config: cg.add(var.set_address(config[CONF_ADDRESS])) if CONF_PAIRING_ENABLED in config: cg.add(var.set_pairing_enabled(config[CONF_PAIRING_ENABLED])) cg.add(var.set_remote_address(config[CONF_REMOTE_ADDRESS])) paren = yield cg.get_variable(config[CONF_ANSLUTA_ID]) cg.add(var.set_radio(paren))
def new_fastled_matrix(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield cg.register_component(var, config) if CONF_MAX_REFRESH_RATE in config: cg.add(var.set_max_refresh_rate(config[CONF_MAX_REFRESH_RATE])) yield light.register_light(var, config) cg.add_library('FastLED', '3.2.9') cg.add_library('https://github.com/marcmerlin/FastLED_NeoMatrix.git', '') cg.add_library('https://github.com/marcmerlin/Framebuffer_GFX.git', '') cg.add_library('Adafruit GFX Library', '') cg.add_library('Adafruit BusIO', '') cg.add_library('SPI', '') cg.add_library('Wire', '') yield var
def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield light.register_light(var, config) red = yield cg.get_variable(config[CONF_RED]) cg.add(var.set_red(red)) green = yield cg.get_variable(config[CONF_GREEN]) cg.add(var.set_green(green)) blue = yield cg.get_variable(config[CONF_BLUE]) cg.add(var.set_blue(blue)) cwhite = yield cg.get_variable(config[CONF_COLD_WHITE]) cg.add(var.set_cold_white(cwhite)) cg.add(var.set_cold_white_temperature(config[CONF_COLD_WHITE_COLOR_TEMPERATURE])) wwhite = yield cg.get_variable(config[CONF_WARM_WHITE]) cg.add(var.set_warm_white(wwhite)) cg.add(var.set_warm_white_temperature(config[CONF_WARM_WHITE_COLOR_TEMPERATURE])) cg.add(var.set_constant_brightness(config[CONF_CONSTANT_BRIGHTNESS])) cg.add(var.set_color_interlock(config[CONF_COLOR_INTERLOCK]))
def to_code(config): has_white = 'W' in config[CONF_TYPE] template = cg.TemplateArguments(getattr(cg.global_ns, format_method(config))) if has_white: out_type = NeoPixelRGBWLightOutput.template(template) else: out_type = NeoPixelRGBLightOutput.template(template) rhs = out_type.new() var = cg.Pvariable(config[CONF_OUTPUT_ID], rhs, type=out_type) yield light.register_light(var, config) yield cg.register_component(var, config) if CONF_PIN in config: cg.add(var.add_leds(config[CONF_NUM_LEDS], config[CONF_PIN])) else: cg.add(var.add_leds(config[CONF_NUM_LEDS], config[CONF_CLOCK_PIN], config[CONF_DATA_PIN])) cg.add(var.set_pixel_order(getattr(ESPNeoPixelOrder, config[CONF_TYPE]))) cg.add_library('NeoPixelBus', '2.4.1')
def to_code(config): fw_hex = get_firmware(config[CONF_FIRMWARE]) fw_major, fw_minor = parse_firmware_version( config[CONF_FIRMWARE][CONF_VERSION]) if fw_hex is not None: cg.add_define("USE_SHD_FIRMWARE_DATA", fw_hex) cg.add_define("USE_SHD_FIRMWARE_MAJOR_VERSION", fw_major) cg.add_define("USE_SHD_FIRMWARE_MINOR_VERSION", fw_minor) var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield cg.register_component(var, config) config.pop( CONF_UPDATE_INTERVAL ) # drop UPDATE_INTERVAL as it does not apply to the light component yield light.register_light(var, config) yield uart.register_uart_device(var, config) nrst_pin = yield cg.gpio_pin_expression(config[CONF_NRST_PIN]) cg.add(var.set_nrst_pin(nrst_pin)) boot0_pin = yield cg.gpio_pin_expression(config[CONF_BOOT0_PIN]) cg.add(var.set_boot0_pin(boot0_pin)) cg.add(var.set_leading_edge(config[CONF_LEADING_EDGE])) cg.add(var.set_warmup_brightness(config[CONF_WARMUP_BRIGHTNESS])) # cg.add(var.set_warmup_time(config[CONF_WARMUP_TIME])) cg.add(var.set_min_brightness(config[CONF_MIN_BRIGHTNESS])) cg.add(var.set_max_brightness(config[CONF_MAX_BRIGHTNESS])) for key in [CONF_POWER, CONF_VOLTAGE, CONF_CURRENT]: if key not in config: continue conf = config[key] sens = yield sensor.new_sensor(conf) cg.add(getattr(var, f"set_{key}_sensor")(sens))
def to_code(config): has_white = "W" in config[CONF_TYPE] template = cg.TemplateArguments( getattr(cg.global_ns, format_method(config))) if has_white: out_type = NeoPixelRGBWLightOutput.template(template) else: out_type = NeoPixelRGBLightOutput.template(template) rhs = out_type.new() var = cg.Pvariable(config[CONF_OUTPUT_ID], rhs, out_type) yield light.register_light(var, config) yield cg.register_component(var, config) if CONF_PIN in config: cg.add(var.add_leds(config[CONF_NUM_LEDS], config[CONF_PIN])) else: cg.add( var.add_leds(config[CONF_NUM_LEDS], config[CONF_CLOCK_PIN], config[CONF_DATA_PIN])) cg.add(var.set_pixel_order(getattr(ESPNeoPixelOrder, config[CONF_TYPE]))) # https://github.com/Makuna/NeoPixelBus/blob/master/library.json cg.add_library("NeoPixelBus-esphome", "2.5.7")
def light_output_to_code(config): light_output_var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield light.register_light(light_output_var, config) light_hal_var = yield cg.get_variable(config[CONF_LIGHT_HAL_ID]) cg.add(light_output_var.set_parent(light_hal_var))
def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield light.register_light(var, config) out = yield cg.get_variable(config[CONF_OUTPUT]) cg.add(var.set_output(out))
def to_code(config): var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) yield cg.register_component(var, config) yield i2c.register_i2c_device(var, config) yield light.register_light(var, config)