From 15dde7925af3394726b8e5009f2ea111e769cba6 Mon Sep 17 00:00:00 2001 From: John Arild Berentsen Date: Thu, 3 Nov 2016 13:08:23 +0100 Subject: [PATCH] Prevent multiple instances of device initialzed (#4179) --- homeassistant/components/cover/zwave.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/cover/zwave.py b/homeassistant/components/cover/zwave.py index 9caac4522ff..2794995abb1 100644 --- a/homeassistant/components/cover/zwave.py +++ b/homeassistant/components/cover/zwave.py @@ -32,17 +32,19 @@ 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]] - if node.has_command_class(zwave.const.COMMAND_CLASS_SWITCH_MULTILEVEL) \ - and value.index == 0: + if (value.command_class == zwave.const.COMMAND_CLASS_SWITCH_MULTILEVEL + and value.index == 0): value.set_change_verified(False) add_devices([ZwaveRollershutter(value)]) - elif node.has_command_class(zwave.const.COMMAND_CLASS_SWITCH_BINARY) or \ - node.has_command_class(zwave.const.COMMAND_CLASS_BARRIER_OPERATOR): - if value.type != zwave.const.TYPE_BOOL and \ - value.genre != zwave.const.GENRE_USER: - return - value.set_change_verified(False) - add_devices([ZwaveGarageDoor(value)]) + elif value.node.specific == zwave.const.GENERIC_TYPE_ENTRY_CONTROL: + if (value.command_class == zwave.const.COMMAND_CLASS_SWITCH_BINARY or + value.command_class == + zwave.const.COMMAND_CLASS_BARRIER_OPERATOR): + if (value.type != zwave.const.TYPE_BOOL and + value.genre != zwave.const.GENRE_USER): + return + value.set_change_verified(False) + add_devices([ZwaveGarageDoor(value)]) else: return