1
0
mirror of https://github.com/esphome/esphome.git synced 2025-03-15 07:08:20 +00:00

add ttp229_besf support

This commit is contained in:
mvturnho 2019-03-30 10:22:42 +01:00
parent e9b32be470
commit c6bfa40a10
3 changed files with 61 additions and 1 deletions

View File

@ -0,0 +1,25 @@
import voluptuous as vol
from esphome.components import binary_sensor
from esphome.components.ttp229_bsf import TTP229BSFComponent, CONF_TTP229_BSF_ID
import esphome.config_validation as cv
from esphome.const import CONF_CHANNEL, CONF_NAME
from esphome.cpp_generator import get_variable
DEPENDENCIES = ['ttp229_bsf']
TTP229Channel = binary_sensor.binary_sensor_ns.class_(
'TTP229Channel', binary_sensor.BinarySensor)
PLATFORM_SCHEMA = cv.nameable(binary_sensor.BINARY_SENSOR_PLATFORM_SCHEMA.extend({
cv.GenerateID(): cv.declare_variable_id(TTP229Channel),
cv.GenerateID(CONF_TTP229_BSF_ID): cv.use_variable_id(TTP229BSFComponent),
vol.Required(CONF_CHANNEL): vol.All(vol.Coerce(int), vol.Range(min=0, max=15))
}))
def to_code(config):
for hub in get_variable(config[CONF_TTP229_BSF_ID]):
yield
rhs = TTP229Channel.new(config[CONF_NAME], config[CONF_CHANNEL])
binary_sensor.register_binary_sensor(hub.add_channel(rhs), config)

View File

@ -0,0 +1,35 @@
import voluptuous as vol
from esphome.components import binary_sensor
import esphome.config_validation as cv
from esphome.const import CONF_ID, CONF_SCL, CONF_SDO
from esphome.cpp_generator import Pvariable
from esphome.cpp_helpers import setup_component
from esphome.cpp_types import App, Component
from esphome.cpp_helpers import gpio_output_pin_expression
from esphome.pins import gpio_input_pullup_pin_schema
MULTI_CONF = True
CONF_TTP229_BSF_ID = 'ttp229_bsf_id'
TTP229BSFComponent = binary_sensor.binary_sensor_ns.class_('TTP229BSFComponent', Component)
CONFIG_SCHEMA = cv.Schema({
cv.GenerateID(): cv.declare_variable_id(TTP229BSFComponent),
vol.Required(CONF_SDO): gpio_input_pullup_pin_schema,
vol.Required(CONF_SCL): gpio_input_pullup_pin_schema,
}).extend(cv.COMPONENT_SCHEMA.schema)
def to_code(config):
for sdo_pin in gpio_output_pin_expression(config[CONF_SDO]):
yield
for scl_pin in gpio_output_pin_expression(config[CONF_SCL]):
yield
rhs = App.make_ttp229_bsf(sdo_pin, scl_pin)
var = Pvariable(config[CONF_ID], rhs)
setup_component(var, config)
BUILD_FLAGS = '-DUSE_TTP229_BSF'

View File

@ -59,7 +59,7 @@ CONF_INVERTED = 'inverted'
CONF_I2C = 'i2c' CONF_I2C = 'i2c'
CONF_SDA = 'sda' CONF_SDA = 'sda'
CONF_SCL = 'scl' CONF_SCL = 'scl'
COND_SDO = 'sdo' CONF_SDO = 'sdo'
CONF_FREQUENCY = 'frequency' CONF_FREQUENCY = 'frequency'
CONF_PCA9685 = 'pca9685' CONF_PCA9685 = 'pca9685'
CONF_PCA9685_ID = 'pca9685_id' CONF_PCA9685_ID = 'pca9685_id'