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