コード例 #1
0
    return value


PLATFORM_SCHEMA = cv.nameable(light.LIGHT_PLATFORM_SCHEMA.extend({
    cv.GenerateID(CONF_MAKE_ID): cv.declare_variable_id(light.MakeLight),
    vol.Required(CONF_RED): cv.use_variable_id(output.FloatOutput),
    vol.Required(CONF_GREEN): cv.use_variable_id(output.FloatOutput),
    vol.Required(CONF_BLUE): cv.use_variable_id(output.FloatOutput),
    vol.Required(CONF_COLD_WHITE): cv.use_variable_id(output.FloatOutput),
    vol.Required(CONF_WARM_WHITE): cv.use_variable_id(output.FloatOutput),
    vol.Required(CONF_COLD_WHITE_COLOR_TEMPERATURE): validate_color_temperature,
    vol.Required(CONF_WARM_WHITE_COLOR_TEMPERATURE): validate_color_temperature,

    vol.Optional(CONF_GAMMA_CORRECT): cv.positive_float,
    vol.Optional(CONF_DEFAULT_TRANSITION_LENGTH): cv.positive_time_period_milliseconds,
    vol.Optional(CONF_EFFECTS): light.validate_effects(light.RGB_EFFECTS),
}).extend(cv.COMPONENT_SCHEMA.schema), validate_cold_white_colder)


def to_code(config):
    for red in get_variable(config[CONF_RED]):
        yield
    for green in get_variable(config[CONF_GREEN]):
        yield
    for blue in get_variable(config[CONF_BLUE]):
        yield
    for cold_white in get_variable(config[CONF_COLD_WHITE]):
        yield
    for warm_white in get_variable(config[CONF_WARM_WHITE]):
        yield
    rhs = App.make_rgbww_light(config[CONF_NAME], config[CONF_COLD_WHITE_COLOR_TEMPERATURE],
コード例 #2
0
        vol.Required(CONF_NUM_LEDS):
        cv.positive_not_null_int,
        vol.Optional(CONF_MAX_REFRESH_RATE):
        cv.positive_time_period_microseconds,
        vol.Optional(CONF_RGB_ORDER):
        cv.one_of(*RGB_ORDERS, upper=True),
        vol.Optional(CONF_GAMMA_CORRECT):
        cv.positive_float,
        vol.Optional(CONF_COLOR_CORRECT):
        vol.All([cv.percentage], vol.Length(min=3, max=3)),
        vol.Optional(CONF_DEFAULT_TRANSITION_LENGTH):
        cv.positive_time_period_milliseconds,
        vol.Optional(CONF_POWER_SUPPLY):
        cv.use_variable_id(PowerSupplyComponent),
        vol.Optional(CONF_EFFECTS):
        light.validate_effects(light.ADDRESSABLE_EFFECTS),
    }).extend(cv.COMPONENT_SCHEMA.schema), validate)


def to_code(config):
    rhs = App.make_fast_led_light(config[CONF_NAME])
    make = variable(config[CONF_MAKE_ID], rhs)
    fast_led = make.Pfast_led

    rgb_order = None
    if CONF_RGB_ORDER in config:
        rgb_order = RawExpression(config[CONF_RGB_ORDER])
    template_args = TemplateArguments(RawExpression(config[CONF_CHIPSET]),
                                      config[CONF_PIN], rgb_order)
    add(fast_led.add_leds(template_args, config[CONF_NUM_LEDS]))
コード例 #3
0
ファイル: rgbww.py プロジェクト: lanbing8023/esphome-tools
        vol.Required(CONF_BLUE):
        cv.use_variable_id(output.FloatOutput),
        vol.Required(CONF_COLD_WHITE):
        cv.use_variable_id(output.FloatOutput),
        vol.Required(CONF_WARM_WHITE):
        cv.use_variable_id(output.FloatOutput),
        vol.Required(CONF_COLD_WHITE_COLOR_TEMPERATURE):
        validate_color_temperature,
        vol.Required(CONF_WARM_WHITE_COLOR_TEMPERATURE):
        validate_color_temperature,
        vol.Optional(CONF_GAMMA_CORRECT):
        cv.positive_float,
        vol.Optional(CONF_DEFAULT_TRANSITION_LENGTH):
        cv.positive_time_period_milliseconds,
        vol.Optional(CONF_EFFECTS):
        light.validate_effects(light.RGB_EFFECTS),
    }).extend(cv.COMPONENT_SCHEMA.schema), validate_cold_white_colder)


def to_code(config):
    for red in get_variable(config[CONF_RED]):
        yield
    for green in get_variable(config[CONF_GREEN]):
        yield
    for blue in get_variable(config[CONF_BLUE]):
        yield
    for cold_white in get_variable(config[CONF_COLD_WHITE]):
        yield
    for warm_white in get_variable(config[CONF_WARM_WHITE]):
        yield
    rhs = App.make_rgbww_light(config[CONF_NAME],
コード例 #4
0
ファイル: binary.py プロジェクト: liuse2ee/esphome-tools-dc1
import voluptuous as vol

from esphome.components import light, output
import esphome.config_validation as cv
from esphome.const import CONF_EFFECTS, CONF_MAKE_ID, CONF_NAME, CONF_OUTPUT
from esphome.cpp_generator import get_variable, variable
from esphome.cpp_helpers import setup_component
from esphome.cpp_types import App

PLATFORM_SCHEMA = cv.nameable(
    light.LIGHT_PLATFORM_SCHEMA.extend({
        cv.GenerateID(CONF_MAKE_ID):
        cv.declare_variable_id(light.MakeLight),
        vol.Required(CONF_OUTPUT):
        cv.use_variable_id(output.BinaryOutput),
        vol.Optional(CONF_EFFECTS):
        light.validate_effects(light.BINARY_EFFECTS),
    }).extend(cv.COMPONENT_SCHEMA.schema))


def to_code(config):
    for output_ in get_variable(config[CONF_OUTPUT]):
        yield
    rhs = App.make_binary_light(config[CONF_NAME], output_)
    light_struct = variable(config[CONF_MAKE_ID], rhs)
    light.setup_light(light_struct.Pstate, config)
    setup_component(light_struct.Pstate, config)
コード例 #5
0
ファイル: cwww.py プロジェクト: liuse2ee/esphome-tools-dc1
    CONF_DEFAULT_TRANSITION_LENGTH, CONF_EFFECTS, CONF_GAMMA_CORRECT, CONF_MAKE_ID, \
    CONF_NAME, CONF_WARM_WHITE, CONF_WARM_WHITE_COLOR_TEMPERATURE
from esphome.cpp_generator import get_variable, variable
from esphome.cpp_helpers import setup_component
from esphome.cpp_types import App

PLATFORM_SCHEMA = cv.nameable(light.LIGHT_PLATFORM_SCHEMA.extend({
    cv.GenerateID(CONF_MAKE_ID): cv.declare_variable_id(light.MakeLight),
    vol.Required(CONF_COLD_WHITE): cv.use_variable_id(output.FloatOutput),
    vol.Required(CONF_WARM_WHITE): cv.use_variable_id(output.FloatOutput),
    vol.Required(CONF_COLD_WHITE_COLOR_TEMPERATURE): validate_color_temperature,
    vol.Required(CONF_WARM_WHITE_COLOR_TEMPERATURE): validate_color_temperature,

    vol.Optional(CONF_GAMMA_CORRECT): cv.positive_float,
    vol.Optional(CONF_DEFAULT_TRANSITION_LENGTH): cv.positive_time_period_milliseconds,
    vol.Optional(CONF_EFFECTS): light.validate_effects(light.MONOCHROMATIC_EFFECTS),
}).extend(cv.COMPONENT_SCHEMA.schema), validate_cold_white_colder)


def to_code(config):
    for cold_white in get_variable(config[CONF_COLD_WHITE]):
        yield
    for warm_white in get_variable(config[CONF_WARM_WHITE]):
        yield
    rhs = App.make_cwww_light(config[CONF_NAME], config[CONF_COLD_WHITE_COLOR_TEMPERATURE],
                              config[CONF_WARM_WHITE_COLOR_TEMPERATURE],
                              cold_white, warm_white)
    light_struct = variable(config[CONF_MAKE_ID], rhs)
    light.setup_light(light_struct.Pstate, config)
    setup_component(light_struct.Pstate, config)
コード例 #6
0
from esphome.components import light, output
import esphome.config_validation as cv
from esphome.const import CONF_DEFAULT_TRANSITION_LENGTH, CONF_EFFECTS, CONF_GAMMA_CORRECT, \
    CONF_MAKE_ID, CONF_NAME, CONF_OUTPUT
from esphome.cpp_generator import get_variable, variable
from esphome.cpp_helpers import setup_component
from esphome.cpp_types import App

PLATFORM_SCHEMA = cv.nameable(
    light.LIGHT_PLATFORM_SCHEMA.extend({
        cv.GenerateID(CONF_MAKE_ID):
        cv.declare_variable_id(light.MakeLight),
        vol.Required(CONF_OUTPUT):
        cv.use_variable_id(output.FloatOutput),
        vol.Optional(CONF_GAMMA_CORRECT):
        cv.positive_float,
        vol.Optional(CONF_DEFAULT_TRANSITION_LENGTH):
        cv.positive_time_period_milliseconds,
        vol.Optional(CONF_EFFECTS):
        light.validate_effects(light.MONOCHROMATIC_EFFECTS),
    }).extend(cv.COMPONENT_SCHEMA.schema))


def to_code(config):
    for output_ in get_variable(config[CONF_OUTPUT]):
        yield
    rhs = App.make_monochromatic_light(config[CONF_NAME], output_)
    light_struct = variable(config[CONF_MAKE_ID], rhs)
    light.setup_light(light_struct.Pstate, config)
    setup_component(light_struct.Pstate, config)