From: Chrisu Jähnl Date: Sat, 27 May 2017 21:45:09 +0000 (+0200) Subject: Funktion geschaffen X-Git-Url: https://git.toastfreeware.priv.at/chrisu/seepark.git/commitdiff_plain/55a3cbb8ce648d866ec2a6ed1579d856b2a9ecca Funktion geschaffen --- diff --git a/seewasser.py b/seewasser.py index cefbb0c..e573e81 100755 --- a/seewasser.py +++ b/seewasser.py @@ -4,46 +4,64 @@ import datetime import re import sys import csv +import os +import glob -jetzt = datetime.datetime.now() - -# print(jetzt) +#May 27 21:32 /sys/bus/w1/devices/28-0416a1bab9ff +#May 27 21:33 /sys/bus/w1/devices/28-0416a1ac66ff +#May 27 21:35 /sys/bus/w1/devices/28-0516a207a4ff +#May 27 21:38 /sys/bus/w1/devices/28-0316a2193bff +#May 27 21:38 /sys/bus/w1/devices/28-0316a21383ff +# Eine Funktion: # einen Sensor auslesen #/sys/bus/w1/devices/ -sensorfile = "/sys/bus/w1/devices/28-0316a21383ff/w1_slave" -sensorID = "0316a21383ff" -file = open(sensorfile) -# Inhalt des Sensors: -# 64 01 4b 46 7f ff 0c 10 01 : crc=01 YES -# 64 01 4b 46 7f ff 0c 10 01 t=22250 +def readsensor(sensorID): + sensorfile = "/sys/bus/w1/devices/28-{}/w1_slave".format(sensorID) + file = open(sensorfile) + + # Inhalt des Sensors: + # 64 01 4b 46 7f ff 0c 10 01 : crc=01 YES + # 64 01 4b 46 7f ff 0c 10 01 t=22250 + + # Suche nach YES + linecrc = file.readline() + match = re.search(": crc=[0-9a-f]{2} (YES|NO)",linecrc) + + yesno = match.group(1) + if yesno != "YES": + sys.exit(1) + + # Temperatur raus + linetemp = file.readline() + match = re.search(" t=([-0-9]+)",linetemp) -# Suche nach YES -linecrc = file.readline() -match = re.search(": crc=[0-9a-f]{2} (YES|NO)",linecrc) + temp = match.group(1) + temp = float(temp)/1000 -yesno = match.group(1) -if yesno != "YES": - sys.exit(1) + file.close() -# Temperatur raus -linetemp = file.readline() -match = re.search(" t=([-0-9]+)",linetemp) + jetzt = datetime.datetime.now() + # print(jetzt) -temp = match.group(1) -temp = float(temp)/1000 + # Schreiben des csv-files + file2 = open("badesaison.csv", "a", newline = "") + writer = csv.writer(file2, dialect = "excel") + writer.writerow([jetzt.strftime("%Y-%m-%d %H:%M"), sensorID, "{:.1f}".format(temp)]) -file.close() -# Schreiben des csv-files -file2 = open("badesaison.csv", "a", newline = "") -writer = csv.writer(file2, dialect = "excel") -writer.writerow([jetzt.strftime("%Y-%m-%d %H:%M"), sensorID, "{:.1f}".format(temp)]) + file2.close() -file2.close() + print(temp) -print(temp) + # Nur für die Ausgabe wird gerundet + print('Die Seetemperatur ist {:.1f}°C'.format(temp)) + +#May 27 21:32 /sys/bus/w1/devices/28-0416a1bab9ff +#May 27 21:33 /sys/bus/w1/devices/28-0416a1ac66ff +#May 27 21:35 /sys/bus/w1/devices/28-0516a207a4ff +#May 27 21:38 /sys/bus/w1/devices/28-0316a2193bff +#May 27 21:38 /sys/bus/w1/devices/28-0316a21383ff -# Nur für die Ausgabe wird gerundet -print('Die Seetemperatur ist {:.1f}°C'.format(temp)) \ No newline at end of file +readsensor("0416a1bab9ff") \ No newline at end of file