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'])))
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