コード例 #1
0
ファイル: owm.py プロジェクト: khag7/udi-owm-poly
    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
コード例 #2
0
    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()
コード例 #3
0
ファイル: noaa.py プロジェクト: BME-nodeservers/udi-noaa-poly
    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
コード例 #4
0
ファイル: owm_daily.py プロジェクト: bpaauwe/udi-owm-poly
    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)
コード例 #5
0
ファイル: owm_daily.py プロジェクト: bpaauwe/udi-owm-poly
 def set_driver_uom(self, units):
     self.uom = uom.get_uom(units)
     self.units = units
コード例 #6
0
 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)
コード例 #7
0
 def SetUnits(self, units):
     LOGGER.debug('set units info')
     self.uom = uom.get_uom(self.units)