mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 21:06:19 +00:00
Black
This commit is contained in:
@@ -5,43 +5,45 @@ import logging
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.switch import SwitchDevice, PLATFORM_SCHEMA
|
||||
from homeassistant.const import (
|
||||
CONF_NAME, CONF_SWITCHES, EVENT_HOMEASSISTANT_STOP)
|
||||
from homeassistant.const import CONF_NAME, CONF_SWITCHES, EVENT_HOMEASSISTANT_STOP
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
CONF_CODE_OFF = 'code_off'
|
||||
CONF_CODE_ON = 'code_on'
|
||||
CONF_GPIO = 'gpio'
|
||||
CONF_PROTOCOL = 'protocol'
|
||||
CONF_PULSELENGTH = 'pulselength'
|
||||
CONF_SIGNAL_REPETITIONS = 'signal_repetitions'
|
||||
CONF_CODE_OFF = "code_off"
|
||||
CONF_CODE_ON = "code_on"
|
||||
CONF_GPIO = "gpio"
|
||||
CONF_PROTOCOL = "protocol"
|
||||
CONF_PULSELENGTH = "pulselength"
|
||||
CONF_SIGNAL_REPETITIONS = "signal_repetitions"
|
||||
|
||||
DEFAULT_PROTOCOL = 1
|
||||
DEFAULT_SIGNAL_REPETITIONS = 10
|
||||
|
||||
SWITCH_SCHEMA = vol.Schema({
|
||||
vol.Required(CONF_CODE_OFF):
|
||||
vol.All(cv.ensure_list_csv, [cv.positive_int]),
|
||||
vol.Required(CONF_CODE_ON):
|
||||
vol.All(cv.ensure_list_csv, [cv.positive_int]),
|
||||
vol.Optional(CONF_PULSELENGTH): cv.positive_int,
|
||||
vol.Optional(CONF_SIGNAL_REPETITIONS,
|
||||
default=DEFAULT_SIGNAL_REPETITIONS): cv.positive_int,
|
||||
vol.Optional(CONF_PROTOCOL, default=DEFAULT_PROTOCOL): cv.positive_int,
|
||||
})
|
||||
SWITCH_SCHEMA = vol.Schema(
|
||||
{
|
||||
vol.Required(CONF_CODE_OFF): vol.All(cv.ensure_list_csv, [cv.positive_int]),
|
||||
vol.Required(CONF_CODE_ON): vol.All(cv.ensure_list_csv, [cv.positive_int]),
|
||||
vol.Optional(CONF_PULSELENGTH): cv.positive_int,
|
||||
vol.Optional(
|
||||
CONF_SIGNAL_REPETITIONS, default=DEFAULT_SIGNAL_REPETITIONS
|
||||
): cv.positive_int,
|
||||
vol.Optional(CONF_PROTOCOL, default=DEFAULT_PROTOCOL): cv.positive_int,
|
||||
}
|
||||
)
|
||||
|
||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||
vol.Required(CONF_GPIO): cv.positive_int,
|
||||
vol.Required(CONF_SWITCHES): vol.Schema({cv.string: SWITCH_SCHEMA}),
|
||||
})
|
||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
||||
{
|
||||
vol.Required(CONF_GPIO): cv.positive_int,
|
||||
vol.Required(CONF_SWITCHES): vol.Schema({cv.string: SWITCH_SCHEMA}),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
# pylint: disable=no-member
|
||||
def setup_platform(hass, config, add_entities, discovery_info=None):
|
||||
"""Find and return switches controlled by a generic RF device via GPIO."""
|
||||
rpi_rf = importlib.import_module('rpi_rf')
|
||||
rpi_rf = importlib.import_module("rpi_rf")
|
||||
from threading import RLock
|
||||
|
||||
gpio = config.get(CONF_GPIO)
|
||||
@@ -60,7 +62,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
|
||||
properties.get(CONF_PULSELENGTH),
|
||||
properties.get(CONF_SIGNAL_REPETITIONS),
|
||||
properties.get(CONF_CODE_ON),
|
||||
properties.get(CONF_CODE_OFF)
|
||||
properties.get(CONF_CODE_OFF),
|
||||
)
|
||||
)
|
||||
if devices:
|
||||
@@ -68,15 +70,23 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
|
||||
|
||||
add_entities(devices)
|
||||
|
||||
hass.bus.listen_once(
|
||||
EVENT_HOMEASSISTANT_STOP, lambda event: rfdevice.cleanup())
|
||||
hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, lambda event: rfdevice.cleanup())
|
||||
|
||||
|
||||
class RPiRFSwitch(SwitchDevice):
|
||||
"""Representation of a GPIO RF switch."""
|
||||
|
||||
def __init__(self, name, rfdevice, lock, protocol, pulselength,
|
||||
signal_repetitions, code_on, code_off):
|
||||
def __init__(
|
||||
self,
|
||||
name,
|
||||
rfdevice,
|
||||
lock,
|
||||
protocol,
|
||||
pulselength,
|
||||
signal_repetitions,
|
||||
code_on,
|
||||
code_off,
|
||||
):
|
||||
"""Initialize the switch."""
|
||||
self._name = name
|
||||
self._state = False
|
||||
|
||||
Reference in New Issue
Block a user