mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	Fixes
This commit is contained in:
		| @@ -38,7 +38,7 @@ PLATFORM_SCHEMA = sensor.PLATFORM_SCHEMA.extend({ | ||||
|     vol.Required(CONF_HUMIDITY): BME280_OVERSAMPLING_SENSOR_SCHEMA, | ||||
|     vol.Optional(CONF_IIR_FILTER): vol.All(vol.Upper, vol.Any(*IIR_FILTER_OPTIONS)), | ||||
|     vol.Optional(CONF_UPDATE_INTERVAL): cv.positive_time_period_milliseconds, | ||||
| }).extend(sensor.MQTT_SENSOR_SCHEMA.schema) | ||||
| }) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|   | ||||
| @@ -43,7 +43,7 @@ PLATFORM_SCHEMA = sensor.PLATFORM_SCHEMA.extend({ | ||||
|     vol.Optional(CONF_IIR_FILTER): vol.All(vol.Upper, vol.Any(*IIR_FILTER_OPTIONS)), | ||||
|     # TODO: Heater | ||||
|     vol.Optional(CONF_UPDATE_INTERVAL): cv.positive_time_period_milliseconds, | ||||
| }).extend(sensor.MQTT_SENSOR_SCHEMA.schema) | ||||
| }) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|   | ||||
							
								
								
									
										45
									
								
								esphomeyaml/components/sensor/sht3xd.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								esphomeyaml/components/sensor/sht3xd.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| import voluptuous as vol | ||||
|  | ||||
| import esphomeyaml.config_validation as cv | ||||
| from esphomeyaml.components import sensor | ||||
| from esphomeyaml.components.sensor import MQTT_SENSOR_SCHEMA | ||||
| from esphomeyaml.const import CONF_HUMIDITY, CONF_ID, CONF_NAME, CONF_TEMPERATURE, \ | ||||
|     CONF_UPDATE_INTERVAL, CONF_ADDRESS, CONF_ACCURACY | ||||
| from esphomeyaml.helpers import App, variable, RawExpression, add | ||||
|  | ||||
| DEPENDENCIES = ['i2c'] | ||||
|  | ||||
| SHT_ACCURACIES = { | ||||
|     'LOW': 'sensor::SHT3XD_ACCURACY_LOW', | ||||
|     'MEDIUM': 'sensor::SHT3XD_ACCURACY_MEDIUM', | ||||
|     'HIGH': 'sensor::SHT3XD_ACCURACY_HIGH', | ||||
| } | ||||
|  | ||||
| PLATFORM_SCHEMA = sensor.PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID('sht3xd'): cv.register_variable_id, | ||||
|     vol.Required(CONF_TEMPERATURE): MQTT_SENSOR_SCHEMA, | ||||
|     vol.Required(CONF_HUMIDITY): MQTT_SENSOR_SCHEMA, | ||||
|     vol.Optional(CONF_ADDRESS, default=0x44): cv.i2c_address, | ||||
|     vol.Optional(CONF_ACCURACY): vol.All(vol.Upper, vol.Any(*SHT_ACCURACIES)), | ||||
|     vol.Optional(CONF_UPDATE_INTERVAL): cv.positive_time_period_milliseconds, | ||||
| }) | ||||
|  | ||||
|  | ||||
| def to_code(config): | ||||
|     rhs = App.make_sht3xd_sensor(config[CONF_TEMPERATURE][CONF_NAME], | ||||
|                                  config[CONF_HUMIDITY][CONF_NAME], | ||||
|                                  config.get(CONF_UPDATE_INTERVAL)) | ||||
|     sht3xd = variable('Application::MakeSHT3XDSensor', config[CONF_ID], rhs) | ||||
|  | ||||
|     if CONF_ACCURACY in config: | ||||
|         constant = RawExpression(SHT_ACCURACIES[config[CONF_ACCURACY]]) | ||||
|         add(sht3xd.Psht3xd.set_accuracy(constant)) | ||||
|  | ||||
|     sensor.setup_sensor(sht3xd.Psht3xd.Pget_temperature_sensor(), config[CONF_TEMPERATURE]) | ||||
|     sensor.setup_mqtt_sensor_component(sht3xd.Pmqtt_temperature, config[CONF_TEMPERATURE]) | ||||
|  | ||||
|     sensor.setup_sensor(sht3xd.PPsht3xd.Pget_humidity_sensor(), config[CONF_HUMIDITY]) | ||||
|     sensor.setup_mqtt_sensor_component(sht3xd.Pmqtt_humidity, config[CONF_HUMIDITY]) | ||||
|  | ||||
|  | ||||
| BUILD_FLAGS = '-DUSE_SHT3XD' | ||||
| @@ -4,15 +4,14 @@ import esphomeyaml.config_validation as cv | ||||
| from esphomeyaml.components import sensor | ||||
| from esphomeyaml.const import CONF_ADDRESS, CONF_GAIN, CONF_ID, CONF_INTEGRATION_TIME, CONF_NAME, \ | ||||
|     CONF_UPDATE_INTERVAL | ||||
| from esphomeyaml.core import TimePeriod | ||||
| from esphomeyaml.helpers import App, RawExpression, add, variable | ||||
|  | ||||
| DEPENDENCIES = ['i2c'] | ||||
|  | ||||
| INTEGRATION_TIMES = { | ||||
|     TimePeriod(milliseconds=14): 'sensor::TSL2561_INTEGRATION_14MS', | ||||
|     TimePeriod(milliseconds=101): 'sensor::TSL2561_INTEGRATION_101MS', | ||||
|     TimePeriod(milliseconds=402): 'sensor::TSL2561_INTEGRATION_402MS', | ||||
|     14: 'sensor::TSL2561_INTEGRATION_14MS', | ||||
|     101: 'sensor::TSL2561_INTEGRATION_101MS', | ||||
|     402: 'sensor::TSL2561_INTEGRATION_402MS', | ||||
| } | ||||
| GAINS = { | ||||
|     '1X': 'sensor::TSL2561_GAIN_1X', | ||||
| @@ -21,11 +20,18 @@ GAINS = { | ||||
|  | ||||
| CONF_IS_CS_PACKAGE = 'is_cs_package' | ||||
|  | ||||
|  | ||||
| def validate_integration_time(value): | ||||
|     value = cv.positive_time_period_milliseconds(value).total_milliseconds | ||||
|     if value not in INTEGRATION_TIMES: | ||||
|         raise vol.Invalid(u"Unsupported integration time {}.".format(value)) | ||||
|     return value | ||||
|  | ||||
|  | ||||
| PLATFORM_SCHEMA = sensor.PLATFORM_SCHEMA.extend({ | ||||
|     cv.GenerateID('tsl2561_sensor'): cv.register_variable_id, | ||||
|     vol.Optional(CONF_ADDRESS, default=0x39): cv.i2c_address, | ||||
|     vol.Optional(CONF_INTEGRATION_TIME): vol.All(cv.positive_time_period_milliseconds, | ||||
|                                                  vol.Any(*INTEGRATION_TIMES)), | ||||
|     vol.Optional(CONF_INTEGRATION_TIME): validate_integration_time, | ||||
|     vol.Optional(CONF_GAIN): vol.All(vol.Upper, vol.Any(*GAINS)), | ||||
|     vol.Optional(CONF_IS_CS_PACKAGE): cv.boolean, | ||||
|     vol.Optional(CONF_UPDATE_INTERVAL): cv.positive_time_period_milliseconds, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user