From 5aa72562a7b87df905321a2b59feda2f7007e6f6 Mon Sep 17 00:00:00 2001 From: John Arild Berentsen Date: Fri, 19 May 2017 13:40:26 +0200 Subject: [PATCH] Bugfix #7586 (#7661) --- homeassistant/components/lock/zwave.py | 5 +++-- tests/components/lock/test_zwave.py | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/lock/zwave.py b/homeassistant/components/lock/zwave.py index a46406e8361..7654d354a31 100644 --- a/homeassistant/components/lock/zwave.py +++ b/homeassistant/components/lock/zwave.py @@ -141,9 +141,10 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): class_id=zwave.const.COMMAND_CLASS_USER_CODE).values(): if value.index != code_slot: continue - if len(str(usercode)) > 4: + if len(str(usercode)) < 4: _LOGGER.error("Invalid code provided: (%s) " - "usercode must %s or less digits", + "usercode must be atleast 4 and at most" + " %s digits", usercode, len(value.data)) break value.data = str(usercode) diff --git a/tests/components/lock/test_zwave.py b/tests/components/lock/test_zwave.py index 9fb634f49e2..b0e9456b8a8 100644 --- a/tests/components/lock/test_zwave.py +++ b/tests/components/lock/test_zwave.py @@ -173,8 +173,8 @@ 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() node = MockNode(node_id=12) - value0 = MockValue(data=None, node=node, index=0) - value1 = MockValue(data=None, node=node, index=1) + value0 = MockValue(data=' ', node=node, index=0) + value1 = MockValue(data=' ', node=node, index=1) yield from zwave.async_setup_platform( hass, {}, MagicMock()) @@ -202,7 +202,7 @@ def test_lock_set_usercode_service(hass, mock_openzwave): yield from hass.services.async_call( zwave.DOMAIN, zwave.SERVICE_SET_USERCODE, { const.ATTR_NODE_ID: node.node_id, - zwave.ATTR_USERCODE: '12345', + zwave.ATTR_USERCODE: '123', zwave.ATTR_CODE_SLOT: 1, }) yield from hass.async_block_till_done()