示例#1
0
    def datalogger (self):
        """
        Loggt die aktuellen Pufferdaten in die verschiedensten Ecken des Programms und der Raspberrys
        1. Auf die SQL Datenbank
        2. Auf den Datenserver
        """
        if self.logging:
            pufferManagerMembers = vars(self)
            for puffer in pufferManagerMembers.keys():
                if isinstance(pufferManagerMembers[puffer], Puffer):
                    self.dbManger.logObject(puffer,pufferManagerMembers[puffer])

        pufferManagerMembers = vars(self)
        for puffer in pufferManagerMembers.keys():
            if pufferManagerMembers[puffer].__class__.__name__ == Puffer.__name__:
                Communicator.storeObjectToServer(name=pufferManagerMembers[puffer].Bezeichnung, instanz=pufferManagerMembers[puffer])
示例#2
0
def main(argv):
    Aufstellort = "" # initialisierung damit meldung "variable might be unreferenced" nicht angezeigt wird in Hauptschleife
    while True:
        try:
            Aufstellort = BEZEICHNUNG_KELLER #Wichtig fuer GPIO Zuweisung
            VorlaufMischer = Mischer(Aufstellort, versorgungsPuffer=BEZEICHNUNG_PUFFER+PUFFERNAME_HEIZUNG)
            HeizungsPumpe = Pumpe(BEZEICHNUNG_HEIZUNGSPUMPE)
            VorlaufMischer.Aktualisieren()
            print ("\nInitialsdaten:")
            print(VorlaufMischer)
            break
        except Exception as e:
            Communicator.SchreibeFehler(e.message, 'main@Mischer Initialisierung')
            time.sleep(20)



    # Hauptschleife
    try:
        while True:
            try:
                VorlaufMischer.Aktualisieren()
                HeizungsPumpe.PinsAktualisieren()

                VorlaufMischer.Kalkulieren()
                VorlaufMischer.PrintParameterWerte()  #Daten ausgeben
                Communicator.storeObjectToServer(name=VorlaufMischer.getName(),instanz=VorlaufMischer)
                VorlaufMischer.StarteRegelZyklus()
                if VorlaufMischer.Heizbetrieb:
                    HeizungsPumpe.Ein()
                else:
                    HeizungsPumpe.Aus()
            except Exception as e:
                Communicator.SchreibeFehler(e,"In Mischer" + Aufstellort + ".py ausgeloest")
                time.sleep(20)
    except KeyboardInterrupt:
        GPIO.cleanup()
        exit()