summaryrefslogtreecommitdiff
path: root/envmon/onewire2graphite.py
diff options
context:
space:
mode:
Diffstat (limited to 'envmon/onewire2graphite.py')
-rwxr-xr-xenvmon/onewire2graphite.py32
1 files changed, 16 insertions, 16 deletions
diff --git a/envmon/onewire2graphite.py b/envmon/onewire2graphite.py
index 4b7743e..81c6b50 100755
--- a/envmon/onewire2graphite.py
+++ b/envmon/onewire2graphite.py
@@ -22,22 +22,22 @@ while True:
nextslot = time.time() + 65
nextslot = nextslot - (nextslot % 60)
- while nextslot - time.time() > 5.0:
- for sensor in sensors:
- try:
- vals.setdefault(sensor, None)
- vals[sensor] = sensobj[sensor].temperature
- except onewire.SensorNotPresent, e:
- print >>sys.stderr, sensor, 'SensorNotPresent:', str(e)
- except onewire.OutOfRange, e:
- # print >>sys.stderr, sensor, 'OutOfRange:', str(e)
- pass
- except Exception:
- print >>sys.stderr, "On %s: Could not retrieve temperature for '%s':" % (
- time.strftime('%a, %d %b %Y %T %z'), sensor)
- sys.excepthook(*sys.exc_info())
- print >>sys.stderr, '========================================'
- time.sleep(0.5)
+ time.sleep(max(nextslot - len(sensors) * 0.8 - time.time(), 0))
+
+ for sensor in sensors:
+ try:
+ vals.setdefault(sensor, None)
+ vals[sensor] = sensobj[sensor].temperature
+ except onewire.SensorNotPresent, e:
+ print >>sys.stderr, sensor, 'SensorNotPresent:', str(e)
+ except onewire.OutOfRange, e:
+ # print >>sys.stderr, sensor, 'OutOfRange:', str(e)
+ pass
+ except Exception:
+ print >>sys.stderr, "On %s: Could not retrieve temperature for '%s':" % (
+ time.strftime('%a, %d %b %Y %T %z'), sensor)
+ sys.excepthook(*sys.exc_info())
+ print >>sys.stderr, '========================================'
time.sleep(max(nextslot - time.time(), 0))
goodvals = [sensor for sensor in sensors if vals.get(sensor, None) is not None]