djtef
(Djtef)
July 28, 2022, 8:18am
1
Hello guys,
I made a board with 12 MCP23017 to add theoretically 12x16=192 gpio on the 2 I2C buses to my esp32.
But the esp32 is stuck in a boot loop when I add 50 outputs (switch) and 52 inputs (binary_sensor) so 102 additional gpio (and 12 covers).
It seems the watchdog timer limit is reached :
[11:31:42][I][app:062]: setup() finished successfully!
[11:31:42][D][esp32.preferences:114]: Saving preferences to flash...
[11:31:43]E (9958) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[11:31:43]E (9958) task_wdt: - loopTask (CPU 1)
[11:31:43]E (9958) task_wdt: Tasks currently running:
[11:31:43]E (9958) task_wdt: CPU 0: ipc0
[11:31:43]E (9958) task_wdt: CPU 1: IDLE
[11:31:43]E (9958) task_wdt: Aborting.
[11:31:43]
[11:31:43]abort() was called at PC 0x400fd3f8 on core 0
I tried to increase the i2c frequency from 100 to 200KHz but nothing changed.
I tried to unplung the i2c plug from my board to have a standalone esp32 : same problem.
Is there a trick to increase the watchdog or avoid this timeout ?
I spent so many hours on my project that I would be very gratful if someone could help me
Thanks in advance
in2deep
(Markus)
July 28, 2022, 6:16pm
2
Did you try to decrease that number? Just to get at least an idea were around the “break point” is? It might be a combination of something Like does it maybe already work if you comment out the covers for example?
djtef
(Djtef)
July 28, 2022, 7:07pm
3
Yes, 102 is already the "break point’, if I add a binary sensor or a switch it crashes.
But actually it’s not so easy, for example I have 102 gpios, it works, I add another one, it doesn’t work anymore, I comment the last one to come back as previously and it still doesn’t work, I have to remove more gpio… the limit is not 100% reproducible, the behavior is weird, I don’t understand what is the combination which triggers the watchdog.
I searched on Google, I don’t find this kind of problem, nobody had the same idea as me to command all the house with one ESP32… On theory it seems so easy
djtef
(Djtef)
July 30, 2022, 10:12pm
4
Hello,
I could progess in my investigations and it’s interesting… but incomprehensible at my level
I rewrote the yaml with only the gpio declaration as baseline, no trigger, no automation, no name only the minimum : I could declare 192 gpios on the 2 I2C buses and it works !
After that, I copied my previous yaml litle by little, gpio by gpio until the watchdog error and I found what is the cause : it’s the id and/or name length !
Indeed, in my basic yaml, I only defined some basic id (in1, in2, in3… out1, out2…) without any name. If I rename the id and add a real name for example SWITCH_KITCHEN_1 or LIGHT_KITCHEN_1, with around a hundred gpios I face the watchdog error.
Can someone explain this behaviour ? Is there a workaround ? I don’t see any link between a watchdog timeout and id or name length
Here is my basic yaml wich works
esphome:
name: example
esp32:
board: esp32-poe
logger:
wifi:
ssid: "****"
password: "****"
ap:
ssid: "example"
password: "****"
web_server:
port: 80
local: true
api:
ota:
i2c:
- id: bus_a
sda: GPIO05
scl: GPIO03
frequency: 400kHz
- id: bus_b
sda: GPIO15
scl: GPIO16
frequency: 400kHz
mcp23017:
- id: 'mcp23017_hub_a1'
i2c_id: bus_a
address: 0x20
- id: 'mcp23017_hub_a2'
i2c_id: bus_a
address: 0x21
- id: 'mcp23017_hub_a3'
i2c_id: bus_a
address: 0x22
- id: 'mcp23017_hub_a4'
i2c_id: bus_a
address: 0x24
- id: 'mcp23017_hub_a5'
i2c_id: bus_a
address: 0x23
- id: 'mcp23017_hub_a6'
i2c_id: bus_a
address: 0x25
- id: 'mcp23017_hub_a7'
i2c_id: bus_a
address: 0x26
- id: 'mcp23017_hub_a8'
i2c_id: bus_a
address: 0x27
- id: 'mcp23017_hub_b1'
i2c_id: bus_b
address: 0x20
- id: 'mcp23017_hub_b2'
i2c_id: bus_b
address: 0x21
- id: 'mcp23017_hub_b3'
i2c_id: bus_b
address: 0x22
- id: 'mcp23017_hub_b4'
i2c_id: bus_b
address: 0x23
switch:
- platform: gpio
id: out01
pin:
mcp23xxx: mcp23017_hub_a1
number: 15
mode: OUTPUT
inverted: False
- platform: gpio
id: out02
pin:
mcp23xxx: mcp23017_hub_a1
number: 14
mode: OUTPUT
inverted: False
- platform: gpio
id: out03
pin:
mcp23xxx: mcp23017_hub_a1
number: 13
mode: OUTPUT
inverted: False
- platform: gpio
id: out04
pin:
mcp23xxx: mcp23017_hub_a1
number: 12
mode: OUTPUT
inverted: False
- platform: gpio
id: out05
pin:
mcp23xxx: mcp23017_hub_a1
number: 11
mode: OUTPUT
inverted: False
- platform: gpio
id: out06
pin:
mcp23xxx: mcp23017_hub_a1
number: 10
mode: OUTPUT
inverted: False
- platform: gpio
id: out07
pin:
mcp23xxx: mcp23017_hub_a2
number: 13
mode: OUTPUT
inverted: False
- platform: gpio
id: out08
pin:
mcp23xxx: mcp23017_hub_a2
number: 12
mode: OUTPUT
inverted: False
- platform: gpio
id: out09
pin:
mcp23xxx: mcp23017_hub_a2
number: 11
mode: OUTPUT
inverted: False
- platform: gpio
id: out10
pin:
mcp23xxx: mcp23017_hub_a2
number: 10
mode: OUTPUT
inverted: False
- platform: gpio
id: out11
pin:
mcp23xxx: mcp23017_hub_a2
number: 9
mode: OUTPUT
inverted: False
- platform: gpio
id: out12
pin:
mcp23xxx: mcp23017_hub_a2
number: 8
mode: OUTPUT
inverted: False
- platform: gpio
id: out13
pin:
mcp23xxx: mcp23017_hub_a3
number: 15
mode: OUTPUT
inverted: False
- platform: gpio
id: out14
pin:
mcp23xxx: mcp23017_hub_a3
number: 14
mode: OUTPUT
inverted: False
- platform: gpio
id: out15
pin:
mcp23xxx: mcp23017_hub_a3
number: 13
mode: OUTPUT
inverted: False
- platform: gpio
id: out16
pin:
mcp23xxx: mcp23017_hub_a3
number: 12
mode: OUTPUT
inverted: False
- platform: gpio
id: out17
pin:
mcp23xxx: mcp23017_hub_a3
number: 11
mode: OUTPUT
inverted: False
- platform: gpio
id: out18
pin:
mcp23xxx: mcp23017_hub_a3
number: 10
mode: OUTPUT
inverted: False
- platform: gpio
id: out19
pin:
mcp23xxx: mcp23017_hub_a4
number: 15
mode: OUTPUT
inverted: False
- platform: gpio
id: out20
pin:
mcp23xxx: mcp23017_hub_a4
number: 14
mode: OUTPUT
inverted: False
- platform: gpio
id: out21
pin:
mcp23xxx: mcp23017_hub_a4
number: 13
mode: OUTPUT
inverted: False
- platform: gpio
id: out22
pin:
mcp23xxx: mcp23017_hub_a4
number: 12
mode: OUTPUT
inverted: False
- platform: gpio
id: out23
pin:
mcp23xxx: mcp23017_hub_a4
number: 11
mode: OUTPUT
inverted: False
- platform: gpio
id: out24
pin:
mcp23xxx: mcp23017_hub_a4
number: 10
mode: OUTPUT
inverted: False
- platform: gpio #out2 01
id: out25
pin:
mcp23xxx: mcp23017_hub_a5
number: 15
mode: OUTPUT
inverted: False
- platform: gpio #out2 02
id: out26
pin:
mcp23xxx: mcp23017_hub_a5
number: 14
mode: OUTPUT
inverted: False
- platform: gpio #out2 03
id: out27
pin:
mcp23xxx: mcp23017_hub_a5
number: 13
mode: OUTPUT
inverted: False
- platform: gpio #out2 04
id: out28
pin:
mcp23xxx: mcp23017_hub_a5
number: 12
mode: OUTPUT
inverted: False
- platform: gpio #out2 05
id: out29
pin:
mcp23xxx: mcp23017_hub_a5
number: 11
mode: OUTPUT
inverted: False
- platform: gpio #out2 06
id: out30
pin:
mcp23xxx: mcp23017_hub_a5
number: 10
mode: OUTPUT
inverted: False
- platform: gpio #out2 07
id: out31
pin:
mcp23xxx: mcp23017_hub_a6
number: 13
mode: OUTPUT
inverted: False
- platform: gpio #out2 08
id: out32
pin:
mcp23xxx: mcp23017_hub_a6
number: 12
mode: OUTPUT
inverted: False
- platform: gpio #out2 09
id: out33
pin:
mcp23xxx: mcp23017_hub_a6
number: 11
mode: OUTPUT
inverted: False
- platform: gpio #out2 10
id: out34
pin:
mcp23xxx: mcp23017_hub_a6
number: 10
mode: OUTPUT
inverted: False
- platform: gpio #out2 11
id: out35
pin:
mcp23xxx: mcp23017_hub_a6
number: 9
mode: OUTPUT
inverted: False
- platform: gpio #out2 12
id: out36
pin:
mcp23xxx: mcp23017_hub_a6
number: 8
mode: OUTPUT
inverted: False
- platform: gpio #out2 13
id: out37
pin:
mcp23xxx: mcp23017_hub_a7
number: 15
mode: OUTPUT
inverted: False
- platform: gpio #out2 14
id: out38
pin:
mcp23xxx: mcp23017_hub_a7
number: 14
mode: OUTPUT
inverted: False
- platform: gpio #out2 15
id: out39
pin:
mcp23xxx: mcp23017_hub_a7
number: 13
mode: OUTPUT
inverted: False
- platform: gpio #out2 16
id: out40
pin:
mcp23xxx: mcp23017_hub_a7
number: 12
mode: OUTPUT
inverted: False
- platform: gpio #out2 17
id: out41
pin:
mcp23xxx: mcp23017_hub_a7
number: 11
mode: OUTPUT
inverted: False
- platform: gpio #out2 18
id: out42
pin:
mcp23xxx: mcp23017_hub_a7
number: 10
mode: OUTPUT
inverted: False
- platform: gpio #out2 19
id: out43
pin:
mcp23xxx: mcp23017_hub_a8
number: 2
mode: OUTPUT
inverted: False
- platform: gpio #out2 20
id: out44
pin:
mcp23xxx: mcp23017_hub_a8
number: 3
mode: OUTPUT
inverted: False
- platform: gpio #out2 21
id: out45
pin:
mcp23xxx: mcp23017_hub_a8
number: 4
mode: OUTPUT
inverted: False
- platform: gpio #out2 22
id: out46
pin:
mcp23xxx: mcp23017_hub_a8
number: 5
mode: OUTPUT
inverted: False
- platform: gpio #out2 23
id: out47
pin:
mcp23xxx: mcp23017_hub_a8
number: 6
mode: OUTPUT
inverted: False
- platform: gpio #out2 24
id: out48
pin:
mcp23xxx: mcp23017_hub_a8
number: 7
mode: OUTPUT
inverted: False
- platform: gpio #out3 01
id: out49
pin:
mcp23xxx: mcp23017_hub_b1
number: 8
mode: OUTPUT
inverted: False
- platform: gpio #out3 02
id: out50
pin:
mcp23xxx: mcp23017_hub_b1
number: 9
mode: OUTPUT
inverted: False
- platform: gpio #out3 03
id: out51
pin:
mcp23xxx: mcp23017_hub_b1
number: 10
mode: OUTPUT
inverted: False
- platform: gpio #out3 04
id: out52
pin:
mcp23xxx: mcp23017_hub_b1
number: 11
mode: OUTPUT
inverted: False
- platform: gpio #out3 05
id: out53
pin:
mcp23xxx: mcp23017_hub_b1
number: 12
mode: OUTPUT
inverted: False
- platform: gpio #out3 06
id: out54
pin:
mcp23xxx: mcp23017_hub_b1
number: 13
mode: OUTPUT
inverted: False
- platform: gpio #out3 07
id: out55
pin:
mcp23xxx: mcp23017_hub_b2
number: 10
mode: OUTPUT
inverted: False
- platform: gpio #out3 08
id: out56
pin:
mcp23xxx: mcp23017_hub_b2
number: 11
mode: OUTPUT
inverted: False
- platform: gpio #out3 09
id: out57
pin:
mcp23xxx: mcp23017_hub_b2
number: 12
mode: OUTPUT
inverted: False
- platform: gpio #out3 10
id: out58
pin:
mcp23xxx: mcp23017_hub_b2
number: 13
mode: OUTPUT
inverted: False
- platform: gpio #out3 11
id: out59
pin:
mcp23xxx: mcp23017_hub_b2
number: 14
mode: OUTPUT
inverted: False
- platform: gpio #out3 12
id: out60
pin:
mcp23xxx: mcp23017_hub_b2
number: 15
mode: OUTPUT
inverted: False
- platform: gpio #out3 13
id: out61
pin:
mcp23xxx: mcp23017_hub_b3
number: 0
mode: OUTPUT
inverted: False
- platform: gpio #out3 14
id: out62
pin:
mcp23xxx: mcp23017_hub_b3
number: 1
mode: OUTPUT
inverted: False
- platform: gpio #out3 15
id: out63
pin:
mcp23xxx: mcp23017_hub_b3
number: 2
mode: OUTPUT
inverted: False
- platform: gpio #out3 16
id: out64
pin:
mcp23xxx: mcp23017_hub_b3
number: 3
mode: OUTPUT
inverted: False
- platform: gpio #out3 17
id: out65
pin:
mcp23xxx: mcp23017_hub_b3
number: 4
mode: OUTPUT
inverted: False
- platform: gpio #out3 18
id: out66
pin:
mcp23xxx: mcp23017_hub_b3
number: 5
mode: OUTPUT
inverted: False
- platform: gpio #out3 19
id: out67
pin:
mcp23xxx: mcp23017_hub_b4
number: 2
mode: OUTPUT
inverted: False
- platform: gpio #out3 20
id: out68
pin:
mcp23xxx: mcp23017_hub_b4
number: 3
mode: OUTPUT
inverted: False
- platform: gpio #out3 21
id: out69
pin:
mcp23xxx: mcp23017_hub_b4
number: 4
mode: OUTPUT
inverted: False
- platform: gpio #out3 22
id: out70
pin:
mcp23xxx: mcp23017_hub_b4
number: 5
mode: OUTPUT
inverted: False
- platform: gpio #out3 23
id: out71
pin:
mcp23xxx: mcp23017_hub_b4
number: 6
mode: OUTPUT
inverted: False
- platform: gpio #out3 24
id: out72
pin:
mcp23xxx: mcp23017_hub_b4
number: 7
mode: OUTPUT
inverted: False
binary_sensor:
- platform: gpio
id: in01
pin:
mcp23xxx: mcp23017_hub_a1
number: 7
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in02
pin:
mcp23xxx: mcp23017_hub_a1
number: 6
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in03
pin:
mcp23xxx: mcp23017_hub_a1
number: 5
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in04
pin:
mcp23xxx: mcp23017_hub_a1
number: 4
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in05
pin:
mcp23xxx: mcp23017_hub_a1
number: 3
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in06
pin:
mcp23xxx: mcp23017_hub_a1
number: 2
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in07
pin:
mcp23xxx: mcp23017_hub_a1
number: 1
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in08
pin:
mcp23xxx: mcp23017_hub_a1
number: 0
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in09
pin:
mcp23xxx: mcp23017_hub_a1
number: 9
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in10
pin:
mcp23xxx: mcp23017_hub_a1
number: 8
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in11
pin:
mcp23xxx: mcp23017_hub_a2
number: 15
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in12
pin:
mcp23xxx: mcp23017_hub_a2
number: 14
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in13
pin:
mcp23xxx: mcp23017_hub_a2
number: 7
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in14
pin:
mcp23xxx: mcp23017_hub_a2
number: 6
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in15
pin:
mcp23xxx: mcp23017_hub_a2
number: 5
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in16
pin:
mcp23xxx: mcp23017_hub_a2
number: 4
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in17
pin:
mcp23xxx: mcp23017_hub_a2
number: 3
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in18
pin:
mcp23xxx: mcp23017_hub_a2
number: 2
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in19
pin:
mcp23xxx: mcp23017_hub_a2
number: 1
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in20
pin:
mcp23xxx: mcp23017_hub_a2
number: 0
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in21
pin:
mcp23xxx: mcp23017_hub_a3
number: 7
mode: INPUT_PULLUP
inverted: True
- platform: gpio
id: in22
pin:
mcp23xxx: mcp23017_hub_a3
number: 6
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 23
id: in23
pin:
mcp23xxx: mcp23017_hub_a3
number: 5
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 23
id: in24
pin:
mcp23xxx: mcp23017_hub_a3
number: 4
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 25
id: in25
pin:
mcp23xxx: mcp23017_hub_a3
number: 3
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 26
id: in26
pin:
mcp23xxx: mcp23017_hub_a3
number: 2
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 27
id: in27
pin:
mcp23xxx: mcp23017_hub_a3
number: 1
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 28
id: in28
pin:
mcp23xxx: mcp23017_hub_a3
number: 0
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 29
id: in29
pin:
mcp23xxx: mcp23017_hub_a3
number: 9
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 30
id: in30
pin:
mcp23xxx: mcp23017_hub_a3
number: 8
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 31
id: in31
pin:
mcp23xxx: mcp23017_hub_a4
number: 9
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 32
id: in32
pin:
mcp23xxx: mcp23017_hub_a4
number: 8
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 33
id: in33
pin:
mcp23xxx: mcp23017_hub_a4
number: 7
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 34
id: in34
pin:
mcp23xxx: mcp23017_hub_a4
number: 6
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 35
id: in35
pin:
mcp23xxx: mcp23017_hub_a4
number: 5
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 36
id: in36
pin:
mcp23xxx: mcp23017_hub_a4
number: 4
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 37
id: in37
pin:
mcp23xxx: mcp23017_hub_a4
number: 3
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 38
id: in38
pin:
mcp23xxx: mcp23017_hub_a4
number: 2
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 39
id: in39
pin:
mcp23xxx: mcp23017_hub_a4
number: 1
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in1 40
id: in40
pin:
mcp23xxx: mcp23017_hub_a4
number: 0
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 01
id: in41
pin:
mcp23xxx: mcp23017_hub_a5
number: 7
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 02
id: in42
pin:
mcp23xxx: mcp23017_hub_a5
number: 6
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 03
id: in43
pin:
mcp23xxx: mcp23017_hub_a5
number: 5
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 04
id: in44
pin:
mcp23xxx: mcp23017_hub_a5
number: 4
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 05
id: in45
pin:
mcp23xxx: mcp23017_hub_a5
number: 3
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 06
id: in46
pin:
mcp23xxx: mcp23017_hub_a5
number: 2
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 07
id: in47
pin:
mcp23xxx: mcp23017_hub_a5
number: 1
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 08
id: in48
pin:
mcp23xxx: mcp23017_hub_a5
number: 0
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 09
id: in49
pin:
mcp23xxx: mcp23017_hub_a5
number: 9
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 10
id: in50
pin:
mcp23xxx: mcp23017_hub_a5
number: 8
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 11
id: in51
pin:
mcp23xxx: mcp23017_hub_a6
number: 15
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 12
id: in52
pin:
mcp23xxx: mcp23017_hub_a6
number: 14
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 13
id: in53
pin:
mcp23xxx: mcp23017_hub_a6
number: 7
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 14
id: in54
pin:
mcp23xxx: mcp23017_hub_a6
number: 6
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 15
id: in55
pin:
mcp23xxx: mcp23017_hub_a6
number: 5
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 16
id: in56
pin:
mcp23xxx: mcp23017_hub_a6
number: 4
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 17
id: in57
pin:
mcp23xxx: mcp23017_hub_a6
number: 3
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 18
id: in58
pin:
mcp23xxx: mcp23017_hub_a6
number: 2
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 19
id: in59
pin:
mcp23xxx: mcp23017_hub_a6
number: 1
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 20
id: in60
pin:
mcp23xxx: mcp23017_hub_a6
number: 0
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 21
id: in61
pin:
mcp23xxx: mcp23017_hub_a7
number: 7
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 22
id: in62
pin:
mcp23xxx: mcp23017_hub_a7
number: 6
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 23
id: in63
pin:
mcp23xxx: mcp23017_hub_a7
number: 5
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 24
id: in64
pin:
mcp23xxx: mcp23017_hub_a7
number: 4
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 25
id: in65
pin:
mcp23xxx: mcp23017_hub_a7
number: 3
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 26
id: in66
pin:
mcp23xxx: mcp23017_hub_a7
number: 2
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 27
id: in67
pin:
mcp23xxx: mcp23017_hub_a7
number: 1
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 28
id: in68
pin:
mcp23xxx: mcp23017_hub_a7
number: 0
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 29
id: in69
pin:
mcp23xxx: mcp23017_hub_a7
number: 9
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 30
id: in70
pin:
mcp23xxx: mcp23017_hub_a7
number: 8
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 31
id: in71
pin:
mcp23xxx: mcp23017_hub_a8
number: 0
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 32
id: in72
pin:
mcp23xxx: mcp23017_hub_a8
number: 1
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 33
id: in73
pin:
mcp23xxx: mcp23017_hub_a8
number: 15
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 34
id: in74
pin:
mcp23xxx: mcp23017_hub_a8
number: 14
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 35
id: in75
pin:
mcp23xxx: mcp23017_hub_a8
number: 13
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 36
id: in76
pin:
mcp23xxx: mcp23017_hub_a8
number: 12
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 37
id: in77
pin:
mcp23xxx: mcp23017_hub_a8
number: 11
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 38
id: in78
pin:
mcp23xxx: mcp23017_hub_a8
number: 10
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 39
id: in79
pin:
mcp23xxx: mcp23017_hub_a8
number: 9
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in2 40
id: in80
pin:
mcp23xxx: mcp23017_hub_a8
number: 8
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 01
id: in81
pin:
mcp23xxx: mcp23017_hub_b1
number: 0
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 02
id: in82
pin:
mcp23xxx: mcp23017_hub_b1
number: 1
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 03
id: in83
pin:
mcp23xxx: mcp23017_hub_b1
number: 2
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 04
id: in84
pin:
mcp23xxx: mcp23017_hub_b1
number: 3
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 05
id: in85
pin:
mcp23xxx: mcp23017_hub_b1
number: 4
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 06
id: in86
pin:
mcp23xxx: mcp23017_hub_b1
number: 5
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 07
id: in87
pin:
mcp23xxx: mcp23017_hub_b1
number: 6
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 08
id: in88
pin:
mcp23xxx: mcp23017_hub_b1
number: 7
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 09
id: in89
pin:
mcp23xxx: mcp23017_hub_b1
number: 14
mode: INPUT_PULLUP
inverted: True
filters:
- delayed_on: 3ms
- platform: gpio #in3 10
id: in90
pin:
mcp23xxx: mcp23017_hub_b1
number: 15
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 11
id: in91
pin:
mcp23xxx: mcp23017_hub_b2
number: 8
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 12
id: in92
pin:
mcp23xxx: mcp23017_hub_b2
number: 9
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 13
id: in93
pin:
mcp23xxx: mcp23017_hub_b2
number: 0
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 14
id: in94
pin:
mcp23xxx: mcp23017_hub_b2
number: 1
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 15
id: in95
pin:
mcp23xxx: mcp23017_hub_b2
number: 2
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 16
id: in96
pin:
mcp23xxx: mcp23017_hub_b2
number: 3
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 17
id: in97
pin:
mcp23xxx: mcp23017_hub_b2
number: 4
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 18
id: in98
pin:
mcp23xxx: mcp23017_hub_b2
number: 5
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 19
id: in99
pin:
mcp23xxx: mcp23017_hub_b2
number: 6
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 20
id: in100
pin:
mcp23xxx: mcp23017_hub_b2
number: 7
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 21
id: in101
pin:
mcp23xxx: mcp23017_hub_b3
number: 15
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 22
id: in102
pin:
mcp23xxx: mcp23017_hub_b3
number: 14
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 23
id: in103
pin:
mcp23xxx: mcp23017_hub_b3
number: 13
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 24
id: in104
pin:
mcp23xxx: mcp23017_hub_b3
number: 12
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 25
id: in105
pin:
mcp23xxx: mcp23017_hub_b3
number: 11
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 26
id: in106
pin:
mcp23xxx: mcp23017_hub_b3
number: 10
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 27
id: in107
pin:
mcp23xxx: mcp23017_hub_b3
number: 9
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 28
id: in108
pin:
mcp23xxx: mcp23017_hub_b3
number: 8
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 29
id: in109
pin:
mcp23xxx: mcp23017_hub_b3
number: 6
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 30
id: in110
pin:
mcp23xxx: mcp23017_hub_b3
number: 7
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 31
id: in111
pin:
mcp23xxx: mcp23017_hub_b4
number: 0
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 32
id: in112
pin:
mcp23xxx: mcp23017_hub_b4
number: 1
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 33
id: in113
pin:
mcp23xxx: mcp23017_hub_b4
number: 15
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 34
id: in114
pin:
mcp23xxx: mcp23017_hub_b4
number: 14
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 35
id: in115
pin:
mcp23xxx: mcp23017_hub_b4
number: 13
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 36
id: in116
pin:
mcp23xxx: mcp23017_hub_b4
number: 12
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 37
id: in117
pin:
mcp23xxx: mcp23017_hub_b4
number: 11
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 38
id: in118
pin:
mcp23xxx: mcp23017_hub_b4
number: 10
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 39
id: in119
pin:
mcp23xxx: mcp23017_hub_b4
number: 9
mode: INPUT_PULLUP
inverted: True
- platform: gpio #in3 40
id: in120
pin:
mcp23xxx: mcp23017_hub_b4
number: 8
mode: INPUT_PULLUP
inverted: True
1 Like
djtef
(Djtef)
December 20, 2022, 5:05pm
7
Thanks to ssieb on ESPHome Discord, I found a workaround : I have to disable the restore_mode for outputs by setting :
restore_mode: ALWAYS_OFF
It seems that the the flash saving is taking too long. Probably because there’s so much data to save.
1 Like
bjohas
(Björn)
January 15, 2023, 11:11pm
8
Hi @djtef - I’m curious about the project. Basically, you’re adding the MCP23017 to the device running your HA? I.e., if you were using Raspberry Pi, you’d be using something like this ModMyPi MCP23017 pHAT - 16 Channel I/O Expansion (Zero) | The Pi Hut ?
And you’re using those inputs/outputs to automate your house, presumably using wired switches to collect inputs or relays to drive 240V devices?
I’ve got a zigbee-based setup, but would like to write a few things in HA, and drive some extra LEDs - seems like your project would be applicable to that.
Would be great to hear more!
djtef
(Djtef)
January 27, 2023, 8:40pm
9
Hello @bjohas
I made a board for an ESP32, not for a Raspberry Pi.
I control all my house (covers, lights, switches…) with this board which is connected to 12V Relays which drive 240V devices (covers, lights or some plugs).
One board is composed of 40 inputs and 24 outputs, I made 3 boards which are chained through i2c.
I also made a similar board with 72 inputs and 8 outputs to make an alarm.