def discover(self, *args, **kwargs): if self.discovery: LOGGER.info('Discover already running.') return self.discovery = True LOGGER.info("In Discovery...") # Create any additional nodes here num_days = int(self.params.get('Forecast Days')) if num_days < 5: # delete any extra days for day in range(num_days, 5): address = 'forecast_' + str(day) try: self.delNode(address) except: LOGGER.debug('Failed to delete node ' + address) for day in range(0, num_days): address = 'forecast_' + str(day) title = 'Forecast ' + str(day) try: node = owm_daily.DailyNode(self, self.address, address, title, self.params.get('Units')) self.addNode(node) except Exception as e: LOGGER.error('Failed to create forecast node ' + title) LOGGER.error(str(e)) # Set the uom dictionary based on current user units preference LOGGER.info('New Configure driver units to ' + self.params.get('Units')) self.uom = uom.get_uom(self.params.get('Units')) self.discovery = False
def start(self): LOGGER.info('Starting Davis WeatherLink Node Server') self.set_logging_level() self.check_params() self.discover() self.uom = uom.get_uom(self.params.get('Units')) self.set_tags(self.params.get('Units')) # do initial query to get data if self.configured: self.get_data()
def start(self): LOGGER.info('Starting node server') self.poly.updateProfile() self.poly.setCustomParamsDoc() self.uom = uom.get_uom('imperial') if self.Parameters.Station is None: self.Notices['station'] = 'Please configure a NOAA station ID' while not self.configured: time.sleep(10) LOGGER.info('Node server started') # Do an initial query to get filled in as soon as possible self.query_conditions() if self.Parameters['Alert zone/county code'] is not None: self.query_alerts(self.Parameters['Alert zone/county code']) self.force = False
def __init__(self, controller, primary, address, name, units): self.uom = uom.get_uom(units) self.units = units self.drivers = [] # Use the units to build an appropriate drivers array. self.drivers.append({ 'driver': 'GV19', 'value': 0, 'uom': self.uom['GV19'] }) self.drivers.append({ 'driver': 'GV0', 'value': 0, 'uom': self.uom['GV0'] }) self.drivers.append({ 'driver': 'GV1', 'value': 0, 'uom': self.uom['GV1'] }) self.drivers.append({ 'driver': 'GV2', 'value': 0, 'uom': self.uom['GV2'] }) self.drivers.append({ 'driver': 'DEWPT', 'value': 0, 'uom': self.uom['DEWPT'] }) self.drivers.append({ 'driver': 'CLIHUM', 'value': 0, 'uom': self.uom['CLIHUM'] }) self.drivers.append({ 'driver': 'BARPRES', 'value': 0, 'uom': self.uom['BARPRES'] }) self.drivers.append({ 'driver': 'GV13', 'value': 0, 'uom': self.uom['GV13'] }) self.drivers.append({ 'driver': 'GV14', 'value': 0, 'uom': self.uom['GV14'] }) self.drivers.append({ 'driver': 'GV8', 'value': 0, 'uom': self.uom['GV8'] }) self.drivers.append({ 'driver': 'GV9', 'value': 0, 'uom': self.uom['GV9'] }) self.drivers.append({ 'driver': 'GV4', 'value': 0, 'uom': self.uom['GV4'] }) self.drivers.append({ 'driver': 'UV', 'value': 0, 'uom': self.uom['UV'] }) self.drivers.append({ 'driver': 'GV18', 'value': 0, 'uom': self.uom['GV18'] }) self.drivers.append({ 'driver': 'GV20', 'value': 0, 'uom': self.uom['GV20'] }) # call the default init super(DailyNode, self).__init__(controller, primary, address, name)
def set_driver_uom(self, units): self.uom = uom.get_uom(units) self.units = units
def set_driver_uom(self, units): LOGGER.info('Configure driver units to ' + units) self.uom = uom.get_uom(units) for day in range(0, int(self.params.get('Forecast Days'))): address = 'forecast_' + str(day) self.nodes[address].set_driver_uom(units)
def SetUnits(self, units): LOGGER.debug('set units info') self.uom = uom.get_uom(self.units)