def reset_ncp(): logger = customlogger.Logger('gpio') logger.debug('Resetting NCP') gpio_set_value(EMBER_NRST, 0) time.sleep(1) gpio_set_value(EMBER_NRST, 1) time.sleep(1)
def __init__(self, event_queue, bridge_configuration = None): self.logger = customlogger.Logger('api') self.event_queue = event_queue self.watchdog_delegate = None self.telemetry_delegate = None if type(bridge_configuration) == type(dict()): self.bridge_configuration = dict(WeminucheApi.DEFAULT_BRIDGE_CONFIGURATION.items() + bridge_configuration.items()) else: self.bridge_configuration = default_bridge_configuration super(WeminucheApi, self).__init__() self.init() self.logger.info('Finished NCP init()') self._pending_response = threading.Event() self._pending_sent = threading.Event() self.callbackThread_run = threading.Event() self.callbackThread = threading.Thread(target=self._callbacks) self.callbackThread.start() try: if self.bridge_configuration['purge_link_keys']: self.logger.info('Removing all link keys') self.TCDeleteAllKeys() if not self._joinedNetwork: if self.bridge_configuration['network_create']: self.logger.info('Attempting to create PAN on channels %s' % self.bridge_configuration['channel_list']) self.scanForUnusedPanId(self.bridge_configuration['channel_list']) except KeyError: pass
def setup_gpio(): logger = customlogger.Logger('gpio') gpio_ports = [ EMBER_NWAKE, EMBER_NRST, EMBER_NSSEL, LED_BERG_CLOUD, LED_ZIGBEE ] for port in gpio_ports: logger.debug("Setting GPIO port %d to 'out'" % port) gpio_export(port, 'out')
def __init__(self, options, log_queue): self.options = options self.log_queue = log_queue self.event_queue = Queue.Queue(EVENT_QUEUE_SIZE) self.command_queue = Queue.Queue(COMMAND_QUEUE_SIZE) self.logger = customlogger.Logger('bridge') self.shutdown_triggered = False self.should_reboot = False self.should_restart = False
def init(self, watchdog_enabled, thread_exit_event): self.logger = customlogger.Logger('watchdog') self.watchdog_enabled = watchdog_enabled self.thread_exit_event = thread_exit_event self.watchdog_keys = {} self.wd = None if watchdog_enabled: self.logger.info('Initialising watchdog') try: self.wd = watchdogdev.watchdog('/dev/watchdog') self.logger.info('Watchdog is now open!') except IOError as e: self.logger.error('Failed to open /dev/watchdog: %s' % e) else: self.logger.warning('Watchdog not enabled')
def __init__(self): self.cache = {} self.logger = customlogger.Logger('resolver') self.r = dns.resolver.Resolver() self.r.timeout = 5 servers_to_remove = [] for ns in self.r.nameservers: try: socket.inet_aton(ns) except socket.error: servers_to_remove.append(ns) for ns in servers_to_remove: self.r.nameservers.remove(ns) self.r.nameservers += ['4.2.2.1', '4.2.2.2']
def set_led_state(name, state='off', quiet=False): logger = customlogger.Logger('gpio') if state == 'on': value = 0 else: value = 1 if name == 'bergcloud': gpio_set_value(LED_BERG_CLOUD, value) elif name == 'zigbee': gpio_set_value(LED_ZIGBEE, value) elif name == 'ethernet': gpio_set_value(LED_ETHERNET, value) else: logger.warning("Unknown LED '%s'" % name) return if not quiet: logger.info("Setting LED '%s' to '%s'" % (name, state))
def init(self, app=None): if app != None: self.app = app self.logger = customlogger.Logger('StatisticsMonitor') self.destination_eui64 = None self.commandLoopedTransfer = False self.loopNumber = 0 self.successfulCommandTransfers = 0 self.commandTransferring = False self.commandDestinationEui64 = None self.commandStartTime = 0 self.commandEndTime = 0 self.lastCommandSuccessful = False self.commandBytesTransferred = 0 self.packetFailedCount = 0 self.htmlLogLines = [] self.loggedPacketsStatistics = {} self.packetLimit = 20
def collectAndPostAll(): logger = customlogger.Logger('statsd') try: stats = getMeminfo() stats.extend(getUptime()) for pid in allPIDs(): try: pss = getPSSForPID(pid) procName = getNameForPID(pid) if procName == 'python': stats.extend(getProcInfo(pid, 'weminuche')) stat = makeStatHash('process-%s-pss' % procName, pss) stats.append(stat) except: pass postStats(stats) except: logger.exception('Unexpected statsd thread error:', sys.exc_info())
def handle_error(self, request, client_address): logger = customlogger.Logger('webserver') logger.error('Error in request %s from %s' % (request, client_address))