diff --git a/homeassistant/components/sensor/__init__.py b/homeassistant/components/sensor/__init__.py
index 8dbaef0e118f5bb6ba6f8f1436d7dd158310e801..67bcfb6f701e9d11922a36fc501c74f881e5deb9 100644
--- a/homeassistant/components/sensor/__init__.py
+++ b/homeassistant/components/sensor/__init__.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Component to interface with various sensors that can be monitored.
 
 For more details about this component, please refer to the documentation at
@@ -31,7 +29,7 @@ DISCOVERY_PLATFORMS = {
 
 
 def setup(hass, config):
-    """ Track states and offer events for sensors. """
+    """Track states and offer events for sensors."""
     component = EntityComponent(
         logging.getLogger(__name__), DOMAIN, hass, SCAN_INTERVAL,
         DISCOVERY_PLATFORMS)
diff --git a/homeassistant/components/sensor/apcupsd.py b/homeassistant/components/sensor/apcupsd.py
index bed8740a55ebda125a091d1735dac7e52f33e7e7..75db04467c25662d9c241e07d824a9d7c49d8fdb 100644
--- a/homeassistant/components/sensor/apcupsd.py
+++ b/homeassistant/components/sensor/apcupsd.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.apcupsd
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Provides a sensor to track various status aspects of a UPS.
 
 For more details about this platform, please refer to the documentation at
@@ -59,7 +57,7 @@ def infer_unit(value):
 
 
 class Sensor(Entity):
-    """ Generic sensor entity for APCUPSd status values. """
+    """Generic sensor entity for APCUPSd status values."""
     def __init__(self, config, data, unit=None):
         self._config = config
         self._unit = unit
@@ -69,22 +67,22 @@ class Sensor(Entity):
 
     @property
     def name(self):
-        """ The name of the UPS sensor. """
+        """The name of the UPS sensor."""
         return self._config.get("name", DEFAULT_NAME)
 
     @property
     def state(self):
-        """ True if the UPS is online, else False. """
+        """True if the UPS is online, else False."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         if self._unit is None:
             return self._inferred_unit
         return self._unit
 
     def update(self):
-        """ Get the latest status and use it to update our sensor state. """
+        """Get the latest status and use it to update our sensor state."""
         key = self._config[apcupsd.CONF_TYPE].upper()
         self._state, self._inferred_unit = infer_unit(self._data.status[key])
diff --git a/homeassistant/components/sensor/arduino.py b/homeassistant/components/sensor/arduino.py
index a99765808f84659f8473c57634b77e4218380ff0..f8b62fe13220088a00c049202811683569e16f15 100644
--- a/homeassistant/components/sensor/arduino.py
+++ b/homeassistant/components/sensor/arduino.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.arduino
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Support for getting information from Arduino pins. Only analog pins are
 supported.
 
@@ -14,13 +12,11 @@ from homeassistant.const import DEVICE_DEFAULT_NAME
 from homeassistant.helpers.entity import Entity
 
 DEPENDENCIES = ['arduino']
-
 _LOGGER = logging.getLogger(__name__)
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the Arduino platform. """
-
+    """Sets up the Arduino platform."""
     # Verify that the Arduino board is present
     if arduino.BOARD is None:
         _LOGGER.error('A connection has not been made to the Arduino board.')
@@ -37,7 +33,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class ArduinoSensor(Entity):
-    """ Represents an Arduino Sensor. """
+    """Represents an Arduino Sensor."""
     def __init__(self, name, pin, pin_type):
         self._pin = pin
         self._name = name or DEVICE_DEFAULT_NAME
@@ -49,14 +45,14 @@ class ArduinoSensor(Entity):
 
     @property
     def state(self):
-        """ Returns the state of the sensor. """
+        """Returns the state of the sensor."""
         return self._value
 
     @property
     def name(self):
-        """ Get the name of the sensor. """
+        """Get the name of the sensor."""
         return self._name
 
     def update(self):
-        """ Get the latest value from the pin. """
+        """Get the latest value from the pin."""
         self._value = arduino.BOARD.get_analog_inputs()[self._pin][1]
diff --git a/homeassistant/components/sensor/arest.py b/homeassistant/components/sensor/arest.py
index 0a1680c2aa2126d4e68164824fa2c794410cc6ea..c731060d6dc74a0ea6d58959013fd97d5b4da811 100644
--- a/homeassistant/components/sensor/arest.py
+++ b/homeassistant/components/sensor/arest.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.arest
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 The arest sensor will consume an exposed aREST API of a device.
 
 For more details about this platform, please refer to the documentation at
@@ -27,8 +25,7 @@ CONF_MONITORED_VARIABLES = 'monitored_variables'
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Get the aREST sensor. """
-
+    """Get the aREST sensor."""
     resource = config.get(CONF_RESOURCE)
     var_conf = config.get(CONF_MONITORED_VARIABLES)
     pins = config.get('pins', None)
@@ -53,7 +50,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
     arest = ArestData(resource)
 
     def make_renderer(value_template):
-        """ Creates renderer based on variable_template value """
+        """Creates renderer based on variable_template value."""
         if value_template is None:
             return lambda value: value
 
@@ -102,7 +99,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-many-instance-attributes, too-many-arguments
 class ArestSensor(Entity):
-    """ Implements an aREST sensor for exposed variables. """
+    """Implements an aREST sensor for exposed variables."""
 
     def __init__(self, arest, resource, location, name, variable=None,
                  pin=None, unit_of_measurement=None, renderer=None):
@@ -125,17 +122,17 @@ class ArestSensor(Entity):
 
     @property
     def name(self):
-        """ The name of the sensor. """
+        """The name of the sensor."""
         return self._name
 
     @property
     def unit_of_measurement(self):
-        """ Unit the value is expressed in. """
+        """Unit the value is expressed in."""
         return self._unit_of_measurement
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         values = self.arest.data
 
         if 'error' in values:
@@ -147,13 +144,13 @@ class ArestSensor(Entity):
         return value
 
     def update(self):
-        """ Gets the latest data from aREST API. """
+        """Gets the latest data from aREST API."""
         self.arest.update()
 
 
 # pylint: disable=too-few-public-methods
 class ArestData(object):
-    """ Class for handling the data retrieval for variables. """
+    """Class for handling the data retrieval for variables."""
 
     def __init__(self, resource, pin=None):
         self._resource = resource
@@ -162,7 +159,7 @@ class ArestData(object):
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self):
-        """ Gets the latest data from aREST device. """
+        """Gets the latest data from aREST device."""
         try:
             if self._pin is None:
                 response = requests.get(self._resource, timeout=10)
diff --git a/homeassistant/components/sensor/bitcoin.py b/homeassistant/components/sensor/bitcoin.py
index a92b20a4ceeba361dd7fdff1e5d9c74832548167..d0b518f67792a3e61e14d8ac55ae6ae25a572928 100644
--- a/homeassistant/components/sensor/bitcoin.py
+++ b/homeassistant/components/sensor/bitcoin.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.bitcoin
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Bitcoin information service that uses blockchain.info and its online wallet.
 
 For more details about this platform, please refer to the documentation at
@@ -45,8 +43,7 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=120)
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Get the Bitcoin sensor. """
-
+    """Get the Bitcoin sensor."""
     from blockchain.wallet import Wallet
     from blockchain import exchangerates, exceptions
 
@@ -84,8 +81,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-few-public-methods
 class BitcoinSensor(Entity):
-    """ Implements a Bitcoin sensor. """
-
+    """Implements a Bitcoin sensor."""
     def __init__(self, data, option_type, currency, wallet=''):
         self.data = data
         self._name = OPTION_TYPES[option_type][0]
@@ -98,27 +94,27 @@ class BitcoinSensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name of the device. """
+        """Returns the name of the sensor."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def unit_of_measurement(self):
+        """Unit the value is expressed in."""
         return self._unit_of_measurement
 
     @property
     def icon(self):
-        """ Icon to use in the frontend, if any. """
+        """Icon to use in the frontend, if any."""
         return ICON
 
     # pylint: disable=too-many-branches
     def update(self):
-        """ Gets the latest data and updates the states. """
-
+        """Gets the latest data and updates the states."""
         self.data.update()
         stats = self.data.stats
         ticker = self.data.ticker
@@ -176,16 +172,14 @@ class BitcoinSensor(Entity):
 
 
 class BitcoinData(object):
-    """ Gets the latest data and updates the states. """
-
+    """Gets the latest data and updates the states."""
     def __init__(self):
         self.stats = None
         self.ticker = None
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self):
-        """ Gets the latest data from blockchain.info. """
-
+        """Gets the latest data from blockchain.info."""
         from blockchain import statistics, exchangerates
 
         self.stats = statistics.get()
diff --git a/homeassistant/components/sensor/command_sensor.py b/homeassistant/components/sensor/command_sensor.py
index a0877ac6888312f9dd054fe1ef1bb02bf810d719..d87010a552562ade41ec0b6cd04303539e75723b 100644
--- a/homeassistant/components/sensor/command_sensor.py
+++ b/homeassistant/components/sensor/command_sensor.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.command_sensor
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Allows to configure custom shell commands to turn a value for a sensor.
 
 For more details about this platform, please refer to the documentation at
@@ -24,7 +22,7 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices_callback, discovery_info=None):
-    """ Add the Command Sensor. """
+    """Add the Command Sensor."""
 
     if config.get('command') is None:
         _LOGGER.error('Missing required variable: "command"')
@@ -43,7 +41,7 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
 
 # pylint: disable=too-many-arguments
 class CommandSensor(Entity):
-    """ Represents a sensor that is returning a value of a shell commands. """
+    """Represents a sensor that is returning a value of a shell commands."""
     def __init__(self, hass, data, name, unit_of_measurement, value_template):
         self._hass = hass
         self.data = data
@@ -55,21 +53,21 @@ class CommandSensor(Entity):
 
     @property
     def name(self):
-        """ The name of the sensor. """
+        """The name of the sensor."""
         return self._name
 
     @property
     def unit_of_measurement(self):
-        """ Unit the value is expressed in. """
+        """Unit the value is expressed in."""
         return self._unit_of_measurement
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the device."""
         return self._state
 
     def update(self):
-        """ Gets the latest data and updates the state. """
+        """Gets the latest data and updates the state."""
         self.data.update()
         value = self.data.value
 
@@ -82,7 +80,7 @@ class CommandSensor(Entity):
 
 # pylint: disable=too-few-public-methods
 class CommandSensorData(object):
-    """ Class for handling the data retrieval. """
+    """Class for handling the data retrieval."""
 
     def __init__(self, command):
         self.command = command
@@ -90,7 +88,7 @@ class CommandSensorData(object):
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self):
-        """ Gets the latest data with a shell command. """
+        """Gets the latest data with a shell command."""
         _LOGGER.info('Running command: %s', self.command)
 
         try:
diff --git a/homeassistant/components/sensor/cpuspeed.py b/homeassistant/components/sensor/cpuspeed.py
index 68d1857e2b8e43d0ab1d06d1f26b296e8f11a757..76f4b750e75e7a15cc135cb485d6ae16b2f0e7d6 100644
--- a/homeassistant/components/sensor/cpuspeed.py
+++ b/homeassistant/components/sensor/cpuspeed.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.cpuspeed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Shows the current CPU speed.
+Support for displaying the current CPU speed.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.cpuspeed/
@@ -15,7 +13,6 @@ REQUIREMENTS = ['py-cpuinfo==0.1.8']
 _LOGGER = logging.getLogger(__name__)
 
 DEFAULT_NAME = "CPU speed"
-
 ATTR_VENDOR = 'Vendor ID'
 ATTR_BRAND = 'Brand'
 ATTR_HZ = 'GHz Advertised'
@@ -24,14 +21,12 @@ ICON = 'mdi:pulse'
 
 # pylint: disable=unused-variable
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the CPU speed sensor. """
-
+    """Sets up the CPU speed sensor."""
     add_devices([CpuSpeedSensor(config.get('name', DEFAULT_NAME))])
 
 
 class CpuSpeedSensor(Entity):
-    """ A CPU info sensor. """
-
+    """A CPU info sensor."""
     def __init__(self, name):
         self._name = name
         self._state = None
@@ -40,22 +35,22 @@ class CpuSpeedSensor(Entity):
 
     @property
     def name(self):
-        """ The name of the sensor. """
+        """The name of the sensor."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit the value is expressed in. """
+        """Unit the value is expressed in."""
         return self._unit_of_measurement
 
     @property
     def device_state_attributes(self):
-        """ Returns the state attributes. """
+        """Returns the state attributes."""
         if self.info is not None:
             return {
                 ATTR_VENDOR: self.info['vendor_id'],
@@ -65,11 +60,11 @@ class CpuSpeedSensor(Entity):
 
     @property
     def icon(self):
-        """ Icon to use in the frontend, if any. """
+        """Icon to use in the frontend, if any."""
         return ICON
 
     def update(self):
-        """ Gets the latest data and updates the state. """
+        """Gets the latest data and updates the state."""
         from cpuinfo import cpuinfo
 
         self.info = cpuinfo.get_cpu_info()
diff --git a/homeassistant/components/sensor/demo.py b/homeassistant/components/sensor/demo.py
index f0ddbd4a2a092bc76bafaf9998d9307c4cdd442a..04541db15a3d1ad266e7ab076a92bc7a3bca9cca 100644
--- a/homeassistant/components/sensor/demo.py
+++ b/homeassistant/components/sensor/demo.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.demo
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Demo platform that has a couple of fake sensors.
 """
 from homeassistant.const import ATTR_BATTERY_LEVEL, TEMP_CELCIUS
@@ -9,7 +7,7 @@ from homeassistant.helpers.entity import Entity
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the Demo sensors. """
+    """Sets up the Demo sensors."""
     add_devices([
         DemoSensor('Outside Temperature', 15.6, TEMP_CELCIUS, 12),
         DemoSensor('Outside Humidity', 54, '%', None),
@@ -17,8 +15,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class DemoSensor(Entity):
-    """ A Demo sensor. """
-
+    """A Demo sensor."""
     def __init__(self, name, state, unit_of_measurement, battery):
         self._name = name
         self._state = state
@@ -27,27 +24,27 @@ class DemoSensor(Entity):
 
     @property
     def should_poll(self):
-        """ No polling needed for a demo sensor. """
+        """No polling needed for a demo sensor."""
         return False
 
     @property
     def name(self):
-        """ Returns the name of the device. """
+        """Returns the name of the sensor."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit this state is expressed in. """
+        """Unit this state is expressed in."""
         return self._unit_of_measurement
 
     @property
     def device_state_attributes(self):
-        """ Returns the state attributes. """
+        """Returns the state attributes."""
         if self._battery:
             return {
                 ATTR_BATTERY_LEVEL: self._battery,
diff --git a/homeassistant/components/sensor/dht.py b/homeassistant/components/sensor/dht.py
index a3019f2b84d940fc7be68203fdaac6b7f79670e8..1499922954246941e64c8f426562a74957a97112 100644
--- a/homeassistant/components/sensor/dht.py
+++ b/homeassistant/components/sensor/dht.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.dht
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Adafruit DHT temperature and humidity sensor.
+Support for Adafruit DHT temperature and humidity sensor.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.dht/
@@ -13,7 +11,7 @@ from homeassistant.const import TEMP_FAHRENHEIT
 from homeassistant.helpers.entity import Entity
 from homeassistant.util import Throttle
 
-# update this requirement to upstream as soon as it supports python3
+# Update this requirement to upstream as soon as it supports Python 3.
 REQUIREMENTS = ['http://github.com/mala-zaba/Adafruit_Python_DHT/archive/'
                 '4101340de8d2457dd194bca1e8d11cbfc237e919.zip'
                 '#Adafruit_DHT==1.1.0']
@@ -30,8 +28,7 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=30)
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Get the DHT sensor. """
-
+    """Get the DHT sensor."""
     # pylint: disable=import-error
     import Adafruit_DHT
 
@@ -70,8 +67,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-few-public-methods
 class DHTSensor(Entity):
-    """ Implements an DHT sensor. """
-
+    """Implements an DHT sensor."""
     def __init__(self, dht_client, sensor_type, temp_unit, name):
         self.client_name = name
         self._name = SENSOR_TYPES[sensor_type][0]
@@ -84,21 +80,21 @@ class DHTSensor(Entity):
 
     @property
     def name(self):
+        """Returns the name of the sensor."""
         return '{} {}'.format(self.client_name, self._name)
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     def update(self):
-        """ Gets the latest data from the DHT and updates the states. """
-
+        """Gets the latest data from the DHT and updates the states."""
         self.dht_client.update()
         data = self.dht_client.data
 
@@ -111,8 +107,7 @@ class DHTSensor(Entity):
 
 
 class DHTClient(object):
-    """ Gets the latest data from the DHT sensor. """
-
+    """Gets the latest data from the DHT sensor."""
     def __init__(self, adafruit_dht, sensor, pin):
         self.adafruit_dht = adafruit_dht
         self.sensor = sensor
@@ -121,7 +116,7 @@ class DHTClient(object):
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self):
-        """ Gets the latest data the DHT sensor. """
+        """Gets the latest data the DHT sensor."""
         humidity, temperature = self.adafruit_dht.read_retry(self.sensor,
                                                              self.pin)
         if temperature:
diff --git a/homeassistant/components/sensor/dweet.py b/homeassistant/components/sensor/dweet.py
index f1b90d59f4761c2ff0e922500bd5df647b84de64..a618594b1f9a392b2a9c05537a8693856c7bc894 100644
--- a/homeassistant/components/sensor/dweet.py
+++ b/homeassistant/components/sensor/dweet.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.dweet
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Displays values from Dweet.io.
+Support for showing values from Dweet.io.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.dweet/
@@ -20,13 +18,13 @@ REQUIREMENTS = ['dweepy==0.2.0']
 DEFAULT_NAME = 'Dweet.io Sensor'
 CONF_DEVICE = 'device'
 
-# Return cached results if last scan was less then this time ago
+# Return cached results if last scan was less then this time ago.
 MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
 
 
 # pylint: disable=unused-variable, too-many-function-args
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Setup the Dweet sensor. """
+    """Setup the Dweet sensor."""
     import dweepy
 
     device = config.get('device')
@@ -60,8 +58,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-many-arguments
 class DweetSensor(Entity):
-    """ Implements a Dweet sensor. """
-
+    """Implements a Dweet sensor."""
     def __init__(self, hass, dweet, name, value_template, unit_of_measurement):
         self.hass = hass
         self.dweet = dweet
@@ -73,17 +70,17 @@ class DweetSensor(Entity):
 
     @property
     def name(self):
-        """ The name of the sensor. """
+        """The name of the sensor."""
         return self._name
 
     @property
     def unit_of_measurement(self):
-        """ Unit the value is expressed in. """
+        """Unit the value is expressed in."""
         return self._unit_of_measurement
 
     @property
     def state(self):
-        """ Returns the state. """
+        """Returns the state."""
         if self.dweet.data is None:
             return STATE_UNKNOWN
         else:
@@ -93,21 +90,20 @@ class DweetSensor(Entity):
             return value
 
     def update(self):
-        """ Gets the latest data from REST API. """
+        """Gets the latest data from REST API."""
         self.dweet.update()
 
 
 # pylint: disable=too-few-public-methods
 class DweetData(object):
-    """ Class for handling the data retrieval. """
-
+    """Class for handling the data retrieval."""
     def __init__(self, device):
         self._device = device
         self.data = None
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self):
-        """ Gets the latest data from Dweet.io. """
+        """Gets the latest data from Dweet.io."""
         import dweepy
 
         try:
diff --git a/homeassistant/components/sensor/ecobee.py b/homeassistant/components/sensor/ecobee.py
index 39ba1d1ef5048082c8d2b4374f82da100085664f..47dd3eb4bfd00e2c2cf8f73779bf9e5ab3fe663b 100644
--- a/homeassistant/components/sensor/ecobee.py
+++ b/homeassistant/components/sensor/ecobee.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.ecobee
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Sensor platform for Ecobee sensors.
+Support for Ecobee sensors.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.ecobee/
@@ -24,7 +22,7 @@ ECOBEE_CONFIG_FILE = 'ecobee.conf'
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the Ecobee sensors. """
+    """Sets up the Ecobee sensors."""
     if discovery_info is None:
         return
     data = ecobee.NETWORK
@@ -42,7 +40,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class EcobeeSensor(Entity):
-    """ An Ecobee sensor. """
+    """An Ecobee sensor."""
 
     def __init__(self, sensor_name, sensor_type, sensor_index):
         self._name = sensor_name + ' ' + SENSOR_TYPES[sensor_type][0]
@@ -55,12 +53,12 @@ class EcobeeSensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name of the Ecobee sensor.. """
+        """Returns the name of the Ecobee sensor."""
         return self._name.rstrip()
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
@@ -70,11 +68,11 @@ class EcobeeSensor(Entity):
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement this sensor expresses itself in. """
+        """Unit of measurement this sensor expresses itself in."""
         return self._unit_of_measurement
 
     def update(self):
-        """ Get the latest state of the sensor. """
+        """Get the latest state of the sensor."""
         data = ecobee.NETWORK
         data.update()
         for sensor in data.ecobee.get_remote_sensors(self.index):
diff --git a/homeassistant/components/sensor/efergy.py b/homeassistant/components/sensor/efergy.py
index 71c8f8ed7891b4bf761469298adab1b408313c14..689e457a9a83f7090303b808428bfb5817038fbd 100644
--- a/homeassistant/components/sensor/efergy.py
+++ b/homeassistant/components/sensor/efergy.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.efergy
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Monitors home energy use as measured by an efergy engage hub using its
 (unofficial, undocumented) API.
 
@@ -23,7 +21,7 @@ SENSOR_TYPES = {
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the Efergy sensor. """
+    """Sets up the Efergy sensor."""
     app_token = config.get("app_token")
     if not app_token:
         _LOGGER.error(
@@ -48,7 +46,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-many-instance-attributes
 class EfergySensor(Entity):
-    """ Implements an Efergy sensor. """
+    """Implements an Efergy sensor."""
 
     # pylint: disable=too-many-arguments
     def __init__(self, sensor_type, app_token, utc_offset, period, currency):
@@ -66,21 +64,21 @@ class EfergySensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name. """
+        """Returns the name of the sensor."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     def update(self):
-        """ Gets the Efergy monitor data from the web service. """
+        """Gets the Efergy monitor data from the web service."""
         try:
             if self.type == 'instant_readings':
                 url_string = _RESOURCE + 'getInstant?token=' + self.app_token
diff --git a/homeassistant/components/sensor/eliqonline.py b/homeassistant/components/sensor/eliqonline.py
index fb5cd0f1211229b567237d36fde17a5a90e413d6..74e7e7b837e2dc624fda80932ac156780b4425b7 100644
--- a/homeassistant/components/sensor/eliqonline.py
+++ b/homeassistant/components/sensor/eliqonline.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.eliqonline
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Monitors home energy use for the eliq online service.
 
 For more details about this platform, please refer to the documentation at
@@ -19,7 +17,7 @@ DEFAULT_NAME = "ELIQ Energy Usage"
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Set up the Eliq sensor. """
+    """Set up the Eliq sensor."""
 
     import eliqonline
 
@@ -39,7 +37,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class EliqSensor(Entity):
-    """ Implements a Eliq sensor. """
+    """Implements a Eliq sensor."""
 
     def __init__(self, api, channel_id, name):
         self._name = name
@@ -52,28 +50,28 @@ class EliqSensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name. """
+        """Returns the name of the sensor."""
         return self._name
 
     @property
     def icon(self):
-        """ Returns icon. """
+        """Returns icon."""
         return "mdi:speedometer"
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the device."""
         return self._state
 
     def update(self):
-        """ Gets the latest data. """
+        """Gets the latest data."""
         try:
             response = self.api.get_data_now(channelid=self.channel_id)
             self._state = int(response.power)
         except (TypeError, URLError):
-            _LOGGER.error("could not connect to the eliqonline servers")
+            _LOGGER.error("Could not connect to the eliqonline servers")
diff --git a/homeassistant/components/sensor/forecast.py b/homeassistant/components/sensor/forecast.py
index 5e080a341c08e2d19dfb529b76a72fbc86dce905..b383eb6f297b6824343c3a55de1689af19c96ce9 100644
--- a/homeassistant/components/sensor/forecast.py
+++ b/homeassistant/components/sensor/forecast.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.forecast
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Forecast.io weather service.
+Support for Forecast.io weather service.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.forecast/
@@ -41,12 +39,12 @@ SENSOR_TYPES = {
     'ozone': ['Ozone', 'DU', 'DU', 'DU', 'DU', 'DU'],
 }
 
-# Return cached results if last scan was less then this time ago
+# Return cached results if last scan was less then this time ago.
 MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=120)
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Get the Forecast.io sensor. """
+    """Get the Forecast.io sensor."""
     import forecastio
 
     if None in (hass.config.latitude, hass.config.longitude):
@@ -88,7 +86,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-few-public-methods
 class ForeCastSensor(Entity):
-    """ Implements an Forecast.io sensor. """
+    """Implements an Forecast.io sensor."""
 
     def __init__(self, weather_data, sensor_type):
         self.client_name = 'Weather'
@@ -111,26 +109,27 @@ class ForeCastSensor(Entity):
 
     @property
     def name(self):
+        """The name of the sensor."""
         return '{} {}'.format(self.client_name, self._name)
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     @property
     def unit_system(self):
-        """ Unit system of this entity. """
+        """Unit system of this entity."""
         return self._unit_system
 
     # pylint: disable=too-many-branches
     def update(self):
-        """ Gets the latest data from Forecast.io and updates the states. """
+        """Gets the latest data from Forecast.io and updates the states."""
         import forecastio
 
         self.forecast_client.update()
@@ -177,7 +176,7 @@ class ForeCastSensor(Entity):
 
 
 class ForeCastData(object):
-    """ Gets the latest data from Forecast.io. """
+    """Gets the latest data from Forecast.io."""
 
     def __init__(self, api_key, latitude, longitude, units):
         self._api_key = api_key
@@ -190,7 +189,7 @@ class ForeCastData(object):
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self):
-        """ Gets the latest data from Forecast.io. """
+        """Gets the latest data from Forecast.io."""
         import forecastio
 
         forecast = forecastio.load_forecast(self._api_key,
diff --git a/homeassistant/components/sensor/glances.py b/homeassistant/components/sensor/glances.py
index be46c20ba77afcb74e7c1191b99a77ce6c869554..a3160da7c7c5e0f8461a44bc9a77c35a5ae1afd1 100644
--- a/homeassistant/components/sensor/glances.py
+++ b/homeassistant/components/sensor/glances.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.glances
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Gathers system information of hosts which running glances.
+Support gahtering system information of hosts which are running glances.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.glances/
@@ -39,13 +37,13 @@ SENSOR_TYPES = {
 }
 
 _LOGGER = logging.getLogger(__name__)
-# Return cached results if last scan was less then this time ago
+# Return cached results if last scan was less then this time ago.
 MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
 
 
 # pylint: disable=unused-variable
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Setup the Glances sensor. """
+    """Setup the Glances sensor."""
 
     host = config.get(CONF_HOST)
     port = config.get('port', CONF_PORT)
@@ -85,7 +83,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class GlancesSensor(Entity):
-    """ Implements a Glances sensor. """
+    """Implements a Glances sensor."""
 
     def __init__(self, rest, name, sensor_type):
         self.rest = rest
@@ -97,7 +95,7 @@ class GlancesSensor(Entity):
 
     @property
     def name(self):
-        """ The name of the sensor. """
+        """The name of the sensor."""
         if self._name is None:
             return SENSOR_TYPES[self.type][0]
         else:
@@ -105,13 +103,13 @@ class GlancesSensor(Entity):
 
     @property
     def unit_of_measurement(self):
-        """ Unit the value is expressed in. """
+        """Unit the value is expressed in."""
         return self._unit_of_measurement
 
     # pylint: disable=too-many-branches, too-many-return-statements
     @property
     def state(self):
-        """ Returns the state of the resources. """
+        """Returns the state of the resources."""
         value = self.rest.data
 
         if value is not None:
@@ -149,21 +147,20 @@ class GlancesSensor(Entity):
                 return value['processcount']['sleeping']
 
     def update(self):
-        """ Gets the latest data from REST API. """
+        """Gets the latest data from REST API."""
         self.rest.update()
 
 
 # pylint: disable=too-few-public-methods
 class GlancesData(object):
-    """ Class for handling the data retrieval. """
-
+    """Class for handling the data retrieval."""
     def __init__(self, resource):
         self._resource = resource
         self.data = dict()
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self):
-        """ Gets the latest data from the Glances REST API. """
+        """Gets the latest data from the Glances REST API."""
         try:
             response = requests.get(self._resource, timeout=10)
             self.data = response.json()
diff --git a/homeassistant/components/sensor/isy994.py b/homeassistant/components/sensor/isy994.py
index 8ef42ab5b2d387f7d07cf8ec856cae6599990029..38b0241e4a2a6e9e67775c039f5cffdeba992330 100644
--- a/homeassistant/components/sensor/isy994.py
+++ b/homeassistant/components/sensor/isy994.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.isy994
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Support for ISY994 sensors.
 
 For more details about this platform, please refer to the documentation at
@@ -29,16 +27,16 @@ DEFAULT_HIDDEN_WEATHER = ['Temperature_High', 'Temperature_Low', 'Feels_Like',
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the ISY994 platform. """
+    """Sets up the ISY994 platform."""
     # pylint: disable=protected-access
     logger = logging.getLogger(__name__)
     devs = []
-    # verify connection
+    # Verify connection
     if ISY is None or not ISY.connected:
         logger.error('A connection has not been made to the ISY controller.')
         return False
 
-    # import weather
+    # Import weather
     if ISY.climate is not None:
         for prop in ISY.climate._id2name:
             if prop is not None:
@@ -49,14 +47,14 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
                                          getattr(ISY.climate, prop + '_units'))
                 devs.append(ISYSensorDevice(node))
 
-    # import sensor nodes
+    # Import sensor nodes
     for (path, node) in ISY.nodes:
         if SENSOR_STRING in node.name:
             if HIDDEN_STRING in path:
                 node.name += HIDDEN_STRING
             devs.append(ISYSensorDevice(node, [STATE_ON, STATE_OFF]))
 
-    # import sensor programs
+    # Import sensor programs
     for (folder_name, states) in (
             ('HA.locations', [STATE_HOME, STATE_NOT_HOME]),
             ('HA.sensors', [STATE_OPEN, STATE_CLOSED]),
@@ -75,7 +73,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class WeatherPseudoNode(object):
-    """ This class allows weather variable to act as regular nodes. """
+    """This class allows weather variable to act as regular nodes."""
     # pylint: disable=too-few-public-methods
 
     def __init__(self, device_id, name, status, units=None):
@@ -86,8 +84,7 @@ class WeatherPseudoNode(object):
 
 
 class ISYSensorDevice(ISYDeviceABC):
-    """ Represents a ISY sensor. """
-
+    """Represents a ISY sensor."""
     _domain = 'sensor'
 
     def __init__(self, node, states=None):
diff --git a/homeassistant/components/sensor/mfi.py b/homeassistant/components/sensor/mfi.py
index c29d5cea7b833a94c117e47f9a2cfe7cc9acd63a..53b1726a210863a6be6b9aebe746e7a5ede30b03 100644
--- a/homeassistant/components/sensor/mfi.py
+++ b/homeassistant/components/sensor/mfi.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.mfi
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Support for Ubiquiti mFi sensors.
 
 For more details about this platform, please refer to the documentation at
@@ -36,8 +34,7 @@ SENSOR_MODELS = [
 
 # pylint: disable=unused-variable
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up mFi sensors. """
-
+    """Sets up mFi sensors."""
     if not validate_config({DOMAIN: config},
                            {DOMAIN: ['host',
                                      CONF_USERNAME,
@@ -66,7 +63,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class MfiSensor(Entity):
-    """ An mFi sensor that exposes tag=value. """
+    """An mFi sensor that exposes tag=value."""
 
     def __init__(self, port, hass):
         self._port = port
@@ -74,10 +71,12 @@ class MfiSensor(Entity):
 
     @property
     def name(self):
+        """Returns the name of th sensor."""
         return self._port.label
 
     @property
     def state(self):
+        """Returns the state of the sensor."""
         if self._port.model == 'Input Digital':
             return self._port.value > 0 and STATE_ON or STATE_OFF
         else:
@@ -86,6 +85,7 @@ class MfiSensor(Entity):
 
     @property
     def unit_of_measurement(self):
+        """Unit of measurement of this entity, if any."""
         if self._port.tag == 'temperature':
             return TEMP_CELCIUS
         elif self._port.tag == 'active_pwr':
@@ -95,4 +95,5 @@ class MfiSensor(Entity):
         return self._port.tag
 
     def update(self):
+        """Gets the latest data."""
         self._port.refresh()
diff --git a/homeassistant/components/sensor/modbus.py b/homeassistant/components/sensor/modbus.py
index 2483855c589b4fe754eb2310366acd3c6be13957..96830fda250a0d3a41039f9a92d3fd3beaa8d6ac 100644
--- a/homeassistant/components/sensor/modbus.py
+++ b/homeassistant/components/sensor/modbus.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.modbus
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Support for Modbus sensors.
 
 For more details about this platform, please refer to the documentation at
@@ -18,7 +16,7 @@ DEPENDENCIES = ['modbus']
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Read config and create Modbus devices. """
+    """Create Modbus devices."""
     sensors = []
     slave = config.get("slave", None)
     if modbus.TYPE == "serial" and not slave:
@@ -54,7 +52,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 class ModbusSensor(Entity):
     # pylint: disable=too-many-arguments
-    """ Represents a Modbus Sensor. """
+    """Represents a Modbus Sensor."""
 
     def __init__(self, name, slave, register, bit=None, unit=None, coil=False):
         self._name = name
@@ -66,26 +64,24 @@ class ModbusSensor(Entity):
         self._coil = coil
 
     def __str__(self):
+        """Returns the name and the state of the sensor."""
         return "%s: %s" % (self.name, self.state)
 
     @property
     def should_poll(self):
-        """
-        We should poll, because slaves are not allowed to
-        initiate communication on Modbus networks.
-        """
+        """ Polling needed."""
         return True
 
     @property
     def unique_id(self):
-        """ Returns a unique id. """
+        """Returns a unique id."""
         return "MODBUS-SENSOR-{}-{}-{}".format(self.slave,
                                                self.register,
                                                self.bit)
 
     @property
     def state(self):
-        """ Returns the state of the sensor. """
+        """Returns the state of the sensor."""
         if self.bit:
             return STATE_ON if self._value else STATE_OFF
         else:
@@ -93,12 +89,12 @@ class ModbusSensor(Entity):
 
     @property
     def name(self):
-        """ Get the name of the sensor. """
+        """Get the name of the sensor."""
         return self._name
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         if self._unit == "C":
             return TEMP_CELCIUS
         elif self._unit == "F":
@@ -107,7 +103,7 @@ class ModbusSensor(Entity):
             return self._unit
 
     def update(self):
-        """ Update the state of the sensor. """
+        """Update the state of the sensor."""
         if self._coil:
             result = modbus.NETWORK.read_coils(self.register, 1)
             self._value = result.bits[0]
diff --git a/homeassistant/components/sensor/mqtt.py b/homeassistant/components/sensor/mqtt.py
index 1e6a49ad9c4f61a5c4e222f4ee2ef03311e1732d..1c7c549144c2145b848f43d3cb72d21bbfd48ca6 100644
--- a/homeassistant/components/sensor/mqtt.py
+++ b/homeassistant/components/sensor/mqtt.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.mqtt
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Allows to configure a MQTT sensor.
+Support for MQTT sensors.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.mqtt/
@@ -23,7 +21,7 @@ DEPENDENCIES = ['mqtt']
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices_callback, discovery_info=None):
-    """ Add MQTT Sensor. """
+    """Add MQTT Sensor."""
 
     if config.get('state_topic') is None:
         _LOGGER.error("Missing required variable: state_topic")
@@ -40,7 +38,7 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
 
 # pylint: disable=too-many-arguments, too-many-instance-attributes
 class MqttSensor(Entity):
-    """ Represents a sensor that can be updated using MQTT. """
+    """Represents a sensor that can be updated using MQTT."""
     def __init__(self, hass, name, state_topic, qos, unit_of_measurement,
                  value_template):
         self._state = STATE_UNKNOWN
@@ -51,7 +49,7 @@ class MqttSensor(Entity):
         self._unit_of_measurement = unit_of_measurement
 
         def message_received(topic, payload, qos):
-            """ A new MQTT message has been received. """
+            """A new MQTT message has been received."""
             if value_template is not None:
                 payload = template.render_with_possible_json_value(
                     hass, value_template, payload)
@@ -62,20 +60,20 @@ class MqttSensor(Entity):
 
     @property
     def should_poll(self):
-        """ No polling needed """
+        """No polling needed."""
         return False
 
     @property
     def name(self):
-        """ The name of the sensor """
+        """The name of the sensor."""
         return self._name
 
     @property
     def unit_of_measurement(self):
-        """ Unit this state is expressed in. """
+        """Unit this state is expressed in."""
         return self._unit_of_measurement
 
     @property
     def state(self):
-        """ Returns the state of the entity. """
+        """Returns the state of the entity."""
         return self._state
diff --git a/homeassistant/components/sensor/mysensors.py b/homeassistant/components/sensor/mysensors.py
index a55c7fd33351b3f4397a9c78651c8cd1ead9a189..ffea48929881f9fefa095750f57b929ec43a9720 100644
--- a/homeassistant/components/sensor/mysensors.py
+++ b/homeassistant/components/sensor/mysensors.py
@@ -110,7 +110,7 @@ class MySensorsSensor(Entity):
 
     @property
     def should_poll(self):
-        """MySensor gateway pushes its state to HA."""
+        """No polling needed."""
         return False
 
     @property
diff --git a/homeassistant/components/sensor/nest.py b/homeassistant/components/sensor/nest.py
index 465dfd284151f537d5c0eb6591de82ceaf924eb4..004779fb3b02391b5474d41afd9997a4796e99f5 100644
--- a/homeassistant/components/sensor/nest.py
+++ b/homeassistant/components/sensor/nest.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.nest
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Support for Nest Thermostat Sensors.
 
 For more details about this platform, please refer to the documentation at
@@ -41,8 +39,7 @@ SENSOR_TEMP_TYPES = ['temperature',
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Setup Nest Sensor. """
-
+    """Setup Nest Sensor."""
     logger = logging.getLogger(__name__)
     try:
         for structure in nest.NEST.structures:
@@ -71,7 +68,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class NestSensor(Entity):
-    """ Represents a Nest sensor. """
+    """Represents a Nest sensor."""
 
     def __init__(self, structure, device, variable):
         self.structure = structure
@@ -80,8 +77,7 @@ class NestSensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name of the nest, if any. """
-
+        """Returns the name of the nest, if any."""
         location = self.device.where
         name = self.device.name
         if location is None:
@@ -96,30 +92,28 @@ class NestSensor(Entity):
 
 
 class NestBasicSensor(NestSensor):
-    """ Represents a basic Nest sensor with state. """
-
+    """Represents a basic Nest sensor with state."""
     @property
     def state(self):
-        """ Returns the state of the sensor. """
+        """Returns the state of the sensor."""
         return getattr(self.device, self.variable)
 
     @property
     def unit_of_measurement(self):
-        """ Unit the value is expressed in. """
+        """Unit the value is expressed in."""
         return SENSOR_UNITS.get(self.variable, None)
 
 
 class NestTempSensor(NestSensor):
-    """ Represents a Nest Temperature sensor. """
-
+    """Represents a Nest Temperature sensor."""
     @property
     def unit_of_measurement(self):
-        """ Unit the value is expressed in. """
+        """Unit the value is expressed in."""
         return TEMP_CELCIUS
 
     @property
     def state(self):
-        """ Returns the state of the sensor. """
+        """Returns the state of the sensor."""
         temp = getattr(self.device, self.variable)
         if temp is None:
             return None
@@ -128,11 +122,10 @@ class NestTempSensor(NestSensor):
 
 
 class NestWeatherSensor(NestSensor):
-    """ Represents a basic Nest Weather Conditions sensor. """
-
+    """Represents a basic Nest Weather Conditions sensor."""
     @property
     def state(self):
-        """ Returns the state of the sensor. """
+        """Returns the state of the sensor."""
         if self.variable == 'kph' or self.variable == 'direction':
             return getattr(self.structure.weather.current.wind, self.variable)
         else:
@@ -140,5 +133,5 @@ class NestWeatherSensor(NestSensor):
 
     @property
     def unit_of_measurement(self):
-        """ Unit the value is expressed in. """
+        """Unit the value is expressed in."""
         return SENSOR_UNITS.get(self.variable, None)
diff --git a/homeassistant/components/sensor/netatmo.py b/homeassistant/components/sensor/netatmo.py
index 29271b82ea9bbaf4860ab9c1365666ddd42707b9..0d50c0be106a4b4ed93fce598ad56ef30c4b4360 100644
--- a/homeassistant/components/sensor/netatmo.py
+++ b/homeassistant/components/sensor/netatmo.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.netatmo
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-NetAtmo Weather Service service.
+Support for the NetAtmo Weather Service.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.netatmo/
@@ -41,8 +39,7 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=600)
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Get the NetAtmo sensor. """
-
+    """Get the NetAtmo sensor."""
     if not validate_config({DOMAIN: config},
                            {DOMAIN: [CONF_API_KEY,
                                      CONF_USERNAME,
@@ -89,7 +86,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-few-public-methods
 class NetAtmoSensor(Entity):
-    """ Implements a NetAtmo sensor. """
+    """Implements a NetAtmo sensor."""
 
     def __init__(self, netatmo_data, module_name, sensor_type):
         self._name = "NetAtmo {} {}".format(module_name,
@@ -103,26 +100,27 @@ class NetAtmoSensor(Entity):
 
     @property
     def name(self):
+        """The name of the sensor."""
         return self._name
 
     @property
     def icon(self):
+        """Icon to use in the frontend, if any."""
         return SENSOR_TYPES[self.type][2]
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the device."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     # pylint: disable=too-many-branches
     def update(self):
-        """ Gets the latest data from NetAtmo API and updates the states. """
-
+        """Gets the latest data from NetAtmo API and updates the states."""
         self.netatmo_data.update()
         data = self.netatmo_data.data[self.module_name]
 
@@ -139,21 +137,20 @@ class NetAtmoSensor(Entity):
 
 
 class NetAtmoData(object):
-    """ Gets the latest data from NetAtmo. """
+    """Gets the latest data from NetAtmo."""
 
     def __init__(self, auth):
         self.auth = auth
         self.data = None
 
     def get_module_names(self):
-        """ Return all module available on the API as a list. """
+        """Return all module available on the API as a list."""
         self.update()
         return self.data.keys()
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self):
-        """ Call the NetAtmo API to update the data. """
+        """Call the NetAtmo API to update the data."""
         import lnetatmo
-        # Gets the latest data from NetAtmo. """
         dev_list = lnetatmo.DeviceList(self.auth)
         self.data = dev_list.lastData(exclude=3600)
diff --git a/homeassistant/components/sensor/neurio_energy.py b/homeassistant/components/sensor/neurio_energy.py
index f3b22c0383c1770a6f8aaf74b5fc7cd54e7ad542..fd335b663f3d61d5f3d8671e1c7dbabecdc19903 100644
--- a/homeassistant/components/sensor/neurio_energy.py
+++ b/homeassistant/components/sensor/neurio_energy.py
@@ -1,7 +1,6 @@
 """
-homeassistant.components.sensor.neurio_energy
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Monitors home energy use as measured by an neurio hub using its official API.
+Support for monitoring  an neurio hub.
+
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.neurio_energy/
 """
@@ -19,7 +18,7 @@ ICON = 'mdi:flash'
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the Neurio sensor. """
+    """Sets up the Neurio sensor."""
     api_key = config.get("api_key")
     api_secret = config.get("api_secret")
     sensor_id = config.get("sensor_id")
@@ -43,7 +42,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-many-instance-attributes
 class NeurioEnergy(Entity):
-    """ Implements an Neurio energy. """
+    """Implements an Neurio energy."""
 
     # pylint: disable=too-many-arguments
     def __init__(self, api_key, api_secret, sensor_id):
@@ -56,26 +55,26 @@ class NeurioEnergy(Entity):
 
     @property
     def name(self):
-        """ Returns the name. """
+        """Returns the name of th sensor."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     @property
     def icon(self):
-        """ Icon to use in the frontend, if any. """
+        """Icon to use in the frontend, if any."""
         return ICON
 
     def update(self):
-        """ Gets the Neurio monitor data from the web service. """
+        """Gets the Neurio monitor data from the web service."""
         import neurio
         try:
             neurio_tp = neurio.TokenProvider(key=self.api_key,
diff --git a/homeassistant/components/sensor/onewire.py b/homeassistant/components/sensor/onewire.py
index 5a198864c388ef40637de23b39eaff5dbf29bc8f..404587d3dac12f9d3dece7c4dfd00cb0cf3918b0 100644
--- a/homeassistant/components/sensor/onewire.py
+++ b/homeassistant/components/sensor/onewire.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.onewire
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Support for DS18B20 One Wire Sensors.
 
 For more details about this platform, please refer to the documentation at
@@ -27,7 +25,7 @@ _LOGGER = logging.getLogger(__name__)
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the one wire Sensors. """
+    """Sets up the one wire Sensors."""
 
     if DEVICE_FILES == []:
         _LOGGER.error('No onewire sensor found.')
@@ -58,7 +56,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class OneWire(Entity):
-    """ An One wire Sensor. """
+    """An One wire Sensor."""
 
     def __init__(self, name, device_file):
         self._name = name
@@ -67,7 +65,7 @@ class OneWire(Entity):
         self.update()
 
     def _read_temp_raw(self):
-        """ Read the temperature as it is returned by the sensor. """
+        """Read the temperature as it is returned by the sensor."""
         ds_device_file = open(self._device_file, 'r')
         lines = ds_device_file.readlines()
         ds_device_file.close()
@@ -75,21 +73,21 @@ class OneWire(Entity):
 
     @property
     def name(self):
-        """ The name of the sensor. """
+        """The name of the sensor."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit the value is expressed in. """
+        """Unit the value is expressed in."""
         return TEMP_CELCIUS
 
     def update(self):
-        """ Gets the latest data from the device. """
+        """Gets the latest data from the device."""
         lines = self._read_temp_raw()
         while lines[0].strip()[-3:] != 'YES':
             time.sleep(0.2)
diff --git a/homeassistant/components/sensor/openweathermap.py b/homeassistant/components/sensor/openweathermap.py
index 49c1eadf36c7712767ec5e2025f462936a5d7c41..38a3dfd68e2a7060e39c277480d31bef2b723a5f 100644
--- a/homeassistant/components/sensor/openweathermap.py
+++ b/homeassistant/components/sensor/openweathermap.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.openweathermap
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-OpenWeatherMap (OWM) service.
+Support for the OpenWeatherMap (OWM) service.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.openweathermap/
@@ -26,13 +24,12 @@ SENSOR_TYPES = {
     'snow': ['Snow', 'mm']
 }
 
-# Return cached results if last scan was less then this time ago
+# Return cached results if last scan was less then this time ago.
 MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=120)
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Get the OpenWeatherMap sensor. """
-
+    """Get the OpenWeatherMap sensor."""
     if None in (hass.config.latitude, hass.config.longitude):
         _LOGGER.error("Latitude or longitude not set in Home Assistant config")
         return False
@@ -71,7 +68,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-few-public-methods
 class OpenWeatherMapSensor(Entity):
-    """ Implements an OpenWeatherMap sensor. """
+    """Implements an OpenWeatherMap sensor."""
 
     def __init__(self, weather_data, sensor_type, temp_unit):
         self.client_name = 'Weather'
@@ -85,22 +82,22 @@ class OpenWeatherMapSensor(Entity):
 
     @property
     def name(self):
+        """The name of the sensor."""
         return '{} {}'.format(self.client_name, self._name)
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the device."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     # pylint: disable=too-many-branches
     def update(self):
-        """ Gets the latest data from OWM and updates the states. """
-
+        """Gets the latest data from OWM and updates the states."""
         self.owa_client.update()
         data = self.owa_client.data
         fc_data = self.owa_client.fc_data
@@ -143,7 +140,7 @@ class OpenWeatherMapSensor(Entity):
 
 
 class WeatherData(object):
-    """ Gets the latest data from OpenWeatherMap. """
+    """Gets the latest data from OpenWeatherMap."""
 
     def __init__(self, owm, forecast, latitude, longitude):
         self.owm = owm
@@ -155,7 +152,7 @@ class WeatherData(object):
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self):
-        """ Gets the latest data from OpenWeatherMap. """
+        """Gets the latest data from OpenWeatherMap."""
         obs = self.owm.weather_at_coords(self.latitude, self.longitude)
         if obs is None:
             _LOGGER.warning('Failed to fetch data from OWM')
diff --git a/homeassistant/components/sensor/rest.py b/homeassistant/components/sensor/rest.py
index fb6499366f1194f1ac37a37995362662ade9847c..126ac4265cb62ecba3b9951c347f8a4e6a3ec150 100644
--- a/homeassistant/components/sensor/rest.py
+++ b/homeassistant/components/sensor/rest.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.rest
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The rest sensor will consume responses sent by an exposed REST API.
+Support for REST API sensors..
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.rest/
@@ -26,7 +24,7 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
 
 # pylint: disable=unused-variable
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Get the REST sensor. """
+    """Get the REST sensor."""
     resource = config.get('resource', None)
     method = config.get('method', DEFAULT_METHOD)
     payload = config.get('payload', None)
@@ -46,7 +44,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-many-arguments
 class RestSensor(Entity):
-    """ Implements a REST sensor. """
+    """Implements a REST sensor."""
 
     def __init__(self, hass, rest, name, unit_of_measurement, value_template):
         self._hass = hass
@@ -59,21 +57,21 @@ class RestSensor(Entity):
 
     @property
     def name(self):
-        """ The name of the sensor. """
+        """The name of the sensor."""
         return self._name
 
     @property
     def unit_of_measurement(self):
-        """ Unit the value is expressed in. """
+        """Unit the value is expressed in."""
         return self._unit_of_measurement
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the device."""
         return self._state
 
     def update(self):
-        """ Gets the latest data from REST API and updates the state. """
+        """Gets the latest data from REST API and updates the state."""
         self.rest.update()
         value = self.rest.data
 
@@ -97,7 +95,7 @@ class RestData(object):
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self):
-        """ Gets the latest data from REST service with GET method. """
+        """Gets the latest data from REST service with GET method."""
         try:
             with requests.Session() as sess:
                 response = sess.send(self._request, timeout=10,
diff --git a/homeassistant/components/sensor/rfxtrx.py b/homeassistant/components/sensor/rfxtrx.py
index 66e8c9f218e1a9913708e18840c9d271a50d7433..d424d899bccb63bc97ce5c1599663df94e430a4d 100644
--- a/homeassistant/components/sensor/rfxtrx.py
+++ b/homeassistant/components/sensor/rfxtrx.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.rfxtrx
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Shows sensor values from RFXtrx sensors.
+Support for RFXtrx sensors.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.rfxtrx/
@@ -28,11 +26,11 @@ _LOGGER = logging.getLogger(__name__)
 
 
 def setup_platform(hass, config, add_devices_callback, discovery_info=None):
-    """ Setup the RFXtrx platform. """
+    """Setup the RFXtrx platform."""
     from RFXtrx import SensorEvent
 
     def sensor_update(event):
-        """ Callback for sensor updates from the RFXtrx gateway. """
+        """Callback for sensor updates from the RFXtrx gateway."""
         if isinstance(event, SensorEvent):
             entity_id = slugify(event.device.id_string.lower())
 
@@ -56,7 +54,7 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
 
 
 class RfxtrxSensor(Entity):
-    """ Represents a RFXtrx sensor. """
+    """Represents a RFXtrx sensor."""
 
     def __init__(self, event):
         self.event = event
@@ -74,25 +72,27 @@ class RfxtrxSensor(Entity):
                                          id_string)
 
     def __str__(self):
+        """Returns the name."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         if self._data_type:
             return self.event.values[self._data_type]
         return None
 
     @property
     def name(self):
-        """ Get the name of the sensor. """
+        """Get the name of the sensor."""
         return self._name
 
     @property
     def device_state_attributes(self):
+        """Returns the state attributes."""
         return self.event.values
 
     @property
     def unit_of_measurement(self):
-        """ Unit this state is expressed in. """
+        """Unit this state is expressed in."""
         return self._unit_of_measurement
diff --git a/homeassistant/components/sensor/sabnzbd.py b/homeassistant/components/sensor/sabnzbd.py
index 5d8de104a5a12d7cf4a56f2f050c2ac54aa86e39..8d4c14984f09ce93b54a201d4332ac5b7c6facf9 100644
--- a/homeassistant/components/sensor/sabnzbd.py
+++ b/homeassistant/components/sensor/sabnzbd.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.sabnzbd
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Monitors SABnzbd NZB client API.
+Support for monitoring an SABnzbd NZB client.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.sabnzbd/
@@ -26,13 +24,12 @@ SENSOR_TYPES = {
 }
 
 _LOGGER = logging.getLogger(__name__)
-
 _THROTTLED_REFRESH = None
 
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the SABnzbd sensors. """
+    """Sets up the SABnzbd sensors."""
     from pysabnzbd import SabnzbdApi, SabnzbdApiException
 
     api_key = config.get("api_key")
@@ -68,7 +65,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class SabnzbdSensor(Entity):
-    """ Represents an SABnzbd sensor. """
+    """Represents an SABnzbd sensor."""
 
     def __init__(self, sensor_type, sabnzb_client, client_name):
         self._name = SENSOR_TYPES[sensor_type][0]
@@ -80,20 +77,21 @@ class SabnzbdSensor(Entity):
 
     @property
     def name(self):
+        """Returns the name of the sensor."""
         return self.client_name + ' ' + self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     def refresh_sabnzbd_data(self):
-        """ Calls the throttled SABnzbd refresh method. """
+        """Calls the throttled SABnzbd refresh method."""
         if _THROTTLED_REFRESH is not None:
             from pysabnzbd import SabnzbdApiException
             try:
@@ -104,6 +102,7 @@ class SabnzbdSensor(Entity):
                 )
 
     def update(self):
+        """Gets the latest data and updates the states."""
         self.refresh_sabnzbd_data()
         if self.sabnzb_client.queue:
             if self.type == 'current_status':
diff --git a/homeassistant/components/sensor/speedtest.py b/homeassistant/components/sensor/speedtest.py
index 629495f2be0f236b31b3c589ad771abce0b8db6c..67891f1f4d55c0daf07897824bec07970b8247d2 100644
--- a/homeassistant/components/sensor/speedtest.py
+++ b/homeassistant/components/sensor/speedtest.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.speedtest
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Speedtest.net sensor based on speedtest-cli.
+Support for Speedtest.net based on speedtest-cli.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.speedtest/
@@ -40,7 +38,7 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=1)
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Setup the Speedtest sensor. """
+    """Setup the Speedtest sensor."""
 
     data = SpeedtestData(hass, config)
     dev = []
@@ -53,7 +51,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
     add_devices(dev)
 
     def update(call=None):
-        """ Update service for manual updates. """
+        """Update service for manual updates."""
         data.update(dt_util.now())
         for sensor in dev:
             sensor.update()
@@ -63,7 +61,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-few-public-methods
 class SpeedtestSensor(Entity):
-    """ Implements a speedtest.net sensor. """
+    """Implements a speedtest.net sensor."""
 
     def __init__(self, speedtest_data, sensor_type):
         self._name = SENSOR_TYPES[sensor_type][0]
@@ -74,20 +72,21 @@ class SpeedtestSensor(Entity):
 
     @property
     def name(self):
+        """The name of the sensor."""
         return '{} {}'.format('Speedtest', self._name)
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the device."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     def update(self):
-        """ Gets the latest data from Forecast.io and updates the states. """
+        """Gets the latest data and updates the states."""
         data = self.speedtest_client.data
         if data is not None:
             if self.type == 'ping':
@@ -99,7 +98,7 @@ class SpeedtestSensor(Entity):
 
 
 class SpeedtestData(object):
-    """ Gets the latest data from speedtest.net. """
+    """Gets the latest data from speedtest.net."""
 
     def __init__(self, hass, config):
         self.data = None
@@ -112,7 +111,7 @@ class SpeedtestData(object):
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self, now):
-        """ Gets the latest data from speedtest.net. """
+        """Gets the latest data from speedtest.net."""
         _LOGGER.info('Executing speedtest')
         re_output = _SPEEDTEST_REGEX.split(
             check_output([sys.executable, self.path(
diff --git a/homeassistant/components/sensor/swiss_public_transport.py b/homeassistant/components/sensor/swiss_public_transport.py
index 4d44e58619f30f08c735832f8f29a038662c1496..f3e3407fd12b0d6cf85a748d4f442c1d92fda710 100644
--- a/homeassistant/components/sensor/swiss_public_transport.py
+++ b/homeassistant/components/sensor/swiss_public_transport.py
@@ -1,8 +1,5 @@
 """
-homeassistant.components.sensor.swiss_public_transport
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The Swiss public transport sensor will give you the next two departure times
-from a given location to another one. This sensor is limited to Switzerland.
+Support for transport.opendata.ch
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.swiss_public_transport/
@@ -26,12 +23,12 @@ ATTR_TARGET = 'Destination'
 ATTR_REMAINING_TIME = 'Remaining time'
 ICON = 'mdi:bus'
 
-# Return cached results if last scan was less then this time ago
+# Return cached results if last scan was less then this time ago.
 MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Get the Swiss public transport sensor. """
+    """Get the Swiss public transport sensor."""
 
     # journal contains [0] Station ID start, [1] Station ID destination
     # [2] Station name start, and [3] Station name destination
@@ -56,7 +53,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-few-public-methods
 class SwissPublicTransportSensor(Entity):
-    """ Implements an Swiss public transport sensor. """
+    """Implements an Swiss public transport sensor."""
 
     def __init__(self, data, journey):
         self.data = data
@@ -67,17 +64,17 @@ class SwissPublicTransportSensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name. """
+        """Returns the name of the sensor."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def device_state_attributes(self):
-        """ Returns the state attributes. """
+        """Returns the state attributes."""
         if self._times is not None:
             return {
                 ATTR_DEPARTURE_TIME1: self._times[0],
@@ -90,12 +87,12 @@ class SwissPublicTransportSensor(Entity):
 
     @property
     def icon(self):
-        """ Icon to use in the frontend, if any. """
+        """Icon to use in the frontend, if any."""
         return ICON
 
     # pylint: disable=too-many-branches
     def update(self):
-        """ Gets the latest data from opendata.ch and updates the states. """
+        """Gets the latest data from opendata.ch and updates the states."""
         self.data.update()
         self._times = self.data.times
         try:
@@ -106,7 +103,7 @@ class SwissPublicTransportSensor(Entity):
 
 # pylint: disable=too-few-public-methods
 class PublicTransportData(object):
-    """ Class for handling the data retrieval. """
+    """Class for handling the data retrieval."""
 
     def __init__(self, journey):
         self.start = journey[0]
@@ -115,8 +112,7 @@ class PublicTransportData(object):
 
     @Throttle(MIN_TIME_BETWEEN_UPDATES)
     def update(self):
-        """ Gets the latest data from opendata.ch. """
-
+        """Gets the latest data from opendata.ch."""
         response = requests.get(
             _RESOURCE +
             'connections?' +
diff --git a/homeassistant/components/sensor/systemmonitor.py b/homeassistant/components/sensor/systemmonitor.py
index 9e191a112b01a922b79d02d407aee067922e48c4..b6286943a2cbf3d6ac4afb362f1ba84043d36d4b 100644
--- a/homeassistant/components/sensor/systemmonitor.py
+++ b/homeassistant/components/sensor/systemmonitor.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.systemmonitor
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Shows system monitor values such as: disk, memory, and processor use.
+Support for monitoring the local system..
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.systemmonitor/
@@ -40,8 +38,7 @@ _LOGGER = logging.getLogger(__name__)
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the sensors. """
-
+    """Sets up the sensors."""
     dev = []
     for resource in config['resources']:
         if 'arg' not in resource:
@@ -55,7 +52,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class SystemMonitorSensor(Entity):
-    """ A system monitor sensor. """
+    """A system monitor sensor."""
 
     def __init__(self, sensor_type, argument=''):
         self._name = SENSOR_TYPES[sensor_type][0] + ' ' + argument
@@ -67,27 +64,27 @@ class SystemMonitorSensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name of the sensor. """
+        """Returns the name of the sensor."""
         return self._name.rstrip()
 
     @property
     def icon(self):
-        """ Icon to use in the frontend, if any. """
+        """Icon to use in the frontend, if any."""
         return SENSOR_TYPES[self.type][2]
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the device."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     # pylint: disable=too-many-branches
     def update(self):
-        """ Get the latest system informations. """
+        """Get the latest system information."""
         import psutil
         if self.type == 'disk_use_percent':
             self._state = psutil.disk_usage(self.argument).percent
diff --git a/homeassistant/components/sensor/tellduslive.py b/homeassistant/components/sensor/tellduslive.py
index 001d20ee79222e39966f8f33f48c1f9f1250ef7f..b7e4a8b65ba923cd1214ba7253c699ad3ec33dbb 100644
--- a/homeassistant/components/sensor/tellduslive.py
+++ b/homeassistant/components/sensor/tellduslive.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.tellduslive
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Shows sensor values from Tellstick Net/Telstick Live.
+Support for Tellstick Net/Telstick Live.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.tellduslive/
@@ -41,14 +39,14 @@ SENSOR_TYPES = {
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up Tellstick sensors. """
+    """Sets up Tellstick sensors."""
     if discovery_info is None:
         return
     add_devices(TelldusLiveSensor(sensor) for sensor in discovery_info)
 
 
 class TelldusLiveSensor(Entity):
-    """ Represents a Telldus Live sensor. """
+    """ Represents a Telldus Live sensor."""
 
     def __init__(self, sensor_id):
         self._id = sensor_id
@@ -56,55 +54,63 @@ class TelldusLiveSensor(Entity):
         _LOGGER.debug("created sensor %s", self)
 
     def update(self):
-        """ update sensor values """
+        """Update sensor values."""
         tellduslive.NETWORK.update_sensors()
         self._sensor = tellduslive.NETWORK.get_sensor(self._id)
 
     @property
     def _sensor_name(self):
+
         return self._sensor["name"]
 
     @property
     def _sensor_value(self):
+
         return self._sensor["data"]["value"]
 
     @property
     def _sensor_type(self):
+
         return self._sensor["data"]["name"]
 
     @property
     def _battery_level(self):
+
         sensor_battery_level = self._sensor.get("battery")
         return round(sensor_battery_level * 100 / 255) \
             if sensor_battery_level else None
 
     @property
     def _last_updated(self):
+
         sensor_last_updated = self._sensor.get("lastUpdated")
         return str(datetime.fromtimestamp(sensor_last_updated)) \
             if sensor_last_updated else None
 
     @property
     def _value_as_temperature(self):
+
         return round(float(self._sensor_value), 1)
 
     @property
     def _value_as_humidity(self):
+
         return int(round(float(self._sensor_value)))
 
     @property
     def name(self):
-        """ Returns the name of the device. """
+        """Returns the name of the sensor."""
         return "{} {}".format(self._sensor_name or DEVICE_DEFAULT_NAME,
                               self.quantity_name)
 
     @property
     def available(self):
+
         return not self._sensor.get("offline", False)
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         if self._sensor_type == SENSOR_TYPE_TEMP:
             return self._value_as_temperature
         elif self._sensor_type == SENSOR_TYPE_HUMIDITY:
@@ -112,6 +118,7 @@ class TelldusLiveSensor(Entity):
 
     @property
     def device_state_attributes(self):
+        """Returns the state attributes."""
         attrs = {}
         if self._battery_level is not None:
             attrs[ATTR_BATTERY_LEVEL] = self._battery_level
@@ -121,13 +128,15 @@ class TelldusLiveSensor(Entity):
 
     @property
     def quantity_name(self):
-        """ name of quantity """
+        """Name of quantity."""
         return SENSOR_TYPES[self._sensor_type][0]
 
     @property
     def unit_of_measurement(self):
+
         return SENSOR_TYPES[self._sensor_type][1]
 
     @property
     def icon(self):
+
         return SENSOR_TYPES[self._sensor_type][2]
diff --git a/homeassistant/components/sensor/tellstick.py b/homeassistant/components/sensor/tellstick.py
index 0b8b80c3388f62dc0c45911ee8911a8b53a49723..6efdb73753697baa4645e8af52da5108414fca8e 100644
--- a/homeassistant/components/sensor/tellstick.py
+++ b/homeassistant/components/sensor/tellstick.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.tellstick
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Shows sensor values from Tellstick sensors.
+Support for Tellstick sensors.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.tellstick/
@@ -20,7 +18,7 @@ REQUIREMENTS = ['tellcore-py==1.1.2']
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up Tellstick sensors. """
+    """Sets up Tellstick sensors."""
     import tellcore.telldus as telldus
     import tellcore.constants as tellcore_constants
 
@@ -79,7 +77,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class TellstickSensor(Entity):
-    """ Represents a Tellstick sensor. """
+    """Represents a Tellstick sensor."""
 
     def __init__(self, name, sensor, datatype, sensor_info):
         self.datatype = datatype
@@ -90,14 +88,15 @@ class TellstickSensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name of the device. """
+        """Returns the name of the sensor."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self.sensor.value(self.datatype).value
 
     @property
     def unit_of_measurement(self):
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
diff --git a/homeassistant/components/sensor/temper.py b/homeassistant/components/sensor/temper.py
index a330ef064c0a64f44c0cb6e41da6a618efdd150c..8fd97bf2224352d583c527893ec7bce675c59944 100644
--- a/homeassistant/components/sensor/temper.py
+++ b/homeassistant/components/sensor/temper.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.temper
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Support for getting temperature from TEMPer devices.
 
 For more details about this platform, please refer to the documentation at
@@ -20,7 +18,7 @@ REQUIREMENTS = ['https://github.com/rkabadi/temper-python/archive/'
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices_callback, discovery_info=None):
-    """ Find and return Temper sensors. """
+    """Find and return Temper sensors."""
     from temperusb.temper import TemperHandler
 
     temp_unit = hass.config.temperature_unit
@@ -31,7 +29,8 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
 
 
 class TemperSensor(Entity):
-    """ Represents an Temper temperature sensor. """
+    """Represents an Temper temperature sensor."""
+
     def __init__(self, temper_device, temp_unit, name):
         self.temper_device = temper_device
         self.temp_unit = temp_unit
@@ -40,21 +39,21 @@ class TemperSensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name of the temperature sensor. """
+        """Returns the name of the temperature sensor."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the entity. """
+        """Returns the state of the entity."""
         return self.current_value
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self.temp_unit
 
     def update(self):
-        """ Retrieve latest state. """
+        """Retrieve latest state."""
         try:
             self.current_value = self.temper_device.get_temperature()
         except IOError:
diff --git a/homeassistant/components/sensor/template.py b/homeassistant/components/sensor/template.py
index 0b58c07589375e89c79b7f211045d929964691df..bd4ece7d450ee0430b47f6d686afd2fe769e45c4 100644
--- a/homeassistant/components/sensor/template.py
+++ b/homeassistant/components/sensor/template.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.template
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Allows the creation of a sensor that breaks out state_attributes
 from other entities.
 
@@ -26,7 +24,7 @@ STATE_ERROR = 'error'
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the sensors. """
+    """Sets up the sensors."""
 
     sensors = []
     if config.get(CONF_SENSORS) is None:
@@ -68,7 +66,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class SensorTemplate(Entity):
-    """ Represents a Template Sensor. """
+    """Represents a Template Sensor."""
 
     # pylint: disable=too-many-arguments
     def __init__(self,
@@ -96,25 +94,26 @@ class SensorTemplate(Entity):
 
     @property
     def name(self):
-        """ Returns the name of the device. """
+        """Returns the name of the sensor."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Returns the unit_of_measurement of the device. """
+        """Returns the unit_of_measurement of the device."""
         return self._unit_of_measurement
 
     @property
     def should_poll(self):
-        """ Tells Home Assistant not to poll this entity. """
+        """No polling needed."""
         return False
 
     def update(self):
+        """Gets the latest data and updates the states."""
         try:
             self._state = template.render(self.hass, self._template)
         except TemplateError as ex:
diff --git a/homeassistant/components/sensor/time_date.py b/homeassistant/components/sensor/time_date.py
index 4e63384a8ac6dc9c45cd064d980b550f7f387b70..1d48b15b5b9c54286fe42142bcd0c64efe59b262 100644
--- a/homeassistant/components/sensor/time_date.py
+++ b/homeassistant/components/sensor/time_date.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.time_date
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Date and Time service.
+Support for showing the date and the time.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.time_date/
@@ -23,7 +21,7 @@ OPTION_TYPES = {
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Get the Time and Date sensor. """
+    """Get the Time and Date sensor."""
 
     if hass.config.time_zone is None:
         _LOGGER.error("Timezone is not set in Home Assistant config")
@@ -41,7 +39,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-few-public-methods
 class TimeDateSensor(Entity):
-    """ Implements a Time and Date sensor. """
+    """Implements a Time and Date sensor."""
 
     def __init__(self, option_type):
         self._name = OPTION_TYPES[option_type]
@@ -51,16 +49,17 @@ class TimeDateSensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name of the device. """
+        """Returns the name of the sensor."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def icon(self):
+        """Icon to use in the frontend, if any."""
         if "date" in self.type and "time" in self.type:
             return "mdi:calendar-clock"
         elif "date" in self.type:
@@ -69,8 +68,7 @@ class TimeDateSensor(Entity):
             return "mdi:clock"
 
     def update(self):
-        """ Gets the latest data and updates the states. """
-
+        """Gets the latest data and updates the states."""
         time_date = dt_util.utcnow()
         time = dt_util.datetime_to_time_str(dt_util.as_local(time_date))
         time_utc = dt_util.datetime_to_time_str(time_date)
diff --git a/homeassistant/components/sensor/torque.py b/homeassistant/components/sensor/torque.py
index c3e5b8541adcf16387ceb4f3a40a89d5101e8471..9507bbb0de5965eece9d64c546d77650d61899f3 100644
--- a/homeassistant/components/sensor/torque.py
+++ b/homeassistant/components/sensor/torque.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.torque
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Get data from the Torque OBD application.
+Support for the Torque OBD application.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.torque/
@@ -29,25 +27,24 @@ VALUE_KEY = re.compile(SENSOR_VALUE_KEY)
 
 
 def decode(value):
-    """ Double-decode required. """
+    """Double-decode required."""
     return value.encode('raw_unicode_escape').decode('utf-8')
 
 
 def convert_pid(value):
-    """ Convert pid from hex string to integer. """
+    """Convert pid from hex string to integer."""
     return int(value, 16)
 
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Set up Torque platform. """
-
+    """Set up Torque platform."""
     vehicle = config.get('name', DEFAULT_NAME)
     email = config.get('email', None)
     sensors = {}
 
     def _receive_data(handler, path_match, data):
-        """ Received data from Torque. """
+        """Received data from Torque."""
         handler.send_response(HTTP_OK)
         handler.end_headers()
 
@@ -84,7 +81,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class TorqueSensor(Entity):
-    """ Represents a Torque sensor. """
+    """Represents a Torque sensor."""
 
     def __init__(self, name, unit):
         self._name = name
@@ -93,25 +90,25 @@ class TorqueSensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name of the sensor. """
+        """Returns the name of the sensor."""
         return self._name
 
     @property
     def unit_of_measurement(self):
-        """ Returns the unit of measurement. """
+        """Returns the unit of measurement."""
         return self._unit
 
     @property
     def state(self):
-        """ State of the sensor. """
+        """State of the sensor."""
         return self._state
 
     @property
     def icon(self):
-        """ Sensor default icon. """
+        """Sensor default icon."""
         return 'mdi:car'
 
     def on_update(self, value):
-        """ Receive an update. """
+        """Receive an update."""
         self._state = value
         self.update_ha_state()
diff --git a/homeassistant/components/sensor/transmission.py b/homeassistant/components/sensor/transmission.py
index 662394f3b18db490e5282124c57759984ed28ded..cf772fc62c2bd86d4a847292d3427deb27049b23 100644
--- a/homeassistant/components/sensor/transmission.py
+++ b/homeassistant/components/sensor/transmission.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.transmission
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Monitors Transmission BitTorrent client API.
+Support for monitoring the Transmission BitTorrent client API.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.transmission/
@@ -27,7 +25,7 @@ _THROTTLED_REFRESH = None
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the Transmission sensors. """
+    """Sets up the Transmission sensors."""
     import transmissionrpc
     from transmissionrpc.error import TransmissionError
 
@@ -41,9 +39,6 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
         _LOGGER.error('Missing config variable %s', CONF_HOST)
         return False
 
-    # import logging
-    # logging.getLogger('transmissionrpc').setLevel(logging.DEBUG)
-
     transmission_api = transmissionrpc.Client(
         host, port=port, user=username, password=password)
     try:
@@ -69,7 +64,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class TransmissionSensor(Entity):
-    """ A Transmission sensor. """
+    """A Transmission sensor."""
 
     def __init__(self, sensor_type, transmission_client, client_name):
         self._name = SENSOR_TYPES[sensor_type][0]
@@ -81,16 +76,17 @@ class TransmissionSensor(Entity):
 
     @property
     def name(self):
+        """Returns the name of the sensor."""
         return self.client_name + ' ' + self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return self._state
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     def refresh_transmission_data(self):
@@ -106,7 +102,7 @@ class TransmissionSensor(Entity):
                 )
 
     def update(self):
-        """ Gets the latest data from Transmission and updates the state. """
+        """Gets the latest data from Transmission and updates the state."""
         self.refresh_transmission_data()
         if self.type == 'current_status':
             if self.transmission_client.session:
diff --git a/homeassistant/components/sensor/twitch.py b/homeassistant/components/sensor/twitch.py
index ea743992fb40c59e2119cab3e151810e1a9b8a59..db81c55b6a9d2c24baea1547a589d1dd8c6c340e 100644
--- a/homeassistant/components/sensor/twitch.py
+++ b/homeassistant/components/sensor/twitch.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.twitch
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-A sensor for the Twitch stream status.
+Support for the Twitch stream status.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.twitch/
@@ -21,13 +19,13 @@ DOMAIN = 'twitch'
 
 # pylint: disable=unused-argument
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the Twitch platform. """
+    """Sets up the Twitch platform."""
     add_devices(
         [TwitchSensor(channel) for channel in config.get('channels', [])])
 
 
 class TwitchSensor(Entity):
-    """ Represents an Twitch channel. """
+    """Represents an Twitch channel."""
 
     # pylint: disable=abstract-method
     def __init__(self, channel):
@@ -40,22 +38,22 @@ class TwitchSensor(Entity):
 
     @property
     def should_poll(self):
-        """ Device should be polled. """
+        """Device should be polled."""
         return True
 
     @property
     def name(self):
-        """ Returns the name of the sensor. """
+        """Returns the name of the sensor."""
         return self._channel
 
     @property
     def state(self):
-        """ State of the sensor. """
+        """State of the sensor."""
         return self._state
 
     # pylint: disable=no-member
     def update(self):
-        """ Update device state. """
+        """Update device state."""
         from twitch.api import v3 as twitch
         stream = twitch.streams.by_channel(self._channel).get('stream')
         if stream:
@@ -68,7 +66,7 @@ class TwitchSensor(Entity):
 
     @property
     def device_state_attributes(self):
-        """ Returns the state attributes. """
+        """Returns the state attributes."""
         if self._state == STATE_STREAMING:
             return {
                 ATTR_GAME: self._game,
@@ -78,5 +76,5 @@ class TwitchSensor(Entity):
 
     @property
     def icon(self):
-        """ Icon to use in the frontend, if any. """
+        """Icon to use in the frontend, if any."""
         return ICON
diff --git a/homeassistant/components/sensor/vera.py b/homeassistant/components/sensor/vera.py
index d919b57e2cd7af05509f9ab22cd1f354184b1f22..e490c031c9ea56afc4289f014f303c6c2ac0e63c 100644
--- a/homeassistant/components/sensor/vera.py
+++ b/homeassistant/components/sensor/vera.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.vera
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Support for Vera sensors.
 
 For more details about this platform, please refer to the documentation at
@@ -23,7 +21,7 @@ _LOGGER = logging.getLogger(__name__)
 
 # pylint: disable=unused-argument
 def get_devices(hass, config):
-    """ Find and return Vera Sensors. """
+    """Find and return Vera Sensors."""
     import pyvera as veraApi
 
     base_url = config.get('vera_controller_url')
@@ -40,7 +38,7 @@ def get_devices(hass, config):
 
     if created:
         def stop_subscription(event):
-            """ Shutdown Vera subscriptions and subscription thread on exit"""
+            """Shutdown Vera subscriptions and subscription thread on exit."""
             _LOGGER.info("Shutting down subscriptions.")
             vera_controller.stop()
 
@@ -54,7 +52,7 @@ def get_devices(hass, config):
     try:
         devices = vera_controller.get_devices(categories)
     except RequestException:
-        # There was a network related error connecting to the vera controller
+        # There was a network related error connecting to the vera controller.
         _LOGGER.exception("Error communicating with Vera API")
         return False
 
@@ -71,12 +69,12 @@ def get_devices(hass, config):
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Performs setup for Vera controller devices. """
+    """Performs setup for Vera controller devices."""
     add_devices(get_devices(hass, config))
 
 
 class VeraSensor(Entity):
-    """ Represents a Vera Sensor. """
+    """Represents a Vera Sensor."""
 
     def __init__(self, vera_device, controller, extra_data=None):
         self.vera_device = vera_device
@@ -93,7 +91,7 @@ class VeraSensor(Entity):
         self.update()
 
     def _update_callback(self, _device):
-        """ Called by the vera device callback to update state. """
+        """Called by the vera device callback to update state."""
         self.update_ha_state(True)
 
     def __str__(self):
@@ -101,16 +99,17 @@ class VeraSensor(Entity):
 
     @property
     def state(self):
+        """Returns the name of the sensor."""
         return self.current_value
 
     @property
     def name(self):
-        """ Get the mame of the sensor. """
+        """Get the mame of the sensor."""
         return self._name
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """Unit of measurement of this entity, if any."""
         if self.vera_device.category == "Temperature Sensor":
             return self._temperature_units
         elif self.vera_device.category == "Light Sensor":
@@ -120,6 +119,7 @@ class VeraSensor(Entity):
 
     @property
     def device_state_attributes(self):
+        """Returns the sensor's attributes."""
         attr = {}
         if self.vera_device.has_battery:
             attr[ATTR_BATTERY_LEVEL] = self.vera_device.battery_level + '%'
@@ -144,10 +144,11 @@ class VeraSensor(Entity):
 
     @property
     def should_poll(self):
-        """ Tells Home Assistant not to poll this entity. """
+        """No polling needed."""
         return False
 
     def update(self):
+        """Updates the state."""
         if self.vera_device.category == "Temperature Sensor":
             current_temp = self.vera_device.temperature
             vera_temp_units = (
diff --git a/homeassistant/components/sensor/verisure.py b/homeassistant/components/sensor/verisure.py
index f397242615d430fea7cc17bf683d46135e97c429..12cafea0f41d84d27c4c69c4765d61abdc80633b 100644
--- a/homeassistant/components/sensor/verisure.py
+++ b/homeassistant/components/sensor/verisure.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.verisure
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Interfaces with Verisure sensors.
 
 For more details about this platform, please refer to the documentation at
@@ -16,8 +14,7 @@ _LOGGER = logging.getLogger(__name__)
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the Verisure platform. """
-
+    """Sets up the Verisure platform."""
     if not verisure.MY_PAGES:
         _LOGGER.error('A connection has not been made to Verisure mypages.')
         return False
@@ -49,86 +46,86 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class VerisureThermometer(Entity):
-    """ represents a Verisure thermometer within home assistant. """
+    """Represents a Verisure thermometer."""
 
     def __init__(self, climate_status):
         self._id = climate_status.id
 
     @property
     def name(self):
-        """ Returns the name of the device. """
+        """Returns the name of the device."""
         return '{} {}'.format(
             verisure.CLIMATE_STATUS[self._id].location,
             "Temperature")
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the device."""
         # remove ° character
         return verisure.CLIMATE_STATUS[self._id].temperature[:-1]
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity """
+        """Unit of measurement of this entity."""
         return TEMP_CELCIUS  # can verisure report in fahrenheit?
 
     def update(self):
-        """ update sensor """
+        """Update the sensor."""
         verisure.update_climate()
 
 
 class VerisureHygrometer(Entity):
-    """ represents a Verisure hygrometer within home assistant. """
+    """Represents a Verisure hygrometer."""
 
     def __init__(self, climate_status):
         self._id = climate_status.id
 
     @property
     def name(self):
-        """ Returns the name of the device. """
+        """Returns the name of the sensor."""
         return '{} {}'.format(
             verisure.CLIMATE_STATUS[self._id].location,
             "Humidity")
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         # remove % character
         return verisure.CLIMATE_STATUS[self._id].humidity[:-1]
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity """
+        """Unit of measurement of this sensor."""
         return "%"
 
     def update(self):
-        """ update sensor """
+        """Update sensor the sensor."""
         verisure.update_climate()
 
 
 class VerisureMouseDetection(Entity):
-    """ represents a Verisure mousedetector within home assistant. """
+    """ Represents a Verisure mouse detector."""
 
     def __init__(self, mousedetection_status):
         self._id = mousedetection_status.deviceLabel
 
     @property
     def name(self):
-        """ Returns the name of the device. """
+        """Returns the name of the sensor."""
         return '{} {}'.format(
             verisure.MOUSEDETECTION_STATUS[self._id].location,
             "Mouse")
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the sensor."""
         return verisure.MOUSEDETECTION_STATUS[self._id].count
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity """
+        """Unit of measurement of this sensor."""
         return "Mice"
 
     def update(self):
-        """ update sensor """
+        """Update the sensor."""
         verisure.update_mousedetection()
diff --git a/homeassistant/components/sensor/wink.py b/homeassistant/components/sensor/wink.py
index 8f56742419dac33f3ae2a4804ca41ff2878a427f..ebdd01441c0fe43c11c87417c767631a49b7d4d7 100644
--- a/homeassistant/components/sensor/wink.py
+++ b/homeassistant/components/sensor/wink.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.wink
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Support for Wink sensors.
 
 For more details about this platform, please refer to the documentation at
@@ -15,7 +13,7 @@ REQUIREMENTS = ['python-wink==0.6.1']
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up the Wink platform. """
+    """Sets up the Wink platform."""
     import pywink
 
     if discovery_info is None:
@@ -34,57 +32,57 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class WinkSensorDevice(Entity):
-    """ Represents a Wink sensor. """
+    """Represents a Wink sensor."""
 
     def __init__(self, wink):
         self.wink = wink
 
     @property
     def state(self):
-        """ Returns the state. """
+        """Returns the state."""
         return STATE_OPEN if self.is_open else STATE_CLOSED
 
     @property
     def unique_id(self):
-        """ Returns the id of this wink sensor """
+        """Returns the id of this wink sensor."""
         return "{}.{}".format(self.__class__, self.wink.device_id())
 
     @property
     def name(self):
-        """ Returns the name of the sensor if any. """
+        """Returns the name of the sensor if any."""
         return self.wink.name()
 
     def update(self):
-        """ Update state of the sensor. """
+        """Update state of the sensor."""
         self.wink.update_state()
 
     @property
     def is_open(self):
-        """ True if door is open. """
+        """True if door is open."""
         return self.wink.state()
 
 
 class WinkEggMinder(Entity):
-    """ Represents a Wink Egg Minder. """
+    """Represents a Wink Egg Minder."""
 
     def __init__(self, wink):
         self.wink = wink
 
     @property
     def state(self):
-        """ Returns the state. """
+        """Returns the state."""
         return self.wink.state()
 
     @property
     def unique_id(self):
-        """ Returns the id of this wink Egg Minder """
+        """Returns the id of this wink Egg Minder."""
         return "{}.{}".format(self.__class__, self.wink.device_id())
 
     @property
     def name(self):
-        """ Returns the name of the Egg Minder if any. """
+        """Returns the name of the Egg Minder if any."""
         return self.wink.name()
 
     def update(self):
-        """ Update state of the Egg Minder. """
+        """Update state of the Egg Minder."""
         self.wink.update_state()
diff --git a/homeassistant/components/sensor/worldclock.py b/homeassistant/components/sensor/worldclock.py
index 13ec4c2fb21409243f1145a0c9e6f0850a0cb790..1f42ebafc17d4c957be41b390fe717ade2983ee0 100644
--- a/homeassistant/components/sensor/worldclock.py
+++ b/homeassistant/components/sensor/worldclock.py
@@ -1,8 +1,5 @@
 """
-homeassistant.components.sensor.worldclock
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The Worldclock sensor let you display the current time of a different time
-zone.
+Support for showing the time in a different time zone.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.worldclock/
@@ -18,8 +15,7 @@ ICON = 'mdi:clock'
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Get the Worldclock sensor. """
-
+    """Get the Worldclock sensor."""
     try:
         time_zone = dt_util.get_time_zone(config.get('time_zone'))
     except AttributeError:
@@ -37,7 +33,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class WorldClockSensor(Entity):
-    """ Implements a Worldclock sensor. """
+    """Implements a Worldclock sensor."""
 
     def __init__(self, time_zone, name):
         self._name = name
@@ -47,20 +43,20 @@ class WorldClockSensor(Entity):
 
     @property
     def name(self):
-        """ Returns the name of the device. """
+        """Returns the name of the device."""
         return self._name
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the device."""
         return self._state
 
     @property
     def icon(self):
-        """ Icon to use in the frontend, if any. """
+        """Icon to use in the frontend, if any."""
         return ICON
 
     def update(self):
-        """ Gets the time and updates the states. """
+        """Gets the time and updates the states."""
         self._state = dt_util.datetime_to_time_str(
             dt_util.now(time_zone=self._time_zone))
diff --git a/homeassistant/components/sensor/yr.py b/homeassistant/components/sensor/yr.py
index c4a743f21a01d12429db3cc2b37642939b88eb6f..6bb460b1373be01f07e44e193471b9bd3992a553 100644
--- a/homeassistant/components/sensor/yr.py
+++ b/homeassistant/components/sensor/yr.py
@@ -1,7 +1,5 @@
 """
-homeassistant.components.sensor.yr
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Yr.no weather service.
+Support for Yr.no weather service.
 
 For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.yr/
@@ -41,8 +39,7 @@ SENSOR_TYPES = {
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Get the Yr.no sensor. """
-
+    """Get the Yr.no sensor."""
     latitude = config.get(CONF_LATITUDE, hass.config.latitude)
     longitude = config.get(CONF_LONGITUDE, hass.config.longitude)
     elevation = config.get('elevation')
@@ -77,7 +74,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 # pylint: disable=too-many-instance-attributes
 class YrSensor(Entity):
-    """ Implements an Yr.no sensor. """
+    """Implements an Yr.no sensor."""
 
     def __init__(self, sensor_type, weather):
         self.client_name = 'yr'
@@ -92,16 +89,17 @@ class YrSensor(Entity):
 
     @property
     def name(self):
+        """The name of the sensor."""
         return '{} {}'.format(self.client_name, self._name)
 
     @property
     def state(self):
-        """ Returns the state of the device. """
+        """Returns the state of the device."""
         return self._state
 
     @property
     def device_state_attributes(self):
-        """ Returns state attributes. """
+        """Returns state attributes. """
         data = {
             'about': "Weather forecast from yr.no, delivered by the"
                      " Norwegian Meteorological Institute and the NRK"
@@ -116,20 +114,19 @@ class YrSensor(Entity):
 
     @property
     def unit_of_measurement(self):
-        """ Unit of measurement of this entity, if any. """
+        """ Unit of measurement of this entity, if any."""
         return self._unit_of_measurement
 
     def update(self):
-        """ Gets the latest data from yr.no and updates the states. """
-
+        """Gets the latest data from yr.no and updates the states."""
         now = dt_util.utcnow()
-        # check if data should be updated
+        # Check if data should be updated
         if self._update is not None and now <= self._update:
             return
 
         self._weather.update()
 
-        # find sensor
+        # Find sensor
         for time_entry in self._weather.data['product']['time']:
             valid_from = dt_util.str_to_datetime(
                 time_entry['@from'], "%Y-%m-%dT%H:%M:%SZ")
@@ -167,7 +164,7 @@ class YrSensor(Entity):
 
 # pylint: disable=too-few-public-methods
 class YrData(object):
-    """ Gets the latest data and updates the states. """
+    """Gets the latest data and updates the states."""
 
     def __init__(self, coordinates):
         self._url = 'http://api.yr.no/weatherapi/locationforecast/1.9/?' \
@@ -178,8 +175,8 @@ class YrData(object):
         self.update()
 
     def update(self):
-        """ Gets the latest data from yr.no """
-        # check if new will be available
+        """Gets the latest data from yr.no."""
+        # Check if new will be available
         if self._nextrun is not None and dt_util.utcnow() <= self._nextrun:
             return
         try:
diff --git a/homeassistant/components/sensor/zigbee.py b/homeassistant/components/sensor/zigbee.py
index 1f165e97c44ec1599e49f30451d69bbe7181033b..45615e9397eaf88df9e6791b19506fe4b8d30a5e 100644
--- a/homeassistant/components/sensor/zigbee.py
+++ b/homeassistant/components/sensor/zigbee.py
@@ -1,6 +1,4 @@
 """
-homeassistant.components.sensor.zigbee
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Contains functionality to use a ZigBee device as a sensor.
 
 For more details about this platform, please refer to the documentation at
@@ -38,7 +36,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
 
 
 class ZigBeeTemperatureSensor(Entity):
-    """ Allows usage of an XBee Pro as a temperature sensor. """
+    """Allows usage of an XBee Pro as a temperature sensor."""
     def __init__(self, hass, config):
         self._config = config
         self._temp = None
@@ -48,17 +46,21 @@ class ZigBeeTemperatureSensor(Entity):
 
     @property
     def name(self):
+        """The name of the sensor."""
         return self._config.name
 
     @property
     def state(self):
+        """Returns the state of the sensor."""
         return self._temp
 
     @property
     def unit_of_measurement(self):
+        """Unit the value is expressed in."""
         return TEMP_CELCIUS
 
     def update(self, *args):
+        """Gets the latest data."""
         try:
             self._temp = zigbee.DEVICE.get_temperature(self._config.address)
         except zigbee.ZIGBEE_TX_FAILURE:
diff --git a/homeassistant/components/sensor/zwave.py b/homeassistant/components/sensor/zwave.py
index 4159b915f26c52e17bc51fede3a42c21fcc051bf..3ed3a7b90f0521997618a760df425480cc864a43 100644
--- a/homeassistant/components/sensor/zwave.py
+++ b/homeassistant/components/sensor/zwave.py
@@ -1,10 +1,8 @@
 """
-homeassistant.components.sensor.zwave
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Interfaces with Z-Wave sensors.
 
 For more details about this platform, please refer to the documentation
-at https://home-assistant.io/components/zwave/
+at https://home-assistant.io/components/sensor.zwave/
 """
 # Because we do not compile openzwave on CI
 # pylint: disable=import-error
@@ -43,7 +41,7 @@ DEVICE_MAPPINGS = {
 
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
-    """ Sets up Z-Wave sensors. """
+    """Sets up Z-Wave sensors."""
 
     # Return on empty `discovery_info`. Given you configure HA with:
     #
@@ -67,7 +65,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
                            value.node.product_id,
                            value.index)
 
-    # Check workaround mappings for specific devices
+    # Check workaround mappings for specific devices.
     if specific_sensor_key in DEVICE_MAPPINGS:
         if DEVICE_MAPPINGS[specific_sensor_key] == WORKAROUND_NO_OFF_EVENT:
             # Default the multiplier to 4
@@ -78,7 +76,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
         elif DEVICE_MAPPINGS[specific_sensor_key] == WORKAROUND_IGNORE:
             return
 
-    # generic Device mappings
+    # Generic Device mappings
     elif value.command_class == COMMAND_CLASS_SENSOR_MULTILEVEL:
         add_devices([ZWaveMultilevelSensor(value)])
 
@@ -91,7 +89,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
 
 
 class ZWaveSensor(ZWaveDeviceEntity, Entity):
-    """ Represents a Z-Wave sensor. """
+    """Represents a Z-Wave sensor."""
 
     def __init__(self, sensor_value):
         from openzwave.network import ZWaveNetwork
@@ -104,39 +102,34 @@ class ZWaveSensor(ZWaveDeviceEntity, Entity):
 
     @property
     def state(self):
-        """ Returns the state of the sensor. """
+        """Returns the state of the sensor."""
         return self._value.data
 
     @property
     def unit_of_measurement(self):
+        """Unit the value is expressed in."""
         return self._value.units
 
     def value_changed(self, value):
-        """ Called when a value has changed on the network. """
+        """Called when a value has changed on the network."""
         if self._value.value_id == value.value_id:
             self.update_ha_state()
 
 
 class ZWaveTriggerSensor(ZWaveSensor):
     """
-    Represents a stateless sensor which
-    triggers events just 'On' within Z-Wave.
+    Represents a stateless sensor which triggers events just 'On'
+    within Z-Wave.
     """
 
     def __init__(self, sensor_value, hass, re_arm_sec=60):
-        """
-        :param sensor_value: The z-wave node
-        :param hass:
-        :param re_arm_sec: Set state to Off re_arm_sec after the last On event
-        :return:
-        """
         super(ZWaveTriggerSensor, self).__init__(sensor_value)
         self._hass = hass
         self.invalidate_after = dt_util.utcnow()
         self.re_arm_sec = re_arm_sec
 
     def value_changed(self, value):
-        """ Called when a value has changed on the network. """
+        """Called when a value has changed on the network."""
         if self._value.value_id == value.value_id:
             self.update_ha_state()
             if value.data:
@@ -149,7 +142,7 @@ class ZWaveTriggerSensor(ZWaveSensor):
 
     @property
     def state(self):
-        """ Returns the state of the sensor. """
+        """Returns the state of the sensor."""
         if not self._value.data or \
                 (self.invalidate_after is not None and
                  self.invalidate_after <= dt_util.utcnow()):
@@ -159,11 +152,10 @@ class ZWaveTriggerSensor(ZWaveSensor):
 
 
 class ZWaveMultilevelSensor(ZWaveSensor):
-    """ Represents a multi level sensor Z-Wave sensor. """
-
+    """Represents a multi level sensor Z-Wave sensor."""
     @property
     def state(self):
-        """ Returns the state of the sensor. """
+        """Returns the state of the sensor."""
         value = self._value.data
 
         if self._value.units in ('C', 'F'):
@@ -175,6 +167,7 @@ class ZWaveMultilevelSensor(ZWaveSensor):
 
     @property
     def unit_of_measurement(self):
+        """Unit the value is expressed in."""
         unit = self._value.units
 
         if unit == 'C':
@@ -186,16 +179,15 @@ class ZWaveMultilevelSensor(ZWaveSensor):
 
 
 class ZWaveAlarmSensor(ZWaveSensor):
-    """ A Z-wave sensor that sends Alarm alerts
+    """
+    A Z-wave sensor that sends Alarm alerts
 
-    Examples include certain Multisensors that have motion and
-    vibration capabilities. Z-Wave defines various alarm types
-    such as Smoke, Flood, Burglar, CarbonMonoxide, etc.
+    Examples include certain Multisensors that have motion and vibration
+    capabilities. Z-Wave defines various alarm types such as Smoke, Flood,
+    Burglar, CarbonMonoxide, etc.
 
-    This wraps these alarms and allows you to use them to
-    trigger things, etc.
+    This wraps these alarms and allows you to use them to trigger things, etc.
 
     COMMAND_CLASS_ALARM is what we get here.
     """
-    # Empty subclass for now. Allows for later customizations
     pass