core/homeassistant/components/orangepi_gpio/const.py

60 lines
1.2 KiB
Python

"""Constants for Orange Pi GPIO."""
from nanopi import duo, neocore2
from orangepi import (
lite,
lite2,
one,
oneplus,
pc,
pc2,
pcplus,
pi3,
pi4,
pi4B,
plus2e,
prime,
r1,
winplus,
zero,
zeroplus,
zeroplus2,
)
import voluptuous as vol
from homeassistant.helpers import config_validation as cv
CONF_INVERT_LOGIC = "invert_logic"
CONF_PIN_MODE = "pin_mode"
CONF_PORTS = "ports"
DEFAULT_INVERT_LOGIC = False
PIN_MODES = {
"duo": duo.BOARD,
"lite": lite.BOARD,
"lite2": lite2.BOARD,
"neocore2": neocore2.BOARD,
"one": one.BOARD,
"oneplus": oneplus.BOARD,
"pc": pc.BOARD,
"pc2": pc2.BOARD,
"pcplus": pcplus.BOARD,
"pi3": pi3.BOARD,
"pi4": pi4.BOARD,
"pi4B": pi4B.BOARD,
"plus2e": plus2e.BOARD,
"prime": prime.BOARD,
"r1": r1.BOARD,
"winplus": winplus.BOARD,
"zero": zero.BOARD,
"zeroplus": zeroplus.BOARD,
"zeroplus2": zeroplus2.BOARD,
}
_SENSORS_SCHEMA = vol.Schema({cv.positive_int: cv.string})
PORT_SCHEMA = {
vol.Required(CONF_PORTS): _SENSORS_SCHEMA,
vol.Required(CONF_PIN_MODE): vol.In(PIN_MODES.keys()),
vol.Optional(CONF_INVERT_LOGIC, default=DEFAULT_INVERT_LOGIC): cv.boolean,
}