This is a custom component alternative for the mcp23017 integration.
- Async implementation (more reactive and nicer to HA)
- Thread-safety allows different entities to use the same component
- Fix issue #31867
- Config Flow support (UI configuration) in addition to legacy configuration.yaml.
- Push iso pull model for higher reactivity, e.g. 100ms polling for 'zero-delay' push button without loading HA.
- No dependencies towards AdaFruit libraries
- Optimized i2c bus bandwidth utilisation
- Polling per device instead of per entity/8x gain, register cache to avoid read-modify-write/3xgain or rewriting the same register value)
- Synchronization with the device state at startup, e.g. avoid output glitches when HA restart.