mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	Add internal modifier. Fixes ottowinter/esphomelib#77
This commit is contained in:
		| @@ -4,7 +4,7 @@ import esphomeyaml.config_validation as cv | ||||
| from esphomeyaml import automation | ||||
| from esphomeyaml.const import CONF_DEVICE_CLASS, CONF_ID, CONF_INVERTED, CONF_MAX_LENGTH, \ | ||||
|     CONF_MIN_LENGTH, CONF_MQTT_ID, CONF_ON_CLICK, CONF_ON_DOUBLE_CLICK, CONF_ON_PRESS, \ | ||||
|     CONF_ON_RELEASE, CONF_TRIGGER_ID | ||||
|     CONF_ON_RELEASE, CONF_TRIGGER_ID, CONF_INTERNAL | ||||
| from esphomeyaml.helpers import App, NoArg, Pvariable, add, esphomelib_ns, setup_mqtt_component, \ | ||||
|     add_job | ||||
|  | ||||
| @@ -51,8 +51,12 @@ BINARY_SENSOR_SCHEMA = cv.MQTT_COMPONENT_SCHEMA.extend({ | ||||
|         })]), | ||||
| }) | ||||
|  | ||||
| BINARY_SENSOR_PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(BINARY_SENSOR_SCHEMA.schema) | ||||
|  | ||||
|  | ||||
| def setup_binary_sensor_core_(binary_sensor_var, mqtt_var, config): | ||||
|     if CONF_INTERNAL in config: | ||||
|         add(binary_sensor_var.set_internal(CONF_INTERNAL)) | ||||
|     if CONF_DEVICE_CLASS in config: | ||||
|         add(binary_sensor_var.set_device_class(config[CONF_DEVICE_CLASS])) | ||||
|     if CONF_INVERTED in config: | ||||
|   | ||||
| @@ -4,7 +4,7 @@ import esphomeyaml.config_validation as cv | ||||
| from esphomeyaml.components import binary_sensor | ||||
| from esphomeyaml.components.esp32_ble import ESP32BLETracker | ||||
| from esphomeyaml.const import CONF_MAC_ADDRESS, CONF_NAME, ESP_PLATFORM_ESP32 | ||||
| from esphomeyaml.core import HexInt, MACAddress | ||||
| from esphomeyaml.core import HexInt | ||||
| from esphomeyaml.helpers import ArrayInitializer, get_variable | ||||
|  | ||||
| ESP_PLATFORMS = [ESP_PLATFORM_ESP32] | ||||
| @@ -12,28 +12,10 @@ DEPENDENCIES = ['esp32_ble'] | ||||
|  | ||||
| CONF_ESP32_BLE_ID = 'esp32_ble_id' | ||||
|  | ||||
|  | ||||
| def validate_mac(value): | ||||
|     value = cv.string_strict(value) | ||||
|     parts = value.split(':') | ||||
|     if len(parts) != 6: | ||||
|         raise vol.Invalid("MAC Address must consist of 6 : (colon) separated parts") | ||||
|     parts_int = [] | ||||
|     if any(len(part) != 2 for part in parts): | ||||
|         raise vol.Invalid("MAC Address must be format XX:XX:XX:XX:XX:XX") | ||||
|     for part in parts: | ||||
|         try: | ||||
|             parts_int.append(int(part, 16)) | ||||
|         except ValueError: | ||||
|             raise vol.Invalid("MAC Address parts must be hexadecimal values from 00 to FF") | ||||
|  | ||||
|     return MACAddress(*parts_int) | ||||
|  | ||||
|  | ||||
| PLATFORM_SCHEMA = binary_sensor.PLATFORM_SCHEMA.extend({ | ||||
|     vol.Required(CONF_MAC_ADDRESS): validate_mac, | ||||
| PLATFORM_SCHEMA = cv.nameable(binary_sensor.BINARY_SENSOR_PLATFORM_SCHEMA.extend({ | ||||
|     vol.Required(CONF_MAC_ADDRESS): cv.mac_address, | ||||
|     cv.GenerateID(CONF_ESP32_BLE_ID): cv.use_variable_id(ESP32BLETracker) | ||||
| }).extend(binary_sensor.BINARY_SENSOR_SCHEMA.schema) | ||||
| })) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|   | ||||
| @@ -34,11 +34,11 @@ def validate_touch_pad(value): | ||||
|     return value | ||||
|  | ||||
|  | ||||
| PLATFORM_SCHEMA = binary_sensor.PLATFORM_SCHEMA.extend({ | ||||
| PLATFORM_SCHEMA = cv.nameable(binary_sensor.BINARY_SENSOR_PLATFORM_SCHEMA.extend({ | ||||
|     vol.Required(CONF_PIN): validate_touch_pad, | ||||
|     vol.Required(CONF_THRESHOLD): cv.uint16_t, | ||||
|     cv.GenerateID(CONF_ESP32_TOUCH_ID): cv.use_variable_id(ESP32TouchComponent), | ||||
| }).extend(binary_sensor.BINARY_SENSOR_SCHEMA.schema) | ||||
| })) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|   | ||||
| @@ -8,10 +8,10 @@ from esphomeyaml.helpers import App, gpio_input_pin_expression, variable, Applic | ||||
|  | ||||
| MakeGPIOBinarySensor = Application.MakeGPIOBinarySensor | ||||
|  | ||||
| PLATFORM_SCHEMA = binary_sensor.PLATFORM_SCHEMA.extend({ | ||||
| PLATFORM_SCHEMA = cv.nameable(binary_sensor.BINARY_SENSOR_PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID(CONF_MAKE_ID): cv.declare_variable_id(MakeGPIOBinarySensor), | ||||
|     vol.Required(CONF_PIN): pins.gpio_input_pin_schema | ||||
| }).extend(binary_sensor.BINARY_SENSOR_SCHEMA.schema) | ||||
| })) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|   | ||||
| @@ -7,9 +7,9 @@ DEPENDENCIES = ['mqtt'] | ||||
|  | ||||
| MakeStatusBinarySensor = Application.MakeStatusBinarySensor | ||||
|  | ||||
| PLATFORM_SCHEMA = binary_sensor.PLATFORM_SCHEMA.extend({ | ||||
| PLATFORM_SCHEMA = cv.nameable(binary_sensor.BINARY_SENSOR_PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID(CONF_MAKE_ID): cv.declare_variable_id(MakeStatusBinarySensor), | ||||
| }).extend(binary_sensor.BINARY_SENSOR_SCHEMA.schema) | ||||
| })) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|   | ||||
| @@ -7,10 +7,10 @@ from esphomeyaml.helpers import App, Application, process_lambda, variable, opti | ||||
|  | ||||
| MakeTemplateBinarySensor = Application.MakeTemplateBinarySensor | ||||
|  | ||||
| PLATFORM_SCHEMA = binary_sensor.PLATFORM_SCHEMA.extend({ | ||||
| PLATFORM_SCHEMA = cv.nameable(binary_sensor.BINARY_SENSOR_PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID(CONF_MAKE_ID): cv.declare_variable_id(MakeTemplateBinarySensor), | ||||
|     vol.Required(CONF_LAMBDA): cv.lambda_, | ||||
| }).extend(binary_sensor.BINARY_SENSOR_SCHEMA.schema) | ||||
| })) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user