From cc99d266b7b7cacca9102bb4a0c153f3ce24d4d5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 11 Sep 2016 10:01:46 +0200 Subject: [PATCH] Use constants and update ordering (#3275) --- homeassistant/components/cover/mqtt.py | 39 ++++++------ homeassistant/components/fan/mqtt.py | 86 +++++++++++++------------- 2 files changed, 61 insertions(+), 64 deletions(-) diff --git a/homeassistant/components/cover/mqtt.py b/homeassistant/components/cover/mqtt.py index b47bcf124e1..3c1cf73eca0 100644 --- a/homeassistant/components/cover/mqtt.py +++ b/homeassistant/components/cover/mqtt.py @@ -28,10 +28,10 @@ CONF_PAYLOAD_STOP = 'payload_stop' CONF_STATE_OPEN = 'state_open' CONF_STATE_CLOSED = 'state_closed' -DEFAULT_NAME = "MQTT Cover" -DEFAULT_PAYLOAD_OPEN = "OPEN" -DEFAULT_PAYLOAD_CLOSE = "CLOSE" -DEFAULT_PAYLOAD_STOP = "STOP" +DEFAULT_NAME = 'MQTT Cover' +DEFAULT_PAYLOAD_OPEN = 'OPEN' +DEFAULT_PAYLOAD_CLOSE = 'CLOSE' +DEFAULT_PAYLOAD_STOP = 'STOP' DEFAULT_OPTIMISTIC = False DEFAULT_RETAIN = False @@ -44,25 +44,24 @@ PLATFORM_SCHEMA = mqtt.MQTT_RW_PLATFORM_SCHEMA.extend({ vol.Optional(CONF_STATE_CLOSED, default=STATE_CLOSED): cv.string, vol.Optional(CONF_OPTIMISTIC, default=DEFAULT_OPTIMISTIC): cv.boolean, vol.Optional(CONF_RETAIN, default=DEFAULT_RETAIN): cv.boolean, - }) -def setup_platform(hass, config, add_devices_callback, discovery_info=None): - """Add MQTT Cover.""" - add_devices_callback([MqttCover( +def setup_platform(hass, config, add_devices, discovery_info=None): + """Setup the MQTT Cover.""" + add_devices([MqttCover( hass, - config[CONF_NAME], + config.get(CONF_NAME), config.get(CONF_STATE_TOPIC), - config[CONF_COMMAND_TOPIC], - config[CONF_QOS], - config[CONF_RETAIN], - config[CONF_STATE_OPEN], - config[CONF_STATE_CLOSED], - config[CONF_PAYLOAD_OPEN], - config[CONF_PAYLOAD_CLOSE], - config[CONF_PAYLOAD_STOP], - config[CONF_OPTIMISTIC], + config.get(CONF_COMMAND_TOPIC), + config.get(CONF_QOS), + config.get(CONF_RETAIN), + config.get(CONF_STATE_OPEN), + config.get(CONF_STATE_CLOSED), + config.get(CONF_PAYLOAD_OPEN), + config.get(CONF_PAYLOAD_CLOSE), + config.get(CONF_PAYLOAD_STOP), + config.get(CONF_OPTIMISTIC), config.get(CONF_VALUE_TEMPLATE) )]) @@ -111,8 +110,8 @@ class MqttCover(CoverDevice): self.update_ha_state() else: _LOGGER.warning( - "Payload is not True or False or" - " integer(0-100) %s", payload) + "Payload is not True, False, or integer (0-100): %s", + payload) if self._state_topic is None: # Force into optimistic mode. self._optimistic = True diff --git a/homeassistant/components/fan/mqtt.py b/homeassistant/components/fan/mqtt.py index 9d824a715c2..09363fa099d 100644 --- a/homeassistant/components/fan/mqtt.py +++ b/homeassistant/components/fan/mqtt.py @@ -10,8 +10,9 @@ from functools import partial import voluptuous as vol import homeassistant.components.mqtt as mqtt -from homeassistant.const import (CONF_NAME, CONF_OPTIMISTIC, CONF_STATE, - STATE_ON, STATE_OFF) +from homeassistant.const import ( + CONF_NAME, CONF_OPTIMISTIC, CONF_STATE, STATE_ON, STATE_OFF, + CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON) from homeassistant.components.mqtt import ( CONF_STATE_TOPIC, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN) import homeassistant.helpers.config_validation as cv @@ -23,33 +24,31 @@ from homeassistant.components.fan import (SPEED_LOW, SPEED_MED, SPEED_MEDIUM, _LOGGER = logging.getLogger(__name__) -DEPENDENCIES = ["mqtt"] +DEPENDENCIES = ['mqtt'] -CONF_STATE_VALUE_TEMPLATE = "state_value_template" -CONF_SPEED_STATE_TOPIC = "speed_state_topic" -CONF_SPEED_COMMAND_TOPIC = "speed_command_topic" -CONF_SPEED_VALUE_TEMPLATE = "speed_value_template" -CONF_OSCILLATION_STATE_TOPIC = "oscillation_state_topic" -CONF_OSCILLATION_COMMAND_TOPIC = "oscillation_command_topic" -CONF_OSCILLATION_VALUE_TEMPLATE = "oscillation_value_template" -CONF_PAYLOAD_ON = "payload_on" -CONF_PAYLOAD_OFF = "payload_off" -CONF_PAYLOAD_OSCILLATION_ON = "payload_oscillation_on" -CONF_PAYLOAD_OSCILLATION_OFF = "payload_oscillation_off" -CONF_PAYLOAD_LOW_SPEED = "payload_low_speed" -CONF_PAYLOAD_MEDIUM_SPEED = "payload_medium_speed" -CONF_PAYLOAD_HIGH_SPEED = "payload_high_speed" -CONF_SPEED_LIST = "speeds" +CONF_STATE_VALUE_TEMPLATE = 'state_value_template' +CONF_SPEED_STATE_TOPIC = 'speed_state_topic' +CONF_SPEED_COMMAND_TOPIC = 'speed_command_topic' +CONF_SPEED_VALUE_TEMPLATE = 'speed_value_template' +CONF_OSCILLATION_STATE_TOPIC = 'oscillation_state_topic' +CONF_OSCILLATION_COMMAND_TOPIC = 'oscillation_command_topic' +CONF_OSCILLATION_VALUE_TEMPLATE = 'oscillation_value_template' +CONF_PAYLOAD_OSCILLATION_ON = 'payload_oscillation_on' +CONF_PAYLOAD_OSCILLATION_OFF = 'payload_oscillation_off' +CONF_PAYLOAD_LOW_SPEED = 'payload_low_speed' +CONF_PAYLOAD_MEDIUM_SPEED = 'payload_medium_speed' +CONF_PAYLOAD_HIGH_SPEED = 'payload_high_speed' +CONF_SPEED_LIST = 'speeds' -DEFAULT_NAME = "MQTT Fan" -DEFAULT_PAYLOAD_ON = "ON" -DEFAULT_PAYLOAD_OFF = "OFF" +DEFAULT_NAME = 'MQTT Fan' +DEFAULT_PAYLOAD_ON = 'ON' +DEFAULT_PAYLOAD_OFF = 'OFF' DEFAULT_OPTIMISTIC = False -OSCILLATE_ON_PAYLOAD = "oscillate_on" -OSCILLATE_OFF_PAYLOAD = "oscillate_off" +OSCILLATE_ON_PAYLOAD = 'oscillate_on' +OSCILLATE_OFF_PAYLOAD = 'oscillate_off' -OSCILLATION = "oscillation" +OSCILLATION = 'oscillation' PLATFORM_SCHEMA = mqtt.MQTT_RW_PLATFORM_SCHEMA.extend({ vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, @@ -77,11 +76,11 @@ PLATFORM_SCHEMA = mqtt.MQTT_RW_PLATFORM_SCHEMA.extend({ # pylint: disable=unused-argument -def setup_platform(hass, config, add_devices_callback, discovery_info=None): +def setup_platform(hass, config, add_devices, discovery_info=None): """Setup MQTT fan platform.""" - add_devices_callback([MqttFan( + add_devices([MqttFan( hass, - config[CONF_NAME], + config.get(CONF_NAME), { key: config.get(key) for key in ( CONF_STATE_TOPIC, @@ -97,19 +96,19 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None): ATTR_SPEED: config.get(CONF_SPEED_VALUE_TEMPLATE), OSCILLATION: config.get(CONF_OSCILLATION_VALUE_TEMPLATE) }, - config[CONF_QOS], - config[CONF_RETAIN], + config.get(CONF_QOS), + config.get(CONF_RETAIN), { - STATE_ON: config[CONF_PAYLOAD_ON], - STATE_OFF: config[CONF_PAYLOAD_OFF], - OSCILLATE_ON_PAYLOAD: config[CONF_PAYLOAD_OSCILLATION_ON], - OSCILLATE_OFF_PAYLOAD: config[CONF_PAYLOAD_OSCILLATION_OFF], - SPEED_LOW: config[CONF_PAYLOAD_LOW_SPEED], - SPEED_MEDIUM: config[CONF_PAYLOAD_MEDIUM_SPEED], - SPEED_HIGH: config[CONF_PAYLOAD_HIGH_SPEED], + STATE_ON: config.get(CONF_PAYLOAD_ON), + STATE_OFF: config.get(CONF_PAYLOAD_OFF), + OSCILLATE_ON_PAYLOAD: config.get(CONF_PAYLOAD_OSCILLATION_ON), + OSCILLATE_OFF_PAYLOAD: config.get(CONF_PAYLOAD_OSCILLATION_OFF), + SPEED_LOW: config.get(CONF_PAYLOAD_LOW_SPEED), + SPEED_MEDIUM: config.get(CONF_PAYLOAD_MEDIUM_SPEED), + SPEED_HIGH: config.get(CONF_PAYLOAD_HIGH_SPEED), }, - config[CONF_SPEED_LIST], - config[CONF_OPTIMISTIC], + config.get(CONF_SPEED_LIST), + config.get(CONF_OPTIMISTIC), )]) @@ -120,7 +119,7 @@ class MqttFan(FanEntity): # pylint: disable=too-many-arguments def __init__(self, hass, name, topic, templates, qos, retain, payload, speed_list, optimistic): - """Initialize MQTT fan.""" + """Initialize the MQTT fan.""" self._hass = hass self._name = name self._topic = topic @@ -129,11 +128,10 @@ class MqttFan(FanEntity): self._payload = payload self._speed_list = speed_list self._optimistic = optimistic or topic[CONF_STATE_TOPIC] is None - self._optimistic_oscillation = (optimistic or - topic[CONF_OSCILLATION_STATE_TOPIC] - is None) - self._optimistic_speed = (optimistic or - topic[CONF_SPEED_STATE_TOPIC] is None) + self._optimistic_oscillation = ( + optimistic or topic[CONF_OSCILLATION_STATE_TOPIC] is None) + self._optimistic_speed = ( + optimistic or topic[CONF_SPEED_STATE_TOPIC] is None) self._state = False self._supported_features = 0 self._supported_features |= (topic[CONF_OSCILLATION_STATE_TOPIC]