PI4IOE5V6408 8-Bit I2C I/O Expander
The PI4IOE5V6408 component allows you to use the Diodes Incorporated PI4IOE5V6408 8-bit I2C I/O expander in ESPHome using the I²C Bus for communication.
The PI4IOE5V6408 is a low-voltage 8-bit I/O port expander that operates at 1.65V to 5.5V. It provides general-purpose remote I/O expansion for most microcontroller families via the I2C interface. The device supports both pull-up and pull-down resistors on all I/O pins, and includes interrupt capability for input changes.
Once configured, you can use any of the 8 pins (0-7) within your projects. Within ESPHome they emulate a real internal GPIO pin and can therefore be used with many of ESPHome’s components such as the GPIO binary sensor or GPIO switch.
# Example configuration entrypi4ioe5v6408: - id: 'pi4ioe_hub'
# Individual outputsswitch: - platform: gpio name: "PI4IOE5V6408 Pin 0" pin: pi4ioe5v6408: pi4ioe_hub number: 0
# Individual inputsbinary_sensor: - platform: gpio name: "PI4IOE5V6408 Pin 1" pin: pi4ioe5v6408: pi4ioe_hub number: 1Configuration variables
Section titled “Configuration variables”- id (Required, ID): The id to use for this
pi4ioe5v6408component. - address (Optional, int): The I²C address of the device. Defaults to
0x43. - reset (Optional, boolean): Whether to reset the device state during setup. When
true(default), all pins are configured as inputs with high impedance during setup. Whenfalse, the component will read the current state from the device registers. Defaults totrue.
Pin configuration variables
Section titled “Pin configuration variables”-
pi4ioe5v6408 (Required, ID): The id of the
pi4ioe5v6408component of the pin. -
number (Required, int): The pin number. Valid range is 0-7.
-
inverted (Optional, boolean): If all read and written values should be treated as inverted. Defaults to
false. -
mode (Optional, Pin Mode): A pin mode to set for the pin. One of:
INPUT- Configure the pin as an input.OUTPUT- Configure the pin as an output.PULLUP- Enable internal pull-up resistor (input mode only).PULLDOWN- Enable internal pull-down resistor (input mode only).
Examples
Section titled “Examples”GPIO Switch Example
Section titled “GPIO Switch Example”switch: - platform: gpio name: "Relay 1" pin: pi4ioe5v6408: pi4ioe_hub number: 0 mode: output: trueGPIO Binary Sensor Example
Section titled “GPIO Binary Sensor Example”binary_sensor: - platform: gpio name: "Button 1" pin: pi4ioe5v6408: pi4ioe_hub number: 1 mode: input: true pullup: trueGPIO Output with Inverted Logic
Section titled “GPIO Output with Inverted Logic”switch: - platform: gpio name: "LED Strip" pin: pi4ioe5v6408: pi4ioe_hub number: 2 mode: output: true inverted: true