esphome/esphomeyaml/components/ads1115.py

31 lines
848 B
Python
Raw Permalink Normal View History

2018-04-07 01:23:03 +02:00
import voluptuous as vol
import esphomeyaml.config_validation as cv
2018-05-20 12:41:52 +02:00
from esphomeyaml.components import sensor
2018-04-07 01:23:03 +02:00
from esphomeyaml.const import CONF_ADDRESS, CONF_ID, CONF_RATE
2018-05-14 11:50:56 +02:00
from esphomeyaml.helpers import App, Pvariable
2018-04-07 01:23:03 +02:00
DEPENDENCIES = ['i2c']
2018-05-20 12:41:52 +02:00
ADS1115Component = sensor.sensor_ns.ADS1115Component
2018-04-07 01:23:03 +02:00
2018-05-14 11:50:56 +02:00
RATE_REMOVE_MESSAGE = """The rate option has been removed in 1.5.0 and is no longer required."""
2018-04-07 01:23:03 +02:00
ADS1115_SCHEMA = vol.Schema({
2018-06-02 22:22:20 +02:00
cv.GenerateID(): cv.declare_variable_id(ADS1115Component),
2018-04-07 01:23:03 +02:00
vol.Required(CONF_ADDRESS): cv.i2c_address,
2018-05-14 11:50:56 +02:00
vol.Optional(CONF_RATE): cv.invalid(RATE_REMOVE_MESSAGE)
2018-04-07 01:23:03 +02:00
})
CONFIG_SCHEMA = vol.All(cv.ensure_list, [ADS1115_SCHEMA])
def to_code(config):
for conf in config:
2018-05-14 11:50:56 +02:00
rhs = App.make_ads1115_component(conf[CONF_ADDRESS])
2018-06-02 22:22:20 +02:00
Pvariable(conf[CONF_ID], rhs)
2018-05-06 15:56:12 +02:00
BUILD_FLAGS = '-DUSE_ADS1115_SENSOR'