From fdcf332a8aa809762c993bb41afbb0ecd867928f Mon Sep 17 00:00:00 2001 From: Heiko Thiery Date: Mon, 15 Jan 2018 22:49:17 +0100 Subject: [PATCH] Add support for configuring jeelink RF parameters (#11620) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add support for configuring jeelink ŔF parameters Signed-off-by: Heiko Thiery * fix houndci-bot error Signed-off-by: Heiko Thiery --- homeassistant/components/sensor/lacrosse.py | 25 ++++++++++++++++++++- requirements_all.txt | 2 +- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/sensor/lacrosse.py b/homeassistant/components/sensor/lacrosse.py index 28cba7da0b4..d284e3012dc 100644 --- a/homeassistant/components/sensor/lacrosse.py +++ b/homeassistant/components/sensor/lacrosse.py @@ -19,12 +19,17 @@ from homeassistant.helpers.entity import Entity, async_generate_entity_id from homeassistant.helpers.event import async_track_point_in_utc_time from homeassistant.util import dt as dt_util -REQUIREMENTS = ['pylacrosse==0.2.7'] +REQUIREMENTS = ['pylacrosse==0.3.1'] _LOGGER = logging.getLogger(__name__) CONF_BAUD = 'baud' +CONF_DATARATE = 'datarate' CONF_EXPIRE_AFTER = 'expire_after' +CONF_FREQUENCY = 'frequency' +CONF_JEELINK_LED = 'led' +CONF_TOGGLE_INTERVAL = 'toggle_interval' +CONF_TOGGLE_MASK = 'toggle_mask' DEFAULT_DEVICE = '/dev/ttyUSB0' DEFAULT_BAUD = '57600' @@ -42,7 +47,12 @@ SENSOR_SCHEMA = vol.Schema({ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Required(CONF_SENSORS): vol.Schema({cv.slug: SENSOR_SCHEMA}), vol.Optional(CONF_BAUD, default=DEFAULT_BAUD): cv.string, + vol.Optional(CONF_DATARATE): cv.positive_int, vol.Optional(CONF_DEVICE, default=DEFAULT_DEVICE): cv.string, + vol.Optional(CONF_FREQUENCY): cv.positive_int, + vol.Optional(CONF_JEELINK_LED): cv.boolean, + vol.Optional(CONF_TOGGLE_INTERVAL): cv.positive_int, + vol.Optional(CONF_TOGGLE_MASK): cv.positive_int, }) @@ -66,6 +76,19 @@ def setup_platform(hass, config, add_devices, discovery_info=None): hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, lacrosse.close) + if CONF_JEELINK_LED in config: + lacrosse.led_mode_state(config.get(CONF_JEELINK_LED)) + if CONF_FREQUENCY in config: + lacrosse.set_frequency(config.get(CONF_FREQUENCY)) + if CONF_DATARATE in config: + lacrosse.set_datarate(config.get(CONF_DATARATE)) + if CONF_TOGGLE_INTERVAL in config: + lacrosse.set_toggle_interval(config.get(CONF_TOGGLE_INTERVAL)) + if CONF_TOGGLE_MASK in config: + lacrosse.set_toggle_mask(config.get(CONF_TOGGLE_MASK)) + + lacrosse.start_scan() + sensors = [] for device, device_config in config[CONF_SENSORS].items(): _LOGGER.debug("%s %s", device, device_config) diff --git a/requirements_all.txt b/requirements_all.txt index 1e9efd05723..ca444659e01 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -753,7 +753,7 @@ pykira==0.1.1 pykwb==0.0.8 # homeassistant.components.sensor.lacrosse -pylacrosse==0.2.7 +pylacrosse==0.3.1 # homeassistant.components.sensor.lastfm pylast==2.0.0