From fdcf332a8aa809762c993bb41afbb0ecd867928f Mon Sep 17 00:00:00 2001
From: Heiko Thiery <heiko.thiery@gmail.com>
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 <heiko.thiery@gmail.com>

* fix houndci-bot error

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
---
 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
-- 
GitLab