Skip to content

Latest commit

 

History

History
38 lines (26 loc) · 1.42 KB

0019-GPIO.md

File metadata and controls

38 lines (26 loc) · 1.42 KB

0019. GPIO

Date: 2021-12-20

Status

Accepted

Context

We currently have a lot of integrations that use or are based on GPIO (including SPI and I2C busses).

  • All of these integrations have a low usage count (source Home Assistant Analytics), but add the same amount of maintenance and review time to the core.
  • Most of these integrations are unmaintained.
  • The use of GPIO via containers (including our Home Assistant OS, Container & Supervised installation methods) is often unstable or complicated.
  • Support for GPIO on specific platforms/SBCs: mileage varies (e.g., Raspberry Pi on 64 bits platforms).
  • The use of these sensors, in general, is better supported and done via dedicated projects like ESPHome.

Decision

  • We no longer accept integrations that integrate with devices over GPIO.
  • We identify, deprecate and remove integrations that use GPIO.
  • It will still be possible to have custom integrations that use GPIO.

GPIO, in this case, means interfacing directly with the individual GPIO pins (or I/O lines) on the board running Home Assistant. This includes bus communications like I2C and SPI.

Devices connected on GPIO that are exposed on the system as regular serial devices are exempted from this ADR.

Consequences

We will no longer accept integrations that integrate with devices over GPIO as a core integration; those will have to be maintained as custom integrations, or use projects like ESPHome instead.