本文整理汇总了Python中openzwave.network.ZWaveNetwork.destroy方法的典型用法代码示例。如果您正苦于以下问题:Python ZWaveNetwork.destroy方法的具体用法?Python ZWaveNetwork.destroy怎么用?Python ZWaveNetwork.destroy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类openzwave.network.ZWaveNetwork
的用法示例。
在下文中一共展示了ZWaveNetwork.destroy方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: AlidronOZW
# 需要导入模块: from openzwave.network import ZWaveNetwork [as 别名]
# 或者: from openzwave.network.ZWaveNetwork import destroy [as 别名]
#.........这里部分代码省略.........
#
# print nodes_by_name[node_name].is_failed
# return self.network.controller.has_node_failed(node_id)
def network_heal(self, upNodeRoute=False):
logger.info('Healing network')
self.network.heal(upNodeRoute)
def controller_add_node(self, doSecurity=False):
logger.info('Set controller into inclusion mode')
return self.network.controller.add_node(doSecurity)
def controller_remove_node(self):
logger.info('Set controller into exclusion mode')
return self.network.controller.remove_node()
def controller_cancel_command(self):
logger.info('Cancelling controller command')
return self.network.controller.cancel_command()
def node_heal(self, node, upNodeRoute=False):
logger.info('Healing node %s', self._node_name(node))
return node.heal(upNodeRoute)
def node_is_failed(self, node):
logger.info('Asking if node %s is failed (%s)', self._node_name(node), node.is_failed)
return node.is_failed
# Tooling
@staticmethod
def _replace_all(s, olds, new):
return reduce(lambda s, old: s.replace(old, new), list(olds), s)
def _node_name(self, node):
return node.name if node.name else str(node.node_id)
def _value_data(self, value):
data = value.data
logger.debug('data type is %s', type(data))
if type(data) is str:
try:
data.decode()
except UnicodeDecodeError:
data = binascii.b2a_base64(data)
return data
def _make_uri(self, node, value):
def _values_by_index(values):
per_idx = {}
for value in values:
idx = value.index
if idx not in per_idx:
per_idx[idx] = []
per_idx[idx].append(value)
return per_idx
ok = False
while not ok:
try:
values_by_idx = _values_by_index(node.get_values(class_id=value.command_class).values())
ok = True
except RuntimeError as ex:
if ex.message == 'dictionary changed size during iteration':
continue
else:
raise
is_multi_instance = len(values_by_idx[value.index]) > 1
cmd_class = node.get_command_class_as_string(value.command_class)
cmd_class = cmd_class.replace('COMMAND_CLASS_', '').lower()
node_name = self._node_name(node)
label = self._replace_all(value.label.lower(), ' /()%:', '_').strip('_')
if is_multi_instance:
uri = 'zwave://%s.%s/%s/%d/%s' % (
node._network.home_id_str, node_name, cmd_class, value.instance, label)
else:
uri = 'zwave://%s.%s/%s/%s' % (
node._network.home_id_str, node_name, cmd_class, label)
return str(uri)
# Lifecycle
def shutdown(self):
# Stopping internal notification reader greenlet
self._running = False
self._ozw_notif_queue.put(None)
self.network.stop()
logger.info('Stopped network')
self.network.destroy()
logger.info('Destroyed network')
self.isac_node.shutdown()
logger.info('Stopped ISAC node')
示例2: TestApi
# 需要导入模块: from openzwave.network import ZWaveNetwork [as 别名]
# 或者: from openzwave.network.ZWaveNetwork import destroy [as 别名]
class TestApi(TestPyZWave):
"""
Parent test class for api
"""
@classmethod
def setUpClass(self):
super(TestApi, self).setUpClass()
self.options = ZWaveOption(device=self.device, user_path=self.userpath)
self.options.set_log_file("OZW_Log.log")
self.options.set_append_log_file(False)
self.options.set_console_output(self.ozwout)
self.options.set_save_log_level(self.ozwlog)
self.options.set_logging(True)
self.options.lock()
self.node_result = None
dispatcher.connect(self.node_update, ZWaveNetwork.SIGNAL_NODE)
self.network = ZWaveNetwork(self.options)
self.ctrl_command_result = None
self.ctrl_command_signal = None
#dispatcher.connect(self.ctrl_message, ZWaveNetwork.SIGNAL_CONTROLLER_COMMAND)
time.sleep(1.0)
@classmethod
def tearDownClass(self):
self.network.stop()
time.sleep(2.0)
self.network.destroy()
time.sleep(1.0)
super(TestApi, self).tearDownClass()
self.network = None
def setUp(self):
self.wait_for_network_state(self.network.STATE_AWAKED, 1)
def wait_for_queue(self):
for i in range(0,60):
if self.network.controller.send_queue_count <= 0:
break
else:
time.sleep(0.5)
def wait_for_network_state(self, state, multiply=1):
for i in range(0,SLEEP*multiply):
if self.network.state>=state:
break
else:
time.sleep(1.0)
def ctrl_message(self, network, controller, node, node_id,
state_int, state, state_full,
error_int, error, error_full,):
self.ctrl_state_result = state
self.ctrl_command_signal = {
'network':network,
'controller':controller,
'node':node,
'node_id':node_id,
'state_int':state_int,
'state':state,
'state_full':state_full,
'error_int':error_int,
'error':error,
'error_full':error_full,
}
def ctrl_waiting(self, network, controller,
state_int, state, state_full):
self.ctrl_state_result = state
def node_update(self, network, node):
self.node_result = node