def run(self): """ Run method for the plugin """ self.logger.debug('zwave: run method called') self.alive = True try: options = ZWaveOption(self._device, config_path=self._config_path, user_path='.', cmd_line='') except Exception as e: self.logger.error('zwave: error on create ZWaveOption - {}'.format(e)) self.alive = False return try: options.set_log_file(self._logfile) options.set_save_log_level(self._loglevel) options.set_logging(self._logging) options.set_append_log_file(False) options.set_console_output(False) options.set_security_strategy(self._sec_strategy) options.lock() except Exception as e: self.logger.error('zwave: error on option.set_* - {}'.format(e)) self.logger.debug('zwave: run -> create network') try: self._network = ZWaveNetwork(options, autostart=False) except Exception as e: self.logger.error('zwave: error on create Network Object - {}'.format(e)) self.logger.debug('zwave: run -> connect event handler') try: dispatcher.connect(self.zwave_value_update, ZWaveNetwork.SIGNAL_VALUE_CHANGED) except Exception as e: self.logger.error('zwave: error on connect event handler - {}'.format(e)) self.logger.debug('zwave: run -> start network') try: self._network.start() except Exception as e: self.logger.error('zwave: error on start network - {}'.format(e)) self.logger.info('zwave: use openzwave library: {}'.format(self._network.controller.ozw_library_version)) self.logger.info('zwave: use python library: {}'.format(self._network.controller.python_library_version)) self.logger.info('zwave: use ZWave library: {}'.format(self._network.controller.library_description)) while 1: if self.alive and self._network.state < self._network.STATE_READY: self.logger.debug('zwave: wait until network is ready... current state is: {}'.format(self._network.state_str)) time.sleep(3.0) if self._network.state == self._network.STATE_FAILED: self.alive = false return self.logger.info('zwave: controller ready : {} nodes were found.'.format(self._network.nodes_count)) self.logger.info('zwave: controller node id : {}'.format(self._network.controller.node.node_id)) self.logger.info('zwave: controller node version : {}'.format(self._network.controller.node.version)) self.logger.info('zwave: Network home id : {}'.format(self._network.home_id_str)) self.logger.info('zwave: Nodes in network : {}'.format(self._network.nodes_count))
def run(self): """ Run method for the plugin """ self.logger.debug('run method called') self.alive = True try: options = ZWaveOption(self._device, config_path=self._config_path, user_path='./var/ozw', cmd_line='') except Exception as e: self.logger.error('error on create ZWaveOption - {}'.format(e)) self.alive = False return try: options.set_log_file(self._logfile) options.set_save_log_level(self._loglevel) options.set_logging(self._logging) options.set_append_log_file(False) options.set_console_output(False) options.set_security_strategy(self._sec_strategy) options.lock() except Exception as e: self.logger.error('error on option.set_* - {}'.format(e)) self.logger.debug('run -> create network') try: self._network = ZWaveNetwork(options, autostart=False) except Exception as e: self.logger.error('error on create Network Object - {}'.format(e)) self.logger.debug('run -> connect event handler') try: dispatcher.connect(self.zwave_value_update, ZWaveNetwork.SIGNAL_VALUE_CHANGED) except Exception as e: self.logger.error('error on connect event handler - {}'.format(e)) self.logger.debug('run -> start network') try: self._network.start() except Exception as e: self.alive = False self.logger.error('error on start network - {}'.format(e)) self.logger.info('use openzwave library: {}'.format( self._network.controller.ozw_library_version)) self.logger.info('use python library: {}'.format( self._network.controller.python_library_version)) self.logger.info('use ZWave library: {}'.format( self._network.controller.library_description)) while self.alive: if self._network.state != self._network.STATE_READY: self.logger.debug( 'wait until network is ready... current state is: {}'. format(self._network.state_str)) if self._network.state == self._network.STATE_FAILED: self.alive = False return # Dump network information on STATE_READY if self._network.state == self._network.STATE_READY and self._ready is False: self.logger.info( 'controller ready : {} nodes were found.'.format( self._network.nodes_count)) self.logger.info('controller node id : {}'.format( self._network.controller.node.node_id)) self.logger.info('controller node version : {}'.format( self._network.controller.node.version)) self.logger.info('Network home id : {}'.format( self._network.home_id_str)) self.logger.info('Nodes in network : {}'.format( self._network.nodes_count)) self.logger.info("zwave: Start refresh values") for __id in self.listenOn: __val = self._network.get_value(__id) self.logger.info("zwave: id : '{}', val: '{}'".format( __id, __val)) for __item in self.listenOn[__id][ITEMS]: __item(__val.data, 'ZWave') self._ready = True time.sleep(3.0)