diff --git a/plugins/system/read_serial_temperature b/plugins/system/read_serial_temperature index dd4fcf44..8329ef9e 100755 --- a/plugins/system/read_serial_temperature +++ b/plugins/system/read_serial_temperature @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Paul Wiegmans (p.wiegmans@bonhoeffer.nl) 2009 dec 18 @@ -12,42 +12,39 @@ Linux: "/dev/usb/ttyUSB[n]" or "/dev/ttyUSB[n]" e.g. "/dev/usb/ttyUSB0" """ -import sys, serial +import sys + +import serial + # Open named port at "19200,8,N,1", 1s timeout:: - def gettemperature(): - ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1) - t = 0 - while t<1: - line = ser.readline().strip() - if line: - temp = str(line.split(" ")[0]) # temperature in tenths celsius - i = len(temp)-1 - temp = temp[:i] # return only integer value (as a string) - return temp - t += 1 - ser.close() + connection = serial.Serial('/dev/ttyUSB0', 9600, timeout=1) + # default to munin's value "unknown" + result = "U" + while True: + line = connection.readline().strip() + if line: + # temperature in tenths celsius + temp = str(line.split(" ")[0]) + # return only integer value (as a string) + result = temp[:-1] + break + connection.close() + return result + # shamelessly copied from weather_temp_ - if len(sys.argv) == 2 and sys.argv[1] == "autoconf": - - print "yes" - + print("yes") elif len(sys.argv) == 2 and sys.argv[1] == "config": - - print 'graph_title Temperatuur in de serverruimte' - print 'graph_vlabel temperature in C' - print 'graph_category sensors' - print 'temperature.label temperature' - print 'graph_info Dit is de temperatuur in het rek in de serverruimte B104' - print 'graph_scale no' - # lower limit 10, upper limit 50 - print 'graph_args --base 1000 -l 10 -u 50' - + print('graph_title Temperatuur in de serverruimte') + print('graph_vlabel temperature in C') + print('graph_category sensors') + print('temperature.label temperature') + print('graph_info Dit is de temperatuur in het rek in de serverruimte B104') + print('graph_scale no') + # lower limit 10, upper limit 50 + print('graph_args --base 1000 -l 10 -u 50') else: - - print 'temperature.value %s' % gettemperature() - - + print('temperature.value %s' % gettemperature()) diff --git a/t/test-exception-wrapper.expected-failures b/t/test-exception-wrapper.expected-failures index e82e1965..91a67d93 100644 --- a/t/test-exception-wrapper.expected-failures +++ b/t/test-exception-wrapper.expected-failures @@ -427,7 +427,6 @@ plugins/system/auth plugins/system/blockhosts plugins/systemd/systemd_units plugins/system/file_length_ -plugins/system/read_serial_temperature plugins/tarsnap/tarsnap plugins/tcp/tcp-retransmissions plugins/tcp/tcp-states