diff --git a/homeassistant/components/camera/bloomsky.py b/homeassistant/components/camera/bloomsky.py index cd40b91a21c..7137c73c299 100644 --- a/homeassistant/components/camera/bloomsky.py +++ b/homeassistant/components/camera/bloomsky.py @@ -11,15 +11,15 @@ import requests from homeassistant.components.camera import Camera from homeassistant.loader import get_component -DEPENDENCIES = ["bloomsky"] +DEPENDENCIES = ['bloomsky'] # pylint: disable=unused-argument -def setup_platform(hass, config, add_devices_callback, discovery_info=None): +def setup_platform(hass, config, add_devices, discovery_info=None): """Setup access to BloomSky cameras.""" bloomsky = get_component('bloomsky') for device in bloomsky.BLOOMSKY.devices.values(): - add_devices_callback([BloomSkyCamera(bloomsky.BLOOMSKY, device)]) + add_devices([BloomSkyCamera(bloomsky.BLOOMSKY, device)]) class BloomSkyCamera(Camera): @@ -28,8 +28,8 @@ class BloomSkyCamera(Camera): def __init__(self, bs, device): """Setup for access to the BloomSky camera images.""" super(BloomSkyCamera, self).__init__() - self._name = device["DeviceName"] - self._id = device["DeviceID"] + self._name = device['DeviceName'] + self._id = device['DeviceID'] self._bloomsky = bs self._url = "" self._last_url = "" @@ -42,7 +42,7 @@ class BloomSkyCamera(Camera): def camera_image(self): """Update the camera's image if it has changed.""" try: - self._url = self._bloomsky.devices[self._id]["Data"]["ImageURL"] + self._url = self._bloomsky.devices[self._id]['Data']['ImageURL'] self._bloomsky.refresh_devices() # If the URL hasn't changed then the image hasn't changed. if self._url != self._last_url: diff --git a/homeassistant/components/camera/netatmo.py b/homeassistant/components/camera/netatmo.py index 8462d4597dd..457c63d1ad7 100644 --- a/homeassistant/components/camera/netatmo.py +++ b/homeassistant/components/camera/netatmo.py @@ -6,34 +6,43 @@ https://home-assistant.io/components/camera.netatmo/ """ import logging from datetime import timedelta + import requests +import voluptuous as vol + from homeassistant.util import Throttle - -from homeassistant.components.camera import Camera +from homeassistant.components.camera import (Camera, PLATFORM_SCHEMA) from homeassistant.loader import get_component +from homeassistant.helpers import config_validation as cv -DEPENDENCIES = ["netatmo"] +DEPENDENCIES = ['netatmo'] _LOGGER = logging.getLogger(__name__) CONF_HOME = 'home' -ATTR_CAMERAS = 'cameras' +CONF_CAMERAS = 'cameras' MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=10) +PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ + vol.Optional(CONF_HOME): cv.string, + vol.Optional(CONF_CAMERAS, default=[]): + vol.All(cv.ensure_list, [cv.string]), +}) + # pylint: disable=unused-argument -def setup_platform(hass, config, add_devices_callback, discovery_info=None): +def setup_platform(hass, config, add_devices, discovery_info=None): """Setup access to Netatmo Welcome cameras.""" netatmo = get_component('netatmo') - home = config.get(CONF_HOME, None) + home = config.get(CONF_HOME) data = WelcomeData(netatmo.NETATMO_AUTH, home) for camera_name in data.get_camera_names(): - if ATTR_CAMERAS in config: - if camera_name not in config[ATTR_CAMERAS]: + if CONF_CAMERAS in config: + if camera_name not in config[CONF_CAMERAS]: continue - add_devices_callback([WelcomeCamera(data, camera_name, home)]) + add_devices([WelcomeCamera(data, camera_name, home)]) class WelcomeCamera(Camera):