Parsen mit Regex: YES|NO und Temperatur
[chrisu/seepark.git] / seewasser.py
1 #! /usr/bin/python3
2
3 import datetime
4 import re
5
6 jetzt = datetime.datetime.now()
7
8 # print(jetzt)
9
10 # einen Sensor auslesen
11 #/sys/bus/w1/devices/
12 sensorfile = "/sys/bus/w1/devices/28-0316a21383ff/w1_slave"
13
14 file = open(sensorfile)
15
16 # Inhalt des Sensors:
17 # 64 01 4b 46 7f ff 0c 10 01 : crc=01 YES
18 # 64 01 4b 46 7f ff 0c 10 01 t=22250
19
20 # Suche nach YES
21 linecrc = file.readline()
22 match = re.search(": crc=[0-9a-f]{2} (YES|NO)",linecrc)
23
24 # Temperatur raus
25 linetemp = file.readline()
26 match = re.search(" t=([-0-9]+)",linetemp)
27
28 temp = match.group(1)
29 temp = float(temp)/1000
30
31 file.close()
32
33
34 print(temp)
35
36 # Nur für die Ausgabe wird gerundet
37 print('Die Seetemperatur ist {:.1f}°C'.format(temp))