From 98e106e0ae9b30937ff87b5285d61c03fd2ce61a Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Tue, 1 Jul 2025 08:09:11 +1200 Subject: [PATCH] [pins] Update ``internal_gpio_pin_number`` to work directly like ``internal_gpio_output_pin_number`` (#9270) --- esphome/components/i2c/__init__.py | 11 ++--------- esphome/pins.py | 4 +++- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/esphome/components/i2c/__init__.py b/esphome/components/i2c/__init__.py index fae1fa1d22..6adb9b71aa 100644 --- a/esphome/components/i2c/__init__.py +++ b/esphome/components/i2c/__init__.py @@ -9,8 +9,6 @@ from esphome.const import ( CONF_FREQUENCY, CONF_I2C_ID, CONF_ID, - CONF_INPUT, - CONF_OUTPUT, CONF_SCAN, CONF_SCL, CONF_SDA, @@ -73,20 +71,15 @@ def validate_config(config): return config -pin_with_input_and_output_support = pins.internal_gpio_pin_number( - {CONF_OUTPUT: True, CONF_INPUT: True} -) - - CONFIG_SCHEMA = cv.All( cv.Schema( { cv.GenerateID(): _bus_declare_type, - cv.Optional(CONF_SDA, default="SDA"): pin_with_input_and_output_support, + cv.Optional(CONF_SDA, default="SDA"): pins.internal_gpio_pin_number, cv.SplitDefault(CONF_SDA_PULLUP_ENABLED, esp32_idf=True): cv.All( cv.only_with_esp_idf, cv.boolean ), - cv.Optional(CONF_SCL, default="SCL"): pin_with_input_and_output_support, + cv.Optional(CONF_SCL, default="SCL"): pins.internal_gpio_pin_number, cv.SplitDefault(CONF_SCL_PULLUP_ENABLED, esp32_idf=True): cv.All( cv.only_with_esp_idf, cv.boolean ), diff --git a/esphome/pins.py b/esphome/pins.py index 0dfd5a245b..4f9b4859a1 100644 --- a/esphome/pins.py +++ b/esphome/pins.py @@ -220,7 +220,9 @@ def gpio_flags_expr(mode): gpio_pin_schema = _schema_creator -internal_gpio_pin_number = _internal_number_creator +internal_gpio_pin_number = _internal_number_creator( + {CONF_OUTPUT: True, CONF_INPUT: True} +) gpio_output_pin_schema = _schema_creator( { CONF_OUTPUT: True,