Ankündigung

Einklappen

Aufruf

Bitte helft bei unserer Spendenaktion: Spendenaktion Helmut Lintschinger
Mehr anzeigen
Weniger anzeigen

Logic File als Memoryfresser

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • callidomus
    antwortet
    Hallo Michael,

    Zitat von clown Beitrag anzeigen
    Danke Marcus für die Empfehlung,
    die Zisterne schickt alle Sekunde Ihren string, habe mal den sleep eingebaut, hilft aber natürlich nicht gegen den Memory Leak Error.
    ich habe mir das noch mal näher angesehen. Meine Empfehlung mit dem sleep ist Blödsinn/falsch. Das readline wartet eine Sekunde und wenn nichts kommt, gehts weiter.

    Mal sehen vllt. fällt mir noch was anderes ein.

    Zitat von clown Beitrag anzeigen
    Hast Du eine Ahnung ob jemand schon mal was für die Mitsubishi City Multi AG-150 gemacht ?
    nicht das ich wüsste.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • clown
    antwortet
    Danke Marcus für die Empfehlung,
    die Zisterne schickt alle Sekunde Ihren string, habe mal den sleep eingebaut, hilft aber natürlich nicht gegen den Memory Leak Error.

    Wollte das Ganze gerne auch als Plugin machen, aber dafür langen meine Python Kentnisse noch nicht.

    Hast Du eine Ahnung ob jemand schon mal was für die Mitsubishi City Multi AG-150 gemacht ?

    Gruß
    Michael

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hi,

    ich würde in den Loop mindesten ein time.sleep(0.5) einbauen. Ansonsten Loopst Du da sehr schnell drüber.

    Probier das mal.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • clown
    hat ein Thema erstellt Logic File als Memoryfresser

    Logic File als Memoryfresser

    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
Lädt...
X