diff options
author | David Lamparter <equinox@diac24.net> | 2016-10-10 23:32:26 +0000 |
---|---|---|
committer | root <root@beaglebone.local.sublab.org> | 2016-10-10 23:32:26 +0000 |
commit | a78cca8863b3c84569ba2776433ffdee471ff2ef (patch) | |
tree | a5c0043960efb6b6f9fdb4f4a1c81919809766dc /envmon/onewire2graphite.py | |
parent | 0591adffc658d9e5a7b47feb59282b2505a32209 (diff) |
envmon: simplify after onewire problem is fixed
onewire had a kernel bug in managing bus power...
Diffstat (limited to 'envmon/onewire2graphite.py')
-rwxr-xr-x | envmon/onewire2graphite.py | 32 |
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] |