From 0baef02817ac4626b3c4b2c6012e20e9a25a6eb7 Mon Sep 17 00:00:00 2001 From: Dave Williams | DitroniX | G8PUO <20687856+DitroniX@users.noreply.github.com> Date: Sat, 13 Jun 2026 08:47:38 +0100 Subject: [PATCH] Update README.md --- components/TCA6408/README.md | 58 +++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/components/TCA6408/README.md b/components/TCA6408/README.md index b2427dd..e437402 100644 --- a/components/TCA6408/README.md +++ b/components/TCA6408/README.md @@ -11,9 +11,65 @@ Full-featured custom component for the **TCA6408** 8-bit I - Polling fallback mode - Compatible with ESP32 (including C3/C5/C6), ESP8266, etc. +The INT pin on TCA6408 is open-drain active-low — connect a pull-up resistor (or use internal pull-up on ESP). + ## Installation 1. Download or clone this component into your ESPHome project: ```bash mkdir -p custom_components - cp -r TCA6408/custom_components/tca6408 custom_components/ \ No newline at end of file + cp -r TCA6408/custom_components/tca6408 custom_components/ +## Basic Configuration + + i2c: + sda: GPIO4 + scl: GPIO5 + scan: true + frequency: 400kHz + + custom_components: + - source: + type: local + path: custom_components/tca6408 + + tca6408: + - id: tca6408_hub + address: 0x20 # Default: 0x20 (0x20–0x27 depending on ADDR pins) + interrupt_pin: GPIO6 # Recommended for fast input response + +## Example: Outputs (Switches) + + switch: + - platform: gpio + name: "TCA6408 Output 0" + pin: + tca6408: tca6408_hub + number: 0 + mode: OUTPUT + + - platform: gpio + name: "TCA6408 Relay (Active Low)" + pin: + tca6408: tca6408_hub + number: 1 + mode: OUTPUT + inverted: true + +## Example: Inputs (Binary Sensors) with Interrupt + + binary_sensor: + - platform: gpio + name: "Door Sensor" + pin: + tca6408: tca6408_hub + number: 3 + mode: INPUT + inverted: true # Uses hardware polarity inversion + + - platform: gpio + name: "Push Button" + pin: + tca6408: tca6408_hub + number: 4 + mode: INPUT +