mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	Add internal modifier. Fixes ottowinter/esphomelib#77
This commit is contained in:
		| @@ -2,7 +2,7 @@ import voluptuous as vol | ||||
|  | ||||
| import esphomeyaml.config_validation as cv | ||||
| from esphomeyaml.const import CONF_ID, CONF_MQTT_ID, CONF_OSCILLATION_COMMAND_TOPIC, \ | ||||
|     CONF_OSCILLATION_STATE_TOPIC, CONF_SPEED_COMMAND_TOPIC, CONF_SPEED_STATE_TOPIC | ||||
|     CONF_OSCILLATION_STATE_TOPIC, CONF_SPEED_COMMAND_TOPIC, CONF_SPEED_STATE_TOPIC, CONF_INTERNAL | ||||
| from esphomeyaml.helpers import Application, Pvariable, add, esphomelib_ns, setup_mqtt_component | ||||
|  | ||||
| PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend({ | ||||
| @@ -29,6 +29,8 @@ FAN_SCHEMA = cv.MQTT_COMMAND_COMPONENT_SCHEMA.extend({ | ||||
|     vol.Optional(CONF_OSCILLATION_COMMAND_TOPIC): cv.subscribe_topic, | ||||
| }) | ||||
|  | ||||
| FAN_PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(FAN_SCHEMA.schema) | ||||
|  | ||||
|  | ||||
| FAN_SPEEDS = { | ||||
|     'OFF': FAN_SPEED_OFF, | ||||
| @@ -43,6 +45,9 @@ def validate_fan_speed(value): | ||||
|  | ||||
|  | ||||
| def setup_fan_core_(fan_var, mqtt_var, config): | ||||
|     if CONF_INTERNAL in config: | ||||
|         add(fan_var.set_internal(config[CONF_INTERNAL])) | ||||
|  | ||||
|     if CONF_OSCILLATION_STATE_TOPIC in config: | ||||
|         add(mqtt_var.set_custom_oscillation_state_topic(config[CONF_OSCILLATION_STATE_TOPIC])) | ||||
|     if CONF_OSCILLATION_COMMAND_TOPIC in config: | ||||
|   | ||||
| @@ -5,11 +5,11 @@ from esphomeyaml.components import fan | ||||
| from esphomeyaml.const import CONF_MAKE_ID, CONF_NAME, CONF_OSCILLATION_OUTPUT, CONF_OUTPUT | ||||
| from esphomeyaml.helpers import App, add, get_variable, variable | ||||
|  | ||||
| PLATFORM_SCHEMA = fan.PLATFORM_SCHEMA.extend({ | ||||
| PLATFORM_SCHEMA = cv.nameable(fan.FAN_PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID(CONF_MAKE_ID): cv.declare_variable_id(fan.MakeFan), | ||||
|     vol.Required(CONF_OUTPUT): cv.use_variable_id(None), | ||||
|     vol.Optional(CONF_OSCILLATION_OUTPUT): cv.use_variable_id(None), | ||||
| }).extend(fan.FAN_SCHEMA.schema) | ||||
| })) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|   | ||||
| @@ -7,7 +7,7 @@ from esphomeyaml.const import CONF_HIGH, CONF_LOW, CONF_MAKE_ID, CONF_MEDIUM, CO | ||||
|     CONF_SPEED_STATE_TOPIC | ||||
| from esphomeyaml.helpers import App, add, get_variable, variable | ||||
|  | ||||
| PLATFORM_SCHEMA = fan.PLATFORM_SCHEMA.extend({ | ||||
| PLATFORM_SCHEMA = cv.nameable(fan.FAN_PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID(CONF_MAKE_ID): cv.declare_variable_id(fan.MakeFan), | ||||
|     vol.Required(CONF_OUTPUT): cv.use_variable_id(None), | ||||
|     vol.Optional(CONF_SPEED_STATE_TOPIC): cv.publish_topic, | ||||
| @@ -18,7 +18,7 @@ PLATFORM_SCHEMA = fan.PLATFORM_SCHEMA.extend({ | ||||
|         vol.Required(CONF_MEDIUM): cv.percentage, | ||||
|         vol.Required(CONF_HIGH): cv.percentage, | ||||
|     }), | ||||
| }).extend(fan.FAN_SCHEMA.schema) | ||||
| })) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user