mirror of
https://github.com/Threnklyn/esphome-dev.git
synced 2026-06-01 02:28:28 +02:00
fix sx1509 use of pullup and pulldown (#3689)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
This commit is contained in:
@@ -9,6 +9,7 @@ from esphome.const import (
|
||||
CONF_MODE,
|
||||
CONF_INVERTED,
|
||||
CONF_OUTPUT,
|
||||
CONF_PULLDOWN,
|
||||
CONF_PULLUP,
|
||||
)
|
||||
|
||||
@@ -74,6 +75,10 @@ def validate_mode(value):
|
||||
raise cv.Invalid("Mode must be either input or output")
|
||||
if value[CONF_PULLUP] and not value[CONF_INPUT]:
|
||||
raise cv.Invalid("Pullup only available with input")
|
||||
if value[CONF_PULLDOWN] and not value[CONF_INPUT]:
|
||||
raise cv.Invalid("Pulldown only available with input")
|
||||
if value[CONF_PULLUP] and value[CONF_PULLDOWN]:
|
||||
raise cv.Invalid("Can only have one of pullup or pulldown")
|
||||
return value
|
||||
|
||||
|
||||
@@ -87,6 +92,7 @@ SX1509_PIN_SCHEMA = cv.All(
|
||||
{
|
||||
cv.Optional(CONF_INPUT, default=False): cv.boolean,
|
||||
cv.Optional(CONF_PULLUP, default=False): cv.boolean,
|
||||
cv.Optional(CONF_PULLDOWN, default=False): cv.boolean,
|
||||
cv.Optional(CONF_OUTPUT, default=False): cv.boolean,
|
||||
},
|
||||
validate_mode,
|
||||
|
||||
Reference in New Issue
Block a user