Kann mir jemand helfen, bin nicht so fit in Python,habe ein Logicprogramm geschrieben das meine Zisterne abfragt und dann per EIB die Werte verschickt. Starte dann den File per init, so das er immer läuft. Leider frisst das Programm so nach und nach allen Speicher auf und dann nach ein paar Tagen geht nichts mehr.
Code:
#!/usr/bin/env python def main(): pass if __name__ == '__main__': main() #import sys import serial #count = 0 #debug = 0 serial_port = '/dev/ttyUSB0' # Serial Interface of Zisterne saved_xxx = '' # Initialize for repeat check try: logger.info('recv7.py starting') # Open serial port ser = serial.Serial(serial_port, 2400, 8, 'N', 1, timeout=1) # Receive/respond loop while True: # Read from serial port serial_data = ser.readline(1024).strip() if serial_data.count(';') == 9: xxx = serial_data.split(';') if saved_xxx != xxx: logger.info('recv7.py will send KNX data') sh.knx.groupwrite('1/1/2', float(xxx[0].replace(',','.')), '9') sh.knx.groupwrite('1/1/3', xxx[1], '1') sh.knx.groupwrite('1/1/4', xxx[2], '1') sh.knx.groupwrite('1/1/5', xxx[3], '1') sh.knx.groupwrite('1/1/6', xxx[4], '1') sh.knx.groupwrite('1/1/7', xxx[5], '1') sh.knx.groupwrite('1/1/8', xxx[6], '1') sh.knx.groupwrite('1/1/9', xxx[7], '1') sh.knx.groupwrite('1/1/10', xxx[8], '1') sh.knx.groupwrite('1/1/11', xxx[9], '1') # 1/1/3 Betriebsart Auto=1/Man=0 # 1/1/4 Zonenventil Regen=0/Trink=1 # 1/1/5 HausW Pumpe Aus=0/Ein=1 # 1/1/6 Zubring Pumpe Aus=0/Ein=1 # 1/1/7 Wassertausch Normal=0/Aktiv=1 # 1/1/8 Zisternengeber o.k=0/Fehler=1 # 1/1/9 System Ueberlauf o.k.=0/Fehler=1 # 1/1/10 Zisternen Rueckstau o.k.=0/Fehler=1 # 1/1/11 Filterreinigung MagnetV. Aus=0/Ein=1 saved_xxx = xxx except (KeyboardInterrupt, SystemExit): ser.close() print 'Control C pressed' #raise
Kommentar