diff --git a/homeassistant/components/cover/zwave.py b/homeassistant/components/cover/zwave.py index 781d7a03280..b682bee3e20 100644 --- a/homeassistant/components/cover/zwave.py +++ b/homeassistant/components/cover/zwave.py @@ -41,7 +41,7 @@ class ZwaveRollershutter(zwave.ZWaveDeviceEntity, CoverDevice): """Initialize the Z-Wave rollershutter.""" ZWaveDeviceEntity.__init__(self, values, DOMAIN) # pylint: disable=no-member - self._network = hass.data[zwave.ZWAVE_NETWORK] + self._network = hass.data[zwave.const.DATA_NETWORK] self._open_id = None self._close_id = None self._current_position = None diff --git a/homeassistant/components/lock/zwave.py b/homeassistant/components/lock/zwave.py index 7654d354a31..e9199290e30 100644 --- a/homeassistant/components/lock/zwave.py +++ b/homeassistant/components/lock/zwave.py @@ -128,7 +128,7 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): descriptions = load_yaml_config_file( path.join(path.dirname(__file__), 'services.yaml')) - network = hass.data[zwave.ZWAVE_NETWORK] + network = hass.data[zwave.const.DATA_NETWORK] def set_usercode(service): """Set the usercode to index X on the lock.""" diff --git a/homeassistant/components/zwave/__init__.py b/homeassistant/components/zwave/__init__.py index 4b86c191763..640db9d4939 100755 --- a/homeassistant/components/zwave/__init__.py +++ b/homeassistant/components/zwave/__init__.py @@ -30,7 +30,7 @@ from homeassistant.components.frontend import register_built_in_panel from . import api from . import const -from .const import DOMAIN +from .const import DOMAIN, DATA_DEVICES, DATA_NETWORK from .node_entity import ZWaveBaseEntity, ZWaveNodeEntity from . import workaround from .discovery_schemas import DISCOVERY_SCHEMAS @@ -67,10 +67,8 @@ DEFAULT_CONF_INVERT_OPENCLOSE_BUTTONS = False DEFAULT_CONF_REFRESH_VALUE = False DEFAULT_CONF_REFRESH_DELAY = 5 -DATA_ZWAVE_DICT = 'zwave_devices' OZW_LOG_FILENAME = 'OZW_Log.txt' URL_API_OZW_LOG = '/api/zwave/ozwlog' -ZWAVE_NETWORK = 'zwave_network' RENAME_NODE_SCHEMA = vol.Schema({ vol.Required(const.ATTR_NODE_ID): vol.Coerce(int), @@ -210,10 +208,10 @@ def get_config_value(node, value_index, tries=5): @asyncio.coroutine def async_setup_platform(hass, config, async_add_devices, discovery_info=None): """Set up the Z-Wave platform (generic part).""" - if discovery_info is None or ZWAVE_NETWORK not in hass.data: + if discovery_info is None or DATA_NETWORK not in hass.data: return False - device = hass.data[DATA_ZWAVE_DICT].pop( + device = hass.data[DATA_DEVICES].pop( discovery_info[const.DISCOVERY_DEVICE], None) if device is None: return False @@ -258,8 +256,8 @@ def setup(hass, config): options.lock() - network = hass.data[ZWAVE_NETWORK] = ZWaveNetwork(options, autostart=False) - hass.data[DATA_ZWAVE_DICT] = {} + network = hass.data[DATA_NETWORK] = ZWaveNetwork(options, autostart=False) + hass.data[DATA_DEVICES] = {} if use_debug: # pragma: no cover def log_all(signal, value=None): @@ -783,7 +781,7 @@ class ZWaveDeviceEntityValues(): @asyncio.coroutine def discover_device(component, device, dict_id): """Put device in a dictionary and call discovery on it.""" - self._hass.data[DATA_ZWAVE_DICT][dict_id] = device + self._hass.data[DATA_DEVICES][dict_id] = device yield from discovery.async_load_platform( self._hass, component, DOMAIN, {const.DISCOVERY_DEVICE: dict_id}, self._zwave_config) diff --git a/homeassistant/components/zwave/api.py b/homeassistant/components/zwave/api.py index 9e3066f91c5..1cf3b38b26f 100644 --- a/homeassistant/components/zwave/api.py +++ b/homeassistant/components/zwave/api.py @@ -8,8 +8,6 @@ from . import const _LOGGER = logging.getLogger(__name__) -ZWAVE_NETWORK = 'zwave_network' - class ZWaveNodeGroupView(HomeAssistantView): """View to return the nodes group configuration.""" @@ -22,7 +20,7 @@ class ZWaveNodeGroupView(HomeAssistantView): """Retrieve groups of node.""" nodeid = int(node_id) hass = request.app['hass'] - network = hass.data.get(ZWAVE_NETWORK) + network = hass.data.get(const.DATA_NETWORK) node = network.nodes.get(nodeid) if node is None: return self.json_message('Node not found', HTTP_NOT_FOUND) @@ -48,7 +46,7 @@ class ZWaveNodeConfigView(HomeAssistantView): """Retrieve configurations of node.""" nodeid = int(node_id) hass = request.app['hass'] - network = hass.data.get(ZWAVE_NETWORK) + network = hass.data.get(const.DATA_NETWORK) node = network.nodes.get(nodeid) if node is None: return self.json_message('Node not found', HTTP_NOT_FOUND) @@ -77,7 +75,7 @@ class ZWaveUserCodeView(HomeAssistantView): """Retrieve usercodes of node.""" nodeid = int(node_id) hass = request.app['hass'] - network = hass.data.get(ZWAVE_NETWORK) + network = hass.data.get(const.DATA_NETWORK) node = network.nodes.get(nodeid) if node is None: return self.json_message('Node not found', HTTP_NOT_FOUND) diff --git a/homeassistant/components/zwave/const.py b/homeassistant/components/zwave/const.py index b2fcf448db5..dd88dccaa80 100644 --- a/homeassistant/components/zwave/const.py +++ b/homeassistant/components/zwave/const.py @@ -18,6 +18,9 @@ NETWORK_READY_WAIT_SECS = 30 DISCOVERY_DEVICE = 'device' +DATA_DEVICES = 'zwave_devices' +DATA_NETWORK = 'zwave_network' + SERVICE_CHANGE_ASSOCIATION = "change_association" SERVICE_ADD_NODE = "add_node" SERVICE_ADD_NODE_SECURE = "add_node_secure" diff --git a/tests/components/cover/test_zwave.py b/tests/components/cover/test_zwave.py index aebc04c2d4c..e1ee6075cea 100644 --- a/tests/components/cover/test_zwave.py +++ b/tests/components/cover/test_zwave.py @@ -21,7 +21,7 @@ def test_get_device_detects_none(hass, mock_openzwave): def test_get_device_detects_rollershutter(hass, mock_openzwave): """Test device returns rollershutter.""" - hass.data[zwave.zwave.ZWAVE_NETWORK] = MagicMock() + hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() node = MockNode() value = MockValue(data=0, node=node, command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL) @@ -48,7 +48,7 @@ def test_get_device_detects_garagedoor(hass, mock_openzwave): def test_roller_no_position_workaround(hass, mock_openzwave): """Test position changed.""" - hass.data[zwave.zwave.ZWAVE_NETWORK] = MagicMock() + hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() node = MockNode(manufacturer_id='0047', product_type='5a52') value = MockValue(data=45, node=node, command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL) @@ -61,7 +61,7 @@ def test_roller_no_position_workaround(hass, mock_openzwave): def test_roller_value_changed(hass, mock_openzwave): """Test position changed.""" - hass.data[zwave.zwave.ZWAVE_NETWORK] = MagicMock() + hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() node = MockNode() value = MockValue(data=None, node=node, command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL) @@ -93,7 +93,7 @@ def test_roller_value_changed(hass, mock_openzwave): def test_roller_commands(hass, mock_openzwave): """Test position changed.""" - mock_network = hass.data[zwave.zwave.ZWAVE_NETWORK] = MagicMock() + mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() node = MockNode() value = MockValue(data=50, node=node, command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL) @@ -128,7 +128,7 @@ def test_roller_commands(hass, mock_openzwave): def test_roller_reverse_open_close(hass, mock_openzwave): """Test position changed.""" - mock_network = hass.data[zwave.zwave.ZWAVE_NETWORK] = MagicMock() + mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() node = MockNode() value = MockValue(data=50, node=node, command_class=const.COMMAND_CLASS_SWITCH_MULTILEVEL) diff --git a/tests/components/lock/test_zwave.py b/tests/components/lock/test_zwave.py index b0e9456b8a8..83aec7f0ce9 100644 --- a/tests/components/lock/test_zwave.py +++ b/tests/components/lock/test_zwave.py @@ -171,7 +171,7 @@ def test_lock_alarm_level(mock_openzwave): @asyncio.coroutine def test_lock_set_usercode_service(hass, mock_openzwave): """Test the zwave lock set_usercode service.""" - mock_network = hass.data[zwave.zwave.ZWAVE_NETWORK] = MagicMock() + mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() node = MockNode(node_id=12) value0 = MockValue(data=' ', node=node, index=0) value1 = MockValue(data=' ', node=node, index=1) @@ -213,7 +213,7 @@ def test_lock_set_usercode_service(hass, mock_openzwave): @asyncio.coroutine def test_lock_get_usercode_service(hass, mock_openzwave): """Test the zwave lock get_usercode service.""" - mock_network = hass.data[zwave.zwave.ZWAVE_NETWORK] = MagicMock() + mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() node = MockNode(node_id=12) value0 = MockValue(data=None, node=node, index=0) value1 = MockValue(data='1234', node=node, index=1) @@ -242,7 +242,7 @@ def test_lock_get_usercode_service(hass, mock_openzwave): @asyncio.coroutine def test_lock_clear_usercode_service(hass, mock_openzwave): """Test the zwave lock clear_usercode service.""" - mock_network = hass.data[zwave.zwave.ZWAVE_NETWORK] = MagicMock() + mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock() node = MockNode(node_id=12) value0 = MockValue(data=None, node=node, index=0) value1 = MockValue(data='123', node=node, index=1) diff --git a/tests/components/zwave/test_api.py b/tests/components/zwave/test_api.py index aabfd39024c..c1b2022c5e1 100644 --- a/tests/components/zwave/test_api.py +++ b/tests/components/zwave/test_api.py @@ -1,7 +1,7 @@ """Test Z-Wave config panel.""" import asyncio from unittest.mock import MagicMock -from homeassistant.components.zwave import ZWAVE_NETWORK, const +from homeassistant.components.zwave import DATA_NETWORK, const from homeassistant.components.zwave.api import ( ZWaveNodeGroupView, ZWaveNodeConfigView, ZWaveUserCodeView) from tests.common import mock_http_component_app @@ -14,7 +14,7 @@ def test_get_groups(hass, test_client): app = mock_http_component_app(hass) ZWaveNodeGroupView().register(app.router) - network = hass.data[ZWAVE_NETWORK] = MagicMock() + network = hass.data[DATA_NETWORK] = MagicMock() node = MockNode(node_id=2) node.groups.associations = 'assoc' node.groups.associations_instances = 'inst' @@ -46,7 +46,7 @@ def test_get_groups_nogroups(hass, test_client): app = mock_http_component_app(hass) ZWaveNodeGroupView().register(app.router) - network = hass.data[ZWAVE_NETWORK] = MagicMock() + network = hass.data[DATA_NETWORK] = MagicMock() node = MockNode(node_id=2) network.nodes = {2: node} @@ -67,7 +67,7 @@ def test_get_groups_nonode(hass, test_client): app = mock_http_component_app(hass) ZWaveNodeGroupView().register(app.router) - network = hass.data[ZWAVE_NETWORK] = MagicMock() + network = hass.data[DATA_NETWORK] = MagicMock() network.nodes = {1: 1, 5: 5} client = yield from test_client(app) @@ -86,11 +86,11 @@ def test_get_config(hass, test_client): app = mock_http_component_app(hass) ZWaveNodeConfigView().register(app.router) - network = hass.data[ZWAVE_NETWORK] = MagicMock() + network = hass.data[DATA_NETWORK] = MagicMock() node = MockNode(node_id=2) value = MockValue( - index=12, - command_class=const.COMMAND_CLASS_CONFIGURATION) + index=12, + command_class=const.COMMAND_CLASS_CONFIGURATION) value.label = 'label' value.help = 'help' value.type = 'type' @@ -124,7 +124,7 @@ def test_get_config_noconfig_node(hass, test_client): app = mock_http_component_app(hass) ZWaveNodeConfigView().register(app.router) - network = hass.data[ZWAVE_NETWORK] = MagicMock() + network = hass.data[DATA_NETWORK] = MagicMock() node = MockNode(node_id=2) network.nodes = {2: node} @@ -146,7 +146,7 @@ def test_get_config_nonode(hass, test_client): app = mock_http_component_app(hass) ZWaveNodeConfigView().register(app.router) - network = hass.data[ZWAVE_NETWORK] = MagicMock() + network = hass.data[DATA_NETWORK] = MagicMock() network.nodes = {1: 1, 5: 5} client = yield from test_client(app) @@ -165,7 +165,7 @@ def test_get_usercodes_nonode(hass, test_client): app = mock_http_component_app(hass) ZWaveUserCodeView().register(app.router) - network = hass.data[ZWAVE_NETWORK] = MagicMock() + network = hass.data[DATA_NETWORK] = MagicMock() network.nodes = {1: 1, 5: 5} client = yield from test_client(app) @@ -184,12 +184,12 @@ def test_get_usercodes(hass, test_client): app = mock_http_component_app(hass) ZWaveUserCodeView().register(app.router) - network = hass.data[ZWAVE_NETWORK] = MagicMock() + network = hass.data[DATA_NETWORK] = MagicMock() node = MockNode(node_id=18, command_classes=[const.COMMAND_CLASS_USER_CODE]) value = MockValue( - index=0, - command_class=const.COMMAND_CLASS_USER_CODE) + index=0, + command_class=const.COMMAND_CLASS_USER_CODE) value.genre = const.GENRE_USER value.label = 'label' value.data = '1234' @@ -215,7 +215,7 @@ def test_get_usercode_nousercode_node(hass, test_client): app = mock_http_component_app(hass) ZWaveUserCodeView().register(app.router) - network = hass.data[ZWAVE_NETWORK] = MagicMock() + network = hass.data[DATA_NETWORK] = MagicMock() node = MockNode(node_id=18) network.nodes = {18: node} @@ -237,12 +237,12 @@ def test_get_usercodes_no_genreuser(hass, test_client): app = mock_http_component_app(hass) ZWaveUserCodeView().register(app.router) - network = hass.data[ZWAVE_NETWORK] = MagicMock() + network = hass.data[DATA_NETWORK] = MagicMock() node = MockNode(node_id=18, command_classes=[const.COMMAND_CLASS_USER_CODE]) value = MockValue( - index=0, - command_class=const.COMMAND_CLASS_USER_CODE) + index=0, + command_class=const.COMMAND_CLASS_USER_CODE) value.genre = const.GENRE_SYSTEM value.label = 'label' value.data = '1234' diff --git a/tests/components/zwave/test_init.py b/tests/components/zwave/test_init.py index de500a81893..49ec1ea6a95 100644 --- a/tests/components/zwave/test_init.py +++ b/tests/components/zwave/test_init.py @@ -8,7 +8,7 @@ from homeassistant.const import ATTR_ENTITY_ID, EVENT_HOMEASSISTANT_START from homeassistant.components import zwave from homeassistant.components.binary_sensor.zwave import get_device from homeassistant.components.zwave import ( - const, CONFIG_SCHEMA, CONF_DEVICE_CONFIG_GLOB, ZWAVE_NETWORK) + const, CONFIG_SCHEMA, CONF_DEVICE_CONFIG_GLOB, DATA_NETWORK) from homeassistant.setup import setup_component import pytest @@ -82,7 +82,7 @@ def test_network_options(hass, mock_openzwave): assert result - network = hass.data[zwave.ZWAVE_NETWORK] + network = hass.data[zwave.DATA_NETWORK] assert network.options.device == 'mock_usb_path' assert network.options.config_path == 'mock_config_path' @@ -94,7 +94,7 @@ def test_auto_heal_midnight(hass, mock_openzwave): 'zwave': { 'autoheal': True, }})) - network = hass.data[zwave.ZWAVE_NETWORK] + network = hass.data[zwave.DATA_NETWORK] assert not network.heal.called time = datetime(2017, 5, 6, 0, 0, 0) @@ -111,7 +111,7 @@ def test_auto_heal_disabled(hass, mock_openzwave): 'zwave': { 'autoheal': False, }})) - network = hass.data[zwave.ZWAVE_NETWORK] + network = hass.data[zwave.DATA_NETWORK] assert not network.heal.called time = datetime(2017, 5, 6, 0, 0, 0) @@ -139,8 +139,8 @@ def test_frontend_panel_register(hass, mock_openzwave): def test_setup_platform(hass, mock_openzwave): """Test invalid device config.""" mock_device = MagicMock() - hass.data[ZWAVE_NETWORK] = MagicMock() - hass.data[zwave.DATA_ZWAVE_DICT] = {456: mock_device} + hass.data[DATA_NETWORK] = MagicMock() + hass.data[zwave.DATA_DEVICES] = {456: mock_device} async_add_devices = MagicMock() result = yield from zwave.async_setup_platform( @@ -170,7 +170,7 @@ def test_zwave_ready_wait(hass, mock_openzwave): with patch.object(zwave.time, 'sleep') as mock_sleep: with patch.object(zwave, '_LOGGER') as mock_logger: - hass.data[ZWAVE_NETWORK].state = MockNetwork.STATE_STARTED + hass.data[DATA_NETWORK].state = MockNetwork.STATE_STARTED hass.bus.async_fire(EVENT_HOMEASSISTANT_START) yield from hass.async_block_till_done() @@ -772,7 +772,7 @@ class TestZWaveServices(unittest.TestCase): # Initialize zwave setup_component(self.hass, 'zwave', {'zwave': {}}) self.hass.block_till_done() - self.zwave_network = self.hass.data[ZWAVE_NETWORK] + self.zwave_network = self.hass.data[DATA_NETWORK] self.zwave_network.state = MockNetwork.STATE_READY self.hass.bus.fire(EVENT_HOMEASSISTANT_START) self.hass.block_till_done()