[mcp23xxx][pi4ioe5v6408] Add optional interrupt pin to eliminate polling (#15445)

This commit is contained in:
J. Nick Koston
2026-04-05 08:26:39 -10:00
committed by GitHub
parent 2d7eb116f2
commit dae8ea1b04
31 changed files with 183 additions and 22 deletions
+12 -2
View File
@@ -1,6 +1,10 @@
mcp23008:
i2c_id: i2c_bus
id: mcp23008_hub
- i2c_id: i2c_bus
id: mcp23008_hub
- i2c_id: i2c_bus
id: mcp23008_hub_int
address: 0x21
interrupt_pin: ${interrupt_pin}
binary_sensor:
- platform: gpio
@@ -9,6 +13,12 @@ binary_sensor:
mcp23xxx: mcp23008_hub
number: 0
mode: INPUT
- platform: gpio
id: mcp23008_binary_sensor_int
pin:
mcp23xxx: mcp23008_hub_int
number: 0
mode: INPUT
switch:
- platform: gpio
@@ -1,3 +1,6 @@
substitutions:
interrupt_pin: GPIO15
packages:
i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml
@@ -1,3 +1,6 @@
substitutions:
interrupt_pin: GPIO15
packages:
i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml
@@ -1,3 +1,6 @@
substitutions:
interrupt_pin: GPIO2
packages:
i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml
+12 -2
View File
@@ -1,6 +1,10 @@
mcp23017:
i2c_id: i2c_bus
id: mcp23017_hub
- i2c_id: i2c_bus
id: mcp23017_hub
- i2c_id: i2c_bus
id: mcp23017_hub_int
address: 0x21
interrupt_pin: ${interrupt_pin}
binary_sensor:
- platform: gpio
@@ -9,6 +13,12 @@ binary_sensor:
mcp23xxx: mcp23017_hub
number: 0
mode: INPUT
- platform: gpio
id: mcp23017_binary_sensor_int
pin:
mcp23xxx: mcp23017_hub_int
number: 0
mode: INPUT
switch:
- platform: gpio
@@ -1,3 +1,6 @@
substitutions:
interrupt_pin: GPIO15
packages:
i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml
@@ -1,3 +1,6 @@
substitutions:
interrupt_pin: GPIO15
packages:
i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml
@@ -1,3 +1,6 @@
substitutions:
interrupt_pin: GPIO2
packages:
i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml
+1
View File
@@ -2,3 +2,4 @@ mcp23s08:
- id: mcp23s08_hub
cs_pin: ${cs_pin}
deviceaddress: 0
interrupt_pin: ${interrupt_pin}
@@ -1,5 +1,6 @@
substitutions:
cs_pin: GPIO5
interrupt_pin: GPIO15
packages:
spi: !include ../../test_build_components/common/spi/esp32-idf.yaml
@@ -1,5 +1,6 @@
substitutions:
cs_pin: GPIO15
interrupt_pin: GPIO0
packages:
spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml
@@ -1,5 +1,6 @@
substitutions:
cs_pin: GPIO5
interrupt_pin: GPIO2
packages:
spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml
+1
View File
@@ -2,3 +2,4 @@ mcp23s17:
- id: mcp23s17_hub
cs_pin: ${cs_pin}
deviceaddress: 0
interrupt_pin: ${interrupt_pin}
@@ -1,5 +1,6 @@
substitutions:
cs_pin: GPIO5
interrupt_pin: GPIO15
packages:
spi: !include ../../test_build_components/common/spi/esp32-idf.yaml
@@ -1,5 +1,6 @@
substitutions:
cs_pin: GPIO15
interrupt_pin: GPIO0
packages:
spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml
@@ -1,5 +1,6 @@
substitutions:
cs_pin: GPIO5
interrupt_pin: GPIO2
packages:
spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml
+12 -3
View File
@@ -1,7 +1,11 @@
pi4ioe5v6408:
i2c_id: i2c_bus
id: pi4ioe1
address: 0x44
- i2c_id: i2c_bus
id: pi4ioe1
address: 0x44
- i2c_id: i2c_bus
id: pi4ioe1_int
address: 0x45
interrupt_pin: ${interrupt_pin}
switch:
- platform: gpio
@@ -16,3 +20,8 @@ binary_sensor:
pin:
pi4ioe5v6408: pi4ioe1
number: 1
- platform: gpio
id: sensor1_int
pin:
pi4ioe5v6408: pi4ioe1_int
number: 1
@@ -1,6 +1,7 @@
substitutions:
i2c_sda: GPIO21
i2c_scl: GPIO22
interrupt_pin: GPIO15
packages:
i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml
@@ -1,6 +1,7 @@
substitutions:
i2c_sda: GPIO4
i2c_scl: GPIO5
interrupt_pin: GPIO2
packages:
i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml