1 """Support for controlling GPIO pins of a Raspberry Pi."""
3 from gpiozero
import LED, DigitalInputDevice
4 from gpiozero.pins.pigpio
import PiGPIOFactory
6 CONF_BOUNCETIME =
"bouncetime"
7 CONF_INVERT_LOGIC =
"invert_logic"
8 CONF_PULL_MODE =
"pull_mode"
10 DEFAULT_BOUNCETIME = 50
11 DEFAULT_INVERT_LOGIC =
False
12 DEFAULT_PULL_MODE =
"UP"
14 DOMAIN =
"remote_rpi_gpio"
18 """Set up a GPIO as output."""
22 port, active_high=
not invert_logic, pin_factory=PiGPIOFactory(address)
24 except (ValueError, IndexError, KeyError):
29 """Set up a GPIO as input."""
33 elif pull_mode ==
"DOWN":
37 return DigitalInputDevice(
40 bounce_time=bouncetime,
41 pin_factory=PiGPIOFactory(address),
43 except (ValueError, IndexError, KeyError, OSError):
48 """Write a value to a GPIO."""
56 """Read a value from a GPIO."""
def write_output(switch, value)
def setup_output(address, port, invert_logic)
def setup_input(address, port, pull_mode, bouncetime)