9 #May 27 21:32 /sys/bus/w1/devices/28-0416a1bab9ff
10 #May 27 21:33 /sys/bus/w1/devices/28-0416a1ac66ff
11 #May 27 21:35 /sys/bus/w1/devices/28-0516a207a4ff
12 #May 27 21:38 /sys/bus/w1/devices/28-0316a2193bff
13 #May 27 21:38 /sys/bus/w1/devices/28-0316a21383ff
16 # einen Sensor auslesen
19 def readsensor(sensorID):
20 sensorfile = "/sys/bus/w1/devices/28-{}/w1_slave".format(sensorID)
21 file = open(sensorfile)
24 # 64 01 4b 46 7f ff 0c 10 01 : crc=01 YES
25 # 64 01 4b 46 7f ff 0c 10 01 t=22250
28 linecrc = file.readline()
29 match = re.search(": crc=[0-9a-f]{2} (YES|NO)",linecrc)
31 yesno = match.group(1)
36 linetemp = file.readline()
37 match = re.search(" t=([-0-9]+)",linetemp)
40 temp = float(temp)/1000
44 jetzt = datetime.datetime.now()
47 # Schreiben des csv-files
48 file2 = open("badesaison.csv", "a", newline = "")
49 writer = csv.writer(file2, dialect = "excel")
50 writer.writerow([jetzt.strftime("%Y-%m-%d %H:%M"), sensorID, "{:.1f}".format(temp)])
54 # Nur für die Ausgabe wird gerundet
57 sensoren = ["0416a1bab9ff","0416a1ac66ff","0516a207a4ff","0316a2193bff","0316a21383ff"]
61 for sensorID in sensoren:
62 temp = readsensor(sensorID)
64 print("Fehler bei Sensor{}".format(sensorID))
67 print('Sensor {}: {:.1f}°C'.format(sensorID,temp))
69 sys.exit(1 if error else 0)