mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	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:
		| @@ -3,7 +3,7 @@ import esphome.codegen as cg | ||||
| import esphome.config_validation as cv | ||||
| from esphome.components import i2c, sensor | ||||
| from esphome.const import CONF_COLOR_TEMPERATURE, CONF_GAIN, CONF_ID, \ | ||||
|     CONF_ILLUMINANCE, CONF_INTEGRATION_TIME, CONF_UPDATE_INTERVAL, ICON_LIGHTBULB, \ | ||||
|     CONF_ILLUMINANCE, CONF_INTEGRATION_TIME, ICON_LIGHTBULB, \ | ||||
|     UNIT_PERCENT, ICON_THERMOMETER, UNIT_KELVIN, ICON_BRIGHTNESS_5, UNIT_LUX | ||||
|  | ||||
| DEPENDENCIES = ['i2c'] | ||||
| @@ -39,27 +39,26 @@ color_temperature_schema = sensor.sensor_schema(UNIT_KELVIN, ICON_THERMOMETER, 1 | ||||
| illuminance_schema = sensor.sensor_schema(UNIT_LUX, ICON_BRIGHTNESS_5, 1) | ||||
|  | ||||
| CONFIG_SCHEMA = cv.Schema({ | ||||
|     cv.GenerateID(): cv.declare_variable_id(TCS34725Component), | ||||
|     cv.Optional(CONF_RED_CHANNEL): cv.nameable(color_channel_schema), | ||||
|     cv.Optional(CONF_GREEN_CHANNEL): cv.nameable(color_channel_schema), | ||||
|     cv.Optional(CONF_BLUE_CHANNEL): cv.nameable(color_channel_schema), | ||||
|     cv.Optional(CONF_CLEAR_CHANNEL): cv.nameable(color_channel_schema), | ||||
|     cv.Optional(CONF_ILLUMINANCE): cv.nameable(illuminance_schema), | ||||
|     cv.Optional(CONF_COLOR_TEMPERATURE): cv.nameable(color_temperature_schema), | ||||
|     cv.GenerateID(): cv.declare_id(TCS34725Component), | ||||
|     cv.Optional(CONF_RED_CHANNEL): color_channel_schema, | ||||
|     cv.Optional(CONF_GREEN_CHANNEL): color_channel_schema, | ||||
|     cv.Optional(CONF_BLUE_CHANNEL): color_channel_schema, | ||||
|     cv.Optional(CONF_CLEAR_CHANNEL): color_channel_schema, | ||||
|     cv.Optional(CONF_ILLUMINANCE): illuminance_schema, | ||||
|     cv.Optional(CONF_COLOR_TEMPERATURE): color_temperature_schema, | ||||
|     cv.Optional(CONF_INTEGRATION_TIME, default='2.4ms'): | ||||
|         cv.one_of(*TCS34725_INTEGRATION_TIMES, lower=True), | ||||
|     cv.Optional(CONF_GAIN, default='1X'): cv.All(cv.Upper, cv.one_of(*TCS34725_GAINS), upper=True), | ||||
|     cv.Optional(CONF_UPDATE_INTERVAL, default='60s'): cv.update_interval, | ||||
| }).extend(cv.COMPONENT_SCHEMA).extend(i2c.i2c_device_schema(0x29)) | ||||
|         cv.enum(TCS34725_INTEGRATION_TIMES, lower=True), | ||||
|     cv.Optional(CONF_GAIN, default='1X'): cv.enum(TCS34725_GAINS, upper=True), | ||||
| }).extend(cv.polling_component_schema('60s')).extend(i2c.i2c_device_schema(0x29)) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|     var = cg.new_Pvariable(config[CONF_ID], config[CONF_UPDATE_INTERVAL]) | ||||
|     var = cg.new_Pvariable(config[CONF_ID]) | ||||
|     yield cg.register_component(var, config) | ||||
|     yield i2c.register_i2c_device(var, config) | ||||
|  | ||||
|     cg.add(var.set_integration_time(TCS34725_INTEGRATION_TIMES[config[CONF_INTEGRATION_TIME]])) | ||||
|     cg.add(var.set_gain(TCS34725_GAINS[config[CONF_GAIN]])) | ||||
|     cg.add(var.set_integration_time(config[CONF_INTEGRATION_TIME])) | ||||
|     cg.add(var.set_gain(config[CONF_GAIN])) | ||||
|  | ||||
|     if CONF_RED_CHANNEL in config: | ||||
|         sens = yield sensor.new_sensor(config[CONF_RED_CHANNEL]) | ||||
|   | ||||
| @@ -25,8 +25,6 @@ enum TCS34725Gain { | ||||
|  | ||||
| class TCS34725Component : public PollingComponent, public i2c::I2CDevice { | ||||
|  public: | ||||
|   TCS34725Component(uint32_t update_interval) : PollingComponent(update_interval) {} | ||||
|  | ||||
|   void set_integration_time(TCS34725IntegrationTime integration_time); | ||||
|   void set_gain(TCS34725Gain gain); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user