Remove configuration details

This commit is contained in:
Fabian Affolter 2015-10-21 19:43:24 +02:00
parent a2e8fcbc77
commit 7b60f6ca77

View file

@ -1,70 +1,11 @@
# -*- coding: utf-8 -*-
""" """
homeassistant.components.switch.mqtt 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 For more details about this platform, please refer to the documentation at
state changes. If these messages are published with RETAIN flag, the MQTT https://home-assistant.io/components/switch.mqtt.html
switch will receive an instant state update after subscription and will
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 optimistic mode.
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).
Optimistic mode can be forced, even if state topic is available.
Try to enable it, if experiencing incorrect switch operation.
Configuration:
switch:
platform: mqtt
name: "Bedroom Switch"
state_topic: "home/bedroom/switch1"
command_topic: "home/bedroom/switch1/set"
qos: 0
payload_on: "ON"
payload_off: "OFF"
optimistic: false
Variables:
name
*Optional
The name of the switch. Default is 'MQTT Switch'.
state_topic
*Optional
The MQTT topic subscribed to receive state updates.
If not specified, optimistic mode will be forced.
command_topic
*Required
The MQTT topic to publish commands to change the switch state.
qos
*Optional
The maximum QoS level of the state topic. Default is 0.
This QoS will also be used to publishing messages.
payload_on
*Optional
The payload that represents enabled state. Default is "ON".
payload_off
*Optional
The payload that represents disabled state. Default is "OFF".
optimistic
*Optional
Flag that defines if switch works in optimistic mode. Default is false.
""" """
import logging import logging
import homeassistant.components.mqtt as mqtt import homeassistant.components.mqtt as mqtt
from homeassistant.components.switch import SwitchDevice from homeassistant.components.switch import SwitchDevice
@ -82,7 +23,7 @@ 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. """
if config.get('command_topic') is None: if config.get('command_topic') is None:
_LOGGER.error("Missing required variable: command_topic") _LOGGER.error("Missing required variable: command_topic")
@ -101,7 +42,7 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
# pylint: disable=too-many-arguments, too-many-instance-attributes # pylint: disable=too-many-arguments, too-many-instance-attributes
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, qos, def __init__(self, hass, name, state_topic, command_topic, qos,
payload_on, payload_off, optimistic): payload_on, payload_off, optimistic):
self._state = False self._state = False
@ -133,12 +74,12 @@ class MqttSwitch(SwitchDevice):
@property @property
def should_poll(self): def should_poll(self):
""" No polling needed """ """ No polling needed. """
return False return False
@property @property
def name(self): def name(self):
""" The name of the switch """ """ The name of the switch. """
return self._name return self._name
@property @property