From 6496c38ce65bbef44586d98e88f93013b91f2cd9 Mon Sep 17 00:00:00 2001
From: Sabesto <sabesto@gmail.com>
Date: Tue, 4 Jul 2017 17:01:35 +0200
Subject: [PATCH] Fix issue #8285 (#8340)

* Fixed a bug where changing fan speed was not possible

* Bump pymodbus version to 1.3.1 to fix issue #8285

* Changed all modbus components so that they use CONF_SLAVE from const.py
---
 homeassistant/components/binary_sensor/modbus.py | 3 +--
 homeassistant/components/climate/flexit.py       | 2 +-
 homeassistant/components/modbus.py               | 2 +-
 homeassistant/components/sensor/modbus.py        | 3 +--
 homeassistant/components/switch/modbus.py        | 3 +--
 requirements_all.txt                             | 2 +-
 6 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/homeassistant/components/binary_sensor/modbus.py b/homeassistant/components/binary_sensor/modbus.py
index 3a9b57ba6de..fb6f84c318d 100644
--- a/homeassistant/components/binary_sensor/modbus.py
+++ b/homeassistant/components/binary_sensor/modbus.py
@@ -8,7 +8,7 @@ import logging
 import voluptuous as vol
 
 import homeassistant.components.modbus as modbus
-from homeassistant.const import CONF_NAME
+from homeassistant.const import CONF_NAME, CONF_SLAVE
 from homeassistant.components.binary_sensor import BinarySensorDevice
 from homeassistant.helpers import config_validation as cv
 from homeassistant.components.sensor import PLATFORM_SCHEMA
@@ -18,7 +18,6 @@ DEPENDENCIES = ['modbus']
 
 CONF_COIL = 'coil'
 CONF_COILS = 'coils'
-CONF_SLAVE = 'slave'
 
 PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
     vol.Required(CONF_COILS): [{
diff --git a/homeassistant/components/climate/flexit.py b/homeassistant/components/climate/flexit.py
index 5911486c761..c3ba2224b06 100644
--- a/homeassistant/components/climate/flexit.py
+++ b/homeassistant/components/climate/flexit.py
@@ -145,4 +145,4 @@ class Flexit(ClimateDevice):
 
     def set_fan_mode(self, fan):
         """Set new fan mode."""
-        self.unit.set_fan_speed(fan)
+        self.unit.set_fan_speed(self._fan_list.index(fan))
diff --git a/homeassistant/components/modbus.py b/homeassistant/components/modbus.py
index 0315682bae0..aa958715a48 100644
--- a/homeassistant/components/modbus.py
+++ b/homeassistant/components/modbus.py
@@ -16,7 +16,7 @@ from homeassistant.const import (
 
 DOMAIN = 'modbus'
 
-REQUIREMENTS = ['pymodbus==1.3.0rc1']
+REQUIREMENTS = ['pymodbus==1.3.1']
 
 # Type of network
 CONF_BAUDRATE = 'baudrate'
diff --git a/homeassistant/components/sensor/modbus.py b/homeassistant/components/sensor/modbus.py
index 3ee59e5ae54..d8a5be9ab49 100644
--- a/homeassistant/components/sensor/modbus.py
+++ b/homeassistant/components/sensor/modbus.py
@@ -11,7 +11,7 @@ import voluptuous as vol
 
 import homeassistant.components.modbus as modbus
 from homeassistant.const import (
-    CONF_NAME, CONF_OFFSET, CONF_UNIT_OF_MEASUREMENT)
+    CONF_NAME, CONF_OFFSET, CONF_UNIT_OF_MEASUREMENT, CONF_SLAVE)
 from homeassistant.helpers.entity import Entity
 from homeassistant.helpers import config_validation as cv
 from homeassistant.components.sensor import PLATFORM_SCHEMA
@@ -25,7 +25,6 @@ CONF_PRECISION = 'precision'
 CONF_REGISTER = 'register'
 CONF_REGISTERS = 'registers'
 CONF_SCALE = 'scale'
-CONF_SLAVE = 'slave'
 CONF_DATA_TYPE = 'data_type'
 CONF_REGISTER_TYPE = 'register_type'
 
diff --git a/homeassistant/components/switch/modbus.py b/homeassistant/components/switch/modbus.py
index 93406c869d4..95168d5b830 100644
--- a/homeassistant/components/switch/modbus.py
+++ b/homeassistant/components/switch/modbus.py
@@ -8,7 +8,7 @@ import logging
 import voluptuous as vol
 
 import homeassistant.components.modbus as modbus
-from homeassistant.const import CONF_NAME
+from homeassistant.const import CONF_NAME, CONF_SLAVE
 from homeassistant.helpers.entity import ToggleEntity
 from homeassistant.helpers import config_validation as cv
 from homeassistant.components.sensor import PLATFORM_SCHEMA
@@ -18,7 +18,6 @@ DEPENDENCIES = ['modbus']
 
 CONF_COIL = "coil"
 CONF_COILS = "coils"
-CONF_SLAVE = "slave"
 
 PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
     vol.Required(CONF_COILS): [{
diff --git a/requirements_all.txt b/requirements_all.txt
index d99f128f180..bd8197fba2c 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -619,7 +619,7 @@ pymailgunner==1.4
 pymochad==0.1.1
 
 # homeassistant.components.modbus
-pymodbus==1.3.0rc1
+pymodbus==1.3.1
 
 # homeassistant.components.cover.myq
 pymyq==0.0.8
-- 
GitLab