mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	Initial Commit 🎉
This commit is contained in:
		
							
								
								
									
										13
									
								
								esphomeyaml/components/light/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								esphomeyaml/components/light/__init__.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| import esphomeyaml.config_validation as cv | ||||
| from esphomeyaml.const import CONF_DEFAULT_TRANSITION_LENGTH | ||||
| from esphomeyaml.helpers import add, setup_mqtt_component | ||||
|  | ||||
| PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend({ | ||||
|  | ||||
| }).extend(cv.MQTT_COMMAND_COMPONENT_SCHEMA.schema) | ||||
|  | ||||
|  | ||||
| def setup_mqtt_light_component(obj, config): | ||||
|     if CONF_DEFAULT_TRANSITION_LENGTH in config: | ||||
|         add(obj.set_default_transition_length(config[CONF_DEFAULT_TRANSITION_LENGTH])) | ||||
|     setup_mqtt_component(obj, config) | ||||
							
								
								
									
										19
									
								
								esphomeyaml/components/light/binary.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								esphomeyaml/components/light/binary.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
|  | ||||
| import voluptuous as vol | ||||
|  | ||||
| import esphomeyaml.config_validation as cv | ||||
| from esphomeyaml.components import light | ||||
| from esphomeyaml.const import CONF_ID, CONF_NAME, CONF_OUTPUT | ||||
| from esphomeyaml.helpers import App, get_variable, variable | ||||
|  | ||||
| PLATFORM_SCHEMA = light.PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID('binary_light'): cv.register_variable_id, | ||||
|     vol.Required(CONF_OUTPUT): cv.variable_id, | ||||
| }) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|     output = get_variable(config[CONF_OUTPUT]) | ||||
|     rhs = App.make_binary_light(config[CONF_NAME], output) | ||||
|     light_struct = variable('Application::LightStruct', config[CONF_ID], rhs) | ||||
|     light.setup_mqtt_light_component(light_struct.Pmqtt, config) | ||||
							
								
								
									
										23
									
								
								esphomeyaml/components/light/monochromatic.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								esphomeyaml/components/light/monochromatic.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| import voluptuous as vol | ||||
|  | ||||
| import esphomeyaml.config_validation as cv | ||||
| from esphomeyaml.components import light | ||||
| from esphomeyaml.const import CONF_DEFAULT_TRANSITION_LENGTH, CONF_GAMMA_CORRECT, CONF_ID, \ | ||||
|     CONF_NAME, CONF_OUTPUT | ||||
| from esphomeyaml.helpers import App, add, get_variable, variable | ||||
|  | ||||
| PLATFORM_SCHEMA = light.PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID('monochromatic_light'): cv.register_variable_id, | ||||
|     vol.Required(CONF_OUTPUT): cv.variable_id, | ||||
|     vol.Optional(CONF_GAMMA_CORRECT): cv.positive_float, | ||||
|     vol.Optional(CONF_DEFAULT_TRANSITION_LENGTH): cv.positive_time_period, | ||||
| }) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|     output = get_variable(config[CONF_OUTPUT]) | ||||
|     rhs = App.make_monochromatic_light(config[CONF_NAME], output) | ||||
|     light_struct = variable('Application::LightStruct', config[CONF_ID], rhs) | ||||
|     if CONF_GAMMA_CORRECT in config: | ||||
|         add(light_struct.Poutput.set_gamma_correct(config[CONF_GAMMA_CORRECT])) | ||||
|     light.setup_mqtt_light_component(light_struct.Pmqtt, config) | ||||
							
								
								
									
										27
									
								
								esphomeyaml/components/light/rgb.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								esphomeyaml/components/light/rgb.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| import voluptuous as vol | ||||
|  | ||||
| import esphomeyaml.config_validation as cv | ||||
| from esphomeyaml.components import light | ||||
| from esphomeyaml.const import CONF_BLUE, CONF_DEFAULT_TRANSITION_LENGTH, CONF_GAMMA_CORRECT, \ | ||||
|     CONF_GREEN, CONF_ID, CONF_NAME, CONF_RED | ||||
| from esphomeyaml.helpers import App, add, get_variable, variable | ||||
|  | ||||
| PLATFORM_SCHEMA = light.PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID('rgb_light'): cv.register_variable_id, | ||||
|     vol.Required(CONF_RED): cv.variable_id, | ||||
|     vol.Required(CONF_GREEN): cv.variable_id, | ||||
|     vol.Required(CONF_BLUE): cv.variable_id, | ||||
|     vol.Optional(CONF_GAMMA_CORRECT): cv.positive_float, | ||||
|     vol.Optional(CONF_DEFAULT_TRANSITION_LENGTH): cv.positive_time_period, | ||||
| }) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|     red = get_variable(config[CONF_RED]) | ||||
|     green = get_variable(config[CONF_GREEN]) | ||||
|     blue = get_variable(config[CONF_BLUE]) | ||||
|     rhs = App.make_rgb_light(config[CONF_NAME], red, green, blue) | ||||
|     light_struct = variable('Application::LightStruct', config[CONF_ID], rhs) | ||||
|     if CONF_GAMMA_CORRECT in config: | ||||
|         add(light_struct.Poutput.set_gamma_correct(config[CONF_GAMMA_CORRECT])) | ||||
|     light.setup_mqtt_light_component(light_struct.Pmqtt, config) | ||||
							
								
								
									
										29
									
								
								esphomeyaml/components/light/rgbw.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								esphomeyaml/components/light/rgbw.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| import voluptuous as vol | ||||
|  | ||||
| import esphomeyaml.config_validation as cv | ||||
| from esphomeyaml.components import light | ||||
| from esphomeyaml.const import CONF_BLUE, CONF_DEFAULT_TRANSITION_LENGTH, CONF_GAMMA_CORRECT, \ | ||||
|     CONF_GREEN, CONF_ID, CONF_NAME, CONF_RED, CONF_WHITE | ||||
| from esphomeyaml.helpers import App, get_variable, variable, add | ||||
|  | ||||
| PLATFORM_SCHEMA = light.PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID('rgbw_light'): cv.register_variable_id, | ||||
|     vol.Required(CONF_RED): cv.variable_id, | ||||
|     vol.Required(CONF_GREEN): cv.variable_id, | ||||
|     vol.Required(CONF_BLUE): cv.variable_id, | ||||
|     vol.Required(CONF_WHITE): cv.variable_id, | ||||
|     vol.Optional(CONF_GAMMA_CORRECT): cv.positive_float, | ||||
|     vol.Optional(CONF_DEFAULT_TRANSITION_LENGTH): cv.positive_time_period, | ||||
| }) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|     red = get_variable(config[CONF_RED]) | ||||
|     green = get_variable(config[CONF_GREEN]) | ||||
|     blue = get_variable(config[CONF_BLUE]) | ||||
|     white = get_variable(config[CONF_WHITE]) | ||||
|     rhs = App.make_rgbw_light(config[CONF_NAME], red, green, blue, white) | ||||
|     light_struct = variable('Application::LightStruct', config[CONF_ID], rhs) | ||||
|     if CONF_GAMMA_CORRECT in config: | ||||
|         add(light_struct.Poutput.set_gamma_correct(config[CONF_GAMMA_CORRECT])) | ||||
|     light.setup_mqtt_light_component(light_struct.Pmqtt, config) | ||||
		Reference in New Issue
	
	Block a user