Cleanup dashboard JS (#491)

* Cleanup dashboard JS

* Add vscode

* Save start_mark/end_mark

* Updates

* Updates

* Remove need for cv.nameable

It's a bit hacky but removes so much bloat from integrations

* Add enum helper

* Document APIs, and Improvements

* Fixes

* Fixes

* Update PULL_REQUEST_TEMPLATE.md

* Updates

* Updates

* Updates
This commit is contained in:
Otto Winter
2019-04-22 21:56:30 +02:00
committed by GitHub
parent 6682c43dfa
commit 8e75980ebd
359 changed files with 4395 additions and 4223 deletions
+17 -12
View File
@@ -6,19 +6,24 @@ from esphome.const import CONF_BLUE, CONF_GREEN, CONF_RED, CONF_OUTPUT_ID, CONF_
rgbw_ns = cg.esphome_ns.namespace('rgbw')
RGBWLightOutput = rgbw_ns.class_('RGBWLightOutput', light.LightOutput)
CONFIG_SCHEMA = cv.nameable(light.RGB_LIGHT_SCHEMA.extend({
cv.GenerateID(CONF_OUTPUT_ID): cv.declare_variable_id(RGBWLightOutput),
cv.Required(CONF_RED): cv.use_variable_id(output.FloatOutput),
cv.Required(CONF_GREEN): cv.use_variable_id(output.FloatOutput),
cv.Required(CONF_BLUE): cv.use_variable_id(output.FloatOutput),
cv.Required(CONF_WHITE): cv.use_variable_id(output.FloatOutput),
}))
CONFIG_SCHEMA = light.RGB_LIGHT_SCHEMA.extend({
cv.GenerateID(CONF_OUTPUT_ID): cv.declare_id(RGBWLightOutput),
cv.Required(CONF_RED): cv.use_id(output.FloatOutput),
cv.Required(CONF_GREEN): cv.use_id(output.FloatOutput),
cv.Required(CONF_BLUE): cv.use_id(output.FloatOutput),
cv.Required(CONF_WHITE): cv.use_id(output.FloatOutput),
})
def to_code(config):
red = yield cg.get_variable(config[CONF_RED])
green = yield cg.get_variable(config[CONF_GREEN])
blue = yield cg.get_variable(config[CONF_BLUE])
white = yield cg.get_variable(config[CONF_WHITE])
var = cg.new_Pvariable(config[CONF_OUTPUT_ID], red, green, blue, white)
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))
+4 -3
View File
@@ -9,9 +9,10 @@ namespace rgbw {
class RGBWLightOutput : public light::LightOutput {
public:
RGBWLightOutput(output::FloatOutput *red, output::FloatOutput *green, output::FloatOutput *blue,
output::FloatOutput *white)
: red_(red), green_(green), blue_(blue), white_(white) {}
void set_red(output::FloatOutput *red) { red_ = red; }
void set_green(output::FloatOutput *green) { green_ = green; }
void set_blue(output::FloatOutput *blue) { blue_ = blue; }
void set_white(output::FloatOutput *white) { white_ = white; }
light::LightTraits get_traits() override {
auto traits = light::LightTraits();
traits.set_supports_brightness(true);