diff --git a/homeassistant/components/sensor/yr.py b/homeassistant/components/sensor/yr.py
index 0286fd834dda67a74cf9faf94bd2ccf5bc231b9a..3a434e30a85fec5f213bd3b6ba80d52ec026e460 100644
--- a/homeassistant/components/sensor/yr.py
+++ b/homeassistant/components/sensor/yr.py
@@ -5,9 +5,10 @@ For more details about this platform, please refer to the documentation at
 https://home-assistant.io/components/sensor.yr/
 """
 import logging
-
 import requests
+import voluptuous as vol
 
+import homeassistant.helpers.config_validation as cv
 from homeassistant.const import CONF_LATITUDE, CONF_LONGITUDE
 from homeassistant.helpers.entity import Entity
 from homeassistant.util import dt as dt_util
@@ -18,6 +19,8 @@ _LOGGER = logging.getLogger(__name__)
 
 REQUIREMENTS = ['xmltodict']
 
+CONF_MONITORED_CONDITIONS = 'monitored_conditions'
+
 # Sensor types are defined like so:
 SENSOR_TYPES = {
     'symbol': ['Symbol', None],
@@ -36,6 +39,13 @@ SENSOR_TYPES = {
     'dewpointTemperature': ['Dewpoint temperature', '°C'],
 }
 
+PLATFORM_SCHEMA = vol.Schema({
+    vol.Required('platform'): 'yr',
+    vol.Optional(CONF_MONITORED_CONDITIONS, default=[]):
+        [vol.In(SENSOR_TYPES.keys())],
+    vol.Optional('elevation'): cv.positive_int,
+})
+
 
 def setup_platform(hass, config, add_devices, discovery_info=None):
     """Setup the Yr.no sensor."""
@@ -58,12 +68,8 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
     weather = YrData(coordinates)
 
     dev = []
-    if 'monitored_conditions' in config:
-        for variable in config['monitored_conditions']:
-            if variable not in SENSOR_TYPES:
-                _LOGGER.error('Sensor type: "%s" does not exist', variable)
-            else:
-                dev.append(YrSensor(variable, weather))
+    for sensor_type in config[CONF_MONITORED_CONDITIONS]:
+        dev.append(YrSensor(sensor_type, weather))
 
     # add symbol as default sensor
     if len(dev) == 0:
diff --git a/tests/components/sensor/test_yr.py b/tests/components/sensor/test_yr.py
index aa15d7cf3eab3e96c8a504a52ed9b7748cad871f..c60324e38b94dd746c1f50c2d8a38d1cd4268376 100644
--- a/tests/components/sensor/test_yr.py
+++ b/tests/components/sensor/test_yr.py
@@ -4,9 +4,8 @@ from unittest.mock import patch
 
 import pytest
 
-import homeassistant.components.sensor as sensor
+from homeassistant.bootstrap import _setup_component
 import homeassistant.util.dt as dt_util
-
 from tests.common import get_test_home_assistant
 
 
@@ -32,12 +31,9 @@ class TestSensorYr:
                    return_value=betamax_session):
             with patch('homeassistant.components.sensor.yr.dt_util.utcnow',
                        return_value=now):
-                assert sensor.setup(self.hass, {
-                    'sensor': {
-                        'platform': 'yr',
-                        'elevation': 0,
-                    }
-                })
+                    assert _setup_component(self.hass, 'sensor', {
+                                    'sensor': {'platform': 'yr',
+                                               'elevation': 0}})
 
         state = self.hass.states.get('sensor.yr_symbol')
 
@@ -53,19 +49,15 @@ class TestSensorYr:
                    return_value=betamax_session):
             with patch('homeassistant.components.sensor.yr.dt_util.utcnow',
                        return_value=now):
-                assert sensor.setup(self.hass, {
-                    'sensor': {
-                        'platform': 'yr',
-                        'elevation': 0,
-                        'monitored_conditions': {
-                            'pressure',
-                            'windDirection',
-                            'humidity',
-                            'fog',
-                            'windSpeed'
-                        }
-                    }
-                })
+                assert _setup_component(self.hass, 'sensor', {
+                                        'sensor': {'platform': 'yr',
+                                                   'elevation': 0,
+                                                   'monitored_conditions': [
+                                                       'pressure',
+                                                       'windDirection',
+                                                       'humidity',
+                                                       'fog',
+                                                       'windSpeed']}})
 
         state = self.hass.states.get('sensor.yr_pressure')
         assert 'hPa' == state.attributes.get('unit_of_measurement')