コード例 #1
0
    def __init__(self):
        '''
        Initialise the IdeAlarm class

        Expects:
         - Nothing really...
        '''
        self.__version__ = '4.0.0'
        self.__version_info__ = tuple(
            [int(num) for num in self.__version__.split('.')])
        self.log = logging.getLogger("{}.IdeAlarm V{}".format(
            LOG_PREFIX, self.__version__))

        self.alarmTestMode = idealarm_configuration['ALARM_TEST_MODE']
        self.loggingLevel = idealarm_configuration['LOGGING_LEVEL']
        self.log.setLevel(self.loggingLevel)
        self.nagIntervalMinutes = idealarm_configuration[
            'NAG_INTERVAL_MINUTES']
        self.timeCreated = DateTime.now()

        self.alarmZones = []
        for i in range(len(idealarm_configuration['ALARM_ZONES'])):
            zoneNumber = i + 1
            self.alarmZones.append(
                IdeAlarmZone(self, zoneNumber,
                             idealarm_configuration['ALARM_ZONES'][i]))

        for alarmZone in self.alarmZones:
            alarmZone.getNagSensors()

        self.log.info("ideAlarm object initialized with {} zones at {}".format(
            len(self.alarmZones),
            format_date(self.timeCreated, customDateTimeFormats['dateTime'])))
コード例 #2
0
 def isSensorAlive(sName):
     if getLastUpdate(ir.getItem(sName)).isAfter(
             DateTime.now().minusMinutes(sensor_dead_after_mins)):
         return True
     else:
         weatherStationUploader.log.warn(
             "Sensor device {} has not reported since: {}".format(
                 sName,
                 format_date(getLastUpdate(ir.getItem(sName)),
                             customDateTimeFormats['dateTime'])))
         return False