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