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 entry
pi4ioe5v6408:
- id: 'pi4ioe_hub'
# Individual outputs
switch:
- platform: gpio
name: "PI4IOE5V6408 Pin 0"
pin:
pi4ioe5v6408: pi4ioe_hub
number: 0
# Individual inputs
binary_sensor:
- platform: gpio
name: "PI4IOE5V6408 Pin 1"
pin:
pi4ioe5v6408: pi4ioe_hub
number: 1
Configuration variables¶
id (Required, ID): The id to use for this
pi4ioe5v6408
component.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¶
pi4ioe5v6408 (Required, ID): The id of the
pi4ioe5v6408
component 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:¶
GPIO Switch Example¶
switch:
- platform: gpio
name: "Relay 1"
pin:
pi4ioe5v6408: pi4ioe_hub
number: 0
mode:
output: true
GPIO Binary Sensor Example¶
binary_sensor:
- platform: gpio
name: "Button 1"
pin:
pi4ioe5v6408: pi4ioe_hub
number: 1
mode:
input: true
pullup: true
GPIO Output with Inverted Logic¶
switch:
- platform: gpio
name: "LED Strip"
pin:
pi4ioe5v6408: pi4ioe_hub
number: 2
mode:
output: true
inverted: true