mirror of
https://github.com/esphome/esphome.git
synced 2025-03-15 15:18:16 +00:00
Add FastLED color correction option
This commit is contained in:
parent
629f2b128e
commit
5904aaec73
@ -6,7 +6,7 @@ from esphomeyaml.components import light
|
|||||||
from esphomeyaml.components.power_supply import PowerSupplyComponent
|
from esphomeyaml.components.power_supply import PowerSupplyComponent
|
||||||
from esphomeyaml.const import CONF_CHIPSET, CONF_DEFAULT_TRANSITION_LENGTH, CONF_GAMMA_CORRECT, \
|
from esphomeyaml.const import CONF_CHIPSET, CONF_DEFAULT_TRANSITION_LENGTH, CONF_GAMMA_CORRECT, \
|
||||||
CONF_MAKE_ID, CONF_MAX_REFRESH_RATE, CONF_NAME, CONF_NUM_LEDS, CONF_PIN, CONF_POWER_SUPPLY, \
|
CONF_MAKE_ID, CONF_MAX_REFRESH_RATE, CONF_NAME, CONF_NUM_LEDS, CONF_PIN, CONF_POWER_SUPPLY, \
|
||||||
CONF_RGB_ORDER, CONF_EFFECTS
|
CONF_RGB_ORDER, CONF_EFFECTS, CONF_COLOR_CORRECT
|
||||||
from esphomeyaml.helpers import App, Application, RawExpression, TemplateArguments, add, \
|
from esphomeyaml.helpers import App, Application, RawExpression, TemplateArguments, add, \
|
||||||
get_variable, variable
|
get_variable, variable
|
||||||
|
|
||||||
@ -66,6 +66,7 @@ PLATFORM_SCHEMA = cv.nameable(light.LIGHT_PLATFORM_SCHEMA.extend({
|
|||||||
vol.Optional(CONF_RGB_ORDER): vol.All(vol.Upper, cv.one_of(*RGB_ORDERS)),
|
vol.Optional(CONF_RGB_ORDER): vol.All(vol.Upper, cv.one_of(*RGB_ORDERS)),
|
||||||
|
|
||||||
vol.Optional(CONF_GAMMA_CORRECT): cv.positive_float,
|
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_DEFAULT_TRANSITION_LENGTH): cv.positive_time_period_milliseconds,
|
||||||
vol.Optional(CONF_POWER_SUPPLY): cv.use_variable_id(PowerSupplyComponent),
|
vol.Optional(CONF_POWER_SUPPLY): cv.use_variable_id(PowerSupplyComponent),
|
||||||
vol.Optional(CONF_EFFECTS): light.validate_effects(light.FASTLED_EFFECTS),
|
vol.Optional(CONF_EFFECTS): light.validate_effects(light.FASTLED_EFFECTS),
|
||||||
@ -93,6 +94,10 @@ def to_code(config):
|
|||||||
yield
|
yield
|
||||||
add(fast_led.set_power_supply(power_supply))
|
add(fast_led.set_power_supply(power_supply))
|
||||||
|
|
||||||
|
if CONF_COLOR_CORRECT in config:
|
||||||
|
r, g, b = config[CONF_COLOR_CORRECT]
|
||||||
|
add(fast_led.set_correction(r, g, b))
|
||||||
|
|
||||||
light.setup_light(make.Pstate, make.Pmqtt, config)
|
light.setup_light(make.Pstate, make.Pmqtt, config)
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ from esphomeyaml.components import light
|
|||||||
from esphomeyaml.components.power_supply import PowerSupplyComponent
|
from esphomeyaml.components.power_supply import PowerSupplyComponent
|
||||||
from esphomeyaml.const import CONF_CHIPSET, CONF_CLOCK_PIN, CONF_DATA_PIN, \
|
from esphomeyaml.const import CONF_CHIPSET, CONF_CLOCK_PIN, CONF_DATA_PIN, \
|
||||||
CONF_DEFAULT_TRANSITION_LENGTH, CONF_GAMMA_CORRECT, CONF_MAKE_ID, CONF_MAX_REFRESH_RATE, \
|
CONF_DEFAULT_TRANSITION_LENGTH, CONF_GAMMA_CORRECT, CONF_MAKE_ID, CONF_MAX_REFRESH_RATE, \
|
||||||
CONF_NAME, CONF_NUM_LEDS, CONF_POWER_SUPPLY, CONF_RGB_ORDER, CONF_EFFECTS
|
CONF_NAME, CONF_NUM_LEDS, CONF_POWER_SUPPLY, CONF_RGB_ORDER, CONF_EFFECTS, CONF_COLOR_CORRECT
|
||||||
from esphomeyaml.helpers import App, Application, RawExpression, TemplateArguments, add, \
|
from esphomeyaml.helpers import App, Application, RawExpression, TemplateArguments, add, \
|
||||||
get_variable, variable
|
get_variable, variable
|
||||||
|
|
||||||
@ -44,6 +44,7 @@ PLATFORM_SCHEMA = cv.nameable(light.LIGHT_PLATFORM_SCHEMA.extend({
|
|||||||
vol.Optional(CONF_MAX_REFRESH_RATE): cv.positive_time_period_microseconds,
|
vol.Optional(CONF_MAX_REFRESH_RATE): cv.positive_time_period_microseconds,
|
||||||
|
|
||||||
vol.Optional(CONF_GAMMA_CORRECT): cv.positive_float,
|
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_DEFAULT_TRANSITION_LENGTH): cv.positive_time_period_milliseconds,
|
||||||
vol.Optional(CONF_POWER_SUPPLY): cv.use_variable_id(PowerSupplyComponent),
|
vol.Optional(CONF_POWER_SUPPLY): cv.use_variable_id(PowerSupplyComponent),
|
||||||
vol.Optional(CONF_EFFECTS): light.validate_effects(light.FASTLED_EFFECTS),
|
vol.Optional(CONF_EFFECTS): light.validate_effects(light.FASTLED_EFFECTS),
|
||||||
@ -73,6 +74,10 @@ def to_code(config):
|
|||||||
yield
|
yield
|
||||||
add(fast_led.set_power_supply(power_supply))
|
add(fast_led.set_power_supply(power_supply))
|
||||||
|
|
||||||
|
if CONF_COLOR_CORRECT in config:
|
||||||
|
r, g, b = config[CONF_COLOR_CORRECT]
|
||||||
|
add(fast_led.set_correction(r, g, b))
|
||||||
|
|
||||||
light.setup_light(make.Pstate, make.Pmqtt, config)
|
light.setup_light(make.Pstate, make.Pmqtt, config)
|
||||||
|
|
||||||
|
|
||||||
|
@ -342,6 +342,7 @@ CONF_CRON = 'cron'
|
|||||||
CONF_POWER_SAVE_MODE = 'power_save_mode'
|
CONF_POWER_SAVE_MODE = 'power_save_mode'
|
||||||
CONF_POWER_ON_VALUE = 'power_on_value'
|
CONF_POWER_ON_VALUE = 'power_on_value'
|
||||||
CONF_ON_TAG = 'on_tag'
|
CONF_ON_TAG = 'on_tag'
|
||||||
|
CONF_COLOR_CORRECT = 'color_correct'
|
||||||
CONF_ON_JSON_MESSAGE = 'on_json_message'
|
CONF_ON_JSON_MESSAGE = 'on_json_message'
|
||||||
|
|
||||||
ALLOWED_NAME_CHARS = u'abcdefghijklmnopqrstuvwxyz0123456789_'
|
ALLOWED_NAME_CHARS = u'abcdefghijklmnopqrstuvwxyz0123456789_'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user