Files
old-tfm/controller/drivers/onewire/__init__.py

51 lines
2.2 KiB
Python
Raw Normal View History

2016-10-29 14:28:03 +02:00
import re
import datetime
import time
2016-10-29 14:28:03 +02:00
def read_one_thermo(filename):
2016-10-29 18:02:04 +02:00
try:
NO_OF_DECIMALS = 3
for x in range(0, 3):
textfile = open(filename, 'r')
filetext = textfile.read()
textfile.close()
if 'YES' in filetext:
matches = re.findall("t=(\-?)(\d+)", filetext)
sign = -1 if matches[0][0] == '-' else 1
whole_reading = matches[0][1]
first_part = matches[0][1][0:-NO_OF_DECIMALS]
second_part = matches[0][1][-NO_OF_DECIMALS:]
first_part = '0' if first_part == '' else first_part
# with open("/mnt/zoblakdata/w1_sensor_log_sent","a") as log:
# log.write(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + ' | filename: ' + filename + ' | reading: ' + str(x+1) + '\n' )
# log.write(filetext)
# log.write("--------\n")
result = (int(first_part) + (int(second_part) / (10.0 ** NO_OF_DECIMALS) )) * sign
if result >= -30.0 and result <= 60.0:
return result
# if x == 2:
# with open("/mnt/zoblakdata/w1_sensor_log_probable_exception","a") as log2:
# log2.write(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + ' | filename: ' + filename + ' | reading: ' + str(x+1) + '\n' )
# log2.write(filetext)
# log2.write("--------\n")
time.sleep(5)
print 'error'
print e
return -101.0
2016-10-29 18:02:04 +02:00
except Exception as e:
# with open("/mnt/zoblakdata/w1_sensor_log_exception","a") as log3:
# log3.write(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + ' - exception!\n')
# log3.write("--------\n")
2016-10-29 18:02:04 +02:00
print 'errror'
print e
return -100.0
2016-10-29 14:28:03 +02:00
def read_many_thermo(filenames):
result = []
for filename in list(filenames):
if filename is None:
continue
result.append(read_one_thermo(filename))
return result