update style issues

This commit is contained in:
sfam 2015-08-22 15:10:49 +01:00
parent 01ed3b18cc
commit a9a650edb6

View File

@ -4,14 +4,16 @@ homeassistant.components.switch.mqtt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allows to configure a MQTT switch. Allows to configure a MQTT switch.
In an ideal scenario, the MQTT device will have a state topic to publish state changes. In an ideal scenario, the MQTT device will have a state topic to publish
If these messages are published with RETAIN flag, the MQTT switch will receive state changes. If these messages are published with RETAIN flag, the MQTT
an instant state update after subscription and will start with correct state. Otherwise, switch will receive an instant state update after subscription and will
the initial state of the switch will be false/off. start with correct state. Otherwise, the initial state of the switch will
be false/off.
When a state topic is not available, the switch will work in an optimistic mode. When a state topic is not available, the switch will work in optimistic mode.
In this mode, the MQTT switch will immediately change state after every command. In this mode, the switch will immediately change state after every command.
Otherwise, the switch will wait for state confirmation from device (message from state_topic). Otherwise, the switch will wait for state confirmation from device
(message from state_topic).
Optimistic mode can be forced, even if state topic is available. Optimistic mode can be forced, even if state topic is available.
Try to enable it, if experiencing incorrect switch operation. Try to enable it, if experiencing incorrect switch operation.
@ -70,6 +72,7 @@ DEFAULT_OPTIMISTIC = False
DEPENDENCIES = ['mqtt'] DEPENDENCIES = ['mqtt']
# pylint: disable=unused-argument # pylint: disable=unused-argument
def setup_platform(hass, config, add_devices_callback, discovery_info=None): def setup_platform(hass, config, add_devices_callback, discovery_info=None):
""" Add MQTT Switch """ """ Add MQTT Switch """
@ -87,9 +90,11 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
config.get('payload_off', DEFAULT_PAYLOAD_OFF), config.get('payload_off', DEFAULT_PAYLOAD_OFF),
config.get('optimistic', DEFAULT_OPTIMISTIC))]) config.get('optimistic', DEFAULT_OPTIMISTIC))])
class MqttSwitch(SwitchDevice): class MqttSwitch(SwitchDevice):
""" Represents a switch that can be togggled using MQTT """ """ Represents a switch that can be togggled using MQTT """
def __init__(self, hass, name, state_topic, command_topic, payload_on, payload_off, optimistic): def __init__(self, hass, name, state_topic, command_topic,
payload_on, payload_off, optimistic):
self._state = False self._state = False
self._hass = hass self._hass = hass
self._name = name self._name = name
@ -100,18 +105,19 @@ class MqttSwitch(SwitchDevice):
self._optimistic = optimistic self._optimistic = optimistic
def message_received(topic, payload, qos): def message_received(topic, payload, qos):
if (payload == self._payload_on): """ A new MQTT message has been received. """
if payload == self._payload_on:
self._state = True self._state = True
self.update_ha_state() self.update_ha_state()
elif (payload == self._payload_off): elif payload == self._payload_off:
self._state = False self._state = False
self.update_ha_state() self.update_ha_state()
if self._state_topic is None: if self._state_topic is None:
""" force optimistic mode """ # force optimistic mode
self._optimistic = True self._optimistic = True
else: else:
""" subscribe the state_topic """ # subscribe the state_topic
mqtt.subscribe(hass, self._state_topic, message_received) mqtt.subscribe(hass, self._state_topic, message_received)
@property @property
@ -133,7 +139,7 @@ class MqttSwitch(SwitchDevice):
""" Turn the device on. """ """ Turn the device on. """
mqtt.publish(self.hass, self._command_topic, self._payload_on) mqtt.publish(self.hass, self._command_topic, self._payload_on)
if self._optimistic: if self._optimistic:
""" optimistically assume that switch has changed state """ # optimistically assume that switch has changed state
self._state = True self._state = True
self.update_ha_state() self.update_ha_state()
@ -141,6 +147,6 @@ class MqttSwitch(SwitchDevice):
""" Turn the device off. """ """ Turn the device off. """
mqtt.publish(self.hass, self._command_topic, self._payload_off) mqtt.publish(self.hass, self._command_topic, self._payload_off)
if self._optimistic: if self._optimistic:
""" optimistically assume that switch has changed state """ # optimistically assume that switch has changed state
self._state = False self._state = False
self.update_ha_state() self.update_ha_state()