Example #1
0
def Projects():

    p1 = ProjectInfo(ProjectCodeName="test",
                     ProjectDisplayName="Erster Test",
                     StartDate=TimezoneHelper.GetCurrentDatetime(),
                     EndDate=TimezoneHelper.GetCurrentDatetime(),
                     Enabled=True)
    p1.save()
Example #2
0
def ScheduledTasks():
    IntervalOne = TaskInterval(IntervalUnit.MINTUTES, 100)
    strIntervalOne = TaskIntervalEncoder().encode(IntervalOne)
    task1 = ScheduledTaskInfo(TaskCodeName="ReadPhotowiderstand",
                              TaskNameDisplay="Photowiderstand",
                              Interval=strIntervalOne,
                              ObjectID=SensorInfoProvider.GetSensorInfo(
                                  codeName="photowiderstand").SensorID,
                              ObjectType="Sensor",
                              LastRunTime=None,
                              NextRunTime=TimezoneHelper.GetCurrentDatetime(),
                              Executions=0,
                              DeleteAfterLastRun=False,
                              Enabled=True,
                              IsRunning=False)
    FilePath = "relativ to file has been execute"
    task1.save()

    IntervalTwo = TaskInterval(IntervalUnit.MINTUTES, 15)
    strIntervalTwo = TaskIntervalEncoder().encode(IntervalTwo)
    task2 = ScheduledTaskInfo(
        TaskCodeName="DHT 22 Unten",
        TaskNameDisplay="DHT 22 Unten (Luftfeuchtigkeit)",
        Interval=strIntervalTwo,
        ObjectID=SensorInfoProvider.GetSensorInfo(
            codeName="DHT22B_h").SensorID,
        ObjectType="Sensor",
        LastRunTime=None,
        NextRunTime=TimezoneHelper.GetCurrentDatetime(),
        Executions=0,
        DeleteAfterLastRun=False,
        Enabled=True,
        IsRunning=False)
    task2.save()

    IntervalThree = TaskInterval(IntervalUnit.MINTUTES, 15)
    strIntervalThree = TaskIntervalEncoder().encode(IntervalThree)
    task3 = ScheduledTaskInfo(TaskCodeName="DHT 22 Unten T",
                              TaskNameDisplay="DHT 22 Unten (Temperatur)",
                              Interval=IntervalThree,
                              ObjectID=SensorInfoProvider.GetSensorInfo(
                                  codeName="DHT22B_t").SensorID,
                              ObjectType="Sensor",
                              LastRunTime=None,
                              NextRunTime=TimezoneHelper.GetCurrentDatetime(),
                              Executions=0,
                              DeleteAfterLastRun=False,
                              Enabled=True,
                              IsRunning=False)
    task3.save()
Example #3
0
 def LogInformation(source: str, description: str):
     Event = EventLogInfo(
         EventType=EventType.INFORMATION,
         EventTime=TimezoneHelper.GetCurrentDatetime(),
         Source=source,
         EventDescription=description,
         UserInfo=UserInfo.objects.filter(UserName="******")[0])
     Event.save()
Example #4
0
 def LogException(Exeption: str, exeption: tuple):
     Exception = EventLogInfo(
         EventType=EventType.ERROR,
         EventTime=TimezoneHelper.GetCurrentDatetime(),
         Source=str(exeption[0]),
         EventDescription=str(exeption[1]),
         UserInfo=UserInfo.objects.filter(UserName="******")[0])
     Exception.save()
Example #5
0
def Users():
    u1 = UserInfo(UserName="******",
                  is_superuser=False,
                  FirstName="",
                  LastName="",
                  email="",
                  Enabled=True,
                  DateCreated=TimezoneHelper.GetCurrentDatetime(),
                  avatar="")
    u1.save()

    u2 = UserInfo(UserName="******",
                  is_superuser=False,
                  FirstName="",
                  LastName="",
                  email="*****@*****.**",
                  Enabled=True,
                  DateCreated=TimezoneHelper.GetCurrentDatetime(),
                  avatar="")
    u2.save()
Example #6
0
    def Run(self):  # muss in async thread umgewandelt werden
        while self.running:
            print(self.GetElapsedTime())
            time.sleep(self.GetElapsedTime())

            TaskList = ScheduledTaskInfoProvider.GetTaskToRun()
            DateTimeNow = TimezoneHelper.GetCurrentDatetime()
            print(DateTimeNow)

            #  self.log.write(str(DateTimeNow) + "\r\n")

            #os.system("execute file");
            for task in TaskList:
                interval = json.loads(task.Interval,
                                      object_hook=self.as_interval)
                task.LastRunTime = DateTimeNow

                if interval.IntervalUnit == IntervalUnit.MONTH:
                    task.NextRunTime = DateTimeNow + timedelta(
                        days=interval.Amount * 30)

                if interval.IntervalUnit == IntervalUnit.DAY:
                    task.NextRunTime = DateTimeNow + timedelta(
                        days=interval.Amount)

                if interval.IntervalUnit == IntervalUnit.HOUR:
                    task.NextRunTime = DateTimeNow + timedelta(
                        hours=interval.Amount)

                if interval.IntervalUnit == IntervalUnit.MINTUTES:
                    task.NextRunTime = DateTimeNow + timedelta(
                        minutes=interval.Amount)

                if task.ObjectType == "Sensor":
                    MainSensorReader.WriteSensorValueToDB(
                        sensorId=task.ObjectID)

                task.Executions += 1
                task.save()

            f = open(dirPath + os.sep + 'endprog.txt', 'r')

            textLines = f.readlines()
            if textLines.__len__() > 0 and textLines[0].find("end") != -1:
                f.close()
                self.StopLoop()
            else:
                f.close()
Example #7
0
    def LogDBErrorToFile(ErrorMessage: str, ErrorTitle: str = "(Kein Titel)"):
        """
        Wenn im Event-Log ein Fehler beim Zugriff auf die Datenbank geschieht, wird die
	    Funktion verwendet, um den Fehler in einem Logfile zu Protokolieren.
        """
        PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
        HeaderHTML = ""
        if os.path.isfile(PROJECT_ROOT + '\\log\\DB_ErrorLog.log') == False:
            HeaderHTML = "Datenbank Error-Log\r\n\r\n"

        log = open(PROJECT_ROOT + '\\log\\DB_ErrorLog.log',
                   'a')  #Datei wird ebenfalls erstellt
        if HeaderHTML != "":
            log.write(HeaderHTML)

        log.write(
            str(TimezoneHelper.GetCurrentDatetime()) + ": " + ErrorTitle +
            "\n" + ErrorMessage + "\r\n")
Example #8
0
    def WriteSensorValueToDB(sensorId: int):
        sensor = SensorInfoProvider.GetSensorInfo(sensorId=sensorId)
        valueToSave = 0

        if sensor.SensorType == "resistor":
            valueToSave = PhotoResistor.GetValue(gpio=sensor.GPIO)

        if sensor.SensorType == "dht22_h":
            valueToSave = DHT22.GetHumidity(gpio=sensor.GPIO)

        if sensor.SensorType == "dht22_t":
            valueToSave = DHT22.GetTemperature(gpio=sensor.GPIO)

        value = SensorValueInfo(
            Project=ProjectInfoProvider.GetEnabledProject(),
            Sensor=sensor,
            Value=valueToSave,
            Timestamp=TimezoneHelper.GetCurrentDatetime())
        value.save()
Example #9
0
 def GetElapsedTime(self):
     DelayedStartTime = TimezoneHelper.GetCurrentDatetime()
     DelayedStartTime += timedelta(minutes=1)
     DelayedStartTime -= timedelta(seconds=DelayedStartTime.second)
     elapsedTime = DelayedStartTime - TimezoneHelper.GetCurrentDatetime()
     return elapsedTime.total_seconds()