mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	GPIO Switch Power On Value v2 (#183)
This commit is contained in:
		| @@ -3,14 +3,15 @@ import voluptuous as vol | ||||
| import esphomeyaml.config_validation as cv | ||||
| from esphomeyaml import pins | ||||
| from esphomeyaml.components import switch | ||||
| from esphomeyaml.const import CONF_MAKE_ID, CONF_NAME, CONF_PIN | ||||
| from esphomeyaml.helpers import App, Application, gpio_output_pin_expression, variable | ||||
| from esphomeyaml.const import CONF_MAKE_ID, CONF_NAME, CONF_PIN, CONF_POWER_ON_VALUE | ||||
| from esphomeyaml.helpers import App, Application, gpio_output_pin_expression, variable, add | ||||
|  | ||||
| MakeGPIOSwitch = Application.MakeGPIOSwitch | ||||
|  | ||||
| PLATFORM_SCHEMA = cv.nameable(switch.SWITCH_PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID(CONF_MAKE_ID): cv.declare_variable_id(MakeGPIOSwitch), | ||||
|     vol.Required(CONF_PIN): pins.gpio_output_pin_schema, | ||||
|     vol.Optional(CONF_POWER_ON_VALUE): cv.boolean, | ||||
| })) | ||||
|  | ||||
|  | ||||
| @@ -20,6 +21,10 @@ def to_code(config): | ||||
|         yield | ||||
|     rhs = App.make_gpio_switch(config[CONF_NAME], pin) | ||||
|     gpio = variable(config[CONF_MAKE_ID], rhs) | ||||
|  | ||||
|     if CONF_POWER_ON_VALUE in config: | ||||
|         add(gpio.Pswitch_.set_power_on_value(config[CONF_POWER_ON_VALUE])) | ||||
|  | ||||
|     switch.setup_switch(gpio.Pswitch_, gpio.Pmqtt, config) | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -5,10 +5,10 @@ from esphomeyaml.components import switch | ||||
| from esphomeyaml.const import CONF_MAKE_ID, CONF_NAME, CONF_OUTPUT | ||||
| from esphomeyaml.helpers import App, Application, get_variable, variable | ||||
|  | ||||
| MakeSimpleSwitch = Application.MakeSimpleSwitch | ||||
| MakeOutputSwitch = Application.MakeOutputSwitch | ||||
|  | ||||
| PLATFORM_SCHEMA = cv.nameable(switch.SWITCH_PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID(CONF_MAKE_ID): cv.declare_variable_id(MakeSimpleSwitch), | ||||
|     cv.GenerateID(CONF_MAKE_ID): cv.declare_variable_id(MakeOutputSwitch), | ||||
|     vol.Required(CONF_OUTPUT): cv.use_variable_id(None), | ||||
| })) | ||||
|  | ||||
| @@ -17,9 +17,9 @@ def to_code(config): | ||||
|     output = None | ||||
|     for output in get_variable(config[CONF_OUTPUT]): | ||||
|         yield | ||||
|     rhs = App.make_simple_switch(config[CONF_NAME], output) | ||||
|     rhs = App.make_output_switch(config[CONF_NAME], output) | ||||
|     gpio = variable(config[CONF_MAKE_ID], rhs) | ||||
|     switch.setup_switch(gpio.Pswitch_, gpio.Pmqtt, config) | ||||
|  | ||||
|  | ||||
| BUILD_FLAGS = '-DUSE_SIMPLE_SWITCH' | ||||
| BUILD_FLAGS = '-DUSE_OUTPUT_SWITCH' | ||||
|   | ||||
| @@ -340,6 +340,7 @@ CONF_MONTHS = 'months' | ||||
| CONF_DAYS_OF_WEEK = 'days_of_week' | ||||
| CONF_CRON = 'cron' | ||||
| CONF_POWER_SAVE_MODE = 'power_save_mode' | ||||
| CONF_POWER_ON_VALUE = 'power_on_value' | ||||
|  | ||||
| ALLOWED_NAME_CHARS = u'abcdefghijklmnopqrstuvwxyz0123456789_' | ||||
| ARDUINO_VERSION_ESP32_DEV = 'https://github.com/platformio/platform-espressif32.git#feature/stage' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user