diff --git a/homeassistant/components/light/zwave.py b/homeassistant/components/light/zwave.py index a0804097830..89c25059d94 100644 --- a/homeassistant/components/light/zwave.py +++ b/homeassistant/components/light/zwave.py @@ -17,7 +17,6 @@ from homeassistant.const import STATE_OFF, STATE_ON from homeassistant.util.color import HASS_COLOR_MAX, HASS_COLOR_MIN, \ color_temperature_mired_to_kelvin, color_temperature_to_rgb, \ color_rgb_to_rgbw, color_rgbw_to_rgb -from homeassistant.helpers import customize _LOGGER = logging.getLogger(__name__) @@ -56,7 +55,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): node = zwave.NETWORK.nodes[discovery_info[zwave.const.ATTR_NODE_ID]] value = node.values[discovery_info[zwave.const.ATTR_VALUE_ID]] name = '{}.{}'.format(DOMAIN, zwave.object_id(value)) - node_config = customize.get_overrides(hass, zwave.DOMAIN, name) + node_config = hass.data[zwave.DATA_DEVICE_CONFIG].get(name) refresh = node_config.get(zwave.CONF_REFRESH_VALUE) delay = node_config.get(zwave.CONF_REFRESH_DELAY) _LOGGER.debug('name=%s node_config=%s CONF_REFRESH_VALUE=%s' diff --git a/homeassistant/components/zwave/__init__.py b/homeassistant/components/zwave/__init__.py index a3a3c64cf3f..ed234c3c614 100755 --- a/homeassistant/components/zwave/__init__.py +++ b/homeassistant/components/zwave/__init__.py @@ -11,11 +11,10 @@ from pprint import pprint import voluptuous as vol -from homeassistant.helpers import discovery, customize +from homeassistant.helpers import discovery from homeassistant.const import ( ATTR_BATTERY_LEVEL, ATTR_LOCATION, ATTR_ENTITY_ID, ATTR_WAKEUP, - CONF_CUSTOMIZE, EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP, - CONF_ENTITY_ID) + EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP) from homeassistant.helpers.entity import Entity from homeassistant.helpers.event import track_time_change from homeassistant.util import convert, slugify @@ -38,6 +37,7 @@ CONF_CONFIG_PATH = 'config_path' CONF_IGNORED = 'ignored' CONF_REFRESH_VALUE = 'refresh_value' CONF_REFRESH_DELAY = 'delay' +CONF_DEVICE_CONFIG = 'device_config' DEFAULT_CONF_AUTOHEAL = True DEFAULT_CONF_USB_STICK_PATH = '/zwaveusbstick' @@ -49,6 +49,7 @@ DEFAULT_CONF_REFRESH_DELAY = 2 DOMAIN = 'zwave' NETWORK = None +DATA_DEVICE_CONFIG = 'zwave_device_config' # List of tuple (DOMAIN, discovered service, supported command classes, # value type, genre type, specific device class). @@ -159,8 +160,7 @@ SET_WAKEUP_SCHEMA = vol.Schema({ vol.All(vol.Coerce(int), cv.positive_int), }) -_ZWAVE_CUSTOMIZE_SCHEMA_ENTRY = vol.Schema({ - vol.Required(CONF_ENTITY_ID): cv.match_all, +_DEVICE_CONFIG_SCHEMA_ENTRY = vol.Schema({ vol.Optional(CONF_POLLING_INTENSITY): cv.positive_int, vol.Optional(CONF_IGNORED, default=DEFAULT_CONF_IGNORED): cv.boolean, vol.Optional(CONF_REFRESH_VALUE, default=DEFAULT_CONF_REFRESH_VALUE): @@ -173,9 +173,8 @@ CONFIG_SCHEMA = vol.Schema({ DOMAIN: vol.Schema({ vol.Optional(CONF_AUTOHEAL, default=DEFAULT_CONF_AUTOHEAL): cv.boolean, vol.Optional(CONF_CONFIG_PATH): cv.string, - vol.Optional(CONF_CUSTOMIZE, default=[]): - vol.All(customize.CUSTOMIZE_SCHEMA, - [_ZWAVE_CUSTOMIZE_SCHEMA_ENTRY]), + vol.Optional(CONF_DEVICE_CONFIG, default={}): + _DEVICE_CONFIG_SCHEMA_ENTRY, vol.Optional(CONF_DEBUG, default=DEFAULT_DEBUG): cv.boolean, vol.Optional(CONF_POLLING_INTERVAL, default=DEFAULT_POLLING_INTERVAL): cv.positive_int, @@ -296,8 +295,8 @@ def setup(hass, config): # Load configuration use_debug = config[DOMAIN].get(CONF_DEBUG) - customize.set_customize(hass, DOMAIN, config[DOMAIN].get(CONF_CUSTOMIZE)) autoheal = config[DOMAIN].get(CONF_AUTOHEAL) + hass.data[DATA_DEVICE_CONFIG] = config[DOMAIN][CONF_DEVICE_CONFIG] # Setup options options = ZWaveOption( @@ -382,7 +381,7 @@ def setup(hass, config): component = workaround_component name = "{}.{}".format(component, object_id(value)) - node_config = customize.get_overrides(hass, DOMAIN, name) + node_config = hass.data[DATA_DEVICE_CONFIG].get(name) if node_config.get(CONF_IGNORED): _LOGGER.info("Ignoring device %s", name) diff --git a/tests/components/test_zwave.py b/tests/components/test_zwave.py deleted file mode 100644 index 5c9be9ba22a..00000000000 --- a/tests/components/test_zwave.py +++ /dev/null @@ -1,68 +0,0 @@ -"""The tests for the zwave component.""" -import unittest -from unittest.mock import MagicMock, patch - -from homeassistant.bootstrap import setup_component -from homeassistant.components import zwave -from tests.common import get_test_home_assistant - - -class TestComponentZwave(unittest.TestCase): - """Test the Zwave component.""" - - def setUp(self): - """Setup things to be run when tests are started.""" - self.hass = get_test_home_assistant() - - def tearDown(self): - """Stop everything that was started.""" - self.hass.stop() - - def _validate_config(self, validator, config): - libopenzwave = MagicMock() - libopenzwave.__file__ = 'test' - with patch.dict('sys.modules', { - 'libopenzwave': libopenzwave, - 'openzwave.option': MagicMock(), - 'openzwave.network': MagicMock(), - 'openzwave.group': MagicMock(), - }): - validator(setup_component(self.hass, zwave.DOMAIN, { - zwave.DOMAIN: config, - })) - - def test_empty_config(self): - """Test empty config.""" - self._validate_config(self.assertTrue, {}) - - def test_empty_customize(self): - """Test empty customize.""" - self._validate_config(self.assertTrue, {'customize': {}}) - self._validate_config(self.assertTrue, {'customize': []}) - - def test_empty_customize_content(self): - """Test empty customize.""" - self._validate_config( - self.assertTrue, {'customize': {'test.test': {}}}) - - def test_full_customize_dict(self): - """Test full customize as dict.""" - self._validate_config(self.assertTrue, {'customize': {'test.test': { - zwave.CONF_POLLING_INTENSITY: 10, - zwave.CONF_IGNORED: 1, - zwave.CONF_REFRESH_VALUE: 1, - zwave.CONF_REFRESH_DELAY: 10}}}) - - def test_full_customize_list(self): - """Test full customize as list.""" - self._validate_config(self.assertTrue, {'customize': [{ - 'entity_id': 'test.test', - zwave.CONF_POLLING_INTENSITY: 10, - zwave.CONF_IGNORED: 1, - zwave.CONF_REFRESH_VALUE: 1, - zwave.CONF_REFRESH_DELAY: 10}]}) - - def test_bad_customize(self): - """Test customize with extra keys.""" - self._validate_config( - self.assertFalse, {'customize': {'test.test': {'extra_key': 10}}})