From ed9616d512c3fe136ea58d2e2398162559e39c2d Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 18 Oct 2026 03:10:22 -1000 Subject: [PATCH] [components] Set pins with cg.add_pin (#21019) Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> --- esphome/components/a4988/stepper.py | 11 +-- esphome/components/ac_dimmer/output.py | 6 +- esphome/components/adc/sensor.py | 3 +- esphome/components/ade7880/sensor.py | 13 +--- esphome/components/ade7953_base/__init__.py | 4 +- esphome/components/apc1/sensor.py | 9 +-- esphome/components/as3935/__init__.py | 3 +- esphome/components/as5600/__init__.py | 4 +- .../axs15231/touchscreen/__init__.py | 6 +- esphome/components/bp1658cj/__init__.py | 6 +- esphome/components/bp5758d/__init__.py | 6 +- esphome/components/cap1188/__init__.py | 4 +- esphome/components/cc1101/__init__.py | 4 +- esphome/components/cd74hc4067/__init__.py | 12 +-- .../cdc_acm_uart/bridge/__init__.py | 8 +- esphome/components/chsc6x/touchscreen.py | 3 +- .../components/cst226/touchscreen/__init__.py | 6 +- .../components/cst328/touchscreen/__init__.py | 6 +- .../components/cst816/touchscreen/__init__.py | 6 +- .../cst9220/touchscreen/__init__.py | 6 +- esphome/components/deep_sleep/__init__.py | 3 +- esphome/components/dht/sensor.py | 4 +- esphome/components/ds248x/__init__.py | 4 +- esphome/components/duty_cycle/sensor.py | 3 +- .../ektf2232/touchscreen/__init__.py | 6 +- esphome/components/epaper_spi/display.py | 11 +-- esphome/components/esp32_dac/output.py | 3 +- esphome/components/esp8266_pwm/output.py | 3 +- .../components/fingerprint_grow/__init__.py | 9 +-- .../components/ft5x06/touchscreen/__init__.py | 4 +- esphome/components/ft63x6/touchscreen.py | 8 +- .../components/gpio/binary_sensor/__init__.py | 3 +- esphome/components/gpio/one_wire/__init__.py | 3 +- esphome/components/gpio/output/__init__.py | 3 +- esphome/components/gpio/switch/__init__.py | 3 +- esphome/components/gsl3670/touchscreen.py | 9 +-- .../components/gt911/touchscreen/__init__.py | 6 +- esphome/components/hbridge/switch/__init__.py | 6 +- esphome/components/hlw8012/sensor.py | 9 +-- esphome/components/hx711/sensor.py | 6 +- esphome/components/icnt86/touchscreen.py | 9 +-- esphome/components/inkplate/display.py | 75 +++++-------------- esphome/components/it8951/display.py | 6 +- esphome/components/lcd_gpio/display.py | 12 +-- .../lilygo_t5_47/touchscreen/__init__.py | 3 +- esphome/components/mics_5524/sensor.py | 3 +- esphome/components/mipi_dsi/display.py | 4 +- esphome/components/mipi_rgb/display.py | 24 ++---- esphome/components/mipi_spi/display.py | 9 +-- esphome/components/mlx90393/sensor.py | 4 +- esphome/components/modbus/__init__.py | 5 +- esphome/components/my9231/__init__.py | 6 +- esphome/components/nrf52/__init__.py | 4 +- esphome/components/opentherm/__init__.py | 7 +- esphome/components/pcd8544/display.py | 6 +- esphome/components/pn7160/__init__.py | 9 +-- esphome/components/pn71xx/__init__.py | 7 +- esphome/components/power_supply/__init__.py | 3 +- esphome/components/pulse_counter/sensor.py | 3 +- esphome/components/pulse_meter/sensor.py | 3 +- esphome/components/pulse_width/sensor.py | 3 +- esphome/components/qmc5883l/sensor.py | 4 +- esphome/components/rc522/__init__.py | 4 +- esphome/components/rotary_encoder/sensor.py | 10 +-- esphome/components/rp2040_pwm/output.py | 3 +- esphome/components/serial_proxy/__init__.py | 9 +-- esphome/components/sh1122_base/__init__.py | 4 +- esphome/components/shelly_dimmer/light.py | 6 +- .../components/sigma_delta_output/output.py | 4 +- esphome/components/slow_pwm/output.py | 4 +- esphome/components/sm10bit_base/__init__.py | 6 +- esphome/components/sm16716/__init__.py | 6 +- esphome/components/sm2135/__init__.py | 6 +- esphome/components/sn74hc165/__init__.py | 13 +--- esphome/components/sn74hc595/__init__.py | 13 +--- esphome/components/spd2010/touchscreen.py | 6 +- esphome/components/spi/__init__.py | 13 +--- esphome/components/ssd1306_base/__init__.py | 4 +- esphome/components/ssd1306_spi/display.py | 3 +- esphome/components/ssd1322_base/__init__.py | 4 +- esphome/components/ssd1322_spi/display.py | 3 +- esphome/components/ssd1325_base/__init__.py | 4 +- esphome/components/ssd1325_spi/display.py | 3 +- esphome/components/ssd1327_base/__init__.py | 4 +- esphome/components/ssd1327_spi/display.py | 3 +- esphome/components/ssd1331_base/__init__.py | 4 +- esphome/components/ssd1331_spi/display.py | 3 +- esphome/components/ssd1351_base/__init__.py | 4 +- esphome/components/ssd1351_spi/display.py | 3 +- .../components/st7123/touchscreen/__init__.py | 6 +- esphome/components/st7567_base/__init__.py | 4 +- esphome/components/st7567_spi/display.py | 3 +- esphome/components/st7701s/display.py | 21 ++---- .../components/status_led/light/__init__.py | 8 +- esphome/components/sx126x/__init__.py | 10 +-- esphome/components/sx127x/__init__.py | 7 +- esphome/components/tas58xx/audio_dac.py | 4 +- esphome/components/tca8418/__init__.py | 3 +- esphome/components/tlc5947/__init__.py | 13 +--- esphome/components/tlc5971/__init__.py | 6 +- esphome/components/tm1621/display.py | 12 +-- esphome/components/tm1637/display.py | 6 +- esphome/components/tm1638/display.py | 11 +-- esphome/components/tm1651/__init__.py | 6 +- esphome/components/tmc22xx/__init__.py | 3 +- .../tt21100/touchscreen/__init__.py | 9 +-- esphome/components/ttp229_bsf/__init__.py | 6 +- esphome/components/tuya/__init__.py | 4 +- esphome/components/tuya/climate/__init__.py | 8 +- esphome/components/tx20/sensor.py | 3 +- esphome/components/uln2003/stepper.py | 12 +-- esphome/components/ultrasonic/sensor.py | 6 +- esphome/components/vl53l0x/sensor.py | 4 +- esphome/components/wiegand/__init__.py | 6 +- esphome/components/x9c/output.py | 9 +-- .../xpt2046/touchscreen/__init__.py | 4 +- esphome/components/zyaura/sensor.py | 7 +- 117 files changed, 227 insertions(+), 564 deletions(-) diff --git a/esphome/components/a4988/stepper.py b/esphome/components/a4988/stepper.py index 7a19bd550da..f97f30903a4 100644 --- a/esphome/components/a4988/stepper.py +++ b/esphome/components/a4988/stepper.py @@ -23,11 +23,6 @@ async def to_code(config: ConfigType) -> None: await cg.register_component(var, config) await stepper.register_stepper(var, config) - step_pin = await cg.gpio_pin_expression(config[CONF_STEP_PIN]) - cg.add(var.set_step_pin(step_pin)) - dir_pin = await cg.gpio_pin_expression(config[CONF_DIR_PIN]) - cg.add(var.set_dir_pin(dir_pin)) - - if sleep_pin_config := config.get(CONF_SLEEP_PIN): - sleep_pin = await cg.gpio_pin_expression(sleep_pin_config) - cg.add(var.set_sleep_pin(sleep_pin)) + await cg.add_pin(var.set_step_pin, config[CONF_STEP_PIN]) + await cg.add_pin(var.set_dir_pin, config[CONF_DIR_PIN]) + await cg.add_pin(var.set_sleep_pin, config.get(CONF_SLEEP_PIN)) diff --git a/esphome/components/ac_dimmer/output.py b/esphome/components/ac_dimmer/output.py index 7d1b66a6905..90d88acc2a3 100644 --- a/esphome/components/ac_dimmer/output.py +++ b/esphome/components/ac_dimmer/output.py @@ -68,10 +68,8 @@ async def to_code(config: ConfigType) -> None: config[CONF_MIN_POWER] = 0.1 await output.register_output(var, config) - pin = await cg.gpio_pin_expression(config[CONF_GATE_PIN]) - cg.add(var.set_gate_pin(pin)) - pin = await cg.gpio_pin_expression(config[CONF_ZERO_CROSS_PIN]) - cg.add(var.set_zero_cross_pin(pin)) + await cg.add_pin(var.set_gate_pin, config[CONF_GATE_PIN]) + await cg.add_pin(var.set_zero_cross_pin, config[CONF_ZERO_CROSS_PIN]) cg.add(var.set_zero_cross_interrupt_type(config[CONF_ZERO_CROSS_INTERRUPT_TYPE])) cg.add(var.set_init_with_half_cycle(config[CONF_INIT_WITH_HALF_CYCLE])) cg.add(var.set_method(config[CONF_METHOD])) diff --git a/esphome/components/adc/sensor.py b/esphome/components/adc/sensor.py index b44d88d56e3..1c10aed4a15 100644 --- a/esphome/components/adc/sensor.py +++ b/esphome/components/adc/sensor.py @@ -164,8 +164,7 @@ async def to_code(config: ConfigType) -> None: # Remove before 2027.2.0 cg.add(var.set_is_temperature()) elif not CORE.is_nrf52 or config[CONF_PIN][CONF_NUMBER] not in EXTRA_ADC: - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) # Skip the setters when the config matches the C++ initializers. if config[CONF_RAW]: diff --git a/esphome/components/ade7880/sensor.py b/esphome/components/ade7880/sensor.py index 541d37603e1..7e01b35b73b 100644 --- a/esphome/components/ade7880/sensor.py +++ b/esphome/components/ade7880/sensor.py @@ -284,16 +284,9 @@ async def power_channel(config: ConfigType) -> MockObj: async def to_code(config: ConfigType) -> None: var = await i2c.new_i2c_component(config) - if irq0_pin := config.get(CONF_IRQ0_PIN): - pin = await cg.gpio_pin_expression(irq0_pin) - cg.add(var.set_irq0_pin(pin)) - - pin = await cg.gpio_pin_expression(config[CONF_IRQ1_PIN]) - cg.add(var.set_irq1_pin(pin)) - - if reset_pin := config.get(CONF_RESET_PIN): - pin = await cg.gpio_pin_expression(reset_pin) - cg.add(var.set_reset_pin(pin)) + await cg.add_pin(var.set_irq0_pin, config.get(CONF_IRQ0_PIN)) + await cg.add_pin(var.set_irq1_pin, config[CONF_IRQ1_PIN]) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) if frequency := config.get(CONF_FREQUENCY): cg.add(var.set_frequency(frequency)) diff --git a/esphome/components/ade7953_base/__init__.py b/esphome/components/ade7953_base/__init__.py index 808de99984c..bd86c4d6d9d 100644 --- a/esphome/components/ade7953_base/__init__.py +++ b/esphome/components/ade7953_base/__init__.py @@ -169,9 +169,7 @@ ADE7953_CONFIG_SCHEMA = cv.Schema( async def register_ade7953(var: MockObj, config: ConfigType) -> None: await cg.register_component(var, config) - if irq_pin_config := config.get(CONF_IRQ_PIN): - irq_pin = await cg.gpio_pin_expression(irq_pin_config) - cg.add(var.set_irq_pin(irq_pin)) + await cg.add_pin(var.set_irq_pin, config.get(CONF_IRQ_PIN)) cg.add(var.set_pga_v(PGA_GAINS[config.get(CONF_VOLTAGE_PGA_GAIN)])) cg.add(var.set_pga_ia(PGA_GAINS[config.get(CONF_CURRENT_PGA_GAIN_A)])) diff --git a/esphome/components/apc1/sensor.py b/esphome/components/apc1/sensor.py index f3f7e0203f9..61cfdc591b0 100644 --- a/esphome/components/apc1/sensor.py +++ b/esphome/components/apc1/sensor.py @@ -191,13 +191,8 @@ async def to_code(config: ConfigType) -> None: await sensors(CONF_RS3, var.set_rs3_sensor) await sensors(CONF_ERROR_CODE, var.set_error_code_sensor) - if (set_pin_config := config.get(CONF_SET_PIN)) is not None: - set_pin = await cg.gpio_pin_expression(set_pin_config) - cg.add(var.set_set_pin(set_pin)) - - if (reset_pin_config := config.get(CONF_RESET_PIN)) is not None: - reset_pin = await cg.gpio_pin_expression(reset_pin_config) - cg.add(var.set_reset_pin(reset_pin)) + await cg.add_pin(var.set_set_pin, config.get(CONF_SET_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) APC1_ACTION_SCHEMA = maybe_simple_id( diff --git a/esphome/components/as3935/__init__.py b/esphome/components/as3935/__init__.py index b7b5b09c626..fe36d73b590 100644 --- a/esphome/components/as3935/__init__.py +++ b/esphome/components/as3935/__init__.py @@ -48,8 +48,7 @@ AS3935_SCHEMA = cv.Schema( async def setup_as3935(var: MockObj, config: ConfigType) -> None: await cg.register_component(var, config) - irq_pin = await cg.gpio_pin_expression(config[CONF_IRQ_PIN]) - cg.add(var.set_irq_pin(irq_pin)) + await cg.add_pin(var.set_irq_pin, config[CONF_IRQ_PIN]) cg.add(var.set_indoor(config[CONF_INDOOR])) cg.add(var.set_noise_level(config[CONF_NOISE_LEVEL])) cg.add(var.set_watchdog_threshold(config[CONF_WATCHDOG_THRESHOLD])) diff --git a/esphome/components/as5600/__init__.py b/esphome/components/as5600/__init__.py index d695e34235f..a118334f02c 100644 --- a/esphome/components/as5600/__init__.py +++ b/esphome/components/as5600/__init__.py @@ -218,9 +218,7 @@ async def to_code(config: ConfigType) -> None: cg.add(var.set_fast_filter(config[CONF_FAST_FILTER])) cg.add(var.set_start_position(config[CONF_START_POSITION])) - if dir_pin_config := config.get(CONF_DIR_PIN): - pin = await cg.gpio_pin_expression(dir_pin_config) - cg.add(var.set_dir_pin(pin)) + await cg.add_pin(var.set_dir_pin, config.get(CONF_DIR_PIN)) if (end_position_config := config.get(CONF_END_POSITION, None)) is not None: cg.add(var.set_end_position(end_position_config)) diff --git a/esphome/components/axs15231/touchscreen/__init__.py b/esphome/components/axs15231/touchscreen/__init__.py index 2616cb281bb..27f2348b6d8 100644 --- a/esphome/components/axs15231/touchscreen/__init__.py +++ b/esphome/components/axs15231/touchscreen/__init__.py @@ -31,7 +31,5 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if interrupt_pin := config.get(CONF_INTERRUPT_PIN): - cg.add(var.set_interrupt_pin(await cg.gpio_pin_expression(interrupt_pin))) - if reset_pin := config.get(CONF_RESET_PIN): - cg.add(var.set_reset_pin(await cg.gpio_pin_expression(reset_pin))) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) diff --git a/esphome/components/bp1658cj/__init__.py b/esphome/components/bp1658cj/__init__.py index 76b3d427a45..c2c560c7dbb 100644 --- a/esphome/components/bp1658cj/__init__.py +++ b/esphome/components/bp1658cj/__init__.py @@ -34,9 +34,7 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - data = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_data_pin(data)) - clock = await cg.gpio_pin_expression(config[CONF_CLOCK_PIN]) - cg.add(var.set_clock_pin(clock)) + await cg.add_pin(var.set_data_pin, config[CONF_DATA_PIN]) + await cg.add_pin(var.set_clock_pin, config[CONF_CLOCK_PIN]) cg.add(var.set_max_power_color_channels(config[CONF_MAX_POWER_COLOR_CHANNELS])) cg.add(var.set_max_power_white_channels(config[CONF_MAX_POWER_WHITE_CHANNELS])) diff --git a/esphome/components/bp5758d/__init__.py b/esphome/components/bp5758d/__init__.py index bd6b6ca1106..b3a05268cb3 100644 --- a/esphome/components/bp5758d/__init__.py +++ b/esphome/components/bp5758d/__init__.py @@ -25,7 +25,5 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - data = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_data_pin(data)) - clock = await cg.gpio_pin_expression(config[CONF_CLOCK_PIN]) - cg.add(var.set_clock_pin(clock)) + await cg.add_pin(var.set_data_pin, config[CONF_DATA_PIN]) + await cg.add_pin(var.set_clock_pin, config[CONF_CLOCK_PIN]) diff --git a/esphome/components/cap1188/__init__.py b/esphome/components/cap1188/__init__.py index 24f6e627d2c..ae17b0477c4 100644 --- a/esphome/components/cap1188/__init__.py +++ b/esphome/components/cap1188/__init__.py @@ -39,9 +39,7 @@ async def to_code(config: ConfigType) -> None: cg.add(var.set_touch_threshold(config[CONF_TOUCH_THRESHOLD])) cg.add(var.set_allow_multiple_touches(config[CONF_ALLOW_MULTIPLE_TOUCHES])) - if reset_pin_config := config.get(CONF_RESET_PIN): - pin = await cg.gpio_pin_expression(reset_pin_config) - cg.add(var.set_reset_pin(pin)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) await cg.register_component(var, config) await i2c.register_i2c_device(var, config) diff --git a/esphome/components/cc1101/__init__.py b/esphome/components/cc1101/__init__.py index 5375d6bf396..4f2ca2ad266 100644 --- a/esphome/components/cc1101/__init__.py +++ b/esphome/components/cc1101/__init__.py @@ -281,9 +281,7 @@ async def to_code(config): if key in config: cg.add(getattr(var, f"set_{key}")(config[key])) - if CONF_GDO0_PIN in config: - gdo0_pin = await cg.gpio_pin_expression(config[CONF_GDO0_PIN]) - cg.add(var.set_gdo0_pin(gdo0_pin)) + await cg.add_pin(var.set_gdo0_pin, config.get(CONF_GDO0_PIN)) if CONF_ON_PACKET in config: await automation.build_automation( var.get_packet_trigger(), diff --git a/esphome/components/cd74hc4067/__init__.py b/esphome/components/cd74hc4067/__init__.py index 655b8db819d..6eb4fe8248e 100644 --- a/esphome/components/cd74hc4067/__init__.py +++ b/esphome/components/cd74hc4067/__init__.py @@ -39,13 +39,9 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - pin_s0 = await cg.gpio_pin_expression(config[CONF_PIN_S0]) - cg.add(var.set_pin_s0(pin_s0)) - pin_s1 = await cg.gpio_pin_expression(config[CONF_PIN_S1]) - cg.add(var.set_pin_s1(pin_s1)) - pin_s2 = await cg.gpio_pin_expression(config[CONF_PIN_S2]) - cg.add(var.set_pin_s2(pin_s2)) - pin_s3 = await cg.gpio_pin_expression(config[CONF_PIN_S3]) - cg.add(var.set_pin_s3(pin_s3)) + await cg.add_pin(var.set_pin_s0, config[CONF_PIN_S0]) + await cg.add_pin(var.set_pin_s1, config[CONF_PIN_S1]) + await cg.add_pin(var.set_pin_s2, config[CONF_PIN_S2]) + await cg.add_pin(var.set_pin_s3, config[CONF_PIN_S3]) cg.add(var.set_switch_delay(config[CONF_DELAY])) diff --git a/esphome/components/cdc_acm_uart/bridge/__init__.py b/esphome/components/cdc_acm_uart/bridge/__init__.py index 133ea92a483..40d44747430 100644 --- a/esphome/components/cdc_acm_uart/bridge/__init__.py +++ b/esphome/components/cdc_acm_uart/bridge/__init__.py @@ -93,9 +93,5 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID], uart_component, usb_cdc) await cg.register_component(var, config) - if dtr_pin_config := config.get(CONF_DTR_PIN): - dtr_pin = await cg.gpio_pin_expression(dtr_pin_config) - cg.add(var.set_dtr_pin(dtr_pin)) - if rts_pin_config := config.get(CONF_RTS_PIN): - rts_pin = await cg.gpio_pin_expression(rts_pin_config) - cg.add(var.set_rts_pin(rts_pin)) + await cg.add_pin(var.set_dtr_pin, config.get(CONF_DTR_PIN)) + await cg.add_pin(var.set_rts_pin, config.get(CONF_RTS_PIN)) diff --git a/esphome/components/chsc6x/touchscreen.py b/esphome/components/chsc6x/touchscreen.py index de974d2a79d..f97feba3c51 100644 --- a/esphome/components/chsc6x/touchscreen.py +++ b/esphome/components/chsc6x/touchscreen.py @@ -30,5 +30,4 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if interrupt_pin := config.get(CONF_INTERRUPT_PIN): - cg.add(var.set_interrupt_pin(await cg.gpio_pin_expression(interrupt_pin))) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) diff --git a/esphome/components/cst226/touchscreen/__init__.py b/esphome/components/cst226/touchscreen/__init__.py index 459cba61cd6..ddffd8720c2 100644 --- a/esphome/components/cst226/touchscreen/__init__.py +++ b/esphome/components/cst226/touchscreen/__init__.py @@ -32,7 +32,5 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if interrupt_pin := config.get(CONF_INTERRUPT_PIN): - cg.add(var.set_interrupt_pin(await cg.gpio_pin_expression(interrupt_pin))) - if reset_pin := config.get(CONF_RESET_PIN): - cg.add(var.set_reset_pin(await cg.gpio_pin_expression(reset_pin))) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) diff --git a/esphome/components/cst328/touchscreen/__init__.py b/esphome/components/cst328/touchscreen/__init__.py index 9bc7744b7c3..9569a7875bd 100644 --- a/esphome/components/cst328/touchscreen/__init__.py +++ b/esphome/components/cst328/touchscreen/__init__.py @@ -33,7 +33,5 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if interrupt_pin := config.get(CONF_INTERRUPT_PIN): - cg.add(var.set_interrupt_pin(await cg.gpio_pin_expression(interrupt_pin))) - if reset_pin := config.get(CONF_RESET_PIN): - cg.add(var.set_reset_pin(await cg.gpio_pin_expression(reset_pin))) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) diff --git a/esphome/components/cst816/touchscreen/__init__.py b/esphome/components/cst816/touchscreen/__init__.py index 029a544a911..88d5de6ad1a 100644 --- a/esphome/components/cst816/touchscreen/__init__.py +++ b/esphome/components/cst816/touchscreen/__init__.py @@ -32,7 +32,5 @@ async def to_code(config: ConfigType) -> None: await i2c.register_i2c_device(var, config) cg.add(var.set_skip_probe(config[CONF_SKIP_PROBE])) - if interrupt_pin := config.get(CONF_INTERRUPT_PIN): - cg.add(var.set_interrupt_pin(await cg.gpio_pin_expression(interrupt_pin))) - if reset_pin := config.get(CONF_RESET_PIN): - cg.add(var.set_reset_pin(await cg.gpio_pin_expression(reset_pin))) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) diff --git a/esphome/components/cst9220/touchscreen/__init__.py b/esphome/components/cst9220/touchscreen/__init__.py index 393685e67b3..15bfa64c70f 100644 --- a/esphome/components/cst9220/touchscreen/__init__.py +++ b/esphome/components/cst9220/touchscreen/__init__.py @@ -31,7 +31,5 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if interrupt_pin := config.get(CONF_INTERRUPT_PIN): - cg.add(var.set_interrupt_pin(await cg.gpio_pin_expression(interrupt_pin))) - if reset_pin := config.get(CONF_RESET_PIN): - cg.add(var.set_reset_pin(await cg.gpio_pin_expression(reset_pin))) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) diff --git a/esphome/components/deep_sleep/__init__.py b/esphome/components/deep_sleep/__init__.py index c9a0ec2196f..7230b1e8e9c 100644 --- a/esphome/components/deep_sleep/__init__.py +++ b/esphome/components/deep_sleep/__init__.py @@ -379,8 +379,7 @@ async def to_code(config: ConfigType) -> None: ) ) else: - pin = await cg.gpio_pin_expression(wakeup_pins[0][CONF_PIN]) - cg.add(var.set_wakeup_pin(pin)) + await cg.add_pin(var.set_wakeup_pin, wakeup_pins[0][CONF_PIN]) if CONF_WAKEUP_PIN_MODE in config: cg.add(var.set_wakeup_pin_mode(config[CONF_WAKEUP_PIN_MODE])) if CONF_RUN_DURATION in config: diff --git a/esphome/components/dht/sensor.py b/esphome/components/dht/sensor.py index da8a5775b15..d000add3013 100644 --- a/esphome/components/dht/sensor.py +++ b/esphome/components/dht/sensor.py @@ -14,7 +14,6 @@ from esphome.const import ( UNIT_CELSIUS, UNIT_PERCENT, ) -from esphome.cpp_helpers import gpio_pin_expression from esphome.types import ConfigType dht_ns = cg.esphome_ns.namespace("dht") @@ -59,8 +58,7 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - pin = await gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) sensors = sensor.sub_sensors(config) await sensors(CONF_TEMPERATURE, var.set_temperature_sensor) diff --git a/esphome/components/ds248x/__init__.py b/esphome/components/ds248x/__init__.py index 02faa806f7a..623a7547d40 100644 --- a/esphome/components/ds248x/__init__.py +++ b/esphome/components/ds248x/__init__.py @@ -107,6 +107,4 @@ async def to_code(config: ConfigType) -> None: if CONF_ACTIVE_PULLUP_RESISTANCE in config: cg.add(var.set_val_rwpu(config[CONF_ACTIVE_PULLUP_RESISTANCE])) - if CONF_SLEEP_PIN in config: - pin = await cg.gpio_pin_expression(config[CONF_SLEEP_PIN]) - cg.add(var.set_sleep_pin(pin)) + await cg.add_pin(var.set_sleep_pin, config.get(CONF_SLEEP_PIN)) diff --git a/esphome/components/duty_cycle/sensor.py b/esphome/components/duty_cycle/sensor.py index b7aa1777c83..deb3d02d7a7 100644 --- a/esphome/components/duty_cycle/sensor.py +++ b/esphome/components/duty_cycle/sensor.py @@ -27,5 +27,4 @@ async def to_code(config: ConfigType) -> None: var = await sensor.new_sensor(config) await cg.register_component(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) diff --git a/esphome/components/ektf2232/touchscreen/__init__.py b/esphome/components/ektf2232/touchscreen/__init__.py index 7636b6993a1..8707f3b4e36 100644 --- a/esphome/components/ektf2232/touchscreen/__init__.py +++ b/esphome/components/ektf2232/touchscreen/__init__.py @@ -35,7 +35,5 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - interrupt_pin = await cg.gpio_pin_expression(config[CONF_INTERRUPT_PIN]) - cg.add(var.set_interrupt_pin(interrupt_pin)) - reset_pin = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(reset_pin)) + await cg.add_pin(var.set_interrupt_pin, config[CONF_INTERRUPT_PIN]) + await cg.add_pin(var.set_reset_pin, config[CONF_RESET_PIN]) diff --git a/esphome/components/epaper_spi/display.py b/esphome/components/epaper_spi/display.py index 6a391811112..75a3426f162 100644 --- a/esphome/components/epaper_spi/display.py +++ b/esphome/components/epaper_spi/display.py @@ -243,20 +243,15 @@ async def to_code(config): config = await model.to_code(var, config) await spi.register_spi_device(var, config, write_only=True) - dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) - cg.add(var.set_dc_pin(dc)) + await cg.add_pin(var.set_dc_pin, config[CONF_DC_PIN]) if CONF_LAMBDA in config: lambda_ = await cg.process_lambda( config[CONF_LAMBDA], [(display.DisplayRef, "it")], return_type=cg.void ) cg.add(var.set_writer(lambda_)) - if reset_pin := config.get(CONF_RESET_PIN): - reset = await cg.gpio_pin_expression(reset_pin) - cg.add(var.set_reset_pin(reset)) - if busy_pin := config.get(CONF_BUSY_PIN): - busy = await cg.gpio_pin_expression(busy_pin) - cg.add(var.set_busy_pin(busy)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) + await cg.add_pin(var.set_busy_pin, config.get(CONF_BUSY_PIN)) if enable_pin := config.get(CONF_ENABLE_PIN): enable = [await cg.gpio_pin_expression(pin) for pin in enable_pin] cg.add(var.set_enable_pins(enable)) diff --git a/esphome/components/esp32_dac/output.py b/esphome/components/esp32_dac/output.py index c87a9e2a1d0..7a27121a96b 100644 --- a/esphome/components/esp32_dac/output.py +++ b/esphome/components/esp32_dac/output.py @@ -49,5 +49,4 @@ async def to_code(config: ConfigType) -> None: await cg.register_component(var, config) await output.register_output(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) diff --git a/esphome/components/esp8266_pwm/output.py b/esphome/components/esp8266_pwm/output.py index 62ec1fe003b..00b4dc563e4 100644 --- a/esphome/components/esp8266_pwm/output.py +++ b/esphome/components/esp8266_pwm/output.py @@ -46,8 +46,7 @@ async def to_code(config: ConfigType) -> None: await cg.register_component(var, config) await output.register_output(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) # Skip the setter when the config matches the C++ initializer (DEFAULT_FREQUENCY). if (frequency := config[CONF_FREQUENCY]) != DEFAULT_FREQUENCY: diff --git a/esphome/components/fingerprint_grow/__init__.py b/esphome/components/fingerprint_grow/__init__.py index 2ef654afc55..2007ca60471 100644 --- a/esphome/components/fingerprint_grow/__init__.py +++ b/esphome/components/fingerprint_grow/__init__.py @@ -146,13 +146,8 @@ async def to_code(config): new_password = config[CONF_NEW_PASSWORD] cg.add(var.set_new_password(new_password)) - if CONF_SENSING_PIN in config: - sensing_pin = await cg.gpio_pin_expression(config[CONF_SENSING_PIN]) - cg.add(var.set_sensing_pin(sensing_pin)) - - if CONF_SENSOR_POWER_PIN in config: - sensor_power_pin = await cg.gpio_pin_expression(config[CONF_SENSOR_POWER_PIN]) - cg.add(var.set_sensor_power_pin(sensor_power_pin)) + await cg.add_pin(var.set_sensing_pin, config.get(CONF_SENSING_PIN)) + await cg.add_pin(var.set_sensor_power_pin, config.get(CONF_SENSOR_POWER_PIN)) if CONF_IDLE_PERIOD_TO_SLEEP in config: idle_period_to_sleep_ms = config[CONF_IDLE_PERIOD_TO_SLEEP] diff --git a/esphome/components/ft5x06/touchscreen/__init__.py b/esphome/components/ft5x06/touchscreen/__init__.py index 3ebff693c00..b56043ec4d7 100644 --- a/esphome/components/ft5x06/touchscreen/__init__.py +++ b/esphome/components/ft5x06/touchscreen/__init__.py @@ -28,6 +28,4 @@ async def to_code(config: ConfigType) -> None: await i2c.register_i2c_device(var, config) await touchscreen.register_touchscreen(var, config) - if interrupt_pin := config.get(CONF_INTERRUPT_PIN): - pin = await cg.gpio_pin_expression(interrupt_pin) - cg.add(var.set_interrupt_pin(pin)) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) diff --git a/esphome/components/ft63x6/touchscreen.py b/esphome/components/ft63x6/touchscreen.py index 0d8537bde90..7ac7a3f3ce4 100644 --- a/esphome/components/ft63x6/touchscreen.py +++ b/esphome/components/ft63x6/touchscreen.py @@ -37,9 +37,5 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if interrupt_pin_config := config.get(CONF_INTERRUPT_PIN): - interrupt_pin = await cg.gpio_pin_expression(interrupt_pin_config) - cg.add(var.set_interrupt_pin(interrupt_pin)) - if reset_pin_config := config.get(CONF_RESET_PIN): - reset_pin = await cg.gpio_pin_expression(reset_pin_config) - cg.add(var.set_reset_pin(reset_pin)) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) diff --git a/esphome/components/gpio/binary_sensor/__init__.py b/esphome/components/gpio/binary_sensor/__init__.py index 8a40e4e7325..22b7cdb520b 100644 --- a/esphome/components/gpio/binary_sensor/__init__.py +++ b/esphome/components/gpio/binary_sensor/__init__.py @@ -129,8 +129,7 @@ async def to_code(config: ConfigType) -> None: var = await binary_sensor.new_binary_sensor(config) await cg.register_component(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) if config[CONF_USE_INTERRUPT]: cg.add_define("USE_GPIO_BINARY_SENSOR_INTERRUPT") diff --git a/esphome/components/gpio/one_wire/__init__.py b/esphome/components/gpio/one_wire/__init__.py index feb8b53dff6..f2b0ca0be68 100644 --- a/esphome/components/gpio/one_wire/__init__.py +++ b/esphome/components/gpio/one_wire/__init__.py @@ -23,5 +23,4 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) diff --git a/esphome/components/gpio/output/__init__.py b/esphome/components/gpio/output/__init__.py index 645dd61f802..fc4041fdc6d 100644 --- a/esphome/components/gpio/output/__init__.py +++ b/esphome/components/gpio/output/__init__.py @@ -45,5 +45,4 @@ async def to_code(config: ConfigType) -> None: await output.register_output(var, config) await cg.register_component(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) diff --git a/esphome/components/gpio/switch/__init__.py b/esphome/components/gpio/switch/__init__.py index 481b8d01dad..ec826697eb1 100644 --- a/esphome/components/gpio/switch/__init__.py +++ b/esphome/components/gpio/switch/__init__.py @@ -33,8 +33,7 @@ async def to_code(config: ConfigType) -> None: var = await switch.new_switch(config) await cg.register_component(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) if (interlock := config.get(CONF_INTERLOCK)) is not None: cg.add_define("USE_GPIO_SWITCH_INTERLOCK") diff --git a/esphome/components/gsl3670/touchscreen.py b/esphome/components/gsl3670/touchscreen.py index 703887864bd..5f0edd3d41b 100644 --- a/esphome/components/gsl3670/touchscreen.py +++ b/esphome/components/gsl3670/touchscreen.py @@ -226,13 +226,8 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if CONF_INTERRUPT_PIN in config: - pin = await cg.gpio_pin_expression(config[CONF_INTERRUPT_PIN]) - cg.add(var.set_interrupt_pin(pin)) - - if CONF_RESET_PIN in config: - pin = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(pin)) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) # Firmware table data = _read_firmware(config) diff --git a/esphome/components/gt911/touchscreen/__init__.py b/esphome/components/gt911/touchscreen/__init__.py index fa929d4ba0d..c2fb09fb59e 100644 --- a/esphome/components/gt911/touchscreen/__init__.py +++ b/esphome/components/gt911/touchscreen/__init__.py @@ -28,7 +28,5 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if interrupt_pin := config.get(CONF_INTERRUPT_PIN): - cg.add(var.set_interrupt_pin(await cg.gpio_pin_expression(interrupt_pin))) - if reset_pin := config.get(CONF_RESET_PIN): - cg.add(var.set_reset_pin(await cg.gpio_pin_expression(reset_pin))) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) diff --git a/esphome/components/hbridge/switch/__init__.py b/esphome/components/hbridge/switch/__init__.py index 294be6ed5fe..5dcd8dd3d24 100644 --- a/esphome/components/hbridge/switch/__init__.py +++ b/esphome/components/hbridge/switch/__init__.py @@ -35,10 +35,8 @@ async def to_code(config: ConfigType) -> None: var = await switch.new_switch(config) await cg.register_component(var, config) - on_pin = await cg.gpio_pin_expression(config[CONF_ON_PIN]) - cg.add(var.set_on_pin(on_pin)) - off_pin = await cg.gpio_pin_expression(config[CONF_OFF_PIN]) - cg.add(var.set_off_pin(off_pin)) + await cg.add_pin(var.set_on_pin, config[CONF_ON_PIN]) + await cg.add_pin(var.set_off_pin, config[CONF_OFF_PIN]) cg.add(var.set_pulse_length(config[CONF_PULSE_LENGTH])) cg.add(var.set_optimistic(config[CONF_OPTIMISTIC])) if wait_time := config.get(CONF_WAIT_TIME): diff --git a/esphome/components/hlw8012/sensor.py b/esphome/components/hlw8012/sensor.py index 007f7c53030..04357d564da 100644 --- a/esphome/components/hlw8012/sensor.py +++ b/esphome/components/hlw8012/sensor.py @@ -98,12 +98,9 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - sel = await cg.gpio_pin_expression(config[CONF_SEL_PIN]) - cg.add(var.set_sel_pin(sel)) - cf = await cg.gpio_pin_expression(config[CONF_CF_PIN]) - cg.add(var.set_cf_pin(cf)) - cf1 = await cg.gpio_pin_expression(config[CONF_CF1_PIN]) - cg.add(var.set_cf1_pin(cf1)) + await cg.add_pin(var.set_sel_pin, config[CONF_SEL_PIN]) + await cg.add_pin(var.set_cf_pin, config[CONF_CF_PIN]) + await cg.add_pin(var.set_cf1_pin, config[CONF_CF1_PIN]) sensors = sensor.sub_sensors(config) await sensors(CONF_VOLTAGE, var.set_voltage_sensor) diff --git a/esphome/components/hx711/sensor.py b/esphome/components/hx711/sensor.py index 2739589c663..4f4c106f4ef 100644 --- a/esphome/components/hx711/sensor.py +++ b/esphome/components/hx711/sensor.py @@ -39,8 +39,6 @@ async def to_code(config: ConfigType) -> None: var = await sensor.new_sensor(config) await cg.register_component(var, config) - dout_pin = await cg.gpio_pin_expression(config[CONF_DOUT_PIN]) - cg.add(var.set_dout_pin(dout_pin)) - sck_pin = await cg.gpio_pin_expression(config[CONF_CLK_PIN]) - cg.add(var.set_sck_pin(sck_pin)) + await cg.add_pin(var.set_dout_pin, config[CONF_DOUT_PIN]) + await cg.add_pin(var.set_sck_pin, config[CONF_CLK_PIN]) cg.add(var.set_gain(config[CONF_GAIN])) diff --git a/esphome/components/icnt86/touchscreen.py b/esphome/components/icnt86/touchscreen.py index 5d7a7386120..9a45ac4ac32 100644 --- a/esphome/components/icnt86/touchscreen.py +++ b/esphome/components/icnt86/touchscreen.py @@ -31,10 +31,5 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if interrupt_pin_config := config.get(CONF_INTERRUPT_PIN): - cg.add( - var.set_interrupt_pin(await cg.gpio_pin_expression(interrupt_pin_config)) - ) - - if reset_pin_config := config.get(CONF_RESET_PIN): - cg.add(var.set_reset_pin(await cg.gpio_pin_expression(reset_pin_config))) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) diff --git a/esphome/components/inkplate/display.py b/esphome/components/inkplate/display.py index c7600d39bbc..5e90b1ff490 100644 --- a/esphome/components/inkplate/display.py +++ b/esphome/components/inkplate/display.py @@ -184,59 +184,22 @@ async def to_code(config: ConfigType) -> None: waveform = [element for tupl in waveform for element in tupl] cg.add(var.set_waveform(waveform, False)) - ckv = await cg.gpio_pin_expression(config[CONF_CKV_PIN]) - cg.add(var.set_ckv_pin(ckv)) - - gmod = await cg.gpio_pin_expression(config[CONF_GMOD_PIN]) - cg.add(var.set_gmod_pin(gmod)) - - gpio0_enable = await cg.gpio_pin_expression(config[CONF_GPIO0_ENABLE_PIN]) - cg.add(var.set_gpio0_enable_pin(gpio0_enable)) - - oe = await cg.gpio_pin_expression(config[CONF_OE_PIN]) - cg.add(var.set_oe_pin(oe)) - - powerup = await cg.gpio_pin_expression(config[CONF_POWERUP_PIN]) - cg.add(var.set_powerup_pin(powerup)) - - sph = await cg.gpio_pin_expression(config[CONF_SPH_PIN]) - cg.add(var.set_sph_pin(sph)) - - spv = await cg.gpio_pin_expression(config[CONF_SPV_PIN]) - cg.add(var.set_spv_pin(spv)) - - vcom = await cg.gpio_pin_expression(config[CONF_VCOM_PIN]) - cg.add(var.set_vcom_pin(vcom)) - - wakeup = await cg.gpio_pin_expression(config[CONF_WAKEUP_PIN]) - cg.add(var.set_wakeup_pin(wakeup)) - - cl = await cg.gpio_pin_expression(config[CONF_CL_PIN]) - cg.add(var.set_cl_pin(cl)) - - le = await cg.gpio_pin_expression(config[CONF_LE_PIN]) - cg.add(var.set_le_pin(le)) - - display_data_0 = await cg.gpio_pin_expression(config[CONF_DISPLAY_DATA_0_PIN]) - cg.add(var.set_display_data_0_pin(display_data_0)) - - display_data_1 = await cg.gpio_pin_expression(config[CONF_DISPLAY_DATA_1_PIN]) - cg.add(var.set_display_data_1_pin(display_data_1)) - - display_data_2 = await cg.gpio_pin_expression(config[CONF_DISPLAY_DATA_2_PIN]) - cg.add(var.set_display_data_2_pin(display_data_2)) - - display_data_3 = await cg.gpio_pin_expression(config[CONF_DISPLAY_DATA_3_PIN]) - cg.add(var.set_display_data_3_pin(display_data_3)) - - display_data_4 = await cg.gpio_pin_expression(config[CONF_DISPLAY_DATA_4_PIN]) - cg.add(var.set_display_data_4_pin(display_data_4)) - - display_data_5 = await cg.gpio_pin_expression(config[CONF_DISPLAY_DATA_5_PIN]) - cg.add(var.set_display_data_5_pin(display_data_5)) - - display_data_6 = await cg.gpio_pin_expression(config[CONF_DISPLAY_DATA_6_PIN]) - cg.add(var.set_display_data_6_pin(display_data_6)) - - display_data_7 = await cg.gpio_pin_expression(config[CONF_DISPLAY_DATA_7_PIN]) - cg.add(var.set_display_data_7_pin(display_data_7)) + await cg.add_pin(var.set_ckv_pin, config[CONF_CKV_PIN]) + await cg.add_pin(var.set_gmod_pin, config[CONF_GMOD_PIN]) + await cg.add_pin(var.set_gpio0_enable_pin, config[CONF_GPIO0_ENABLE_PIN]) + await cg.add_pin(var.set_oe_pin, config[CONF_OE_PIN]) + await cg.add_pin(var.set_powerup_pin, config[CONF_POWERUP_PIN]) + await cg.add_pin(var.set_sph_pin, config[CONF_SPH_PIN]) + await cg.add_pin(var.set_spv_pin, config[CONF_SPV_PIN]) + await cg.add_pin(var.set_vcom_pin, config[CONF_VCOM_PIN]) + await cg.add_pin(var.set_wakeup_pin, config[CONF_WAKEUP_PIN]) + await cg.add_pin(var.set_cl_pin, config[CONF_CL_PIN]) + await cg.add_pin(var.set_le_pin, config[CONF_LE_PIN]) + await cg.add_pin(var.set_display_data_0_pin, config[CONF_DISPLAY_DATA_0_PIN]) + await cg.add_pin(var.set_display_data_1_pin, config[CONF_DISPLAY_DATA_1_PIN]) + await cg.add_pin(var.set_display_data_2_pin, config[CONF_DISPLAY_DATA_2_PIN]) + await cg.add_pin(var.set_display_data_3_pin, config[CONF_DISPLAY_DATA_3_PIN]) + await cg.add_pin(var.set_display_data_4_pin, config[CONF_DISPLAY_DATA_4_PIN]) + await cg.add_pin(var.set_display_data_5_pin, config[CONF_DISPLAY_DATA_5_PIN]) + await cg.add_pin(var.set_display_data_6_pin, config[CONF_DISPLAY_DATA_6_PIN]) + await cg.add_pin(var.set_display_data_7_pin, config[CONF_DISPLAY_DATA_7_PIN]) diff --git a/esphome/components/it8951/display.py b/esphome/components/it8951/display.py index 28636e5e26e..bb0c1f10fbb 100644 --- a/esphome/components/it8951/display.py +++ b/esphome/components/it8951/display.py @@ -367,10 +367,8 @@ async def to_code(config: ConfigType) -> None: await spi.register_spi_device(var, config, write_only=False) await display.add_writer(var, config) - if reset_pin := config.get(CONF_RESET_PIN): - cg.add(var.set_reset_pin(await cg.gpio_pin_expression(reset_pin))) - if busy_pin := config.get(CONF_BUSY_PIN): - cg.add(var.set_busy_pin(await cg.gpio_pin_expression(busy_pin))) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) + await cg.add_pin(var.set_busy_pin, config.get(CONF_BUSY_PIN)) if enable_pins := config.get(CONF_ENABLE_PIN): cg.add( var.set_enable_pins( diff --git a/esphome/components/lcd_gpio/display.py b/esphome/components/lcd_gpio/display.py index 0e99b471b3c..a312187c7f6 100644 --- a/esphome/components/lcd_gpio/display.py +++ b/esphome/components/lcd_gpio/display.py @@ -43,14 +43,8 @@ async def to_code(config: ConfigType) -> None: await lcd_base.setup_lcd_display(var, config) pins_ = [await cg.gpio_pin_expression(conf) for conf in config[CONF_DATA_PINS]] cg.add(var.set_data_pins(*pins_)) - enable = await cg.gpio_pin_expression(config[CONF_ENABLE_PIN]) - cg.add(var.set_enable_pin(enable)) - - rs = await cg.gpio_pin_expression(config[CONF_RS_PIN]) - cg.add(var.set_rs_pin(rs)) - - if CONF_RW_PIN in config: - rw = await cg.gpio_pin_expression(config[CONF_RW_PIN]) - cg.add(var.set_rw_pin(rw)) + await cg.add_pin(var.set_enable_pin, config[CONF_ENABLE_PIN]) + await cg.add_pin(var.set_rs_pin, config[CONF_RS_PIN]) + await cg.add_pin(var.set_rw_pin, config.get(CONF_RW_PIN)) await display.add_writer(var, config, GPIOLCDDisplay.operator("ref")) diff --git a/esphome/components/lilygo_t5_47/touchscreen/__init__.py b/esphome/components/lilygo_t5_47/touchscreen/__init__.py index 1e70f379a1a..5c68ddf6eed 100644 --- a/esphome/components/lilygo_t5_47/touchscreen/__init__.py +++ b/esphome/components/lilygo_t5_47/touchscreen/__init__.py @@ -35,5 +35,4 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - interrupt_pin = await cg.gpio_pin_expression(config[CONF_INTERRUPT_PIN]) - cg.add(var.set_interrupt_pin(interrupt_pin)) + await cg.add_pin(var.set_interrupt_pin, config[CONF_INTERRUPT_PIN]) diff --git a/esphome/components/mics_5524/sensor.py b/esphome/components/mics_5524/sensor.py index 7b80572a115..0440a4829d9 100644 --- a/esphome/components/mics_5524/sensor.py +++ b/esphome/components/mics_5524/sensor.py @@ -434,8 +434,7 @@ async def to_code(config: ConfigType) -> None: cg.add(var.set_warmup_time(config[CONF_WARMUP_TIME])) cg.add(var.set_preference_key(_preference_key(config))) - if (enable := config.get(CONF_ENABLE_PIN)) is not None: - cg.add(var.set_enable_pin(await cg.gpio_pin_expression(enable))) + await cg.add_pin(var.set_enable_pin, config.get(CONF_ENABLE_PIN)) if (reference := config.get(CONF_AIR_REFERENCE, config.get(CONF_R0))) is not None: cg.add(var.set_reference(reference)) # A request on a hub without `calibration:` uses the schema defaults, never persisted. diff --git a/esphome/components/mipi_dsi/display.py b/esphome/components/mipi_dsi/display.py index 6dd96d21bcb..67aad41c00c 100644 --- a/esphome/components/mipi_dsi/display.py +++ b/esphome/components/mipi_dsi/display.py @@ -213,9 +213,7 @@ async def to_code(config: ConfigType) -> None: cg.add(var.set_pclk_frequency(config[CONF_PCLK_FREQUENCY] / 1.0e6)) cg.add(var.set_lanes(int(config[CONF_LANES]))) cg.add(var.set_lane_bit_rate(config[CONF_LANE_BIT_RATE] / 1.0e6)) - if reset_pin := config.get(CONF_RESET_PIN): - reset = await cg.gpio_pin_expression(reset_pin) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) if enable_pin := config.get(CONF_ENABLE_PIN): enable = [await cg.gpio_pin_expression(pin) for pin in enable_pin] cg.add(var.set_enable_pins(enable)) diff --git a/esphome/components/mipi_rgb/display.py b/esphome/components/mipi_rgb/display.py index 4c87bf19987..a7cca81d8d5 100644 --- a/esphome/components/mipi_rgb/display.py +++ b/esphome/components/mipi_rgb/display.py @@ -315,28 +315,16 @@ async def to_code(config: ConfigType) -> None: data_pin = await cg.gpio_pin_expression(pin) cg.add(var.add_data_pin(data_pin, index)) - if dc_pin := config.get(CONF_DC_PIN): - dc = await cg.gpio_pin_expression(dc_pin) - cg.add(var.set_dc_pin(dc)) - - if reset_pin := config.get(CONF_RESET_PIN): - reset = await cg.gpio_pin_expression(reset_pin) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_dc_pin, config.get(CONF_DC_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) if model.rotation_as_transform(config): config[CONF_ROTATION] = 0 - if de_pin := config.get(CONF_DE_PIN): - pin = await cg.gpio_pin_expression(de_pin) - cg.add(var.set_de_pin(pin)) - pin = await cg.gpio_pin_expression(config[CONF_PCLK_PIN]) - cg.add(var.set_pclk_pin(pin)) - if hsync_pin := config.get(CONF_HSYNC_PIN): - pin = await cg.gpio_pin_expression(hsync_pin) - cg.add(var.set_hsync_pin(pin)) - if vsync_pin := config.get(CONF_VSYNC_PIN): - pin = await cg.gpio_pin_expression(vsync_pin) - cg.add(var.set_vsync_pin(pin)) + await cg.add_pin(var.set_de_pin, config.get(CONF_DE_PIN)) + await cg.add_pin(var.set_pclk_pin, config[CONF_PCLK_PIN]) + await cg.add_pin(var.set_hsync_pin, config.get(CONF_HSYNC_PIN)) + await cg.add_pin(var.set_vsync_pin, config.get(CONF_VSYNC_PIN)) await display.register_display(var, config) await display.add_writer(var, config) diff --git a/esphome/components/mipi_spi/display.py b/esphome/components/mipi_spi/display.py index ff49979a244..380c3a4dfd6 100644 --- a/esphome/components/mipi_spi/display.py +++ b/esphome/components/mipi_spi/display.py @@ -408,13 +408,8 @@ async def to_code(config: ConfigType) -> None: enable = [await cg.gpio_pin_expression(pin) for pin in enable_pin] cg.add(var.set_enable_pins(enable)) - if reset_pin := config.get(CONF_RESET_PIN): - reset = await cg.gpio_pin_expression(reset_pin) - cg.add(var.set_reset_pin(reset)) - - if dc_pin := config.get(CONF_DC_PIN): - dc_pin = await cg.gpio_pin_expression(dc_pin) - cg.add(var.set_dc_pin(dc_pin)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) + await cg.add_pin(var.set_dc_pin, config.get(CONF_DC_PIN)) if config.get(CONF_INVERT_COLORS): cg.add(var.set_invert_colors(True)) diff --git a/esphome/components/mlx90393/sensor.py b/esphome/components/mlx90393/sensor.py index d6a777e7d88..5f793efd918 100644 --- a/esphome/components/mlx90393/sensor.py +++ b/esphome/components/mlx90393/sensor.py @@ -145,8 +145,6 @@ async def to_code(config: ConfigType) -> None: cg.add(var.set_resolution(2, RESOLUTION[config[CONF_Z_AXIS][CONF_RESOLUTION]])) if await sensors(CONF_TEMPERATURE, var.set_t_sensor): cg.add(var.set_t_oversampling(config[CONF_TEMPERATURE][CONF_OVERSAMPLING])) - if CONF_DRDY_PIN in config: - pin = await cg.gpio_pin_expression(config[CONF_DRDY_PIN]) - cg.add(var.set_drdy_gpio(pin)) + await cg.add_pin(var.set_drdy_gpio, config.get(CONF_DRDY_PIN)) cg.add_library("functionpointer/arduino-MLX90393", "1.0.2") diff --git a/esphome/components/modbus/__init__.py b/esphome/components/modbus/__init__.py index 2c3aba950fe..8c079afbac3 100644 --- a/esphome/components/modbus/__init__.py +++ b/esphome/components/modbus/__init__.py @@ -11,7 +11,6 @@ from esphome.components.const import CONF_ROLE import esphome.config_validation as cv from esphome.const import CONF_ADDRESS, CONF_CONTINUOUS, CONF_FLOW_CONTROL_PIN, CONF_ID from esphome.cpp_generator import MockObj -from esphome.cpp_helpers import gpio_pin_expression import esphome.final_validate as fv from esphome.types import ConfigType, TemplateArgsType @@ -307,9 +306,7 @@ async def to_code(config: ConfigType) -> None: await uart.register_uart_device(var, config) - if CONF_FLOW_CONTROL_PIN in config: - pin = await gpio_pin_expression(config[CONF_FLOW_CONTROL_PIN]) - cg.add(var.set_flow_control_pin(pin)) + await cg.add_pin(var.set_flow_control_pin, config.get(CONF_FLOW_CONTROL_PIN)) if config[CONF_ROLE] == "client": cg.add(var.set_send_wait_time(config[CONF_SEND_WAIT_TIME])) diff --git a/esphome/components/my9231/__init__.py b/esphome/components/my9231/__init__.py index 6fcb09a3478..5c4fe6af458 100644 --- a/esphome/components/my9231/__init__.py +++ b/esphome/components/my9231/__init__.py @@ -33,10 +33,8 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - di = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_pin_di(di)) - dcki = await cg.gpio_pin_expression(config[CONF_CLOCK_PIN]) - cg.add(var.set_pin_dcki(dcki)) + await cg.add_pin(var.set_pin_di, config[CONF_DATA_PIN]) + await cg.add_pin(var.set_pin_dcki, config[CONF_CLOCK_PIN]) cg.add(var.set_num_channels(config[CONF_NUM_CHANNELS])) cg.add(var.set_num_chips(config[CONF_NUM_CHIPS])) diff --git a/esphome/components/nrf52/__init__.py b/esphome/components/nrf52/__init__.py index b0c375eb53d..0c6ae8eb470 100644 --- a/esphome/components/nrf52/__init__.py +++ b/esphome/components/nrf52/__init__.py @@ -529,9 +529,7 @@ async def to_code(config: ConfigType) -> None: async def _dfu_to_code(dfu_config): cg.add_define("USE_NRF52_DFU") var = cg.new_Pvariable(dfu_config[CONF_ID]) - if CONF_RESET_PIN in dfu_config: - pin = await cg.gpio_pin_expression(dfu_config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(pin)) + await cg.add_pin(var.set_reset_pin, dfu_config.get(CONF_RESET_PIN)) # DFU uses cdc rate callback to enter bootloader which was disabled explicitly to save power. zephyr_add_prj_conf("USB_DEVICE_STACK", True) diff --git a/esphome/components/opentherm/__init__.py b/esphome/components/opentherm/__init__.py index 026951be93d..3772034ab63 100644 --- a/esphome/components/opentherm/__init__.py +++ b/esphome/components/opentherm/__init__.py @@ -87,11 +87,8 @@ async def to_code(config: dict[str, Any]) -> None: await cg.register_component(var, config) # Set pins - in_pin = await cg.gpio_pin_expression(config[CONF_IN_PIN]) - cg.add(var.set_in_pin(in_pin)) - - out_pin = await cg.gpio_pin_expression(config[CONF_OUT_PIN]) - cg.add(var.set_out_pin(out_pin)) + await cg.add_pin(var.set_in_pin, config[CONF_IN_PIN]) + await cg.add_pin(var.set_out_pin, config[CONF_OUT_PIN]) non_sensors = { CONF_ID, diff --git a/esphome/components/pcd8544/display.py b/esphome/components/pcd8544/display.py index c63d18b3cc4..1143def11c3 100644 --- a/esphome/components/pcd8544/display.py +++ b/esphome/components/pcd8544/display.py @@ -47,10 +47,8 @@ async def to_code(config: ConfigType) -> None: await display.register_display(var, config) await spi.register_spi_device(var, config, write_only=True) - dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) - cg.add(var.set_dc_pin(dc)) - reset = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_dc_pin, config[CONF_DC_PIN]) + await cg.add_pin(var.set_reset_pin, config[CONF_RESET_PIN]) cg.add(var.set_contrast(config[CONF_CONTRAST])) diff --git a/esphome/components/pn7160/__init__.py b/esphome/components/pn7160/__init__.py index f1bd6122ff1..058b70ffb65 100644 --- a/esphome/components/pn7160/__init__.py +++ b/esphome/components/pn7160/__init__.py @@ -29,10 +29,5 @@ pn71xx.register_is_writing_condition("pn7160.is_writing", PN7160) async def setup_pn7160(var: MockObj, config: ConfigType) -> None: await pn71xx.setup_pn71xx(var, config) - if dwl_req_pin_config := config.get(CONF_DWL_REQ_PIN): - pin = await cg.gpio_pin_expression(dwl_req_pin_config) - cg.add(var.set_dwl_req_pin(pin)) - - if wkup_req_pin_config := config.get(CONF_WKUP_REQ_PIN): - pin = await cg.gpio_pin_expression(wkup_req_pin_config) - cg.add(var.set_wkup_req_pin(pin)) + await cg.add_pin(var.set_dwl_req_pin, config.get(CONF_DWL_REQ_PIN)) + await cg.add_pin(var.set_wkup_req_pin, config.get(CONF_WKUP_REQ_PIN)) diff --git a/esphome/components/pn71xx/__init__.py b/esphome/components/pn71xx/__init__.py index 3b40eb11419..10d806ca0c6 100644 --- a/esphome/components/pn71xx/__init__.py +++ b/esphome/components/pn71xx/__init__.py @@ -127,11 +127,8 @@ _request_ontagremoved_trigger_slot = cg.slot_counter( async def setup_pn71xx(var: MockObj, config: ConfigType) -> None: await cg.register_component(var, config) - pin = await cg.gpio_pin_expression(config[CONF_IRQ_PIN]) - cg.add(var.set_irq_pin(pin)) - - pin = await cg.gpio_pin_expression(config[CONF_VEN_PIN]) - cg.add(var.set_ven_pin(pin)) + await cg.add_pin(var.set_irq_pin, config[CONF_IRQ_PIN]) + await cg.add_pin(var.set_ven_pin, config[CONF_VEN_PIN]) if emulation_message_config := config.get(CONF_EMULATION_MESSAGE): cg.add(var.set_tag_emulation_message(emulation_message_config)) diff --git a/esphome/components/power_supply/__init__.py b/esphome/components/power_supply/__init__.py index 4d90642b5f5..5862a945a66 100644 --- a/esphome/components/power_supply/__init__.py +++ b/esphome/components/power_supply/__init__.py @@ -35,8 +35,7 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) cg.add(var.set_enable_time(config[CONF_ENABLE_TIME])) cg.add(var.set_keep_on_time(config[CONF_KEEP_ON_TIME])) cg.add(var.set_enable_on_boot(config[CONF_ENABLE_ON_BOOT])) diff --git a/esphome/components/pulse_counter/sensor.py b/esphome/components/pulse_counter/sensor.py index 46aa87a8e11..33beb96dcf6 100644 --- a/esphome/components/pulse_counter/sensor.py +++ b/esphome/components/pulse_counter/sensor.py @@ -131,8 +131,7 @@ async def to_code(config: ConfigType) -> None: var = await sensor.new_sensor(config, use_pcnt) await cg.register_component(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) count = config[CONF_COUNT_MODE] cg.add(var.set_rising_edge_mode(count[CONF_RISING_EDGE])) cg.add(var.set_falling_edge_mode(count[CONF_FALLING_EDGE])) diff --git a/esphome/components/pulse_meter/sensor.py b/esphome/components/pulse_meter/sensor.py index 05708c65c13..1239d011a2b 100644 --- a/esphome/components/pulse_meter/sensor.py +++ b/esphome/components/pulse_meter/sensor.py @@ -83,8 +83,7 @@ async def to_code(config: ConfigType) -> None: var = await sensor.new_sensor(config) await cg.register_component(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) cg.add(var.set_filter_us(config[CONF_INTERNAL_FILTER])) cg.add(var.set_timeout_us(config[CONF_TIMEOUT])) cg.add(var.set_filter_mode(config[CONF_INTERNAL_FILTER_MODE])) diff --git a/esphome/components/pulse_width/sensor.py b/esphome/components/pulse_width/sensor.py index dd7554c4ebd..01f7988f584 100644 --- a/esphome/components/pulse_width/sensor.py +++ b/esphome/components/pulse_width/sensor.py @@ -32,5 +32,4 @@ async def to_code(config: ConfigType) -> None: var = await sensor.new_sensor(config) await cg.register_component(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) diff --git a/esphome/components/qmc5883l/sensor.py b/esphome/components/qmc5883l/sensor.py index deba7eab7e0..c1b8d3c7af8 100644 --- a/esphome/components/qmc5883l/sensor.py +++ b/esphome/components/qmc5883l/sensor.py @@ -153,6 +153,4 @@ async def to_code(config: ConfigType) -> None: await sensors(CONF_FIELD_STRENGTH_Z, var.set_z_sensor) await sensors(CONF_HEADING, var.set_heading_sensor) await sensors(CONF_TEMPERATURE, var.set_temperature_sensor) - if CONF_DRDY_PIN in config: - pin = await cg.gpio_pin_expression(config[CONF_DRDY_PIN]) - cg.add(var.set_drdy_pin(pin)) + await cg.add_pin(var.set_drdy_pin, config.get(CONF_DRDY_PIN)) diff --git a/esphome/components/rc522/__init__.py b/esphome/components/rc522/__init__.py index 69cc713813b..8b2aabfa237 100644 --- a/esphome/components/rc522/__init__.py +++ b/esphome/components/rc522/__init__.py @@ -44,9 +44,7 @@ RC522_SCHEMA = cv.Schema( async def setup_rc522(var: MockObj, config: ConfigType) -> None: await cg.register_component(var, config) - if CONF_RESET_PIN in config: - reset = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) for conf in config.get(CONF_ON_TAG, []): trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID]) diff --git a/esphome/components/rotary_encoder/sensor.py b/esphome/components/rotary_encoder/sensor.py index 31391d9c6ac..15629c446ab 100644 --- a/esphome/components/rotary_encoder/sensor.py +++ b/esphome/components/rotary_encoder/sensor.py @@ -93,16 +93,12 @@ async def to_code(config: ConfigType) -> None: var = await sensor.new_sensor(config) await cg.register_component(var, config) - pin_a = await cg.gpio_pin_expression(config[CONF_PIN_A]) - cg.add(var.set_pin_a(pin_a)) - pin_b = await cg.gpio_pin_expression(config[CONF_PIN_B]) - cg.add(var.set_pin_b(pin_b)) + await cg.add_pin(var.set_pin_a, config[CONF_PIN_A]) + await cg.add_pin(var.set_pin_b, config[CONF_PIN_B]) cg.add(var.set_publish_initial_value(config[CONF_PUBLISH_INITIAL_VALUE])) cg.add(var.set_restore_mode(config[CONF_RESTORE_MODE])) - if CONF_PIN_RESET in config: - pin_i = await cg.gpio_pin_expression(config[CONF_PIN_RESET]) - cg.add(var.set_reset_pin(pin_i)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_PIN_RESET)) cg.add(var.set_resolution(config[CONF_RESOLUTION])) if CONF_MIN_VALUE in config: cg.add(var.set_min_value(config[CONF_MIN_VALUE])) diff --git a/esphome/components/rp2040_pwm/output.py b/esphome/components/rp2040_pwm/output.py index 49b10f7d201..2f1394d121c 100644 --- a/esphome/components/rp2040_pwm/output.py +++ b/esphome/components/rp2040_pwm/output.py @@ -27,8 +27,7 @@ async def to_code(config: ConfigType) -> None: await cg.register_component(var, config) await output.register_output(var, config) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) cg.add(var.set_frequency(config[CONF_FREQUENCY])) diff --git a/esphome/components/serial_proxy/__init__.py b/esphome/components/serial_proxy/__init__.py index 35b65f6bae3..27d69c97346 100644 --- a/esphome/components/serial_proxy/__init__.py +++ b/esphome/components/serial_proxy/__init__.py @@ -117,10 +117,5 @@ async def to_code(config: ConfigType) -> None: CORE.add_job(_add_serial_proxy_count_define) data.count += 1 - if CONF_RTS_PIN in config: - rts_pin = await cg.gpio_pin_expression(config[CONF_RTS_PIN]) - cg.add(var.set_rts_pin(rts_pin)) - - if CONF_DTR_PIN in config: - dtr_pin = await cg.gpio_pin_expression(config[CONF_DTR_PIN]) - cg.add(var.set_dtr_pin(dtr_pin)) + await cg.add_pin(var.set_rts_pin, config.get(CONF_RTS_PIN)) + await cg.add_pin(var.set_dtr_pin, config.get(CONF_DTR_PIN)) diff --git a/esphome/components/sh1122_base/__init__.py b/esphome/components/sh1122_base/__init__.py index e8828685368..4e412f5ebf7 100644 --- a/esphome/components/sh1122_base/__init__.py +++ b/esphome/components/sh1122_base/__init__.py @@ -32,8 +32,6 @@ async def setup_sh1122(var: MockObj, config: ConfigType) -> None: await display.register_display(var, config) cg.add(var.set_model(config[CONF_MODEL])) - if (reset_pin := config.get(CONF_RESET_PIN)) is not None: - reset = await cg.gpio_pin_expression(reset_pin) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) cg.add(var.init_brightness(config[CONF_BRIGHTNESS])) await display.add_writer(var, config) diff --git a/esphome/components/shelly_dimmer/light.py b/esphome/components/shelly_dimmer/light.py index c166076e0f8..701d29ffa22 100644 --- a/esphome/components/shelly_dimmer/light.py +++ b/esphome/components/shelly_dimmer/light.py @@ -250,10 +250,8 @@ async def to_code(config: ConfigType) -> None: await light.register_light(var, config) await uart.register_uart_device(var, config) - nrst_pin = await cg.gpio_pin_expression(config[CONF_NRST_PIN]) - cg.add(var.set_nrst_pin(nrst_pin)) - boot0_pin = await cg.gpio_pin_expression(config[CONF_BOOT0_PIN]) - cg.add(var.set_boot0_pin(boot0_pin)) + await cg.add_pin(var.set_nrst_pin, config[CONF_NRST_PIN]) + await cg.add_pin(var.set_boot0_pin, config[CONF_BOOT0_PIN]) cg.add(var.set_leading_edge(config[CONF_LEADING_EDGE])) cg.add(var.set_warmup_brightness(config[CONF_WARMUP_BRIGHTNESS])) diff --git a/esphome/components/sigma_delta_output/output.py b/esphome/components/sigma_delta_output/output.py index aca5f264572..af6f5948eaf 100644 --- a/esphome/components/sigma_delta_output/output.py +++ b/esphome/components/sigma_delta_output/output.py @@ -43,9 +43,7 @@ async def to_code(config: ConfigType) -> None: await cg.register_component(var, config) await output.register_output(var, config) - if CONF_PIN in config: - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config.get(CONF_PIN)) if CONF_STATE_CHANGE_ACTION in config: await automation.build_automation( diff --git a/esphome/components/slow_pwm/output.py b/esphome/components/slow_pwm/output.py index f3f82d7ce5a..488932f1b42 100644 --- a/esphome/components/slow_pwm/output.py +++ b/esphome/components/slow_pwm/output.py @@ -47,9 +47,7 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) await output.register_output(var, config) - if CONF_PIN in config: - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config.get(CONF_PIN)) if CONF_STATE_CHANGE_ACTION in config: await automation.build_automation( var.get_state_change_trigger(), diff --git a/esphome/components/sm10bit_base/__init__.py b/esphome/components/sm10bit_base/__init__.py index 05ba98562d7..5417f9ea6ce 100644 --- a/esphome/components/sm10bit_base/__init__.py +++ b/esphome/components/sm10bit_base/__init__.py @@ -33,10 +33,8 @@ async def register_sm10bit_base(config: ConfigType) -> MockObj: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - data = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_data_pin(data)) - clock = await cg.gpio_pin_expression(config[CONF_CLOCK_PIN]) - cg.add(var.set_clock_pin(clock)) + await cg.add_pin(var.set_data_pin, config[CONF_DATA_PIN]) + await cg.add_pin(var.set_clock_pin, config[CONF_CLOCK_PIN]) cg.add(var.set_max_power_color_channels(config[CONF_MAX_POWER_COLOR_CHANNELS])) cg.add(var.set_max_power_white_channels(config[CONF_MAX_POWER_WHITE_CHANNELS])) diff --git a/esphome/components/sm16716/__init__.py b/esphome/components/sm16716/__init__.py index ae3c54ab7c7..8359b53671b 100644 --- a/esphome/components/sm16716/__init__.py +++ b/esphome/components/sm16716/__init__.py @@ -31,10 +31,8 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - data = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_data_pin(data)) - clock = await cg.gpio_pin_expression(config[CONF_CLOCK_PIN]) - cg.add(var.set_clock_pin(clock)) + await cg.add_pin(var.set_data_pin, config[CONF_DATA_PIN]) + await cg.add_pin(var.set_clock_pin, config[CONF_CLOCK_PIN]) cg.add(var.set_num_channels(config[CONF_NUM_CHANNELS])) cg.add(var.set_num_chips(config[CONF_NUM_CHIPS])) diff --git a/esphome/components/sm2135/__init__.py b/esphome/components/sm2135/__init__.py index 7c5622c041b..934cf68186f 100644 --- a/esphome/components/sm2135/__init__.py +++ b/esphome/components/sm2135/__init__.py @@ -61,10 +61,8 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - data = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_data_pin(data)) - clock = await cg.gpio_pin_expression(config[CONF_CLOCK_PIN]) - cg.add(var.set_clock_pin(clock)) + await cg.add_pin(var.set_data_pin, config[CONF_DATA_PIN]) + await cg.add_pin(var.set_clock_pin, config[CONF_CLOCK_PIN]) cg.add(var.set_rgb_current(config[CONF_RGB_CURRENT])) cg.add(var.set_cw_current(config[CONF_CW_CURRENT])) diff --git a/esphome/components/sn74hc165/__init__.py b/esphome/components/sn74hc165/__init__.py index af566cebda9..f7d03a897d9 100644 --- a/esphome/components/sn74hc165/__init__.py +++ b/esphome/components/sn74hc165/__init__.py @@ -44,15 +44,10 @@ CONFIG_SCHEMA = cv.Schema( async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - data_pin = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_data_pin(data_pin)) - clock_pin = await cg.gpio_pin_expression(config[CONF_CLOCK_PIN]) - cg.add(var.set_clock_pin(clock_pin)) - load_pin = await cg.gpio_pin_expression(config[CONF_LOAD_PIN]) - cg.add(var.set_load_pin(load_pin)) - if CONF_CLOCK_INHIBIT_PIN in config: - clock_inhibit_pin = await cg.gpio_pin_expression(config[CONF_CLOCK_INHIBIT_PIN]) - cg.add(var.set_clock_inhibit_pin(clock_inhibit_pin)) + await cg.add_pin(var.set_data_pin, config[CONF_DATA_PIN]) + await cg.add_pin(var.set_clock_pin, config[CONF_CLOCK_PIN]) + await cg.add_pin(var.set_load_pin, config[CONF_LOAD_PIN]) + await cg.add_pin(var.set_clock_inhibit_pin, config.get(CONF_CLOCK_INHIBIT_PIN)) cg.add(var.set_sr_count(config[CONF_SR_COUNT])) diff --git a/esphome/components/sn74hc595/__init__.py b/esphome/components/sn74hc595/__init__.py index 78ed703ed9e..8d540011798 100644 --- a/esphome/components/sn74hc595/__init__.py +++ b/esphome/components/sn74hc595/__init__.py @@ -72,18 +72,13 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) if config[CONF_TYPE] == TYPE_GPIO: - data_pin = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_data_pin(data_pin)) - clock_pin = await cg.gpio_pin_expression(config[CONF_CLOCK_PIN]) - cg.add(var.set_clock_pin(clock_pin)) + await cg.add_pin(var.set_data_pin, config[CONF_DATA_PIN]) + await cg.add_pin(var.set_clock_pin, config[CONF_CLOCK_PIN]) else: await spi.register_spi_device(var, config) - latch_pin = await cg.gpio_pin_expression(config[CONF_LATCH_PIN]) - cg.add(var.set_latch_pin(latch_pin)) - if oe_pin := config.get(CONF_OE_PIN): - oe_pin = await cg.gpio_pin_expression(oe_pin) - cg.add(var.set_oe_pin(oe_pin)) + await cg.add_pin(var.set_latch_pin, config[CONF_LATCH_PIN]) + await cg.add_pin(var.set_oe_pin, config.get(CONF_OE_PIN)) cg.add(var.set_sr_count(config[CONF_SR_COUNT])) diff --git a/esphome/components/spd2010/touchscreen.py b/esphome/components/spd2010/touchscreen.py index 7ead6a34184..0f3a2e24bf6 100644 --- a/esphome/components/spd2010/touchscreen.py +++ b/esphome/components/spd2010/touchscreen.py @@ -27,7 +27,5 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if interrupt_pin := config.get(CONF_INTERRUPT_PIN): - cg.add(var.set_interrupt_pin(await cg.gpio_pin_expression(interrupt_pin))) - if reset_pin := config.get(CONF_RESET_PIN): - cg.add(var.set_reset_pin(await cg.gpio_pin_expression(reset_pin))) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) diff --git a/esphome/components/spi/__init__.py b/esphome/components/spi/__init__.py index 92d5baccf76..151f228651e 100644 --- a/esphome/components/spi/__init__.py +++ b/esphome/components/spi/__init__.py @@ -436,12 +436,9 @@ async def to_code(configs: list[ConfigType]) -> None: for spi in configs: var = cg.new_Pvariable(spi[CONF_ID]) await cg.register_component(var, spi) - clk = await cg.gpio_pin_expression(spi[CONF_CLK_PIN]) - cg.add(var.set_clk(clk)) - if miso := spi.get(CONF_MISO_PIN): - cg.add(var.set_miso(await cg.gpio_pin_expression(miso))) - if mosi := spi.get(CONF_MOSI_PIN): - cg.add(var.set_mosi(await cg.gpio_pin_expression(mosi))) + await cg.add_pin(var.set_clk, spi[CONF_CLK_PIN]) + await cg.add_pin(var.set_miso, spi.get(CONF_MISO_PIN)) + await cg.add_pin(var.set_mosi, spi.get(CONF_MOSI_PIN)) if data_pins := spi.get(CONF_DATA_PINS): cg.add(var.set_data_pins(data_pins)) if (index := spi.get(CONF_INTERFACE_INDEX)) is not None: @@ -491,9 +488,7 @@ async def register_spi_device( cg.add(var.set_spi_parent(parent)) if write_only: cg.add(var.set_write_only(True)) - if cs_pin := config.get(CONF_CS_PIN): - pin = await cg.gpio_pin_expression(cs_pin) - cg.add(var.set_cs_pin(pin)) + await cg.add_pin(var.set_cs_pin, config.get(CONF_CS_PIN)) if data_rate := config.get(CONF_DATA_RATE): cg.add(var.set_data_rate(data_rate)) if spi_mode := config.get(CONF_SPI_MODE): diff --git a/esphome/components/ssd1306_base/__init__.py b/esphome/components/ssd1306_base/__init__.py index b51fb6f8f22..4f9dda09dd7 100644 --- a/esphome/components/ssd1306_base/__init__.py +++ b/esphome/components/ssd1306_base/__init__.py @@ -80,9 +80,7 @@ async def setup_ssd1306(var: MockObj, config: ConfigType) -> None: await display.register_display(var, config) cg.add(var.set_model(config[CONF_MODEL])) - if CONF_RESET_PIN in config: - reset = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) if CONF_BRIGHTNESS in config: cg.add(var.init_brightness(config[CONF_BRIGHTNESS])) if CONF_CONTRAST in config: diff --git a/esphome/components/ssd1306_spi/display.py b/esphome/components/ssd1306_spi/display.py index 9a415ccfdbd..e7d067eca46 100644 --- a/esphome/components/ssd1306_spi/display.py +++ b/esphome/components/ssd1306_spi/display.py @@ -35,5 +35,4 @@ async def to_code(config: ConfigType) -> None: await ssd1306_base.setup_ssd1306(var, config) await spi.register_spi_device(var, config, write_only=True) - dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) - cg.add(var.set_dc_pin(dc)) + await cg.add_pin(var.set_dc_pin, config[CONF_DC_PIN]) diff --git a/esphome/components/ssd1322_base/__init__.py b/esphome/components/ssd1322_base/__init__.py index 72f8bd27235..e3a6ac5656e 100644 --- a/esphome/components/ssd1322_base/__init__.py +++ b/esphome/components/ssd1322_base/__init__.py @@ -33,9 +33,7 @@ async def setup_ssd1322(var: MockObj, config: ConfigType) -> None: await display.register_display(var, config) cg.add(var.set_model(config[CONF_MODEL])) - if CONF_RESET_PIN in config: - reset = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) if CONF_BRIGHTNESS in config: cg.add(var.init_brightness(config[CONF_BRIGHTNESS])) if CONF_EXTERNAL_VCC in config: diff --git a/esphome/components/ssd1322_spi/display.py b/esphome/components/ssd1322_spi/display.py index 63e0816ae72..e9b036eb7f8 100644 --- a/esphome/components/ssd1322_spi/display.py +++ b/esphome/components/ssd1322_spi/display.py @@ -35,5 +35,4 @@ async def to_code(config: ConfigType) -> None: await ssd1322_base.setup_ssd1322(var, config) await spi.register_spi_device(var, config, write_only=True) - dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) - cg.add(var.set_dc_pin(dc)) + await cg.add_pin(var.set_dc_pin, config[CONF_DC_PIN]) diff --git a/esphome/components/ssd1325_base/__init__.py b/esphome/components/ssd1325_base/__init__.py index e148808d15f..ee75f2b0b0b 100644 --- a/esphome/components/ssd1325_base/__init__.py +++ b/esphome/components/ssd1325_base/__init__.py @@ -37,9 +37,7 @@ async def setup_ssd1325(var: MockObj, config: ConfigType) -> None: await display.register_display(var, config) cg.add(var.set_model(config[CONF_MODEL])) - if CONF_RESET_PIN in config: - reset = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) if CONF_BRIGHTNESS in config: cg.add(var.init_brightness(config[CONF_BRIGHTNESS])) if CONF_EXTERNAL_VCC in config: diff --git a/esphome/components/ssd1325_spi/display.py b/esphome/components/ssd1325_spi/display.py index cca9a3cf8e8..601d874ed3d 100644 --- a/esphome/components/ssd1325_spi/display.py +++ b/esphome/components/ssd1325_spi/display.py @@ -35,5 +35,4 @@ async def to_code(config: ConfigType) -> None: await ssd1325_base.setup_ssd1325(var, config) await spi.register_spi_device(var, config, write_only=True) - dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) - cg.add(var.set_dc_pin(dc)) + await cg.add_pin(var.set_dc_pin, config[CONF_DC_PIN]) diff --git a/esphome/components/ssd1327_base/__init__.py b/esphome/components/ssd1327_base/__init__.py index 93e4c75d3b1..bd317cf17f4 100644 --- a/esphome/components/ssd1327_base/__init__.py +++ b/esphome/components/ssd1327_base/__init__.py @@ -32,9 +32,7 @@ async def setup_ssd1327(var: MockObj, config: ConfigType) -> None: await display.register_display(var, config) cg.add(var.set_model(config[CONF_MODEL])) - if CONF_RESET_PIN in config: - reset = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) if CONF_BRIGHTNESS in config: cg.add(var.init_brightness(config[CONF_BRIGHTNESS])) await display.add_writer(var, config) diff --git a/esphome/components/ssd1327_spi/display.py b/esphome/components/ssd1327_spi/display.py index 8a5ea40efa2..60a96c5764c 100644 --- a/esphome/components/ssd1327_spi/display.py +++ b/esphome/components/ssd1327_spi/display.py @@ -35,5 +35,4 @@ async def to_code(config: ConfigType) -> None: await ssd1327_base.setup_ssd1327(var, config) await spi.register_spi_device(var, config, write_only=True) - dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) - cg.add(var.set_dc_pin(dc)) + await cg.add_pin(var.set_dc_pin, config[CONF_DC_PIN]) diff --git a/esphome/components/ssd1331_base/__init__.py b/esphome/components/ssd1331_base/__init__.py index 5f71570b6ae..acde9a1ea46 100644 --- a/esphome/components/ssd1331_base/__init__.py +++ b/esphome/components/ssd1331_base/__init__.py @@ -23,9 +23,7 @@ SSD1331_SCHEMA = display.FULL_DISPLAY_SCHEMA.extend( async def setup_ssd1331(var: MockObj, config: ConfigType) -> None: await display.register_display(var, config) - if CONF_RESET_PIN in config: - reset = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) if CONF_BRIGHTNESS in config: cg.add(var.init_brightness(config[CONF_BRIGHTNESS])) await display.add_writer(var, config) diff --git a/esphome/components/ssd1331_spi/display.py b/esphome/components/ssd1331_spi/display.py index eeebb48ac6b..f52f14a2273 100644 --- a/esphome/components/ssd1331_spi/display.py +++ b/esphome/components/ssd1331_spi/display.py @@ -35,5 +35,4 @@ async def to_code(config: ConfigType) -> None: await ssd1331_base.setup_ssd1331(var, config) await spi.register_spi_device(var, config, write_only=True) - dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) - cg.add(var.set_dc_pin(dc)) + await cg.add_pin(var.set_dc_pin, config[CONF_DC_PIN]) diff --git a/esphome/components/ssd1351_base/__init__.py b/esphome/components/ssd1351_base/__init__.py index 2c44cd18403..7078f7d2421 100644 --- a/esphome/components/ssd1351_base/__init__.py +++ b/esphome/components/ssd1351_base/__init__.py @@ -33,9 +33,7 @@ async def setup_ssd1351(var: MockObj, config: ConfigType) -> None: await display.register_display(var, config) cg.add(var.set_model(config[CONF_MODEL])) - if CONF_RESET_PIN in config: - reset = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) if CONF_BRIGHTNESS in config: cg.add(var.init_brightness(config[CONF_BRIGHTNESS])) await display.add_writer(var, config) diff --git a/esphome/components/ssd1351_spi/display.py b/esphome/components/ssd1351_spi/display.py index 10991b8338f..1f70dd14b95 100644 --- a/esphome/components/ssd1351_spi/display.py +++ b/esphome/components/ssd1351_spi/display.py @@ -35,5 +35,4 @@ async def to_code(config: ConfigType) -> None: await ssd1351_base.setup_ssd1351(var, config) await spi.register_spi_device(var, config, write_only=True) - dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) - cg.add(var.set_dc_pin(dc)) + await cg.add_pin(var.set_dc_pin, config[CONF_DC_PIN]) diff --git a/esphome/components/st7123/touchscreen/__init__.py b/esphome/components/st7123/touchscreen/__init__.py index 55ea43ca6ab..a1b19c49247 100644 --- a/esphome/components/st7123/touchscreen/__init__.py +++ b/esphome/components/st7123/touchscreen/__init__.py @@ -27,7 +27,5 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if interrupt_pin := config.get(CONF_INTERRUPT_PIN): - cg.add(var.set_interrupt_pin(await cg.gpio_pin_expression(interrupt_pin))) - if reset_pin := config.get(CONF_RESET_PIN): - cg.add(var.set_reset_pin(await cg.gpio_pin_expression(reset_pin))) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) diff --git a/esphome/components/st7567_base/__init__.py b/esphome/components/st7567_base/__init__.py index a045cf34ccd..67f05157d97 100644 --- a/esphome/components/st7567_base/__init__.py +++ b/esphome/components/st7567_base/__init__.py @@ -39,9 +39,7 @@ ST7567_SCHEMA = display.FULL_DISPLAY_SCHEMA.extend( async def setup_st7567(var: MockObj, config: ConfigType) -> None: await display.register_display(var, config) - if CONF_RESET_PIN in config: - reset = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) cg.add(var.init_invert_colors(config[CONF_INVERT_COLORS])) diff --git a/esphome/components/st7567_spi/display.py b/esphome/components/st7567_spi/display.py index ad04b9f2125..ba4a08eaf45 100644 --- a/esphome/components/st7567_spi/display.py +++ b/esphome/components/st7567_spi/display.py @@ -35,5 +35,4 @@ async def to_code(config: ConfigType) -> None: await st7567_base.setup_st7567(var, config) await spi.register_spi_device(var, config, write_only=True) - dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) - cg.add(var.set_dc_pin(dc)) + await cg.add_pin(var.set_dc_pin, config[CONF_DC_PIN]) diff --git a/esphome/components/st7701s/display.py b/esphome/components/st7701s/display.py index 79430f14176..915d32b5380 100644 --- a/esphome/components/st7701s/display.py +++ b/esphome/components/st7701s/display.py @@ -209,13 +209,8 @@ async def to_code(config: ConfigType) -> None: data_pin = await cg.gpio_pin_expression(pin) cg.add(var.add_data_pin(data_pin, index)) - if dc_pin := config.get(CONF_DC_PIN): - dc = await cg.gpio_pin_expression(dc_pin) - cg.add(var.set_dc_pin(dc)) - - if reset_pin := config.get(CONF_RESET_PIN): - reset = await cg.gpio_pin_expression(reset_pin) - cg.add(var.set_reset_pin(reset)) + await cg.add_pin(var.set_dc_pin, config.get(CONF_DC_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) if transform := config.get(CONF_TRANSFORM): cg.add(var.set_mirror_x(transform[CONF_MIRROR_X])) @@ -236,11 +231,7 @@ async def to_code(config: ConfigType) -> None: await display.add_writer(var, config) - pin = await cg.gpio_pin_expression(config[CONF_DE_PIN]) - cg.add(var.set_de_pin(pin)) - pin = await cg.gpio_pin_expression(config[CONF_PCLK_PIN]) - cg.add(var.set_pclk_pin(pin)) - pin = await cg.gpio_pin_expression(config[CONF_HSYNC_PIN]) - cg.add(var.set_hsync_pin(pin)) - pin = await cg.gpio_pin_expression(config[CONF_VSYNC_PIN]) - cg.add(var.set_vsync_pin(pin)) + await cg.add_pin(var.set_de_pin, config[CONF_DE_PIN]) + await cg.add_pin(var.set_pclk_pin, config[CONF_PCLK_PIN]) + await cg.add_pin(var.set_hsync_pin, config[CONF_HSYNC_PIN]) + await cg.add_pin(var.set_vsync_pin, config[CONF_VSYNC_PIN]) diff --git a/esphome/components/status_led/light/__init__.py b/esphome/components/status_led/light/__init__.py index f63cf14178b..a36de55f198 100644 --- a/esphome/components/status_led/light/__init__.py +++ b/esphome/components/status_led/light/__init__.py @@ -27,11 +27,7 @@ CONFIG_SCHEMA = cv.All( async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_OUTPUT_ID]) - if CONF_PIN in config: - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) - if CONF_OUTPUT in config: - out = await cg.get_variable(config[CONF_OUTPUT]) - cg.add(var.set_output(out)) + await cg.add_pin(var.set_pin, config.get(CONF_PIN)) + await cg.add_variable(var.set_output, config.get(CONF_OUTPUT)) await cg.register_component(var, config) await light.register_light(var, config) diff --git a/esphome/components/sx126x/__init__.py b/esphome/components/sx126x/__init__.py index 3af042ea72b..2c14ea0bd56 100644 --- a/esphome/components/sx126x/__init__.py +++ b/esphome/components/sx126x/__init__.py @@ -249,13 +249,9 @@ async def to_code(config: ConfigType) -> None: ], config[CONF_ON_PACKET], ) - if CONF_DIO1_PIN in config: - dio1_pin = await cg.gpio_pin_expression(config[CONF_DIO1_PIN]) - cg.add(var.set_dio1_pin(dio1_pin)) - rst_pin = await cg.gpio_pin_expression(config[CONF_RST_PIN]) - cg.add(var.set_rst_pin(rst_pin)) - busy_pin = await cg.gpio_pin_expression(config[CONF_BUSY_PIN]) - cg.add(var.set_busy_pin(busy_pin)) + await cg.add_pin(var.set_dio1_pin, config.get(CONF_DIO1_PIN)) + await cg.add_pin(var.set_rst_pin, config[CONF_RST_PIN]) + await cg.add_pin(var.set_busy_pin, config[CONF_BUSY_PIN]) cg.add(var.set_bandwidth(config[CONF_BANDWIDTH])) cg.add(var.set_frequency(config[CONF_FREQUENCY])) cg.add(var.set_hw_version(config[CONF_HW_VERSION])) diff --git a/esphome/components/sx127x/__init__.py b/esphome/components/sx127x/__init__.py index 3bd3b35a2ed..49e68c61844 100644 --- a/esphome/components/sx127x/__init__.py +++ b/esphome/components/sx127x/__init__.py @@ -232,11 +232,8 @@ async def to_code(config: ConfigType) -> None: ], config[CONF_ON_PACKET], ) - if CONF_DIO0_PIN in config: - dio0_pin = await cg.gpio_pin_expression(config[CONF_DIO0_PIN]) - cg.add(var.set_dio0_pin(dio0_pin)) - rst_pin = await cg.gpio_pin_expression(config[CONF_RST_PIN]) - cg.add(var.set_rst_pin(rst_pin)) + await cg.add_pin(var.set_dio0_pin, config.get(CONF_DIO0_PIN)) + await cg.add_pin(var.set_rst_pin, config[CONF_RST_PIN]) cg.add(var.set_auto_cal(config[CONF_AUTO_CAL])) cg.add(var.set_bandwidth(config[CONF_BANDWIDTH])) cg.add(var.set_frequency(config[CONF_FREQUENCY])) diff --git a/esphome/components/tas58xx/audio_dac.py b/esphome/components/tas58xx/audio_dac.py index 332d994d5e9..4a23e085ea0 100644 --- a/esphome/components/tas58xx/audio_dac.py +++ b/esphome/components/tas58xx/audio_dac.py @@ -175,6 +175,4 @@ async def to_code(config: ConfigType) -> None: cg.add(var.set_mixer_mode(config[CONF_MIXER_MODE])) cg.add(var.set_volume_min_db(config[CONF_VOLUME_MIN_DB])) cg.add(var.set_volume_max_db(config[CONF_VOLUME_MAX_DB])) - if enable_pin_config := config.get(CONF_ENABLE_PIN): - enable_pin = await cg.gpio_pin_expression(enable_pin_config) - cg.add(var.set_enable_pin(enable_pin)) + await cg.add_pin(var.set_enable_pin, config.get(CONF_ENABLE_PIN)) diff --git a/esphome/components/tca8418/__init__.py b/esphome/components/tca8418/__init__.py index ee9decd6680..2c33df3db91 100644 --- a/esphome/components/tca8418/__init__.py +++ b/esphome/components/tca8418/__init__.py @@ -145,8 +145,7 @@ async def to_code(config: ConfigType) -> None: array = cg.shared_progmem_array("tca8418_keys", cg.uint8, table) cg.add(var.set_keys(array, len(table))) cg.add(var.set_gpi_events(config[CONF_GPI_EVENTS])) - if (interrupt_pin := config.get(CONF_INTERRUPT_PIN)) is not None: - cg.add(var.set_interrupt_pin(await cg.gpio_pin_expression(interrupt_pin))) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) for conf in config.get(CONF_ON_KEY, []): await automation.build_callback_automation( diff --git a/esphome/components/tlc5947/__init__.py b/esphome/components/tlc5947/__init__.py index 71247dd13ef..1f1f4ea9c29 100644 --- a/esphome/components/tlc5947/__init__.py +++ b/esphome/components/tlc5947/__init__.py @@ -38,14 +38,9 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - data = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_data_pin(data)) - clock = await cg.gpio_pin_expression(config[CONF_CLOCK_PIN]) - cg.add(var.set_clock_pin(clock)) - lat = await cg.gpio_pin_expression(config[CONF_LAT_PIN]) - cg.add(var.set_lat_pin(lat)) - if CONF_OE_PIN in config: - outenable = await cg.gpio_pin_expression(config[CONF_OE_PIN]) - cg.add(var.set_outenable_pin(outenable)) + await cg.add_pin(var.set_data_pin, config[CONF_DATA_PIN]) + await cg.add_pin(var.set_clock_pin, config[CONF_CLOCK_PIN]) + await cg.add_pin(var.set_lat_pin, config[CONF_LAT_PIN]) + await cg.add_pin(var.set_outenable_pin, config.get(CONF_OE_PIN)) cg.add(var.set_num_chips(config[CONF_NUM_CHIPS])) diff --git a/esphome/components/tlc5971/__init__.py b/esphome/components/tlc5971/__init__.py index 26beec280e1..8e22b080f42 100644 --- a/esphome/components/tlc5971/__init__.py +++ b/esphome/components/tlc5971/__init__.py @@ -28,9 +28,7 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - data = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_data_pin(data)) - clock = await cg.gpio_pin_expression(config[CONF_CLOCK_PIN]) - cg.add(var.set_clock_pin(clock)) + await cg.add_pin(var.set_data_pin, config[CONF_DATA_PIN]) + await cg.add_pin(var.set_clock_pin, config[CONF_CLOCK_PIN]) cg.add(var.set_num_chips(config[CONF_NUM_CHIPS])) diff --git a/esphome/components/tm1621/display.py b/esphome/components/tm1621/display.py index 4a83d363fe4..4765d950cbe 100644 --- a/esphome/components/tm1621/display.py +++ b/esphome/components/tm1621/display.py @@ -30,13 +30,9 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await display.register_display(var, config) - cs = await cg.gpio_pin_expression(config[CONF_CS_PIN]) - cg.add(var.set_cs_pin(cs)) - data = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_data_pin(data)) - read = await cg.gpio_pin_expression(config[CONF_READ_PIN]) - cg.add(var.set_read_pin(read)) - write = await cg.gpio_pin_expression(config[CONF_WRITE_PIN]) - cg.add(var.set_write_pin(write)) + await cg.add_pin(var.set_cs_pin, config[CONF_CS_PIN]) + await cg.add_pin(var.set_data_pin, config[CONF_DATA_PIN]) + await cg.add_pin(var.set_read_pin, config[CONF_READ_PIN]) + await cg.add_pin(var.set_write_pin, config[CONF_WRITE_PIN]) await display.add_writer(var, config, TM1621DisplayRef) diff --git a/esphome/components/tm1637/display.py b/esphome/components/tm1637/display.py index ebdd9449d65..27289dea774 100644 --- a/esphome/components/tm1637/display.py +++ b/esphome/components/tm1637/display.py @@ -36,10 +36,8 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await display.register_display(var, config) - clk = await cg.gpio_pin_expression(config[CONF_CLK_PIN]) - cg.add(var.set_clk_pin(clk)) - dio = await cg.gpio_pin_expression(config[CONF_DIO_PIN]) - cg.add(var.set_dio_pin(dio)) + await cg.add_pin(var.set_clk_pin, config[CONF_CLK_PIN]) + await cg.add_pin(var.set_dio_pin, config[CONF_DIO_PIN]) cg.add(var.set_intensity(config[CONF_INTENSITY])) cg.add(var.set_inverted(config[CONF_INVERTED])) diff --git a/esphome/components/tm1638/display.py b/esphome/components/tm1638/display.py index 74ee8b3293d..d7e375ac885 100644 --- a/esphome/components/tm1638/display.py +++ b/esphome/components/tm1638/display.py @@ -35,14 +35,9 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await display.register_display(var, config) - clk = await cg.gpio_pin_expression(config[CONF_CLK_PIN]) - cg.add(var.set_clk_pin(clk)) - - dio = await cg.gpio_pin_expression(config[CONF_DIO_PIN]) - cg.add(var.set_dio_pin(dio)) - - stb = await cg.gpio_pin_expression(config[CONF_STB_PIN]) - cg.add(var.set_stb_pin(stb)) + await cg.add_pin(var.set_clk_pin, config[CONF_CLK_PIN]) + await cg.add_pin(var.set_dio_pin, config[CONF_DIO_PIN]) + await cg.add_pin(var.set_stb_pin, config[CONF_STB_PIN]) cg.add(var.set_intensity(config[CONF_INTENSITY])) diff --git a/esphome/components/tm1651/__init__.py b/esphome/components/tm1651/__init__.py index 14aa1c8842b..60cf1e542a1 100644 --- a/esphome/components/tm1651/__init__.py +++ b/esphome/components/tm1651/__init__.py @@ -43,10 +43,8 @@ CONFIG_SCHEMA = cv.All( async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - clk_pin = await cg.gpio_pin_expression(config[CONF_CLK_PIN]) - cg.add(var.set_clk_pin(clk_pin)) - dio_pin = await cg.gpio_pin_expression(config[CONF_DIO_PIN]) - cg.add(var.set_dio_pin(dio_pin)) + await cg.add_pin(var.set_clk_pin, config[CONF_CLK_PIN]) + await cg.add_pin(var.set_dio_pin, config[CONF_DIO_PIN]) validate_brightness = cv.enum(TM1651_BRIGHTNESS_OPTIONS, int=True) diff --git a/esphome/components/tmc22xx/__init__.py b/esphome/components/tmc22xx/__init__.py index 1018443e002..427b3fe83a0 100644 --- a/esphome/components/tmc22xx/__init__.py +++ b/esphome/components/tmc22xx/__init__.py @@ -176,8 +176,7 @@ async def new_tmc22xx(config: ConfigType) -> cg.Pvariable: (CONF_INDEX_PIN, var.set_index_pin), (CONF_DIAG_PIN, var.set_diag_pin), ): - if (pin := config.get(key)) is not None: - cg.add(setter(await cg.gpio_pin_expression(pin))) + await cg.add_pin(setter, config.get(key)) for key, setter in ( (CONF_RSENSE, var.set_rsense), (CONF_VSENSE, var.set_vsense), diff --git a/esphome/components/tt21100/touchscreen/__init__.py b/esphome/components/tt21100/touchscreen/__init__.py index 22489df379e..7ef15f810d4 100644 --- a/esphome/components/tt21100/touchscreen/__init__.py +++ b/esphome/components/tt21100/touchscreen/__init__.py @@ -32,10 +32,5 @@ async def to_code(config: ConfigType) -> None: await touchscreen.register_touchscreen(var, config) await i2c.register_i2c_device(var, config) - if CONF_INTERRUPT_PIN in config: - interrupt_pin = await cg.gpio_pin_expression(config[CONF_INTERRUPT_PIN]) - cg.add(var.set_interrupt_pin(interrupt_pin)) - - if CONF_RESET_PIN in config: - rts_pin = await cg.gpio_pin_expression(config[CONF_RESET_PIN]) - cg.add(var.set_reset_pin(rts_pin)) + await cg.add_pin(var.set_interrupt_pin, config.get(CONF_INTERRUPT_PIN)) + await cg.add_pin(var.set_reset_pin, config.get(CONF_RESET_PIN)) diff --git a/esphome/components/ttp229_bsf/__init__.py b/esphome/components/ttp229_bsf/__init__.py index 1b10940570b..274ea25fd7c 100644 --- a/esphome/components/ttp229_bsf/__init__.py +++ b/esphome/components/ttp229_bsf/__init__.py @@ -26,7 +26,5 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - sdo = await cg.gpio_pin_expression(config[CONF_SDO_PIN]) - cg.add(var.set_sdo_pin(sdo)) - scl = await cg.gpio_pin_expression(config[CONF_SCL_PIN]) - cg.add(var.set_scl_pin(scl)) + await cg.add_pin(var.set_sdo_pin, config[CONF_SDO_PIN]) + await cg.add_pin(var.set_scl_pin, config[CONF_SCL_PIN]) diff --git a/esphome/components/tuya/__init__.py b/esphome/components/tuya/__init__.py index 51db405512c..4a334e3e518 100644 --- a/esphome/components/tuya/__init__.py +++ b/esphome/components/tuya/__init__.py @@ -89,9 +89,7 @@ async def to_code(config): cg.add(var.set_time_id(time_)) if config[CONF_FORCE_TIME_SYNC]: cg.add(var.set_force_time_sync(True)) - if CONF_STATUS_PIN in config: - status_pin_ = await cg.gpio_pin_expression(config[CONF_STATUS_PIN]) - cg.add(var.set_status_pin(status_pin_)) + await cg.add_pin(var.set_status_pin, config.get(CONF_STATUS_PIN)) if CONF_IGNORE_MCU_UPDATE_ON_DATAPOINTS in config: for dp in config[CONF_IGNORE_MCU_UPDATE_ON_DATAPOINTS]: cg.add(var.add_ignore_mcu_update_on_datapoints(dp)) diff --git a/esphome/components/tuya/climate/__init__.py b/esphome/components/tuya/climate/__init__.py index cefe5d5a4b4..91ef9a6a68a 100644 --- a/esphome/components/tuya/climate/__init__.py +++ b/esphome/components/tuya/climate/__init__.py @@ -204,12 +204,8 @@ async def to_code(config): if switch_datapoint := config.get(CONF_SWITCH_DATAPOINT): cg.add(var.set_switch_id(switch_datapoint)) - if heating_state_pin_config := config.get(CONF_HEATING_STATE_PIN): - heating_state_pin = await cg.gpio_pin_expression(heating_state_pin_config) - cg.add(var.set_heating_state_pin(heating_state_pin)) - if cooling_state_pin_config := config.get(CONF_COOLING_STATE_PIN): - cooling_state_pin = await cg.gpio_pin_expression(cooling_state_pin_config) - cg.add(var.set_cooling_state_pin(cooling_state_pin)) + await cg.add_pin(var.set_heating_state_pin, config.get(CONF_HEATING_STATE_PIN)) + await cg.add_pin(var.set_cooling_state_pin, config.get(CONF_COOLING_STATE_PIN)) if active_state_config := config.get(CONF_ACTIVE_STATE): cg.add(var.set_active_state_id(active_state_config.get(CONF_DATAPOINT))) if (heating_value := active_state_config.get(CONF_HEATING_VALUE)) is not None: diff --git a/esphome/components/tx20/sensor.py b/esphome/components/tx20/sensor.py index 77418e5284f..fe2d1ba99f6 100644 --- a/esphome/components/tx20/sensor.py +++ b/esphome/components/tx20/sensor.py @@ -48,5 +48,4 @@ async def to_code(config: ConfigType) -> None: await sensors(CONF_WIND_SPEED, var.set_wind_speed_sensor) await sensors(CONF_WIND_DIRECTION_DEGREES, var.set_wind_direction_degrees_sensor) - pin = await cg.gpio_pin_expression(config[CONF_PIN]) - cg.add(var.set_pin(pin)) + await cg.add_pin(var.set_pin, config[CONF_PIN]) diff --git a/esphome/components/uln2003/stepper.py b/esphome/components/uln2003/stepper.py index f09b2702c71..bc656a5ff36 100644 --- a/esphome/components/uln2003/stepper.py +++ b/esphome/components/uln2003/stepper.py @@ -42,14 +42,10 @@ async def to_code(config: ConfigType) -> None: await cg.register_component(var, config) await stepper.register_stepper(var, config) - pin_a = await cg.gpio_pin_expression(config[CONF_PIN_A]) - cg.add(var.set_pin_a(pin_a)) - pin_b = await cg.gpio_pin_expression(config[CONF_PIN_B]) - cg.add(var.set_pin_b(pin_b)) - pin_c = await cg.gpio_pin_expression(config[CONF_PIN_C]) - cg.add(var.set_pin_c(pin_c)) - pin_d = await cg.gpio_pin_expression(config[CONF_PIN_D]) - cg.add(var.set_pin_d(pin_d)) + await cg.add_pin(var.set_pin_a, config[CONF_PIN_A]) + await cg.add_pin(var.set_pin_b, config[CONF_PIN_B]) + await cg.add_pin(var.set_pin_c, config[CONF_PIN_C]) + await cg.add_pin(var.set_pin_d, config[CONF_PIN_D]) cg.add(var.set_sleep_when_done(config[CONF_SLEEP_WHEN_DONE])) cg.add(var.set_step_mode(config[CONF_STEP_MODE])) diff --git a/esphome/components/ultrasonic/sensor.py b/esphome/components/ultrasonic/sensor.py index 25973447f6f..a978f36b90b 100644 --- a/esphome/components/ultrasonic/sensor.py +++ b/esphome/components/ultrasonic/sensor.py @@ -49,9 +49,7 @@ async def to_code(config: ConfigType) -> None: var = await sensor.new_sensor(config) await cg.register_component(var, config) - trigger = await cg.gpio_pin_expression(config[CONF_TRIGGER_PIN]) - cg.add(var.set_trigger_pin(trigger)) - echo = await cg.gpio_pin_expression(config[CONF_ECHO_PIN]) - cg.add(var.set_echo_pin(echo)) + await cg.add_pin(var.set_trigger_pin, config[CONF_TRIGGER_PIN]) + await cg.add_pin(var.set_echo_pin, config[CONF_ECHO_PIN]) cg.add(var.set_timeout_us(config[CONF_TIMEOUT] / (0.000343 / 2))) cg.add(var.set_pulse_time_us(config[CONF_PULSE_TIME])) diff --git a/esphome/components/vl53l0x/sensor.py b/esphome/components/vl53l0x/sensor.py index 3029e0f77b1..8f6a97c384a 100644 --- a/esphome/components/vl53l0x/sensor.py +++ b/esphome/components/vl53l0x/sensor.py @@ -81,9 +81,7 @@ async def to_code(config: ConfigType) -> None: cg.add(var.set_long_range(config[CONF_LONG_RANGE])) cg.add(var.set_timeout_us(config[CONF_TIMEOUT])) - if CONF_ENABLE_PIN in config: - enable = await cg.gpio_pin_expression(config[CONF_ENABLE_PIN]) - cg.add(var.set_enable_pin(enable)) + await cg.add_pin(var.set_enable_pin, config.get(CONF_ENABLE_PIN)) if timing_budget := config.get(CONF_TIMING_BUDGET): cg.add(var.set_timing_budget(timing_budget)) diff --git a/esphome/components/wiegand/__init__.py b/esphome/components/wiegand/__init__.py index 93d5e4f0f06..c59bf1c0785 100644 --- a/esphome/components/wiegand/__init__.py +++ b/esphome/components/wiegand/__init__.py @@ -56,10 +56,8 @@ CONFIG_SCHEMA = cv.Schema( async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - pin = await cg.gpio_pin_expression(config[CONF_D0]) - cg.add(var.set_d0_pin(pin)) - pin = await cg.gpio_pin_expression(config[CONF_D1]) - cg.add(var.set_d1_pin(pin)) + await cg.add_pin(var.set_d0_pin, config[CONF_D0]) + await cg.add_pin(var.set_d1_pin, config[CONF_D1]) for conf in config.get(CONF_ON_TAG, []): trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID]) diff --git a/esphome/components/x9c/output.py b/esphome/components/x9c/output.py index ff3f26e2abf..b927cfa906f 100644 --- a/esphome/components/x9c/output.py +++ b/esphome/components/x9c/output.py @@ -45,12 +45,9 @@ async def to_code(config: ConfigType) -> None: await cg.register_component(var, config) await output.register_output(var, config) - cs_pin = await cg.gpio_pin_expression(config[CONF_CS_PIN]) - cg.add(var.set_cs_pin(cs_pin)) - inc_pin = await cg.gpio_pin_expression(config[CONF_INC_PIN]) - cg.add(var.set_inc_pin(inc_pin)) - ud_pin = await cg.gpio_pin_expression(config[CONF_UD_PIN]) - cg.add(var.set_ud_pin(ud_pin)) + await cg.add_pin(var.set_cs_pin, config[CONF_CS_PIN]) + await cg.add_pin(var.set_inc_pin, config[CONF_INC_PIN]) + await cg.add_pin(var.set_ud_pin, config[CONF_UD_PIN]) cg.add(var.set_initial_value(config[CONF_INITIAL_VALUE])) cg.add(var.set_step_delay(config[CONF_STEP_DELAY])) diff --git a/esphome/components/xpt2046/touchscreen/__init__.py b/esphome/components/xpt2046/touchscreen/__init__.py index e38bc23da37..a8bbe9d88fd 100644 --- a/esphome/components/xpt2046/touchscreen/__init__.py +++ b/esphome/components/xpt2046/touchscreen/__init__.py @@ -39,6 +39,4 @@ async def to_code(config: ConfigType) -> None: cg.add(var.set_threshold(config[CONF_THRESHOLD])) - if CONF_INTERRUPT_PIN in config: - pin = await cg.gpio_pin_expression(config[CONF_INTERRUPT_PIN]) - cg.add(var.set_irq_pin(pin)) + await cg.add_pin(var.set_irq_pin, config.get(CONF_INTERRUPT_PIN)) diff --git a/esphome/components/zyaura/sensor.py b/esphome/components/zyaura/sensor.py index cfe980f037c..23fd3bc5bfb 100644 --- a/esphome/components/zyaura/sensor.py +++ b/esphome/components/zyaura/sensor.py @@ -18,7 +18,6 @@ from esphome.const import ( UNIT_PARTS_PER_MILLION, UNIT_PERCENT, ) -from esphome.cpp_helpers import gpio_pin_expression from esphome.types import ConfigType zyaura_ns = cg.esphome_ns.namespace("zyaura") @@ -56,10 +55,8 @@ async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) - pin_clock = await gpio_pin_expression(config[CONF_CLOCK_PIN]) - cg.add(var.set_pin_clock(pin_clock)) - pin_data = await gpio_pin_expression(config[CONF_DATA_PIN]) - cg.add(var.set_pin_data(pin_data)) + await cg.add_pin(var.set_pin_clock, config[CONF_CLOCK_PIN]) + await cg.add_pin(var.set_pin_data, config[CONF_DATA_PIN]) sensors = sensor.sub_sensors(config) await sensors(CONF_CO2, var.set_co2_sensor)