mirror of
https://github.com/esphome/esphome.git
synced 2025-09-04 12:22:20 +01:00
Fixes
This commit is contained in:
@@ -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