Ich bin den zwei Auffälligkeiten an meinem Thermo auf die Spur gekommen:
MaddBBQ
P.S.: hier die auftreten Exceptions:
Traceback (most recent call last):
File "/usr/sbin/wlt_2_lcd_204.py", line 274, in <module>
notifier.process_events()
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 1297, in process_events
self._default_proc_fun(revent)
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 939, in __call__
return _ProcessEvent.__call__(self, event)
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 664, in __call__
return meth(event)
File "/usr/sbin/wlt_2_lcd_204.py", line 52, in process_IN_CLOSE_WRITE
show_values()
File "/usr/sbin/wlt_2_lcd_204.py", line 200, in show_values
lcd_string('Pit: S:' + str("%.0f" % float(pits[1])) + ' I:' + str("%.0f" % float(pits[2])) + ' ' + pits[3],2)
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/sbin/wlt_2_lcd_204.py", line 274, in <module>
notifier.process_events()
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 1297, in process_events
self._default_proc_fun(revent)
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 939, in __call__
return _ProcessEvent.__call__(self, event)
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 664, in __call__
return meth(event)
File "/usr/sbin/wlt_2_lcd_204.py", line 52, in process_IN_CLOSE_WRITE
show_values()
File "/usr/sbin/wlt_2_lcd_204.py", line 189, in show_values
lcd_string('C1:' + str_len(temps[1],sLen,' ') + chr(0xdf) + 'C2:' + str_len(temps[2],sLen,' ') + chr(0xdf),2)
IndexError: list index out of range
- Der Piezo piept manchmal ohne für mich ersichtlichen Grund:
Ursache war, dass ich nur die ersten vier ADC Kanäle beschaltet hatte und damit der Eingang undefiniert in der Luft rum hing. Dadurch wurden manchmal Werte gemessen, die dann wieder zu Alarmen bei den im GUI nicht sichtbaren Eingängen führten. Ich habe mir erst mal so beholfen, dass ich für den Rosensteinfühler in wlt_2_com.py als Rn 0 eingetragen habe und die nicht beschalteten Eingänge als Rostenstein konfiguriert habe. Damit tritt immer sicher bei den Eingängen einen Division bei Zero Exception auf, die wird gefangen und die Temperatur auf 999.9 gesetzt und damit in der restlichen Verarbeitung ignoriert. Vielleicht könnten man einen Fühlertyp "Keiner" einführen ... . - wlt_2_lcd_204.py stürzt immer wieder mal ab und dann wird das Display nicht mehr aktualisiert. Es kommt zu "Index out of Bounds"-Exceptions beim der Ausgabe beim Zugriff auf temps[] oder pits[]. Ich vermute der Prozess liest die Dateien während sie von wlt_2_comp.py oder wlt_2_pitmaster.py geschrieben werden und dann sind die Arrays unvollständig gefüllt. Einfacher Patch wäre ein try/catch Block um die lcd_string-Aufrufe. Schöner wäre wenn die Prozesse sich im IO synchronsieren würden.
MaddBBQ
P.S.: hier die auftreten Exceptions:
Traceback (most recent call last):
File "/usr/sbin/wlt_2_lcd_204.py", line 274, in <module>
notifier.process_events()
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 1297, in process_events
self._default_proc_fun(revent)
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 939, in __call__
return _ProcessEvent.__call__(self, event)
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 664, in __call__
return meth(event)
File "/usr/sbin/wlt_2_lcd_204.py", line 52, in process_IN_CLOSE_WRITE
show_values()
File "/usr/sbin/wlt_2_lcd_204.py", line 200, in show_values
lcd_string('Pit: S:' + str("%.0f" % float(pits[1])) + ' I:' + str("%.0f" % float(pits[2])) + ' ' + pits[3],2)
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/sbin/wlt_2_lcd_204.py", line 274, in <module>
notifier.process_events()
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 1297, in process_events
self._default_proc_fun(revent)
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 939, in __call__
return _ProcessEvent.__call__(self, event)
File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 664, in __call__
return meth(event)
File "/usr/sbin/wlt_2_lcd_204.py", line 52, in process_IN_CLOSE_WRITE
show_values()
File "/usr/sbin/wlt_2_lcd_204.py", line 189, in show_values
lcd_string('C1:' + str_len(temps[1],sLen,' ') + chr(0xdf) + 'C2:' + str_len(temps[2],sLen,' ') + chr(0xdf),2)
IndexError: list index out of range
